-rw-r--r-- | another.scad | 57 |
1 files changed, 50 insertions, 7 deletions
diff --git a/another.scad b/another.scad index 2be24e4..844dc3b 100644 --- a/another.scad +++ b/another.scad | |||
@@ -31,6 +31,10 @@ module the_extruder( | |||
31 | knob_bore_l = 4, | 31 | knob_bore_l = 4, |
32 | knob_indent_d = 4, | 32 | knob_indent_d = 4, |
33 | knob_indents = 12, | 33 | knob_indents = 12, |
34 | // spring tensioner | ||
35 | st_nut_d = 9, st_nut_h = 4, | ||
36 | st_screw_d = 5, | ||
37 | st_shell = 4*extrusion_width, | ||
34 | 38 | ||
35 | // screw it | 39 | // screw it |
36 | mount_screw_d = 3.1, mount_screw_l = 20, | 40 | mount_screw_d = 3.1, mount_screw_l = 20, |
@@ -50,10 +54,12 @@ module the_extruder( | |||
50 | idler_v_tolerance=.5, | 54 | idler_v_tolerance=.5, |
51 | knob_bore_d_tolerance=.6, | 55 | knob_bore_d_tolerance=.6, |
52 | 56 | ||
53 | what="lever", | 57 | what="lever", // lever|body|knob|springpad|* |
54 | left=false, | 58 | left=false, |
55 | vitamins = true, | 59 | vitamins = true, |
56 | supports = false | 60 | supports = false, |
61 | tensioner = true, | ||
62 | debug = false | ||
57 | ) { | 63 | ) { |
58 | lever_shell = mount_screwhead_h+0.5; | 64 | lever_shell = mount_screwhead_h+0.5; |
59 | lever_thickness=max(spring_d+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell); | 65 | lever_thickness=max(spring_d+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell); |
@@ -197,8 +203,25 @@ module the_extruder( | |||
197 | mirror([0,1,0]) cube(size=[fsw,longwing-hhh+lever_thickness/sqrt(2),hhh+lever_thickness/2]); | 203 | mirror([0,1,0]) cube(size=[fsw,longwing-hhh+lever_thickness/sqrt(2),hhh+lever_thickness/2]); |
198 | } | 204 | } |
199 | } | 205 | } |
200 | translate([0,-longwing,ls_z]) rotate([0,-90,0]) | 206 | translate([0,-longwing,ls_z]) rotate([0,-90,0]) { |
201 | finger_indent(d=lever_thickness-1,r=15); | 207 | if(!tensioner) finger_indent(d=lever_thickness-1,r=15); else { |
208 | if(debug) translate([0,-gearbox_d,-gearbox_d]) cube(size=[body_h/2+1,gearbox_d,gearbox_d+2]); | ||
209 | mirror([0,0,1]) { | ||
210 | translate([0,0,st_shell]) | ||
211 | hull() for(o=[0,spring_d]) translate([0,-o,0]) | ||
212 | rotate([0,0,30]) | ||
213 | cylinder(d=st_nut_d,h=st_nut_h,$fn=6); | ||
214 | translate([0,0,-1]) cylinder(d=st_screw_d,h=fsw+2,$fn=st_screw_d*PI*2); | ||
215 | bigd = spring_d+spring_d_clearance; | ||
216 | hf = (bigd-st_screw_d)/2; | ||
217 | translate([0,0,st_shell+st_nut_h+st_shell-epsilon]) | ||
218 | cylinder(d1=st_screw_d,d2=bigd, | ||
219 | h=hf+epsilon, $fn=bigd*PI*2 ); | ||
220 | translate([0,0,st_shell+st_nut_h+st_shell+hf-epsilon]) | ||
221 | cylinder(d=bigd,h=fsw+1,$fn=bigd*PI*2); | ||
222 | } | ||
223 | } | ||
224 | } | ||
202 | } // translate | 225 | } // translate |
203 | 226 | ||
204 | // pushfit bracket | 227 | // pushfit bracket |
@@ -260,7 +283,7 @@ module the_extruder( | |||
260 | cube(size=[gearbox_d,gearbox_d/2+1,lever_thickness+lever_v_clearance]); | 283 | cube(size=[gearbox_d,gearbox_d/2+1,lever_thickness+lever_v_clearance]); |
261 | } | 284 | } |
262 | //translate([-mount_d/2,-longwing,filament_elevation]) | 285 | //translate([-mount_d/2,-longwing,filament_elevation]) |
263 | translate([mount_d/2,-longwing,filament_elevation]) | 286 | if(!tensioner) translate([mount_d/2,-longwing,filament_elevation]) |
264 | rotate([0,-90,0]) difference() { | 287 | rotate([0,-90,0]) difference() { |
265 | cylinder(d=spring_d+spring_d_clearance,h=spring_lc+spring_dl,$fn=PI*spring_d); | 288 | cylinder(d=spring_d+spring_d_clearance,h=spring_lc+spring_dl,$fn=PI*spring_d); |
266 | translate([0,0,spring_lc+spring_dl]) sphere(d=spring_d*3/4,$fn=PI*spring_d); | 289 | translate([0,0,spring_lc+spring_dl]) sphere(d=spring_d*3/4,$fn=PI*spring_d); |
@@ -295,6 +318,21 @@ module the_extruder( | |||
295 | 318 | ||
296 | }//body module | 319 | }//body module |
297 | 320 | ||
321 | module springpad() { | ||
322 | smalld=st_screw_d+extrusion_width; | ||
323 | bigd = spring_d+spring_d_clearance/2; | ||
324 | hf = (bigd-smalld)/2; | ||
325 | translate([-gearbox_d/2+st_shell+st_nut_h+st_shell+smalld,-longwing,filament_elevation]) | ||
326 | rotate([0,90,0]) difference() { | ||
327 | union() { | ||
328 | cylinder(d1=smalld,d2=bigd,h=hf,$fn=bigd*PI*2); | ||
329 | translate([0,0,hf-epsilon]) | ||
330 | cylinder(d=bigd,h=hf*2,$fn=bigd*PI*2); | ||
331 | } | ||
332 | cylinder(d=st_screw_d,h=2*hf,$fn=st_screw_d*PI*2); | ||
333 | } | ||
334 | } | ||
335 | |||
298 | module knob() { | 336 | module knob() { |
299 | ch = knob_indent_d/2; | 337 | ch = knob_indent_d/2; |
300 | translate([0,0,body_h+epsilon]) { | 338 | translate([0,0,body_h+epsilon]) { |
@@ -322,15 +360,20 @@ module the_extruder( | |||
322 | } | 360 | } |
323 | } | 361 | } |
324 | }//knob module | 362 | }//knob module |
325 | 363 | ||
326 | mirrorleft() | 364 | mirrorleft() |
327 | if(what=="lever") color("green",0.7) lever(); | 365 | if(what=="lever") color("green",0.7) lever(); |
328 | else if(what=="body") color("yellow",0.7) body(); | 366 | else if(what=="body") color("yellow",0.7) body(); |
329 | else if(what=="knob") color("red",0.7) knob(); | 367 | else if(what=="knob") color("red",0.7) knob(); |
330 | else if(what=="both" || what=="*") { | 368 | else if(what=="springpad") color("blue",0.7) springpad(); |
369 | else if(what=="both") { | ||
370 | color("green",0.7) lever(); | ||
371 | color("yellow",0.7) body(); | ||
372 | }else{ | ||
331 | color("green",0.7) lever(); | 373 | color("green",0.7) lever(); |
332 | color("yellow",0.7) body(); | 374 | color("yellow",0.7) body(); |
333 | color("red",0.7) knob(); | 375 | color("red",0.7) knob(); |
376 | color("blue",0.7) springpad(); | ||
334 | } | 377 | } |
335 | } | 378 | } |
336 | 379 | ||