summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--fanduct.scad2
1 files changed, 0 insertions, 2 deletions
diff --git a/fanduct.scad b/fanduct.scad
index a60609e..235c079 100644
--- a/fanduct.scad
+++ b/fanduct.scad
@@ -108,66 +108,64 @@ module fanduct(type=type) {
108 a0=30; as=15; a1=180; 108 a0=30; as=15; a1=180;
109 for(a=[a0+as:as:a1]) { 109 for(a=[a0+as:as:a1]) {
110 f = as/(a1-a+as); 110 f = as/(a1-a+as);
111 rotate([0,0,a]) guideline([[-inr-fanduct_w*f,0]]); 111 rotate([0,0,a]) guideline([[-inr-fanduct_w*f,0]]);
112 } 112 }
113 guideline([ 113 guideline([
114 [-our+fanduct_w*cos(30)*3/4,fanduct_w*sin(30)*3/4], 114 [-our+fanduct_w*cos(30)*3/4,fanduct_w*sin(30)*3/4],
115 [-inr*cos(10),inr*sin(10)] 115 [-inr*cos(10),inr*sin(10)]
116 ]); 116 ]);
117 } 117 }
118 }/*union*/ 118 }/*union*/
119 }/*airguides*/ 119 }/*airguides*/
120 } 120 }
121 121
122 module jets(what) { 122 module jets(what) {
123 od = fanduct_h/2+fanduct_shell; 123 od = fanduct_h/2+fanduct_shell;
124 difference() { 124 difference() {
125 for(a=[0:120:359]) rotate([0,0,a]) { 125 for(a=[0:120:359]) rotate([0,0,a]) {
126 if(what=="in") { 126 if(what=="in") {
127 hull() { 127 hull() {
128 translate([fanduct_ir+od/2,0,od/2]) 128 translate([fanduct_ir+od/2,0,od/2])
129 rotate([90,0,0]) 129 rotate([90,0,0])
130 cylinder(d=od,h=2*(fanduct_ir+fanduct_shell+fanduct_w/2)*sin(jet_angle/2)-3,center=true,$fn=36); 130 cylinder(d=od,h=2*(fanduct_ir+fanduct_shell+fanduct_w/2)*sin(jet_angle/2)-3,center=true,$fn=36);
131 translate([0,0,-fanduct_elevation]) sphere(r=.5); 131 translate([0,0,-fanduct_elevation]) sphere(r=.5);
132 } 132 }
133 }else if(what=="out") { 133 }else if(what=="out") {
134 hull() { 134 hull() {
135 translate([fanduct_ir+od/2,0,od/2]) 135 translate([fanduct_ir+od/2,0,od/2])
136 rotate([90,0,0]) 136 rotate([90,0,0])
137 cylinder(d=od-2*fanduct_shell,h=2*(fanduct_ir+fanduct_shell+fanduct_w/2)*sin(jet_angle/2)-3-2*fanduct_shell,center=true); 137 cylinder(d=od-2*fanduct_shell,h=2*(fanduct_ir+fanduct_shell+fanduct_w/2)*sin(jet_angle/2)-3-2*fanduct_shell,center=true);
138 translate([0,0,-fanduct_elevation]) sphere(r=.2); 138 translate([0,0,-fanduct_elevation]) sphere(r=.2);
139 } 139 }
140
141 type="3jets";
142 } 140 }
143 } 141 }
144 if(what=="in") { 142 if(what=="in") {
145 translate([0,0,-fanduct_elevation-2+epsilon]) 143 translate([0,0,-fanduct_elevation-2+epsilon])
146 cylinder(r=fanduct_ir+fanduct_shell*2+fanduct_w+1,h=fanduct_elevation+2); 144 cylinder(r=fanduct_ir+fanduct_shell*2+fanduct_w+1,h=fanduct_elevation+2);
147 translate([0,0,-hotend_clearance]) 145 translate([0,0,-hotend_clearance])
148 rotate([0,0,30]) 146 rotate([0,0,30])
149 cylinder(r1=hotend_clearance*2,r2=0,h=hotend_clearance*2,$fn=6); 147 cylinder(r1=hotend_clearance*2,r2=0,h=hotend_clearance*2,$fn=6);
150 } 148 }
151 } 149 }
152 } 150 }
153 151
154 if(type=="circular") circus(what); 152 if(type=="circular") circus(what);
155 else if(type=="3jets") jets(what); 153 else if(type=="3jets") jets(what);
156 } 154 }
157 155
158 // ***air intake 156 // ***air intake
159 module intake(what) { 157 module intake(what) {
160 module placeit() { 158 module placeit() {
161 translate([-fanduct_ir-2*fanduct_shell-fanduct_w-inlet_away,0,fanduct_shell]) 159 translate([-fanduct_ir-2*fanduct_shell-fanduct_w-inlet_away,0,fanduct_shell])
162 rotate([0,-90,0]) 160 rotate([0,-90,0])
163 children(); 161 children();
164 } 162 }
165 if(what=="in") { 163 if(what=="in") {
166 placeit() translate([0,-inlet_w/2,0]) { 164 placeit() translate([0,-inlet_w/2,0]) {
167 cube(size=[inlet_h,inlet_w,inlet_l+fanduct_shell]); 165 cube(size=[inlet_h,inlet_w,inlet_l+fanduct_shell]);
168 // supports 166 // supports
169 for(i=[-1,0,1]) 167 for(i=[-1,0,1])
170 translate([-fanduct_shell, 168 translate([-fanduct_shell,
171 (i+1)*(inlet_w-extrusion_width)/2, 169 (i+1)*(inlet_w-extrusion_width)/2,
172 -inlet_away-fanduct_w/2]) 170 -inlet_away-fanduct_w/2])
173 cube(size=[fanduct_shell, 171 cube(size=[fanduct_shell,