Basic fastener
This commit is contained in:
		| @@ -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') | ||||||
|  |  | ||||||
|   | |||||||
| @@ -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 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user