-rw-r--r-- | another.scad | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/another.scad b/another.scad index d4a3f90..fa60676 100644 --- a/another.scad +++ b/another.scad @@ -51,24 +51,29 @@ module the_extruder( what="lever", left=false, vitamins = true ) { lever_shell = mount_screwhead_h+0.5; lever_thickness=max(spring_d+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell); lsd = idler_d-idler_clearance*2; longwing=gearbox_d/2+spring_d/2+lsd/2; h_ = (pulley_d+idler_d)/(2*sqrt(2)); ri = sqrt( pow(h_,2) + pow(mount_d/2-h_,2) ); spring_dl = idler_travel*longwing/ri; + filament_elevation=protrusion_h+pulley_elevation+teeth_elevation; + ls_z = filament_elevation; // leverspace mid-z + body_h = max(protrusion_h+bore_l,mount_screw_l-mounthole_depth/2+mount_screwhead_h,ls_z*2); + ls_h = lever_thickness+lever_v_clearance; // leverspace height + module mirrorleft() { mirror([left?0:1,0,0]) children(); } module place_idler() { rotate([0,0,45]) translate([(pulley_d+idler_d)/2,0,0]) children(); } module finger_indent(d=lever_thickness,depth/*=1*/,r/*=15*/) { if(depth) { hh = (-4*pow(depth,2)+pow(d,2))/(8*depth); rr = depth+hh; @@ -162,28 +167,24 @@ module the_extruder( } }//rotate-translate }//difference // bridging patch place_idler() translate([0,0,lever_thickness/2-mount_screwhead_h]) mirror([0,0,1]) cylinder(d=mount_screwhead_d,h=layer_height); }//translate }//lever module module body() { - filament_elevation=protrusion_h+pulley_elevation+teeth_elevation; - ls_z = filament_elevation; - body_h = max(protrusion_h+bore_l,mount_screw_l-mounthole_depth/2+mount_screwhead_h,ls_z*2); - ls_h = lever_thickness+lever_v_clearance; difference() { union() { cylinder(d=gearbox_d,h=body_h,$fn=2*PI*gearbox_d); // finger and spring support fsw = gearbox_d/2+mount_screwhead_d/2; 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=2*PI*lever_thickness); hh=body_h-ls_z; |