-rw-r--r-- | another.scad | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/another.scad b/another.scad index a25e047..fd73a61 100644 --- a/another.scad +++ b/another.scad @@ -390,13 +390,15 @@ module the_extruder( text(text=label,size=labelspace.x/label_len,halign="center",valign="center",font="Arial Black"); }else sphere(d=epsilon); // to avoid makefile breakage } + st_bump = 4*extrusion_width; + st_bump_tip = 2*extrusion_width; module springpad() { smalld=st_screw_d+st_screw_d_tolerance+min_xy_shell; bigd = spring_d+spring_d_clearance/2; hf = (bigd-smalld)/2; - h = max(hf*2,fsw-st_screw_l+hf); + h = max(hf*3,fsw-st_screw_l+hf); translate([-gearbox_d/2+fsw-h,-longwing,filament_elevation]) rotate([0,90,0]) difference() { union() { cylinder(d1=smalld,d2=bigd,h=hf,$fn=fnd*bigd); @@ -405,12 +407,19 @@ module the_extruder( translate([0,0,h]) sphere(d=spring_d*3/4,$fn=fnd*spring_d*3/4); l = body_h-ls_z; w = sp_ch; - hull() translate([0,-st_split_w/2,0]) mirror([1,0,0]) { - translate([0,0,w]) - cube(size=[l,st_split_w,w]); - cube(size=[l-w,st_split_w,2*w]); + translate([0,-st_split_w/2,0]) mirror([1,0,0]) { + hull() { + translate([0,0,w+st_bump]) + cube(size=[l+st_bump,st_split_w,w]); + cube(size=[l-w,st_split_w,2*w]); + } + translate([l,0,w+st_bump]) hull() { + cube(size=[st_split_w,st_split_w,st_bump]); + translate([0,-st_bump+st_bump_tip,st_bump]) mirror([0,0,1]) + cube(size=[st_split_w,st_split_w+2*(st_bump-st_bump_tip),st_bump_tip]); + } } } translate([0,0,-epsilon]) cylinder(d=st_screw_d+st_screw_d_tolerance, @@ -463,9 +472,9 @@ module the_extruder( if(debug) { // spring tensioner debug cutout translate([-gearbox_d/2,-longwing,ls_z]) rotate([0,-90,0]) translate([0,-lever_thickness/2-1,-gearbox_d-1]) - cube(size=[body_h/2+1,lever_thickness/2+1,gearbox_d+2]); + cube(size=[body_h-ls_z+st_bump+1,lever_thickness/2+1,gearbox_d+2]); // lever axis debug cutout translate([mount_d/2,0,-1]) rotate([0,0,-45]) cube(size=[gearbox_d-mount_d,gearbox_d-mount_d,body_h+knob_h+2]); |