summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--another.scad49
1 files changed, 19 insertions, 30 deletions
diff --git a/another.scad b/another.scad
index 9ff7f6a..e6d9ca3 100644
--- a/another.scad
+++ b/another.scad
@@ -69,13 +69,12 @@ module the_extruder(
69 min_xy_shell = 2*extrusion_width, 69 min_xy_shell = 2*extrusion_width,
70 70
71 what="lever", // lever|body|knob|springpad|* 71 what="lever", // lever|body|knob|springpad|*
72 left=false, 72 left=false,
73 vitamins = true, 73 vitamins = true,
74 bridges = true, 74 bridges = true,
75 tensioner = true,
76 debug = false 75 debug = false
77) { 76) {
78 fnd = 2*PI; fnr = 2*fnd; 77 fnd = 2*PI; fnr = 2*fnd;
79 78
80 idler_filament_offset = filament_path_d/2; // -filament_offset; 79 idler_filament_offset = filament_path_d/2; // -filament_offset;
81 lever_shell = mount_screwhead_h+0.5; 80 lever_shell = mount_screwhead_h+0.5;
@@ -345,42 +344,32 @@ module the_extruder(
345 square([sqrt(pow(gearbox_d/2,2)+pow(longwing-lever_thickness/2,2))+1, 344 square([sqrt(pow(gearbox_d/2,2)+pow(longwing-lever_thickness/2,2))+1,
346 ls_h]); 345 ls_h]);
347 translate([-mount_d/2,0,0]) 346 translate([-mount_d/2,0,0])
348 cylinder(d=gearbox_d-mount_d,h=ls_h+2,center=true,$fn=fnd*(gearbox_d-mount_d)); 347 cylinder(d=gearbox_d-mount_d,h=ls_h+2,center=true,$fn=fnd*(gearbox_d-mount_d));
349 }//difference translate 348 }//difference translate
350 349
351 //translate([-mount_d/2,-longwing,filament_elevation])
352 if(!tensioner) /* XXX: this seems to be bullshit, but it's so old, that it's historical bullshit */
353 translate([mount_d/2,-longwing,filament_elevation])
354 rotate([0,-90,0]) difference() {
355 cylinder(d=spring_d+spring_d_clearance,h=spring_lc+spring_dl,$fn=fnd*(spring_d+spring_d_clearance));
356 translate([0,0,spring_lc+spring_dl]) sphere(d=spring_d*3/4,$fn=fnd*spring_d*3/4);
357 }
358
359 // spring tensioner 350 // spring tensioner
360 translate([-gearbox_d/2,-longwing,ls_z]) rotate([0,-90,0]) { 351 translate([-gearbox_d/2,-longwing,ls_z]) rotate([0,-90,0]) {
361 if(!tensioner) finger_indent(d=lever_thickness-1,r=15); else { 352 mirror([0,0,1]) {
362 mirror([0,0,1]) { 353 translate([0,0,st_thickshell])
363 translate([0,0,st_thickshell]) 354 hull() for(o=[0,spring_d]) translate([0,-o,0])
364 hull() for(o=[0,spring_d]) translate([0,-o,0]) 355 rotate([0,0,30])
365 rotate([0,0,30]) 356 cylinder(d=st_nut_d+st_nut_d_tolerance,h=st_nut_h+st_nut_h_tolerance,$fn=6);
366 cylinder(d=st_nut_d+st_nut_d_tolerance,h=st_nut_h+st_nut_h_tolerance,$fn=6); 357 translate([0,0,-1]) cylinder(d=st_screw_d+st_screw_d_tolerance,h=fsw+2,$fn=fnd*(st_screw_d+st_screw_d_tolerance));
367 translate([0,0,-1]) cylinder(d=st_screw_d+st_screw_d_tolerance,h=fsw+2,$fn=fnd*(st_screw_d+st_screw_d_tolerance)); 358 bigd = spring_d+spring_d_clearance;
368 bigd = spring_d+spring_d_clearance; 359 hf = (bigd-st_screw_d-st_screw_d_tolerance)/2;
369 hf = (bigd-st_screw_d-st_screw_d_tolerance)/2; 360 translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell-epsilon]) {
370 translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell-epsilon]) { 361 cylinder(d1=st_screw_d+st_screw_d_tolerance,d2=bigd,
371 cylinder(d1=st_screw_d+st_screw_d_tolerance,d2=bigd, 362 h=hf+epsilon, $fn=fnd*bigd);
372 h=hf+epsilon, $fn=fnd*bigd); 363 translate([0,-(st_thinshell+st_split_w_tolerance)/2,0])
373 translate([0,-(st_thinshell+st_split_w_tolerance)/2,0]) 364 cube(size=[body_h-ls_z+1,st_thinshell+st_split_w_tolerance,fsw+1]);
374 cube(size=[body_h-ls_z+1,st_thinshell+st_split_w_tolerance,fsw+1]); 365 }//translate
375 } 366 translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+hf-epsilon])
376 translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+hf-epsilon]) 367 cylinder(d=bigd,h=fsw+1,$fn=fnd*bigd);
377 cylinder(d=bigd,h=fsw+1,$fn=fnd*bigd); 368 }//mirror
378 } 369 }//translate
379 }
380 }
381 370
382 }//difference 371 }//difference
383 372
384 }//body module 373 }//body module
385 374
386 module springpad() { 375 module springpad() {
@@ -439,13 +428,13 @@ module the_extruder(
439 428
440 module debug() { 429 module debug() {
441 difference() { 430 difference() {
442 children(); 431 children();
443 if(debug) { 432 if(debug) {
444 // spring tensioner debug cutout 433 // spring tensioner debug cutout
445 if(tensioner) // TODO: collapse copypasted transformations 434 // TODO: collapse copypasted transformations
446 translate([-gearbox_d/2,0,0]) 435 translate([-gearbox_d/2,0,0])
447 translate([0,-longwing,ls_z]) rotate([0,-90,0]) 436 translate([0,-longwing,ls_z]) rotate([0,-90,0])
448 translate([0,-lever_thickness/2-1,-gearbox_d]) 437 translate([0,-lever_thickness/2-1,-gearbox_d])
449 cube(size=[body_h/2+1,lever_thickness/2+1,gearbox_d+2]); 438 cube(size=[body_h/2+1,lever_thickness/2+1,gearbox_d+2]);
450 // lever axis debug cutout 439 // lever axis debug cutout
451 translate([mount_d/2,0,-1]) 440 translate([mount_d/2,0,-1])