author | Michael Krelin <hacker@klever.net> | 2018-08-31 22:57:52 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2018-08-31 22:57:52 (UTC) |
commit | 5fc39109c531d0b4c61a64f206c66e4e34befea7 (patch) (side-by-side diff) | |
tree | 2ef761956118963d27d86195f79804747fecd768 | |
parent | 183ac2d4948c69d97b5491dcf83fb238d53ac121 (diff) | |
download | extrudery-5fc39109c531d0b4c61a64f206c66e4e34befea7.zip extrudery-5fc39109c531d0b4c61a64f206c66e4e34befea7.tar.gz extrudery-5fc39109c531d0b4c61a64f206c66e4e34befea7.tar.bz2 |
optimizied knob generation
-rw-r--r-- | another.scad | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/another.scad b/another.scad index 0f696cc..05bfab3 100644 --- a/another.scad +++ b/another.scad @@ -400,54 +400,52 @@ module the_extruder( 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=2*hf+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); translate([-bore_d/2-1,bore_dd-bore_d/2+knob_bore_d_tolerance/2,-1]) cube([bore_d+2,bore_d/2,knob_bore_l+4]); } } } difference() { - union() { - cylinder(d1=gearbox_d-2*ch,d2=gearbox_d,h=ch+epsilon,$fn=fnd*gearbox_d); + hull() { + cylinder(d=gearbox_d-2*ch,h=knob_h,$fn=fnd*gearbox_d); translate([0,0,ch]) - cylinder(d=gearbox_d,h=knob_h-2*ch+epsilon,$fn=fnd*gearbox_d); - translate([0,0,knob_h-ch]) - cylinder(d1=gearbox_d,d2=gearbox_d-2*ch,h=ch,$fn=fnd*gearbox_d); + cylinder(d=gearbox_d,h=knob_h-2*ch,$fn=fnd*gearbox_d); } for(a=[0:360/knob_indents:359]) rotate([0,0,a]) translate([0,gearbox_d/2,-1]) cylinder(d=knob_indent_d,h=knob_h+2,$fn=fnd*knob_indent_d); } } }//knob module 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]) cube(size=[body_h/2+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]) |