feat: angle the track on the drive_shaft_mount to make it more printable

This commit is contained in:
2026-07-20 22:53:06 -05:00
parent 9b80ca757c
commit 4435691a73
+6 -2
View File
@@ -1,4 +1,5 @@
# pyright: reportUnusedCallResult=false, reportWildcardImportFromLibrary=false # pyright: reportUnusedCallResult=false, reportWildcardImportFromLibrary=false
from math import radians, sin
from build123d import * from build123d import *
def build_drive_shaft_mount(): def build_drive_shaft_mount():
@@ -20,7 +21,7 @@ def build_drive_shaft_mount():
screw_body_diameter = 5 screw_body_diameter = 5
track_width = 6.2 track_width = 6.2
track_height = 1.8 track_height = 1.7
assert (bearing_offset - bearing_diameter / 2) > 0 assert (bearing_offset - bearing_diameter / 2) > 0
assert (core_width - bearing_diameter) > 0 assert (core_width - bearing_diameter) > 0
@@ -82,7 +83,10 @@ def build_drive_shaft_mount():
Triangle(A=90, b=1, c=1) Triangle(A=90, b=1, c=1)
extrude(amount=-((thickness / 2) + (bearing_height / 2)), mode=Mode.SUBTRACT) extrude(amount=-((thickness / 2) + (bearing_height / 2)), mode=Mode.SUBTRACT)
Box(core_width + (screw_blocks_width * 2), track_width, track_height, (90, 0, 0), (Align.CENTER, Align.CENTER, Align.MIN)) with BuildPart() as track:
angle = 30
Box(core_width + (screw_blocks_width * 2), track_width + ((sin(radians(angle))/sin(radians(90-angle))) * track_height * 2), track_height, (90, 0, 0), (Align.CENTER, Align.CENTER, Align.MIN))
chamfer(track.edges().filter_by(Axis.X).sort_by(Axis.Y)[:2], track_height - 0.01, angle=angle)
with Locations(drive_shaft_mount.faces().filter_by(Plane.XZ).sort_by(Axis.Y)[-2:]): with Locations(drive_shaft_mount.faces().filter_by(Plane.XZ).sort_by(Axis.Y)[-2:]):
CounterBoreHole(screw_body_diameter / 2, screw_head_diameter / 2, screw_head_depth) CounterBoreHole(screw_body_diameter / 2, screw_head_diameter / 2, screw_head_depth)