summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--fanduct.scad4
1 files changed, 2 insertions, 2 deletions
diff --git a/fanduct.scad b/fanduct.scad
index d467c60..a60609e 100644
--- a/fanduct.scad
+++ b/fanduct.scad
@@ -153,90 +153,90 @@ module fanduct(type=type) {
153 153
154 if(type=="circular") circus(what); 154 if(type=="circular") circus(what);
155 else if(type=="3jets") jets(what); 155 else if(type=="3jets") jets(what);
156 } 156 }
157 157
158 // ***air intake 158 // ***air intake
159 module intake(what) { 159 module intake(what) {
160 module placeit() { 160 module placeit() {
161 translate([-fanduct_ir-2*fanduct_shell-fanduct_w-inlet_away,0,fanduct_shell]) 161 translate([-fanduct_ir-2*fanduct_shell-fanduct_w-inlet_away,0,fanduct_shell])
162 rotate([0,-90,0]) 162 rotate([0,-90,0])
163 children(); 163 children();
164 } 164 }
165 if(what=="in") { 165 if(what=="in") {
166 placeit() translate([0,-inlet_w/2,0]) { 166 placeit() translate([0,-inlet_w/2,0]) {
167 cube(size=[inlet_h,inlet_w,inlet_l+fanduct_shell]); 167 cube(size=[inlet_h,inlet_w,inlet_l+fanduct_shell]);
168 // supports 168 // supports
169 for(i=[-1,0,1]) 169 for(i=[-1,0,1])
170 translate([-fanduct_shell, 170 translate([-fanduct_shell,
171 (i+1)*(inlet_w-extrusion_width)/2, 171 (i+1)*(inlet_w-extrusion_width)/2,
172 -inlet_away-fanduct_w/2]) 172 -inlet_away-fanduct_w/2])
173 cube(size=[fanduct_shell, 173 cube(size=[fanduct_shell,
174 extrusion_width, 174 extrusion_width,
175 inlet_l+fanduct_shell+inlet_away+fanduct_w/2]); 175 inlet_l+fanduct_shell+inlet_away+fanduct_w/2]);
176 } 176 }
177 hull() { 177 hull() {
178 placeit() translate([-fanduct_shell,-inlet_w/2-fanduct_shell,0]) 178 placeit() translate([-fanduct_shell,-inlet_w/2-fanduct_shell,0])
179 cube(size=[inlet_h+2*fanduct_shell,inlet_w+2*fanduct_shell,fanduct_shell]); 179 cube(size=[inlet_h+2*fanduct_shell,inlet_w+2*fanduct_shell,fanduct_shell]);
180 translate([-fanduct_ir-fanduct_shell-fanduct_w/2,0,0]) 180 translate([-fanduct_ir-fanduct_shell-fanduct_w/2,0,0])
181 translate([0,-inlet_w/2-fanduct_shell/2,0]) 181 translate([0,-inlet_w/2-fanduct_shell/2,0])
182 cube(size=[1,inlet_w+fanduct_shell,fanduct_shell*2+fanduct_h]); 182 cube(size=[1,inlet_w+fanduct_shell,fanduct_shell*2+fanduct_h]);
183 } 183 }
184 }else if(what=="out") { 184 }else if(what=="out") {
185 placeit() translate([fanduct_shell,-inlet_w/2+fanduct_shell,0]) 185 placeit() translate([fanduct_shell,-inlet_w/2+fanduct_shell,0])
186 cube(size=[inlet_h-2*fanduct_shell,inlet_w-2*fanduct_shell,inlet_l+fanduct_shell+1]); 186 cube(size=[inlet_h-2*fanduct_shell,inlet_w-2*fanduct_shell,inlet_l+fanduct_shell+1]);
187 hull() { 187 hull() {
188 placeit() translate([fanduct_shell,-inlet_w/2+fanduct_shell,0]) 188 placeit() translate([fanduct_shell,-inlet_w/2+fanduct_shell,0])
189 cube(size=[inlet_h-2*fanduct_shell,inlet_w-2*fanduct_shell,fanduct_shell]); 189 cube(size=[inlet_h-2*fanduct_shell,inlet_w-2*fanduct_shell,fanduct_shell]);
190 translate([-fanduct_ir-fanduct_shell-fanduct_w/2,0,fanduct_shell]) 190 translate([-fanduct_ir-fanduct_shell-fanduct_w/2,0,fanduct_shell])
191 translate([0,-inlet_w/2,0]) 191 translate([0,-inlet_w/2,0])
192 cube(size=[1,inlet_w,fanduct_h]); 192 cube(size=[1,inlet_w,fanduct_h]);
193 } 193 }
194 } 194 }
195 } 195 }
196 196
197 // ***DUCT TAILS!!! WOO-OO! (every day they're out there making duct tails…) 197 // ***DUCT TAILS!!! WOO-OO! (every day they're out there making duct tails…)
198 module tails(what) { 198 module tails(what) {
199 if(what=="in") { 199 if(what=="in") {
200 for(mx=[0,1]) mirror([mx,0,0]) 200 for(mx=[0,1]) mirror([mx,0,0])
201 translate([fanduct_ir+fanduct_shell+fanduct_w/2,0,fanduct_shell+fanduct_h]) 201 translate([fanduct_ir+fanduct_shell+fanduct_w/2,0,fanduct_shell+fanduct_h/2])
202 rotate([90,0,90]) 202 rotate([90,0,90])
203 translate([0,0,-snapper_d/2]) 203 translate([0,0,-snapper_d/2])
204 snapper(d=snapper_d,o=snapper_overlap,side=0,l=fanduct_h+fanduct_shell); 204 snapper(d=snapper_d,o=snapper_overlap,side=0,l=fanduct_h*3/2+fanduct_shell);
205 } 205 }
206 } 206 }
207 207
208 module parts(what) { 208 module parts(what) {
209 union() { 209 union() {
210 duct(what); 210 duct(what);
211 marks(what); 211 marks(what);
212 output(what); 212 output(what);
213 intake(what); 213 intake(what);
214 tails(what); 214 tails(what);
215 } 215 }
216 } 216 }
217 217
218 difference() { 218 difference() {
219 parts("in"); 219 parts("in");
220 parts("out"); 220 parts("out");
221 } 221 }
222 222
223} 223}
224 224
225view="full"; // hcut|vcut|* 225view="full"; // hcut|vcut|*
226 226
227hinfinity=4*(fanduct_ir+fanduct_shell*2+fanduct_w+inlet_away); 227hinfinity=4*(fanduct_ir+fanduct_shell*2+fanduct_w+inlet_away);
228vinfinity=2*(fanduct_shell*2+fanduct_h+inlet_h); 228vinfinity=2*(fanduct_shell*2+fanduct_h+inlet_h);
229if(view=="hcut") { 229if(view=="hcut") {
230 difference() { 230 difference() {
231 fanduct(); 231 fanduct();
232 translate([-hinfinity/2,-hinfinity/2,fanduct_shell+fanduct_h/2]) 232 translate([-hinfinity/2,-hinfinity/2,fanduct_shell+fanduct_h/2])
233 cube(size=[hinfinity,hinfinity,vinfinity]); 233 cube(size=[hinfinity,hinfinity,vinfinity]);
234 } 234 }
235}else if(view=="vcut") { 235}else if(view=="vcut") {
236 difference() { 236 difference() {
237 fanduct(); 237 fanduct();
238 translate([-hinfinity/2,0,-vinfinity/2]) 238 translate([-hinfinity/2,0,-vinfinity/2])
239 cube(size=[hinfinity,hinfinity,vinfinity]); 239 cube(size=[hinfinity,hinfinity,vinfinity]);
240 } 240 }
241}else fanduct(); 241}else fanduct();
242/* vim:set sw=1 ai: */ 242/* vim:set sw=1 ai: */