author | Michael Krelin <hacker@klever.net> | 2018-09-01 15:04:55 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2018-09-01 15:04:55 (UTC) |
commit | fc5c22aeb877892c1caabf628d2bc675de681ff3 (patch) (side-by-side diff) | |
tree | 74a3d550b292a8b0894813b205f928d7a2f90cca | |
parent | 2f6d5390149d351d131e294946ba2b948bfd7aca (diff) | |
download | extrudery-fc5c22aeb877892c1caabf628d2bc675de681ff3.zip extrudery-fc5c22aeb877892c1caabf628d2bc675de681ff3.tar.gz extrudery-fc5c22aeb877892c1caabf628d2bc675de681ff3.tar.bz2 |
cap springpad calculations for longer screws
-rw-r--r-- | another.scad | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/another.scad b/another.scad index 8ba0d58..6bb0664 100644 --- a/another.scad +++ b/another.scad @@ -386,43 +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 } 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,fsw-st_screw_l+hf); + h = max(hf*2,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,0,-epsilon]) - cylinder(d=st_screw_d+st_screw_d_tolerance,h=st_screw_l-fsw+h+2*epsilon,$fn=fnd*(st_screw_d+st_screw_d_tolerance)); + 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)); } } module knob() { ch = knob_indent_d/2; knob_bore_l = body_h-protrusion_h-pulley_elevation-pulley_h-knob_v_clearance; translate([0,0,body_h+epsilon]) { mirror([0,0,1]) translate([0,0,-epsilon]) { difference() { cylinder(d=pulley_d,h=knob_bore_l,$fn=fnd*pulley_d); translate([0,0,-1]) difference() { cylinder(d=bore_d+knob_bore_d_tolerance,h=knob_bore_l+2); |