summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--another.scad11
1 files changed, 6 insertions, 5 deletions
diff --git a/another.scad b/another.scad
index 7a3b0ac..da5f695 100644
--- a/another.scad
+++ b/another.scad
@@ -48,24 +48,25 @@ module the_extruder(
48 idler_travel = 3, // how far should idler travel when pressed 48 idler_travel = 3, // how far should idler travel when pressed
49 idler_clearance=1, 49 idler_clearance=1,
50 pulley_clearance=2, 50 pulley_clearance=2,
51 lever_v_clearance=.7, // vertical clearance for the lever 51 lever_v_clearance=.7, // vertical clearance for the lever
52 spring_d_clearance=1, 52 spring_d_clearance=1,
53 protrusion_tolerance_h=.5, // horizontal tolerance for the motor protrusion 53 protrusion_tolerance_h=.5, // horizontal tolerance for the motor protrusion
54 protrusion_tolerance_v=.5, // vertical tolerance for the motor protrusion 54 protrusion_tolerance_v=.5, // vertical tolerance for the motor protrusion
55 mount_screw_d_tolerance=.4, 55 mount_screw_d_tolerance=.4,
56 idler_v_tolerance=.5, 56 idler_v_tolerance=.5,
57 knob_bore_d_tolerance=.6, 57 knob_bore_d_tolerance=.6,
58 st_nut_h_tolerance=.2, 58 st_nut_h_tolerance=.2,
59 st_nut_d_tolerance=.2,/* TODO: make it st_nut_w_tolerance */ 59 st_nut_d_tolerance=.2,/* TODO: make it st_nut_w_tolerance */
60 st_screw_d_tolerance=.3,
60 61
61 what="lever", // lever|body|knob|springpad|* 62 what="lever", // lever|body|knob|springpad|*
62 left=false, 63 left=false,
63 vitamins = true, 64 vitamins = true,
64 supports = false, bridges = true, 65 supports = false, bridges = true,
65 tensioner = true, 66 tensioner = true,
66 debug = false 67 debug = false
67) { 68) {
68 fnd = 2*PI; fnr = 2*fnd; 69 fnd = 2*PI; fnr = 2*fnd;
69 70
70 lever_shell = mount_screwhead_h+0.5; 71 lever_shell = mount_screwhead_h+0.5;
71 lever_thickness=max(spring_d+spring_d_clearance+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell); 72 lever_thickness=max(spring_d+spring_d_clearance+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell);
@@ -207,29 +208,29 @@ module the_extruder(
207 hhh=ls_z; 208 hhh=ls_z;
208 translate([0,0,0]) 209 translate([0,0,0])
209 mirror([0,1,0]) cube(size=[fsw,longwing-hhh+lever_thickness/sqrt(2),hhh+lever_thickness/2]); 210 mirror([0,1,0]) cube(size=[fsw,longwing-hhh+lever_thickness/sqrt(2),hhh+lever_thickness/2]);
210 } 211 }
211 } 212 }
212 translate([0,-longwing,ls_z]) rotate([0,-90,0]) { 213 translate([0,-longwing,ls_z]) rotate([0,-90,0]) {
213 if(!tensioner) finger_indent(d=lever_thickness-1,r=15); else { 214 if(!tensioner) finger_indent(d=lever_thickness-1,r=15); else {
214 mirror([0,0,1]) { 215 mirror([0,0,1]) {
215 translate([0,0,st_thickshell]) 216 translate([0,0,st_thickshell])
216 hull() for(o=[0,spring_d]) translate([0,-o,0]) 217 hull() for(o=[0,spring_d]) translate([0,-o,0])
217 rotate([0,0,30]) 218 rotate([0,0,30])
218 cylinder(d=st_nut_d+st_nut_d_tolerance,h=st_nut_h+st_nut_h_tolerance,$fn=6); 219 cylinder(d=st_nut_d+st_nut_d_tolerance,h=st_nut_h+st_nut_h_tolerance,$fn=6);
219 translate([0,0,-1]) cylinder(d=st_screw_d,h=fsw+2,$fn=fnd*st_screw_d); 220 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));
220 bigd = spring_d+spring_d_clearance; 221 bigd = spring_d+spring_d_clearance;
221 hf = (bigd-st_screw_d)/2; 222 hf = (bigd-st_screw_d-st_screw_d_tolerance)/2;
222 translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell-epsilon]) 223 translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell-epsilon])
223 cylinder(d1=st_screw_d,d2=bigd, 224 cylinder(d1=st_screw_d+st_screw_d_tolerance,d2=bigd,
224 h=hf+epsilon, $fn=fnd*bigd); 225 h=hf+epsilon, $fn=fnd*bigd);
225 translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+hf-epsilon]) 226 translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+hf-epsilon])
226 cylinder(d=bigd,h=fsw+1,$fn=fnd*bigd); 227 cylinder(d=bigd,h=fsw+1,$fn=fnd*bigd);
227 } 228 }
228 } 229 }
229 } 230 }
230 } // translate 231 } // translate
231 232
232 // pushfit bracket 233 // pushfit bracket
233 translate([0,0,filament_elevation]) 234 translate([0,0,filament_elevation])
234 rotate([0,0,45]) translate([pulley_d/2,0,0]) 235 rotate([0,0,45]) translate([pulley_d/2,0,0])
235 rotate([-90,0,0]) 236 rotate([-90,0,0])
@@ -326,38 +327,38 @@ module the_extruder(
326 translate([0,y-extrusion_width/2,0]) 327 translate([0,y-extrusion_width/2,0])
327 cube(size=[gearbox_d,extrusion_width,body_h]); 328 cube(size=[gearbox_d,extrusion_width,body_h]);
328 }else{ // radial 329 }else{ // radial
329 for(zr=[-65:(65+50)/7:50]) 330 for(zr=[-65:(65+50)/7:50])
330 rotate([0,0,zr]) translate([0,-extrusion_width/2,0]) 331 rotate([0,0,zr]) translate([0,-extrusion_width/2,0])
331 cube(size=[gearbox_d,extrusion_width,body_h]); 332 cube(size=[gearbox_d,extrusion_width,body_h]);
332 } 333 }
333 } 334 }
334 335
335 }//body module 336 }//body module
336 337
337 module springpad() { 338 module springpad() {
338 smalld=st_screw_d+2*extrusion_width; 339 smalld=st_screw_d+st_screw_d_tolerance+2*extrusion_width;
339 bigd = spring_d+spring_d_clearance/2; 340 bigd = spring_d+spring_d_clearance/2;
340 hf = (bigd-smalld)/2; 341 hf = (bigd-smalld)/2;
341 translate([-gearbox_d/2+st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+1,-longwing,filament_elevation]) 342 translate([-gearbox_d/2+st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+1,-longwing,filament_elevation])
342 rotate([0,90,0]) difference() { 343 rotate([0,90,0]) difference() {
343 union() { 344 union() {
344 cylinder(d1=smalld,d2=bigd,h=hf,$fn=fnd*bigd); 345 cylinder(d1=smalld,d2=bigd,h=hf,$fn=fnd*bigd);
345 translate([0,0,hf-epsilon]) 346 translate([0,0,hf-epsilon])
346 cylinder(d=bigd,h=hf*2,$fn=fnd*bigd); 347 cylinder(d=bigd,h=hf*2,$fn=fnd*bigd);
347 translate([0,0,3*hf]) 348 translate([0,0,3*hf])
348 sphere(d=spring_d*3/4,$fn=fnd*spring_d*3/4); 349 sphere(d=spring_d*3/4,$fn=fnd*spring_d*3/4);
349 } 350 }
350 translate([0,0,-epsilon]) 351 translate([0,0,-epsilon])
351 cylinder(d=st_screw_d,h=2*hf+epsilon,$fn=fnd*st_screw_d); 352 cylinder(d=st_screw_d+st_screw_d_tolerance,h=2*hf+epsilon,$fn=fnd*(st_screw_d+st_screw_d_tolerance));
352 } 353 }
353 } 354 }
354 355
355 module knob() { 356 module knob() {
356 ch = knob_indent_d/2; 357 ch = knob_indent_d/2;
357 translate([0,0,body_h+epsilon]) { 358 translate([0,0,body_h+epsilon]) {
358 mirror([0,0,1]) translate([0,0,-epsilon]) { 359 mirror([0,0,1]) translate([0,0,-epsilon]) {
359 difference() { 360 difference() {
360 cylinder(d=pulley_d,h=knob_bore_l,$fn=fnd*pulley_d); 361 cylinder(d=pulley_d,h=knob_bore_l,$fn=fnd*pulley_d);
361 translate([0,0,-1]) difference() { 362 translate([0,0,-1]) difference() {
362 cylinder(d=bore_d+knob_bore_d_tolerance,h=knob_bore_l+2); 363 cylinder(d=bore_d+knob_bore_d_tolerance,h=knob_bore_l+2);
363 translate([-bore_d/2-1,bore_dd-bore_d/2+knob_bore_d_tolerance/2,-1]) 364 translate([-bore_d/2-1,bore_dd-bore_d/2+knob_bore_d_tolerance/2,-1])