-rw-r--r-- | another.scad | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/another.scad b/another.scad index 4a9fc01..8fd9356 100644 --- a/another.scad +++ b/another.scad | |||
@@ -44,13 +44,12 @@ module the_extruder( | |||
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 | ||
51 | 50 | ||
52 | // empty spaces | 51 | // empty spaces |
53 | idler_travel = 3, // how far should idler travel when pressed | 52 | idler_travel = 3, // how far should idler travel when pressed |
54 | idler_clearance=1, | 53 | idler_clearance=1, |
55 | pulley_d_clearance=2, | 54 | pulley_d_clearance=2, |
56 | lever_v_clearance=.7, // vertical clearance for the lever | 55 | lever_v_clearance=.7, // vertical clearance for the lever |
@@ -62,12 +61,13 @@ module the_extruder( | |||
62 | knob_bore_d_tolerance=.6, | 61 | knob_bore_d_tolerance=.6, |
63 | st_nut_h_tolerance=.2, | 62 | st_nut_h_tolerance=.2, |
64 | st_nut_d_tolerance=.2,/* TODO: make it st_nut_w_tolerance */ | 63 | st_nut_d_tolerance=.2,/* TODO: make it st_nut_w_tolerance */ |
65 | st_screw_d_tolerance=.5, | 64 | st_screw_d_tolerance=.5, |
66 | 65 | ||
67 | min_z_shell = 4*layer_height, // the very minimal shell thickness along z-axis. | 66 | min_z_shell = 4*layer_height, // the very minimal shell thickness along z-axis. |
67 | min_xy_shell = 2*extrusion_width, | ||
68 | 68 | ||
69 | what="lever", // lever|body|knob|springpad|* | 69 | what="lever", // lever|body|knob|springpad|* |
70 | left=false, | 70 | left=false, |
71 | vitamins = true, | 71 | vitamins = true, |
72 | supports = false, bridges = true, | 72 | supports = false, bridges = true, |
73 | tensioner = true, | 73 | tensioner = true, |
@@ -308,32 +308,27 @@ module the_extruder( | |||
308 | h=mount_screw_l-mount_depth+1, | 308 | h=mount_screw_l-mount_depth+1, |
309 | $fn=fnd*(mount_screw_d+mount_screw_d_tolerance)); | 309 | $fn=fnd*(mount_screw_d+mount_screw_d_tolerance)); |
310 | translate([0,0,mount_screw_l-mount_depth]) | 310 | translate([0,0,mount_screw_l-mount_depth]) |
311 | 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); |
312 | }//for | 312 | }//for |
313 | // pushfit | 313 | // pushfit |
314 | pf_offset = mount_d/sqrt(2)/2+mount_screw_d; | ||
314 | translate([0,0,filament_elevation]) | 315 | translate([0,0,filament_elevation]) |
315 | rotate([0,0,45]) translate([pulley_d/2+filament_offset,0,0]) | 316 | rotate([0,0,45]) translate([pulley_d/2+filament_offset,0,0]) |
316 | rotate([-90,0,0]) | 317 | rotate([-90,0,0]) |
317 | translate([0,0,mount_d/sqrt(2)/2+mount_screw_d+epsilon]) | 318 | translate([0,0,pf_offset]) |
318 | rotate([0,0,180]) { | 319 | rotate([0,0,180]) { |
319 | pushfit(pf); | 320 | pushfit(pf); |
320 | mirror([0,0,1]) { | 321 | 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; | 322 | fh = (filament_guide_d-filament_path_d)/2; |
327 | union() { | 323 | fo = pf_offset-(idler_d+idler_clearance)/2-fh; |
328 | translate([0,0,pf_guidelen+nl]) | 324 | translate([0,0,-1]) teardrop(d=filament_guide_d,h=fo-extrusion_width+1,angle=225); |
329 | cylinder(d1=filament_path_d,d2=filament_guide_d,h=fh,$fn=fnd*filament_guide_d); | 325 | translate([0,0,-1]) teardrop(d=filament_path_d,h=gearbox_d/2+1,angle=-225); |
330 | translate([0,0,pf_guidelen+nl+fh-epsilon]) | 326 | translate([0,0,fo+epsilon]) |
331 | teardrop(d=filament_guide_d,h=gearbox_d/2,angle=225); | 327 | cylinder(d1=filament_path_d,d2=filament_guide_d,h=fh,$fn=fnd*filament_guide_d); |
332 | } | 328 | }//mirror |
333 | } | ||
334 | }//rotate translate rotate translate rotate translate | 329 | }//rotate translate rotate translate rotate translate |
335 | // pulley | 330 | // pulley |
336 | cylinder(d=pulley_d+pulley_d_clearance,h=body_h+1,$fn=fnd*(pulley_d+pulley_d_clearance)); | 331 | cylinder(d=pulley_d+pulley_d_clearance,h=body_h+1,$fn=fnd*(pulley_d+pulley_d_clearance)); |
337 | // leverspace | 332 | // leverspace |
338 | hull() for(x=[0,gearbox_d]) | 333 | hull() for(x=[0,gearbox_d]) |
339 | rotate([0,0,45]) | 334 | rotate([0,0,45]) |