Compare commits
3
Commits
533814c37d
...
74ae6c40d4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
74ae6c40d4
|
||
|
|
6f51150803
|
||
|
|
3a9e2e5096
|
+12
-6
@@ -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():
|
||||||
@@ -6,7 +7,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
|
shaft_clearance_diameter = 25.5
|
||||||
|
|
||||||
core_width = 40
|
core_width = 40
|
||||||
thickness = 20
|
thickness = 20
|
||||||
@@ -19,8 +20,9 @@ def build_drive_shaft_mount():
|
|||||||
screw_head_depth = 5
|
screw_head_depth = 5
|
||||||
screw_body_diameter = 5
|
screw_body_diameter = 5
|
||||||
|
|
||||||
track_width = 6.2
|
track_width = 6.1
|
||||||
track_height = 1.8
|
track_height = 1.4
|
||||||
|
track_angle = 30
|
||||||
|
|
||||||
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 +84,9 @@ 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:
|
||||||
|
Box(core_width + (screw_blocks_width * 2), track_width + ((sin(radians(track_angle))/sin(radians(90-track_angle))) * track_height * 2) - 0.012, 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=track_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)
|
||||||
@@ -98,6 +102,8 @@ 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
|
||||||
@@ -127,9 +133,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(0, 4):
|
with PolarLocations((ext_size / 2) + thickness, 4):
|
||||||
with Locations(Rotation(0, 90, 0)):
|
with Locations(Rotation(0, 90, 0)):
|
||||||
Hole(ext_screw_hole_diam / 2)
|
CounterBoreHole(ext_screw_hole_diam / 2, ext_screw_hole_head_diam / 2, ext_screw_hole_head_depth)
|
||||||
|
|
||||||
# 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)):
|
||||||
|
|||||||
Reference in New Issue
Block a user