summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--another.scad23
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])