build123d/examples/loft_algebra.py
2024-02-29 11:34:40 -05:00

19 lines
426 B
Python

# [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]