""" Too Tall Toby Party Pack 01-08 Tie Plate """ from build123d import * from ocp_vscode import * densa = 7800 / 1e6 # carbon steel density g/mm^3 densb = 2700 / 1e6 # aluminum alloy densc = 1020 / 1e6 # ABS with BuildPart() as p: with BuildSketch() as s1: Rectangle(188 / 2 - 33, 162, align=(Align.MIN, Align.CENTER)) with Locations((188 / 2 - 33, 0)): SlotOverall(190, 33 * 2, rotation=90) mirror(about=Plane.YZ) with GridLocations(188 - 2 * 33, 190 - 2 * 33, 2, 2): Circle(29 / 2, mode=Mode.SUBTRACT) Circle(84 / 2, mode=Mode.SUBTRACT) extrude(amount=16) with BuildPart() as p2: with BuildSketch(Plane.XZ) as s2: with BuildLine() as l1: l1 = Polyline( (222 / 2 + 14 - 40 - 40, 0), (222 / 2 + 14 - 40, -35 + 16), (222 / 2 + 14, -35 + 16), (222 / 2 + 14, -35 + 16 + 30), (222 / 2 + 14 - 40 - 40, -35 + 16 + 30), close=True, ) make_face() with Locations((222 / 2, -35 + 16 + 14)): Circle(11 / 2, mode=Mode.SUBTRACT) extrude(amount=20 / 2, both=True) with BuildSketch() as s3: with Locations(l1 @ 0): Rectangle(40 + 40, 8, align=(Align.MIN, Align.CENTER)) with Locations((40, 0)): Rectangle(40, 20, align=(Align.MIN, Align.CENTER)) extrude(amount=30, both=True, mode=Mode.INTERSECT) mirror(about=Plane.YZ) show(p) print(f"\npart mass = {p.part.volume*densa:0.2f}")