Compare commits

..
1 Commits
+6 -12
View File
@@ -1,5 +1,4 @@
# 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():
@@ -7,7 +6,7 @@ def build_drive_shaft_mount():
bearing_diameter = 22 bearing_diameter = 22
bearing_through_hole_diameter = 15 bearing_through_hole_diameter = 15
bearing_height = 7 bearing_height = 7
shaft_clearance_diameter = 25.5 shaft_clearance_diameter = 25
core_width = 40 core_width = 40
thickness = 20 thickness = 20
@@ -21,7 +20,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.7 track_height = 1.8
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
@@ -83,10 +82,7 @@ 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)
with BuildPart() as track: Box(core_width + (screw_blocks_width * 2), track_width, track_height, (90, 0, 0), (Align.CENTER, Align.CENTER, Align.MIN))
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)
@@ -94,7 +90,7 @@ def build_drive_shaft_mount():
return drive_shaft_mount return drive_shaft_mount
def build_drive_shaft_bar_adapter(): def build_drive_shaft_bar_adapter():
ext_size = 20.3 ext_size = 20.2
ext_track_width = 6.2 ext_track_width = 6.2
ext_track_height = 1.8 ext_track_height = 1.8
@@ -102,8 +98,6 @@ def build_drive_shaft_bar_adapter():
thickness = 10 thickness = 10
ext_screw_hole_diam = 6 ext_screw_hole_diam = 6
ext_screw_hole_head_diam = 10.5
ext_screw_hole_head_depth = 1
ext_screw_hole_offset = 10 ext_screw_hole_offset = 10
shaft_hub_bore_diam = 8 shaft_hub_bore_diam = 8
@@ -133,9 +127,9 @@ def build_drive_shaft_bar_adapter():
with BuildPart(screws_origin, mode=Mode.SUBTRACT) as ext_track_cut_out: with BuildPart(screws_origin, mode=Mode.SUBTRACT) as ext_track_cut_out:
Box(ext_size, ext_size, ext_screw_hole_diam + 8) Box(ext_size, ext_size, ext_screw_hole_diam + 8)
chamfer(ext_track_cut_out.edges(), 3) chamfer(ext_track_cut_out.edges(), 3)
with PolarLocations((ext_size / 2) + thickness, 4): with PolarLocations(0, 4):
with Locations(Rotation(0, 90, 0)): with Locations(Rotation(0, 90, 0)):
CounterBoreHole(ext_screw_hole_diam / 2, ext_screw_hole_head_diam / 2, ext_screw_hole_head_depth) Hole(ext_screw_hole_diam / 2)
# shaft interface # shaft interface
with Locations(drive_shaft_bar_adapter.faces().filter_by(Plane.XY).sort_by(Axis.Z)[1].offset(shaft_hub_screw_head_depth)): with Locations(drive_shaft_bar_adapter.faces().filter_by(Plane.XY).sort_by(Axis.Z)[1].offset(shaft_hub_screw_head_depth)):