summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--fanduct.scad17
1 files changed, 12 insertions, 5 deletions
diff --git a/fanduct.scad b/fanduct.scad
index 75a3bb1..7a9e205 100644
--- a/fanduct.scad
+++ b/fanduct.scad
@@ -19,15 +19,16 @@ fanduct_shell=1.2; // shell thickness
19 fanduct_ir = heater_clearance+5; // inner radius 19 fanduct_ir = heater_clearance+5; // inner radius
20 20
21 jet_angle = 60-2; // angular width of the jet 21 jet_angle = 60-2; // angular width of the jet
22 22
23 inlet_w = 12.5; // inlet width 23 inlet_w = 12.5; // inlet width
24 inlet_h = 17; // inlet height 24 inlet_h = 17; // inlet height
25 inlet_l = 7; // inlet length of protrusion (or depth of intrusion:)) 25 inlet_short_l = 7;// inlet length of protrusion (or depth of intrusion:))
26 inlet_away = 15;// how far away inlet is 26 inlet_away = 15;// how far away inlet is
27 27
28inlet_long_l = inlet_short_l+inlet_h;
28hotend_clearance = heater_clearance; 29hotend_clearance = heater_clearance;
29 30
30 snapper_d = 8; snapper_overlap=0.2;// snip snap 31 snapper_d = 8; snapper_overlap=0.2;// snip snap
31 32
32smooth_f = 120; 33smooth_f = 120;
33 34
@@ -185,32 +186,38 @@ module fanduct(type=type,ductshape=ductshape) {
185 translate([-fanduct_ir-2*fanduct_shell-fanduct_w-inlet_away,0,fanduct_shell]) 186 translate([-fanduct_ir-2*fanduct_shell-fanduct_w-inlet_away,0,fanduct_shell])
186 rotate([0,-90,0]) 187 rotate([0,-90,0])
187 children(); 188 children();
188 } 189 }
189 if(what=="in") { 190 if(what=="in") {
190 placeit() translate([0,-inlet_w/2,0]) { 191 placeit() translate([0,-inlet_w/2,0]) {
191 cube(size=[inlet_h,inlet_w,inlet_l+fanduct_shell]); 192 difference() {
193 cube(size=[inlet_h,inlet_w,inlet_long_l+fanduct_shell]);
194 translate([inlet_h+fanduct_shell,0,inlet_long_l+fanduct_shell])
195 rotate([-90,0,0])
196 translate([0,0,-1])
197 cylinder(r=inlet_h,h=inlet_w+2*fanduct_shell+2,$fn=inlet_h*4);
198 }
192 // supports 199 // supports
193 for(i=[-1,0,1]) 200 for(i=[-1,0,1])
194 translate([-fanduct_shell, 201 translate([-fanduct_shell,
195 (i+1)*(inlet_w-extrusion_width)/2, 202 (i+1)*(inlet_w-extrusion_width)/2,
196 -inlet_away-fanduct_w/2]) 203 -inlet_away-fanduct_w/2])
197 cube(size=[fanduct_shell, 204 cube(size=[fanduct_shell,
198 extrusion_width, 205 extrusion_width,
199 inlet_l+fanduct_shell+inlet_away+fanduct_w/2]); 206 inlet_long_l+fanduct_shell+inlet_away+fanduct_w/2]);
200 } 207 }
201 hull() { 208 hull() {
202 placeit() translate([-fanduct_shell,-inlet_w/2-fanduct_shell,0]) 209 placeit() translate([-fanduct_shell,-inlet_w/2-fanduct_shell,0])
203 cube(size=[inlet_h+2*fanduct_shell,inlet_w+2*fanduct_shell,fanduct_shell]); 210 cube(size=[inlet_h+2*fanduct_shell,inlet_w+2*fanduct_shell,fanduct_shell]);
204 translate([-fanduct_ir-fanduct_shell-fanduct_w/2,0,0]) 211 translate([-fanduct_ir-fanduct_shell-fanduct_w/2,0,0])
205 translate([0,-inlet_w/2-fanduct_shell/2,0]) 212 translate([0,-inlet_w/2-fanduct_shell/2,0])
206 cube(size=[1,inlet_w+fanduct_shell,fanduct_shell*2+fanduct_h]); 213 cube(size=[1,inlet_w+fanduct_shell,fanduct_shell*2+fanduct_h]);
207 } 214 }
208 }else if(what=="out") { 215 }else if(what=="out") {
209 placeit() translate([fanduct_shell,-inlet_w/2+fanduct_shell,0]) 216 placeit() translate([fanduct_shell,-inlet_w/2+fanduct_shell,0])
210 cube(size=[inlet_h-2*fanduct_shell,inlet_w-2*fanduct_shell,inlet_l+fanduct_shell+1]); 217 cube(size=[inlet_h-2*fanduct_shell,inlet_w-2*fanduct_shell,inlet_long_l+fanduct_shell+1]);
211 hull() { 218 hull() {
212 placeit() translate([fanduct_shell,-inlet_w/2+fanduct_shell,0]) 219 placeit() translate([fanduct_shell,-inlet_w/2+fanduct_shell,0])
213 cube(size=[inlet_h-2*fanduct_shell,inlet_w-2*fanduct_shell,fanduct_shell]); 220 cube(size=[inlet_h-2*fanduct_shell,inlet_w-2*fanduct_shell,fanduct_shell]);
214 translate([-fanduct_ir-fanduct_shell-fanduct_w/2,0,fanduct_shell]) 221 translate([-fanduct_ir-fanduct_shell-fanduct_w/2,0,fanduct_shell])
215 translate([0,-inlet_w/2+fanduct_shell,0]) 222 translate([0,-inlet_w/2+fanduct_shell,0])
216 cube(size=[1,inlet_w-2*fanduct_shell,fanduct_h]); 223 cube(size=[1,inlet_w-2*fanduct_shell,fanduct_h]);
@@ -251,13 +258,13 @@ module fanduct(type=type,ductshape=ductshape) {
251 union() { 258 union() {
252 duct("in"); output("in"); intake("in"); 259 duct("in"); output("in"); intake("in");
253 } 260 }
254 } 261 }
255} 262}
256 263
257view="vcut"; // hcut|vcut|* 264view="*"; // hcut|vcut|*
258 265
259hinfinity=4*(fanduct_ir+fanduct_shell*2+fanduct_w+inlet_away); 266hinfinity=4*(fanduct_ir+fanduct_shell*2+fanduct_w+inlet_away);
260vinfinity=2*(fanduct_shell*2+fanduct_h+inlet_h); 267vinfinity=2*(fanduct_shell*2+fanduct_h+inlet_h);
261if(view=="hcut") { 268if(view=="hcut") {
262 difference() { 269 difference() {
263 fanduct(); 270 fanduct();