-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 @@ -53,24 +53,25 @@ module the_extruder( idler_clearance=1, pulley_d_clearance=2, lever_v_clearance=.7, // vertical clearance for the lever spring_d_clearance=1, protrusion_tolerance_h=.5, // horizontal tolerance for the motor protrusion protrusion_tolerance_v=.5, // vertical tolerance for the motor protrusion 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, vitamins = true, supports = false, bridges = true, tensioner = true, debug = false ) { fnd = 2*PI; fnr = 2*fnd; @@ -228,44 +229,47 @@ module the_extruder( difference() { union() { cylinder(d=gearbox_d,h=body_h,$fn=fnd*gearbox_d); // finger and spring support fsw = gearbox_d-(gearbox_d-mount_d)/2-spring_lc; translate([-gearbox_d/2,0,0]) difference() { 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]) { if(!tensioner) finger_indent(d=lever_thickness-1,r=15); else { mirror([0,0,1]) { translate([0,0,st_thickshell]) 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 // pushfit bracket translate([0,0,filament_elevation]) rotate([0,0,45]) translate([pulley_d/2+filament_offset,0,0]) rotate([-90,0,0]) translate([0,0,mount_d/sqrt(2)/2+mount_screw_d-gearbox_d/2/*TODO:*/]) { |