34 lines
863 B
Python
34 lines
863 B
Python
# pyright: reportUnusedCallResult=false, reportWildcardImportFromLibrary=false
|
|
from build123d import *
|
|
|
|
hole_offset = 20
|
|
hole_diameter = 22
|
|
|
|
width = 40
|
|
thickness = 20
|
|
|
|
assert (hole_offset - hole_diameter / 2) > 0
|
|
assert (width - hole_diameter) > 0
|
|
|
|
|
|
with BuildPart() as builder:
|
|
with BuildSketch() as sketch:
|
|
with BuildLine() as profile:
|
|
l1 = Polyline(
|
|
(0,0),
|
|
(width / 2, 0),
|
|
(width / 2, hole_offset)
|
|
)
|
|
l2 = CenterArc((0, hole_offset), width / 2, 90, -90)
|
|
mirror(profile.line, Plane.YZ)
|
|
make_face()
|
|
|
|
with Locations((0, hole_offset)):
|
|
Circle(hole_diameter / 2, mode=Mode.SUBTRACT)
|
|
|
|
extrude(amount=thickness / 2)
|
|
mirror(about=Plane.XY)
|
|
|
|
assert builder.part is not None
|
|
export_step(builder.part, "drive shaft mount.step")
|