-rw-r--r-- | fanduct.scad | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fanduct.scad b/fanduct.scad index 235c079..e16c5ae 100644 --- a/fanduct.scad +++ b/fanduct.scad @@ -30,49 +30,51 @@ type="3jets"; // "3jets" ; // circular|3jets module fanduct(type=type) { // *** duct is all around! module duct(what) { if(what=="in") { rotate_extrude($fn=smooth_f) translate([fanduct_ir,0]) square([fanduct_w+2*fanduct_shell,fanduct_h+2*fanduct_shell]); }else if(what=="out") { rotate_extrude($fn=smooth_f) translate([fanduct_ir+fanduct_shell,fanduct_shell]) union() { square([fanduct_w,fanduct_h/2]); translate([fanduct_w/2,fanduct_h-fanduct_w/2]) rotate([0,0,90]) circle(d=fanduct_w,$fn=36); } } } // *** bumps for easier position adjustments in line with hotend module marks(what) { if(what=="in") { - for(y=[-1,1]) translate([0,y*(fanduct_ir+fanduct_shell+fanduct_w/2),fanduct_shell*2+fanduct_h]) + for(y=[-1,1]) + hull() for(z=[0,-fanduct_shell-fanduct_h/2]) + translate([0,y*(fanduct_ir+fanduct_shell+fanduct_w/2),fanduct_shell*2+fanduct_h+z]) rotate([90,0,0]) { cylinder(r=fanduct_shell,h=fanduct_w,center=true,$fn=30); for(z=[-1,1]) translate([0,0,z*fanduct_w/2]) sphere(r=fanduct_shell,$fn=30); } } } // *** output module output(what,type=type) { module guideline(xyxy) { module pin(xy) { translate([xy[0],xy[1],0]) cylinder(d=2*extrusion_width,h=2*fanduct_shell+inlet_h,$fn=6); } xyxyxy=concat(xyxy,[[0,0]]); for(i=[0:1:len(xyxyxy)-2]) hull() for(j=[i,i+1]) pin(xyxyxy[j]); } module circus(what) { if(what=="in") { difference() { rotate_extrude($fn=smooth_f) |