-rw-r--r-- | another.scad | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/another.scad b/another.scad index 8d9d22c..b1cbdeb 100644 --- a/another.scad +++ b/another.scad @@ -59,12 +59,13 @@ module the_extruder( mount_screw_d_tolerance=.4, idler_v_tolerance=.5, knob_bore_d_tolerance=.6, st_nut_h_tolerance=.2, st_nut_d_tolerance=.2,/* TODO: make it st_nut_w_tolerance */ st_screw_d_tolerance=.5, + st_split_w_tolerance = .3, min_z_shell = 4*layer_height, // the very minimal shell thickness along z-axis. min_xy_shell = 2*extrusion_width, what="lever", // lever|body|knob|springpad|* left=false, @@ -234,14 +235,14 @@ module the_extruder( union() { hull() { translate([0,-longwing,ls_z]) rotate([0,90,0]) cylinder(d=lever_thickness,h=fsw,$fn=fnd*lever_thickness); hh=body_h-ls_z; - translate([0,0,ls_z-lever_thickness/2]) - mirror([0,1,0]) cube(size=[fsw,longwing-hh+lever_thickness/sqrt(2),hh+lever_thickness/2]); + translate([0,0,ls_z]) + mirror([0,1,0]) cube(size=[fsw,longwing+(st_thinshell+st_split_w_tolerance)/2+st_thickshell,body_h-ls_z]); hhh=ls_z; translate([0,0,0]) mirror([0,1,0]) cube(size=[fsw,longwing-hhh+lever_thickness/sqrt(2),hhh+lever_thickness/2]); } } translate([0,-longwing,ls_z]) rotate([0,-90,0]) { @@ -251,15 +252,18 @@ module the_extruder( hull() for(o=[0,spring_d]) translate([0,-o,0]) rotate([0,0,30]) cylinder(d=st_nut_d+st_nut_d_tolerance,h=st_nut_h+st_nut_h_tolerance,$fn=6); 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)); bigd = spring_d+spring_d_clearance; hf = (bigd-st_screw_d-st_screw_d_tolerance)/2; - translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell-epsilon]) - cylinder(d1=st_screw_d+st_screw_d_tolerance,d2=bigd, - h=hf+epsilon, $fn=fnd*bigd); + translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell-epsilon]) { + cylinder(d1=st_screw_d+st_screw_d_tolerance,d2=bigd, + h=hf+epsilon, $fn=fnd*bigd); + translate([0,-(st_thinshell+st_split_w_tolerance)/2,0]) + cube(size=[body_h-ls_z+1,st_thinshell+st_split_w_tolerance,fsw+1]); + } translate([0,0,st_thickshell+st_nut_h+st_nut_h_tolerance+st_thinshell+hf-epsilon]) cylinder(d=bigd,h=fsw+1,$fn=fnd*bigd); } } } } // translate |