-rw-r--r-- | another.scad | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/another.scad b/another.scad index 7e7f22d..3d804c1 100644 --- a/another.scad +++ b/another.scad | |||
@@ -44,24 +44,26 @@ module the_extruder( | |||
44 | 44 | ||
45 | // empty spaces | 45 | // empty spaces |
46 | idler_travel = 3, // how far should idler travel when pressed | 46 | idler_travel = 3, // how far should idler travel when pressed |
47 | idler_clearance=1, | 47 | idler_clearance=1, |
48 | pulley_clearance=2, | 48 | pulley_clearance=2, |
49 | lever_v_clearance=.7, // vertical clearance for the lever | 49 | lever_v_clearance=.7, // vertical clearance for the lever |
50 | spring_d_clearance=1, | 50 | spring_d_clearance=1, |
51 | protrusion_tolerance_h=.5, // horizontal tolerance for the motor protrusion | 51 | protrusion_tolerance_h=.5, // horizontal tolerance for the motor protrusion |
52 | protrusion_tolerance_v=.5, // vertical tolerance for the motor protrusion | 52 | protrusion_tolerance_v=.5, // vertical tolerance for the motor protrusion |
53 | mount_screw_d_tolerance=.4, | 53 | mount_screw_d_tolerance=.4, |
54 | idler_v_tolerance=.5, | 54 | idler_v_tolerance=.5, |
55 | knob_bore_d_tolerance=.6, | 55 | knob_bore_d_tolerance=.6, |
56 | st_nut_h_tolerance=.2, | ||
57 | st_nut_d_tolerance=.2,/* TODO: make it st_nut_w_tolerance */ | ||
56 | 58 | ||
57 | what="lever", // lever|body|knob|springpad|* | 59 | what="lever", // lever|body|knob|springpad|* |
58 | left=false, | 60 | left=false, |
59 | vitamins = true, | 61 | vitamins = true, |
60 | supports = false, bridges = true, | 62 | supports = false, bridges = true, |
61 | tensioner = true, | 63 | tensioner = true, |
62 | debug = false | 64 | debug = false |
63 | ) { | 65 | ) { |
64 | fnd = 2*PI; fnr = 2*fnd; | 66 | fnd = 2*PI; fnr = 2*fnd; |
65 | 67 | ||
66 | lever_shell = mount_screwhead_h+0.5; | 68 | lever_shell = mount_screwhead_h+0.5; |
67 | lever_thickness=max(spring_d+spring_d_clearance+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell); | 69 | lever_thickness=max(spring_d+spring_d_clearance+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell); |
@@ -203,32 +205,32 @@ module the_extruder( | |||
203 | hhh=ls_z; | 205 | hhh=ls_z; |
204 | translate([0,0,0]) | 206 | translate([0,0,0]) |
205 | mirror([0,1,0]) cube(size=[fsw,longwing-hhh+lever_thickness/sqrt(2),hhh+lever_thickness/2]); | 207 | mirror([0,1,0]) cube(size=[fsw,longwing-hhh+lever_thickness/sqrt(2),hhh+lever_thickness/2]); |
206 | } | 208 | } |
207 | } | 209 | } |
208 | translate([0,-longwing,ls_z]) rotate([0,-90,0]) { | 210 | translate([0,-longwing,ls_z]) rotate([0,-90,0]) { |
209 | if(!tensioner) finger_indent(d=lever_thickness-1,r=15); else { | 211 | if(!tensioner) finger_indent(d=lever_thickness-1,r=15); else { |
210 | if(debug) translate([0,-lever_thickness/2-1,-gearbox_d]) cube(size=[body_h/2+1,lever_thickness/2+1,gearbox_d+2]); | 212 | if(debug) translate([0,-lever_thickness/2-1,-gearbox_d]) cube(size=[body_h/2+1,lever_thickness/2+1,gearbox_d+2]); |
211 | mirror([0,0,1]) { | 213 | mirror([0,0,1]) { |
212 | translate([0,0,st_thickshell]) | 214 | translate([0,0,st_thickshell]) |
213 | hull() for(o=[0,spring_d]) translate([0,-o,0]) | 215 | hull() for(o=[0,spring_d]) translate([0,-o,0]) |
214 | rotate([0,0,30]) | 216 | rotate([0,0,30]) |
215 | cylinder(d=st_nut_d,h=st_nut_h,$fn=6); | 217 | cylinder(d=st_nut_d+st_nut_d_tolerance,h=st_nut_h+st_nut_h_tolerance,$fn=6); |
216 | translate([0,0,-1]) cylinder(d=st_screw_d,h=fsw+2,$fn=fnd*st_screw_d); | 218 | translate([0,0,-1]) cylinder(d=st_screw_d,h=fsw+2,$fn=fnd*st_screw_d); |
217 | bigd = spring_d+spring_d_clearance; | 219 | bigd = spring_d+spring_d_clearance; |
218 | hf = (bigd-st_screw_d)/2; | 220 | hf = (bigd-st_screw_d)/2; |
219 | translate([0,0,st_thickshell+st_nut_h+st_thinshell-epsilon]) | 221 | translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell-epsilon]) |
220 | cylinder(d1=st_screw_d,d2=bigd, | 222 | cylinder(d1=st_screw_d,d2=bigd, |
221 | h=hf+epsilon, $fn=fnd*bigd); | 223 | h=hf+epsilon, $fn=fnd*bigd); |
222 | translate([0,0,st_thickshell+st_nut_h+st_thinshell+hf-epsilon]) | 224 | translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+hf-epsilon]) |
223 | cylinder(d=bigd,h=fsw+1,$fn=fnd*bigd); | 225 | cylinder(d=bigd,h=fsw+1,$fn=fnd*bigd); |
224 | } | 226 | } |
225 | } | 227 | } |
226 | } | 228 | } |
227 | } // translate | 229 | } // translate |
228 | 230 | ||
229 | // pushfit bracket | 231 | // pushfit bracket |
230 | translate([0,0,filament_elevation]) | 232 | translate([0,0,filament_elevation]) |
231 | rotate([0,0,45]) translate([pulley_d/2,0,0]) | 233 | rotate([0,0,45]) translate([pulley_d/2,0,0]) |
232 | rotate([-90,0,0]) | 234 | rotate([-90,0,0]) |
233 | translate([0,0,mount_d/sqrt(2)/2+mount_screw_d-gearbox_d/2/*TODO:*/]) | 235 | translate([0,0,mount_d/sqrt(2)/2+mount_screw_d-gearbox_d/2/*TODO:*/]) |
234 | cylinder(r=min(body_h-filament_elevation,filament_elevation)/sin(60)-epsilon,h=pf_h(pf)+gearbox_d/2/*TODO:*/,$fn=6); | 236 | cylinder(r=min(body_h-filament_elevation,filament_elevation)/sin(60)-epsilon,h=pf_h(pf)+gearbox_d/2/*TODO:*/,$fn=6); |
@@ -332,25 +334,25 @@ module the_extruder( | |||
332 | for(zr=[-65:(65+50)/7:50]) | 334 | for(zr=[-65:(65+50)/7:50]) |
333 | rotate([0,0,zr]) translate([0,-extrusion_width/2,0]) | 335 | rotate([0,0,zr]) translate([0,-extrusion_width/2,0]) |
334 | cube(size=[gearbox_d,extrusion_width,body_h]); | 336 | cube(size=[gearbox_d,extrusion_width,body_h]); |
335 | } | 337 | } |
336 | } | 338 | } |
337 | 339 | ||
338 | }//body module | 340 | }//body module |
339 | 341 | ||
340 | module springpad() { | 342 | module springpad() { |
341 | smalld=st_screw_d+2*extrusion_width; | 343 | smalld=st_screw_d+2*extrusion_width; |
342 | bigd = spring_d+spring_d_clearance/2; | 344 | bigd = spring_d+spring_d_clearance/2; |
343 | hf = (bigd-smalld)/2; | 345 | hf = (bigd-smalld)/2; |
344 | translate([-gearbox_d/2+st_thickshell+st_nut_h+st_thinshell+1,-longwing,filament_elevation]) | 346 | translate([-gearbox_d/2+st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+1,-longwing,filament_elevation]) |
345 | rotate([0,90,0]) difference() { | 347 | rotate([0,90,0]) difference() { |
346 | union() { | 348 | union() { |
347 | cylinder(d1=smalld,d2=bigd,h=hf,$fn=fnd*bigd); | 349 | cylinder(d1=smalld,d2=bigd,h=hf,$fn=fnd*bigd); |
348 | translate([0,0,hf-epsilon]) | 350 | translate([0,0,hf-epsilon]) |
349 | cylinder(d=bigd,h=hf*2,$fn=fnd*bigd); | 351 | cylinder(d=bigd,h=hf*2,$fn=fnd*bigd); |
350 | translate([0,0,3*hf]) | 352 | translate([0,0,3*hf]) |
351 | sphere(d=spring_d*3/4,$fn=fnd*spring_d*3/4); | 353 | sphere(d=spring_d*3/4,$fn=fnd*spring_d*3/4); |
352 | } | 354 | } |
353 | translate([0,0,-epsilon]) | 355 | translate([0,0,-epsilon]) |
354 | cylinder(d=st_screw_d,h=2*hf+epsilon,$fn=fnd*st_screw_d); | 356 | cylinder(d=st_screw_d,h=2*hf+epsilon,$fn=fnd*st_screw_d); |
355 | } | 357 | } |
356 | } | 358 | } |