# [Code] from math import pi, sin from build123d import * from ocp_vscode import show slice_count = 10 art = Sketch() for i in range(slice_count + 1): plane = Plane(origin=(0, 0, i * 3), z_dir=(0, 0, 1)) art += plane * Circle(10 * sin(i * pi / slice_count) + 5) art = loft(art) top_bottom = art.faces().filter_by(GeomType.PLANE) art = offset(art, openings=top_bottom, amount=0.5) show(art, names=["art"]) # [End]