Basic fastener

This commit is contained in:
Christian Colglazier 2022-05-21 13:42:01 -04:00
parent 44c9226a49
commit ba4be74f8a
2 changed files with 17 additions and 2 deletions

View File

@ -21,8 +21,9 @@ large_gear_diameter=8.5
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)))
d=20 d=25
t=7 t=7
mount_gap=2
end_x=gap+stepper_motor_size-5 end_x=gap+stepper_motor_size-5
end_y=-4.5 end_y=-4.5
@ -56,7 +57,7 @@ def createOutline(ex_amount):
n_x=base.val().endPoint().toTuple()[0] n_x=base.val().endPoint().toTuple()[0]
n_y=base.val().endPoint().toTuple()[1] n_y=base.val().endPoint().toTuple()[1]
coor_x, coor_y = findRodInter(n_x, n_y) coor_x, coor_y = findRodInter(n_x, n_y)
last_x, last_y = findRodInter(n_x, n_y+2) last_x, last_y = findRodInter(n_x, n_y+mount_gap)
base = base.lineTo(coor_x, coor_y) base = base.lineTo(coor_x, coor_y)
base = base.threePointArc((center_x+rod_thickness/2, center_y), (last_x, last_y)) base = base.threePointArc((center_x+rod_thickness/2, center_y), (last_x, last_y))
@ -110,7 +111,19 @@ m_hole_diameter=6
m_hole_depth=3 m_hole_depth=3
lid = lid.faces('<Z[0]').workplane().circle(m_hole_diameter/2).cutBlind(-m_hole_depth) lid = lid.faces('<Z[0]').workplane().circle(m_hole_diameter/2).cutBlind(-m_hole_depth)
# Threaded insert
base = base.faces('<<Y[-1]').workplane().center(-5,0).circle(6.5/2).cutBlind(-t-mount_gap*2-6)
base = base.faces('<<Y[-1]').workplane().circle(8.5/2).cutBlind(-t-mount_gap)
# Hex mount point
fastener_width = 11
fastener_height = 3.5
fastener_length = 20
base = base.faces('<<Y[-1]').workplane().circle((fastener_width+1)/2).cutBlind(-4)
fastener = base.faces('<<Y[-4]').workplane().circle(fastener_width/2).extrude(4.5+fastener_height, combine=False)
fastener = fastener.faces('<<Y[-1]').workplane().center(-fastener_length,0).line(20,-fastener_width/2).vLine(fastener_width).close().extrude(-fastener_height)
fastener = fastener.faces('<<Y[-1]').workplane().circle(fastener_width/6).extrude(-fastener_height)
# Gears
mod=0.8 mod=0.8
l_gear = cq.Workplane('XY').gear(SpurGear(module=mod, l_gear = cq.Workplane('XY').gear(SpurGear(module=mod,
teeth_number=63, teeth_number=63,
@ -128,6 +141,7 @@ s_gear = s_gear.translate((stepper_center[0],stepper_center[1]+offset+loop_thick
# Render # Render
show_object(base, name='Follow Focus Base') show_object(base, name='Follow Focus Base')
show_object(lid, name='Follow Focus Lid') show_object(lid, name='Follow Focus Lid')
show_object(fastener, name='Follow Focus Fastener')
show_object(l_gear, name='Follow Focus Large Gear') show_object(l_gear, name='Follow Focus Large Gear')
show_object(s_gear, name='Follow Focus Small Gear') show_object(s_gear, name='Follow Focus Small Gear')

View File

@ -1,2 +1,3 @@
git+https://github.com/meadiode/cq_gears.git@main git+https://github.com/meadiode/cq_gears.git@main
git+https://github.com/gumyr/cq_warehouse.git#egg=cq_warehouse
shapely shapely