-rw-r--r-- | fanduct.scad | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fanduct.scad b/fanduct.scad index 2bc5623..efc6a19 100644 --- a/fanduct.scad +++ b/fanduct.scad | |||
@@ -1,30 +1,30 @@ | |||
1 | use <snapper.scad>; | 1 | use <snapper.scad>; |
2 | extrusion_width=.5; layer_height=.2; // print parameters | 2 | extrusion_width=.5; layer_height=.2; // print parameters |
3 | 3 | ||
4 | epsilon=.005; // for finer cuts | 4 | epsilon=.005; // for finer cuts |
5 | 5 | ||
6 | type="simple"; // circular|3jets | 6 | type="jets"; // jets|circular|simple |
7 | ductshape="square"; // square|round | 7 | ductshape="square"; // square|round |
8 | dual=true; // dual or single | 8 | dual=true; // dual or single |
9 | 9 | ||
10 | nozzles_apart = 18; // distance between nozzles for dual hotend | 10 | nozzles_apart = 18; // distance between nozzles for dual hotend |
11 | space_behind_nozzle = 10;// space behind the nozzle where we're allowed to go | 11 | space_behind_nozzle = 10;// space behind the nozzle where we're allowed to go |
12 | // without the fear of hitting carriage | 12 | // without the fear of hitting carriage |
13 | 13 | ||
14 | inlet_w = 12.5; // inlet width | 14 | inlet_w = 12.5; // inlet width |
15 | inlet_h = 17; // inlet height | 15 | inlet_h = 17; // inlet height |
16 | inlet_short_l = 7;// inlet length of protrusion (or depth of intrusion:)) | 16 | inlet_short_l = 7;// inlet length of protrusion (or depth of intrusion:)) |
17 | inlet_away = 15;// how far away inlet is | 17 | inlet_away = 15;// how far away inlet is |
18 | 18 | ||
19 | inlet_long_l = inlet_short_l+inlet_h; | 19 | inlet_long_l = inlet_short_l+inlet_h; |
20 | function hypothenuse(a,b) = sqrt(pow(a,2)+pow(b,2)); | 20 | function hypothenuse(a,b) = sqrt(pow(a,2)+pow(b,2)); |
21 | 21 | ||
22 | silicone_shell = 2; | 22 | silicone_shell = 2; |
23 | heater_clearance = dual | 23 | heater_clearance = dual |
24 | ? max(20,15.5) - 4.5 + silicone_shell | 24 | ? max(20,15.5) - 4.5 + silicone_shell |
25 | : max( | 25 | : max( |
26 | hypothenuse(16/2 +silicone_shell, 20-4.5 +silicone_shell),// E3D v6 | 26 | hypothenuse(16/2 +silicone_shell, 20-4.5 +silicone_shell),// E3D v6 |
27 | hypothenuse(11.5-4.5 +silicone_shell, 15.5 +silicone_shell)// E3D volcano | 27 | hypothenuse(11.5-4.5 +silicone_shell, 15.5 +silicone_shell)// E3D volcano |
28 | ); | 28 | ); |
29 | 29 | ||
30 | fanduct_elevation = 3; // fanduct elevation above nozzle tip | 30 | fanduct_elevation = 3; // fanduct elevation above nozzle tip |
@@ -367,49 +367,49 @@ module fanduct(type=type,ductshape=ductshape,dual=dual) { | |||
367 | hull() { | 367 | hull() { |
368 | translate([0,nozzles_apart/2+fanduct_ir+fanduct_shell+fanduct_w/2,0]) | 368 | translate([0,nozzles_apart/2+fanduct_ir+fanduct_shell+fanduct_w/2,0]) |
369 | cylinder(d=fanduct_w+2*fanduct_shell,h=fanduct_h*2/3+2*fanduct_shell); | 369 | cylinder(d=fanduct_w+2*fanduct_shell,h=fanduct_h*2/3+2*fanduct_shell); |
370 | translate([0,nozzles_apart/2,-fanduct_elevation+fanduct_blowtarget]) | 370 | translate([0,nozzles_apart/2,-fanduct_elevation+fanduct_blowtarget]) |
371 | rotate([0,90,0]) cylinder(r=.5,h=fanduct_w*2,center=true); | 371 | rotate([0,90,0]) cylinder(r=.5,h=fanduct_w*2,center=true); |
372 | } | 372 | } |
373 | rr = 2*(fanduct_ir+fanduct_shell*2+fanduct_w+2); | 373 | rr = 2*(fanduct_ir+fanduct_shell*2+fanduct_w+2); |
374 | translate([-rr/2,0,0]) mirror([0,0,1]) cube(size=[rr,rr,rr]); | 374 | translate([-rr/2,0,0]) mirror([0,0,1]) cube(size=[rr,rr,rr]); |
375 | } | 375 | } |
376 | }else if(what=="out") { | 376 | }else if(what=="out") { |
377 | hull() { | 377 | hull() { |
378 | translate([0,nozzles_apart/2+fanduct_ir+fanduct_shell+fanduct_w/2,fanduct_shell]) | 378 | translate([0,nozzles_apart/2+fanduct_ir+fanduct_shell+fanduct_w/2,fanduct_shell]) |
379 | cylinder(d=fanduct_w,h=fanduct_h*2/3); | 379 | cylinder(d=fanduct_w,h=fanduct_h*2/3); |
380 | translate([0,nozzles_apart/2,-fanduct_elevation+fanduct_blowtarget]) | 380 | translate([0,nozzles_apart/2,-fanduct_elevation+fanduct_blowtarget]) |
381 | rotate([0,90,0]) cylinder(d=.5,h=fanduct_w*2,center=true); | 381 | rotate([0,90,0]) cylinder(d=.5,h=fanduct_w*2,center=true); |
382 | } | 382 | } |
383 | } | 383 | } |
384 | } | 384 | } |
385 | 385 | ||
386 | if(dual) { | 386 | if(dual) { |
387 | if(type=="simple") dual_simple(what); | 387 | if(type=="simple") dual_simple(what); |
388 | else if(type=="jets") dual_jets(what); | 388 | else if(type=="jets") dual_jets(what); |
389 | else dual(what); | 389 | else dual(what); |
390 | }else if(type=="circular") circus(what); | 390 | }else if(type=="circular") circus(what); |
391 | else if(type=="3jets") jets(what); | 391 | else if(type=="jets") jets(what); |
392 | } | 392 | } |
393 | 393 | ||
394 | // ***air intake | 394 | // ***air intake |
395 | module intake(what) { | 395 | module intake(what) { |
396 | module placeit() { | 396 | module placeit() { |
397 | translate([-fanduct_ir-2*fanduct_shell-fanduct_w-inlet_away,0,fanduct_shell]) | 397 | translate([-fanduct_ir-2*fanduct_shell-fanduct_w-inlet_away,0,fanduct_shell]) |
398 | rotate([0,-90,0]) | 398 | rotate([0,-90,0]) |
399 | children(); | 399 | children(); |
400 | } | 400 | } |
401 | if(what=="in") { | 401 | if(what=="in") { |
402 | placeit() translate([0,-inlet_w/2,0]) { | 402 | placeit() translate([0,-inlet_w/2,0]) { |
403 | difference() { | 403 | difference() { |
404 | cube(size=[inlet_h,inlet_w,inlet_long_l+fanduct_shell]); translate([inlet_h+fanduct_shell,0,inlet_long_l+fanduct_shell]) | 404 | cube(size=[inlet_h,inlet_w,inlet_long_l+fanduct_shell]); translate([inlet_h+fanduct_shell,0,inlet_long_l+fanduct_shell]) |
405 | rotate([-90,0,0]) | 405 | rotate([-90,0,0]) |
406 | translate([0,0,-1]) | 406 | translate([0,0,-1]) |
407 | cylinder(r=inlet_h,h=inlet_w+2*fanduct_shell+2,$fn=inlet_h*4); | 407 | cylinder(r=inlet_h,h=inlet_w+2*fanduct_shell+2,$fn=inlet_h*4); |
408 | } | 408 | } |
409 | // supports | 409 | // supports |
410 | for(i=[-1,0,1]) | 410 | for(i=[-1,0,1]) |
411 | translate([-fanduct_shell, | 411 | translate([-fanduct_shell, |
412 | (i+1)*(inlet_w-extrusion_width)/2, | 412 | (i+1)*(inlet_w-extrusion_width)/2, |
413 | -inlet_away-fanduct_w/2]) | 413 | -inlet_away-fanduct_w/2]) |
414 | cube(size=[fanduct_shell+1, | 414 | cube(size=[fanduct_shell+1, |
415 | extrusion_width, | 415 | extrusion_width, |