-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 @@ -386,35 +386,44 @@ module the_extruder( translate([0,0,body_h-label_thickness]) linear_extrude(height=label_thickness+epsilon,convexity=64) translate([-mount_screwhead_d/2-min_xy_shell-labelspace.x/2,-longwing+(st_split_w+st_split_w_tolerance)/2+min_xy_shell+labelspace.y/2]) mirror([left?0:1,0]) 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); translate([0,0,hf-epsilon]) cylinder(d=bigd,h=h-hf,$fn=fnd*bigd); 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, h=min(st_screw_l,fsw-hf)-fsw+h+2*epsilon,$fn=fnd*(st_screw_d+st_screw_d_tolerance)); } } @@ -459,17 +468,17 @@ module the_extruder( module debug() { difference() { children(); 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]); // idler debug cutout translate([0,0,ls_z]) place_idler() rotate([0,0,-45]) |