-rw-r--r-- | another.scad | 55 |
1 files changed, 27 insertions, 28 deletions
diff --git a/another.scad b/another.scad index 78d4320..b752f30 100644 --- a/another.scad +++ b/another.scad @@ -81,7 +81,7 @@ module the_extruder( lever_shell = mount_screwhead_h+0.5; lever_thickness=max(spring_d+spring_d_clearance+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; + longwing=(mount_d+mount_screw_d+mount_screw_d_tolerance+spring_d+spring_d_clearance)/2+extrusion_width; shortwing = let(a=mount_d/2,c=(pulley_d+idler_d)/2/sqrt(2)) sqrt(c*c+pow(a-c,2)); longwing_travel = idler_travel*longwing/shortwing; @@ -235,9 +235,8 @@ module the_extruder( difference() { union() { cylinder(d=gearbox_d,h=body_h,$fn=fnd*gearbox_d); - translate([-gearbox_d/2,0,0]) difference() { - union() { - hull() { + // spring tensioner part + translate([-gearbox_d/2,0,0]) hull() { translate([0,-longwing,ls_z]) rotate([0,90,0]) cylinder(d=lever_thickness,h=fsw,$fn=fnd*lever_thickness); @@ -247,30 +246,7 @@ module the_extruder( 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,-(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 + }//hull translate // pushfit bracket translate([0,0,filament_elevation]) @@ -386,6 +362,29 @@ module the_extruder( translate([0,0,spring_lc+spring_dl]) sphere(d=spring_d*3/4,$fn=fnd*spring_d*3/4); } + // spring tensioner + translate([-gearbox_d/2,-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,-(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); + } + } + } + }//difference if(supports) intersection() { |