-rw-r--r-- | another.scad | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/another.scad b/another.scad index 23243d9..4a9fc01 100644 --- a/another.scad +++ b/another.scad | |||
@@ -34,32 +34,33 @@ module the_extruder( | |||
34 | knob_indent_d = 4, | 34 | knob_indent_d = 4, |
35 | knob_indents = 12, | 35 | knob_indents = 12, |
36 | // spring tensioner | 36 | // spring tensioner |
37 | st_nut_d = 9, st_nut_h = 4, | 37 | st_nut_d = 9, st_nut_h = 4, |
38 | st_screw_d = 5, | 38 | st_screw_d = 5, |
39 | st_thickshell = 8*extrusion_width, st_thinshell = 4*extrusion_width, | 39 | st_thickshell = 8*extrusion_width, st_thinshell = 4*extrusion_width, |
40 | 40 | ||
41 | // screw it | 41 | // screw it |
42 | mount_screw_d = 3.1, mount_screw_l = 20, | 42 | mount_screw_d = 3.1, mount_screw_l = 20, |
43 | mount_screwhead_d=6, mount_screwhead_h=3, | 43 | mount_screwhead_d=6, mount_screwhead_h=3, |
44 | idler_screw_d = 3, | 44 | idler_screw_d = 3, |
45 | idler_screwhead_d=6, idler_screwhead_h=3, | 45 | idler_screwhead_d=6, idler_screwhead_h=3, |
46 | 46 | ||
47 | pf = pushfit_embeddest, | 47 | pf = pushfit_embeddest, |
48 | pf_shell = max(3*layer_height,3*extrusion_width), | 48 | pf_shell = max(3*layer_height,3*extrusion_width), |
49 | pf_smooth = true, | 49 | pf_smooth = true, |
50 | pf_guidelen = 3, // the length of ptfe guide before pushfit | ||
50 | 51 | ||
51 | // empty spaces | 52 | // empty spaces |
52 | idler_travel = 3, // how far should idler travel when pressed | 53 | idler_travel = 3, // how far should idler travel when pressed |
53 | idler_clearance=1, | 54 | idler_clearance=1, |
54 | pulley_d_clearance=2, | 55 | pulley_d_clearance=2, |
55 | lever_v_clearance=.7, // vertical clearance for the lever | 56 | lever_v_clearance=.7, // vertical clearance for the lever |
56 | spring_d_clearance=1, | 57 | spring_d_clearance=1, |
57 | protrusion_tolerance_h=.5, // horizontal tolerance for the motor protrusion | 58 | protrusion_tolerance_h=.5, // horizontal tolerance for the motor protrusion |
58 | protrusion_tolerance_v=.5, // vertical tolerance for the motor protrusion | 59 | protrusion_tolerance_v=.5, // vertical tolerance for the motor protrusion |
59 | mount_screw_d_tolerance=.4, | 60 | mount_screw_d_tolerance=.4, |
60 | idler_v_tolerance=.5, | 61 | idler_v_tolerance=.5, |
61 | knob_bore_d_tolerance=.6, | 62 | knob_bore_d_tolerance=.6, |
62 | st_nut_h_tolerance=.2, | 63 | st_nut_h_tolerance=.2, |
63 | st_nut_d_tolerance=.2,/* TODO: make it st_nut_w_tolerance */ | 64 | st_nut_d_tolerance=.2,/* TODO: make it st_nut_w_tolerance */ |
64 | st_screw_d_tolerance=.5, | 65 | st_screw_d_tolerance=.5, |
65 | 66 | ||
@@ -303,33 +304,46 @@ module the_extruder( | |||
303 | for(zr=[0:90:359]) rotate([0,0,zr]) translate([mount_d/2,0,0]) { | 304 | for(zr=[0:90:359]) rotate([0,0,zr]) translate([mount_d/2,0,0]) { |
304 | translate([0,0,mount_screw_l-mount_depth-(bridges?layer_height:-epsilon)]) | 305 | translate([0,0,mount_screw_l-mount_depth-(bridges?layer_height:-epsilon)]) |
305 | mirror([0,0,1]) | 306 | mirror([0,0,1]) |
306 | cylinder(d=mount_screw_d+mount_screw_d_tolerance, | 307 | cylinder(d=mount_screw_d+mount_screw_d_tolerance, |
307 | h=mount_screw_l-mount_depth+1, | 308 | h=mount_screw_l-mount_depth+1, |
308 | $fn=fnd*(mount_screw_d+mount_screw_d_tolerance)); | 309 | $fn=fnd*(mount_screw_d+mount_screw_d_tolerance)); |
309 | translate([0,0,mount_screw_l-mount_depth]) | 310 | translate([0,0,mount_screw_l-mount_depth]) |
310 | cylinder(d=mount_screwhead_d,h=body_h+1,$fn=fnd*mount_screwhead_d); | 311 | cylinder(d=mount_screwhead_d,h=body_h+1,$fn=fnd*mount_screwhead_d); |
311 | }//for | 312 | }//for |
312 | // pushfit | 313 | // pushfit |
313 | translate([0,0,filament_elevation]) | 314 | translate([0,0,filament_elevation]) |
314 | rotate([0,0,45]) translate([pulley_d/2+filament_offset,0,0]) | 315 | rotate([0,0,45]) translate([pulley_d/2+filament_offset,0,0]) |
315 | rotate([-90,0,0]) | 316 | rotate([-90,0,0]) |
316 | translate([0,0,mount_d/sqrt(2)/2+mount_screw_d+epsilon]) | 317 | translate([0,0,mount_d/sqrt(2)/2+mount_screw_d+epsilon]) |
317 | rotate([0,0,180]) { | 318 | rotate([0,0,180]) { |
318 | pushfit(pf); | 319 | pushfit(pf); |
319 | mirror([0,1,0]) teardrop(d=filament_guide_d,h=gearbox_d,center=true); | 320 | mirror([0,0,1]) { |
321 | translate([0,0,-epsilon]) | ||
322 | teardrop(d=filament_guide_d,h=pf_guidelen+epsilon,angle=225); | ||
323 | nl = 3.5; /* TODO: */ | ||
324 | translate([0,0,pf_guidelen-1]) | ||
325 | teardrop(d=filament_path_d,h=nl+2,angle=-225); | ||
326 | fh = (filament_guide_d-filament_path_d)/2; | ||
327 | union() { | ||
328 | translate([0,0,pf_guidelen+nl]) | ||
329 | cylinder(d1=filament_path_d,d2=filament_guide_d,h=fh,$fn=fnd*filament_guide_d); | ||
330 | translate([0,0,pf_guidelen+nl+fh-epsilon]) | ||
331 | teardrop(d=filament_guide_d,h=gearbox_d/2,angle=225); | ||
332 | } | ||
333 | } | ||
320 | }//rotate translate rotate translate rotate translate | 334 | }//rotate translate rotate translate rotate translate |
321 | // pulley | 335 | // pulley |
322 | cylinder(d=pulley_d+pulley_d_clearance,h=body_h+1,$fn=fnd*(pulley_d+pulley_d_clearance)); | 336 | cylinder(d=pulley_d+pulley_d_clearance,h=body_h+1,$fn=fnd*(pulley_d+pulley_d_clearance)); |
323 | // leverspace | 337 | // leverspace |
324 | hull() for(x=[0,gearbox_d]) | 338 | hull() for(x=[0,gearbox_d]) |
325 | rotate([0,0,45]) | 339 | rotate([0,0,45]) |
326 | translate([x,0,ls_z-ls_h/2]) | 340 | translate([x,0,ls_z-ls_h/2]) |
327 | cylinder(d=idler_d+idler_clearance,h=ls_h,$fn=fnd*(idler_d+idler_clearance)); | 341 | cylinder(d=idler_d+idler_clearance,h=ls_h,$fn=fnd*(idler_d+idler_clearance)); |
328 | 342 | ||
329 | // idler clearance | 343 | // idler clearance |
330 | a=cos(45)*(pulley_d+idler_d)/2; | 344 | a=cos(45)*(pulley_d+idler_d)/2; |
331 | b=mount_d/2-a; | 345 | b=mount_d/2-a; |
332 | x=sqrt(pow(a,2)+pow(b,2)); | 346 | x=sqrt(pow(a,2)+pow(b,2)); |
333 | translate([mount_d/2,0,ls_z]) | 347 | translate([mount_d/2,0,ls_z]) |
334 | intersection() { | 348 | intersection() { |
335 | r = x+idler_d/2+idler_clearance; | 349 | r = x+idler_d/2+idler_clearance; |