36 lines
782 B
Python
36 lines
782 B
Python
import copy
|
|
from build123d import *
|
|
from ocp_vscode import show
|
|
|
|
|
|
ro = 70
|
|
wt=5
|
|
h = 100
|
|
|
|
with BuildPart() as part_builder:
|
|
with BuildSketch() as sk:
|
|
Circle(ro)
|
|
extrude(amount=h)
|
|
with Locations((0,ro, 20)):
|
|
Box(ro*2-20, 70, 40)
|
|
with Locations((0,25,0)):
|
|
Box(wt*2, 20, 50, mode=Mode.SUBTRACT)
|
|
with Locations((0,15,0)):
|
|
Box(ro*2-20-wt*4, wt*2, 60, mode=Mode.SUBTRACT)
|
|
with Locations((0,15+wt*3,-10)):
|
|
Box(ro*2-20-wt*4, wt*4, 20, mode=Mode.SUBTRACT)
|
|
with BuildSketch(part_builder.faces().sort_by(Axis.Z)[-1
|
|
]) as sk:
|
|
Circle(ro-wt)
|
|
extrude(amount=-(h-wt), mode=Mode.SUBTRACT)
|
|
fillet(part_builder.edges().group_by(Axis.Z)[-1], radius=wt/2-0.001)
|
|
|
|
|
|
|
|
show(part_builder)
|
|
|
|
|
|
|
|
|
|
|