author | Michael Krelin <hacker@klever.net> | 2016-06-13 16:01:15 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2016-06-13 16:01:15 (UTC) |
commit | 1afb1ce3d5afc54358f94b19e45d73f382a8246a (patch) (unidiff) | |
tree | 8d6d69884b968cc5fa131b5b6e5cf09da46a3922 | |
parent | db98325df397142e712aceca25a822c84a742b45 (diff) | |
download | fanductory-1afb1ce3d5afc54358f94b19e45d73f382a8246a.zip fanductory-1afb1ce3d5afc54358f94b19e45d73f382a8246a.tar.gz fanductory-1afb1ce3d5afc54358f94b19e45d73f382a8246a.tar.bz2 |
dualism: no duct tails
for now
-rw-r--r-- | fanduct.scad | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/fanduct.scad b/fanduct.scad index 1090e95..fc57c57 100644 --- a/fanduct.scad +++ b/fanduct.scad | |||
@@ -269,54 +269,58 @@ module fanduct(type=type,ductshape=ductshape,dual=dual) { | |||
269 | inlet_long_l+fanduct_shell+inlet_away+fanduct_w/2]); | 269 | inlet_long_l+fanduct_shell+inlet_away+fanduct_w/2]); |
270 | } | 270 | } |
271 | hull() { | 271 | hull() { |
272 | placeit() translate([-fanduct_shell,-inlet_w/2-fanduct_shell,0]) | 272 | placeit() translate([-fanduct_shell,-inlet_w/2-fanduct_shell,0]) |
273 | cube(size=[inlet_h+2*fanduct_shell,inlet_w+2*fanduct_shell,fanduct_shell]); | 273 | cube(size=[inlet_h+2*fanduct_shell,inlet_w+2*fanduct_shell,fanduct_shell]); |
274 | translate([-fanduct_ir-fanduct_shell-fanduct_w/2,0,0]) | 274 | translate([-fanduct_ir-fanduct_shell-fanduct_w/2,0,0]) |
275 | translate([0,-inlet_w/2-fanduct_shell/2,0]) | 275 | translate([0,-inlet_w/2-fanduct_shell/2,0]) |
276 | cube(size=[1,inlet_w+fanduct_shell,fanduct_shell*2+fanduct_h]); | 276 | cube(size=[1,inlet_w+fanduct_shell,fanduct_shell*2+fanduct_h]); |
277 | } | 277 | } |
278 | }else if(what=="out") { | 278 | }else if(what=="out") { |
279 | placeit() translate([fanduct_shell,-inlet_w/2+fanduct_shell,0]) | 279 | placeit() translate([fanduct_shell,-inlet_w/2+fanduct_shell,0]) |
280 | cube(size=[inlet_h-2*fanduct_shell,inlet_w-2*fanduct_shell,inlet_long_l+fanduct_shell+1]); | 280 | cube(size=[inlet_h-2*fanduct_shell,inlet_w-2*fanduct_shell,inlet_long_l+fanduct_shell+1]); |
281 | hull() { | 281 | hull() { |
282 | placeit() translate([fanduct_shell,-inlet_w/2+fanduct_shell,0]) | 282 | placeit() translate([fanduct_shell,-inlet_w/2+fanduct_shell,0]) |
283 | cube(size=[inlet_h-2*fanduct_shell,inlet_w-2*fanduct_shell,fanduct_shell]); | 283 | cube(size=[inlet_h-2*fanduct_shell,inlet_w-2*fanduct_shell,fanduct_shell]); |
284 | translate([-fanduct_ir-fanduct_shell-fanduct_w/2,0,fanduct_shell]) | 284 | translate([-fanduct_ir-fanduct_shell-fanduct_w/2,0,fanduct_shell]) |
285 | translate([0,-inlet_w/2+fanduct_shell,0]) | 285 | translate([0,-inlet_w/2+fanduct_shell,0]) |
286 | cube(size=[1,inlet_w-2*fanduct_shell,fanduct_h]); | 286 | cube(size=[1,inlet_w-2*fanduct_shell,fanduct_h]); |
287 | } | 287 | } |
288 | } | 288 | } |
289 | } | 289 | } |
290 | 290 | ||
291 | // ***DUCT TAILS!!! WOO-OO! (every day they're out there making duct tails…) | 291 | // ***DUCT TAILS!!! WOO-OO! (every day they're out there making duct tails…) |
292 | module tails(what) { | 292 | module tails(what) { |
293 | if(what=="in") { | 293 | if(dual) { |
294 | for(mx=[0,1]) mirror([mx,0,0]) | 294 | // XXX: not sure if it will ever be |
295 | translate([fanduct_ir+fanduct_shell+fanduct_w/2,0,fanduct_shell+fanduct_h/2]) | 295 | }else{ |
296 | rotate([90,0,90]) | 296 | if(what=="in") { |
297 | translate([0,0,-snapper_d/2]) | 297 | for(mx=[0,1]) mirror([mx,0,0]) |
298 | snapper(d=snapper_d,o=snapper_overlap,side=0,l=fanduct_h*3/2+fanduct_shell); | 298 | translate([fanduct_ir+fanduct_shell+fanduct_w/2,0,fanduct_shell+fanduct_h/2]) |
299 | rotate([90,0,90]) | ||
300 | translate([0,0,-snapper_d/2]) | ||
301 | snapper(d=snapper_d,o=snapper_overlap,side=0,l=fanduct_h*3/2+fanduct_shell); | ||
302 | } | ||
299 | } | 303 | } |
300 | } | 304 | } |
301 | 305 | ||
302 | module parts(what) { | 306 | module parts(what) { |
303 | union() { | 307 | union() { |
304 | duct(what); | 308 | duct(what); |
305 | marks(what); | 309 | marks(what); |
306 | output(what); | 310 | output(what); |
307 | intake(what); | 311 | intake(what); |
308 | tails(what); | 312 | tails(what); |
309 | } | 313 | } |
310 | } | 314 | } |
311 | 315 | ||
312 | difference() { | 316 | difference() { |
313 | parts("in"); | 317 | parts("in"); |
314 | parts("out"); | 318 | parts("out"); |
315 | } | 319 | } |
316 | intersection() { | 320 | intersection() { |
317 | union() { | 321 | union() { |
318 | output("airguides"); | 322 | output("airguides"); |
319 | sphere(d=epsilon); | 323 | sphere(d=epsilon); |
320 | } | 324 | } |
321 | union() { | 325 | union() { |
322 | duct("in"); output("in"); intake("in"); | 326 | duct("in"); output("in"); intake("in"); |