summaryrefslogtreecommitdiff
authorMichael Krelin <hacker@klever.net>2018-08-31 22:57:52 (UTC)
committer Michael Krelin <hacker@klever.net>2018-08-31 22:57:52 (UTC)
commit5fc39109c531d0b4c61a64f206c66e4e34befea7 (patch) (side-by-side diff)
tree2ef761956118963d27d86195f79804747fecd768
parent183ac2d4948c69d97b5491dcf83fb238d53ac121 (diff)
downloadextrudery-5fc39109c531d0b4c61a64f206c66e4e34befea7.zip
extrudery-5fc39109c531d0b4c61a64f206c66e4e34befea7.tar.gz
extrudery-5fc39109c531d0b4c61a64f206c66e4e34befea7.tar.bz2
optimizied knob generation
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--another.scad8
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])