Thickened loop

This commit is contained in:
Christian Colglazier 2022-05-21 19:03:24 -04:00
parent a1b14a183e
commit 175578ddd0

View File

@ -18,22 +18,25 @@ fastener_height = 3.5
fastener_length = 20 fastener_length = 20
# NEMA 17 stepper motor # NEMA 17 stepper motor
stepper_motor_size=42 stepper_motor_size=42.0
stepper_hole_width=31.0
# Case # Case
part_thinkness=20
slant_degree=15.0 slant_degree=15.0
thickness=20
rod_thickness=15.2 rod_thickness=15.2
loop_thickness=1.5 loop_thickness=1.6
angle=40
wall_width=1.6 wall_width=1.6
lid_thicknesss = 5 lid_thicknesss = 5
offset=9 offset=9
part_thinkness=20 gear_gap=0.2
gear_thinkness=10
large_gear_diameter=8.5
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)) 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))) 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 mount_gap=2
end_x=gap+stepper_motor_size-5 end_x=gap+stepper_motor_size-5
end_y=-4.5 end_y=-4.3
angle=40
outer_ring_diameter=rod_thickness+2*loop_thickness outer_ring_diameter=rod_thickness+2*loop_thickness
center_x=end_x-math.cos(math.radians(angle))*outer_ring_diameter/2 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 center_y=end_y-math.sin(math.radians(angle))*outer_ring_diameter/2
gear_gap=0.2
def findRodInter(n_x, n_y): def findRodInter(n_x, n_y):
p = Point(center_x, center_y) p = Point(center_x, center_y)
@ -98,7 +101,6 @@ base = base.add(copy)
base = base.faces('<<Z[0]').workplane().center(0, offset+loop_thickness).polarLine(stepper_motor_size, -slant_degree).polarLine(stepper_motor_size, -slant_degree-3.75).vLine(2*stepper_motor_size).hLine(-2*stepper_motor_size).close().cutBlind(-lid_thicknesss) base = base.faces('<<Z[0]').workplane().center(0, offset+loop_thickness).polarLine(stepper_motor_size, -slant_degree).polarLine(stepper_motor_size, -slant_degree-3.75).vLine(2*stepper_motor_size).hLine(-2*stepper_motor_size).close().cutBlind(-lid_thicknesss)
# Stepper motor mount points # Stepper motor mount points
stepper_hole_width=31.0
stepper_hole_radius=stepper_hole_width/2*math.sqrt(2) stepper_hole_radius=stepper_hole_width/2*math.sqrt(2)
stepper_center = cq.Workplane('XY').center(0, -offset-loop_thickness).lineTo(0, offset).polarLine(stepper_motor_size/2, 90-slant_degree).polarLine(stepper_motor_size/2, -slant_degree).val().endPoint().toTuple() stepper_center = cq.Workplane('XY').center(0, -offset-loop_thickness).lineTo(0, offset).polarLine(stepper_motor_size/2, 90-slant_degree).polarLine(stepper_motor_size/2, -slant_degree).val().endPoint().toTuple()
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) 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)