codeCAD/balcony_hook2.py
2026-01-20 11:20:36 +01:00

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)