From 175578ddd0124e43e2472ff328043048607dd4de Mon Sep 17 00:00:00 2001 From: Christian Colglazier Date: Sat, 21 May 2022 19:03:24 -0400 Subject: [PATCH] Thickened loop --- follow_focus.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/follow_focus.py b/follow_focus.py index e49018f..0bf4c23 100644 --- a/follow_focus.py +++ b/follow_focus.py @@ -18,22 +18,25 @@ fastener_height = 3.5 fastener_length = 20 # NEMA 17 stepper motor -stepper_motor_size=42 +stepper_motor_size=42.0 +stepper_hole_width=31.0 # Case +part_thinkness=20 + slant_degree=15.0 -thickness=20 rod_thickness=15.2 -loop_thickness=1.5 +loop_thickness=1.6 +angle=40 wall_width=1.6 lid_thicknesss = 5 - offset=9 -part_thinkness=20 -gear_thinkness=10 -large_gear_diameter=8.5 +gear_gap=0.2 +large_gear_diameter=8.5 +gear_thinkness=10 + gap = stepper_motor_size * math.sin(math.radians(slant_degree)) / math.sin(math.radians(90-slant_degree)) width = math.sqrt(gap**2 + stepper_motor_size**2 - 2*gap*stepper_motor_size*math.cos(math.radians(90))) @@ -42,12 +45,12 @@ t=7 mount_gap=2 end_x=gap+stepper_motor_size-5 -end_y=-4.5 -angle=40 +end_y=-4.3 + outer_ring_diameter=rod_thickness+2*loop_thickness center_x=end_x-math.cos(math.radians(angle))*outer_ring_diameter/2 center_y=end_y-math.sin(math.radians(angle))*outer_ring_diameter/2 -gear_gap=0.2 + def findRodInter(n_x, n_y): p = Point(center_x, center_y) @@ -98,7 +101,6 @@ base = base.add(copy) base = base.faces('<>Z[0]').workplane().center(stepper_center[0], -stepper_center[1]).circle(22.5/2).pushPoints([(stepper_hole_radius*math.cos(math.radians(45+slant_degree)),stepper_hole_radius*math.sin(math.radians(45+slant_degree))), (stepper_hole_radius*math.cos(math.radians(135+slant_degree)),stepper_hole_radius*math.sin(math.radians(135+slant_degree))),(stepper_hole_radius*math.cos(math.radians(225+slant_degree)),stepper_hole_radius*math.sin(math.radians(225+slant_degree))),(stepper_hole_radius*math.cos(math.radians(315+slant_degree)),stepper_hole_radius*math.sin(math.radians(315+slant_degree)))]).circle(3/2).cutBlind(-wall_width)