Files
cadquery/examples/Ex025_Swept_Helix.py

21 lines
608 B
Python
Raw Normal View History

import cadquery as cq
r = 0.5 # Radius of the helix
p = 0.4 # Pitch of the helix - vertical distance between loops
h = 2.4 # Height of the helix - total height
# Helix
wire = cq.Wire.makeHelix(pitch=p, height=h, radius=r)
helix = cq.Workplane(obj=wire)
# Final result: A 2D shape swept along a helix.
result = (
cq.Workplane('XZ') # helix is moving up the Z axis
.center(r, 0) # offset isosceles trapezoid
.polyline(((-.15,0.1), (0.0,0.05), (0,0.35), (-0.15,0.3)))
.close() # make edges a wire
.sweep(helix, isFrenet=True) # Frenet keeps orientation as expected
)
show_object(result)