discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Parametric fan duct

O
oystein.krog
Fri, Oct 27, 2017 8:59 AM

Hi everyone,

I just want to show my parametric fan duct design, which I have been working
on for a little while. It is made for my 3d printer design, but it is highly
parametric so could easily be adapted for use elsewhere.
My goal was to achieve a data-driven design, where a few data points define
the air flow path.
I've used splines in combination with sweep/skin to interpolate both the
flow path and the shape of the fan duct tubes.
Thanks to Parkinbot for his great nSpline library!
I've also used a few other interesting functions, such as a "headered" array
approach w/helper functions that allow you to index into the array without
hardcoding columns.

https://github.com/oysteinkrog/kmax1/blob/master/fanduct.scad
https://github.com/oysteinkrog/kmax1/blob/master/fanduct.scad

The data that generates the duct blades for these images is as simple as
this:

// data for duct geometry
// ss parameter is initial size of duct (e.g. for fan throat/output)
// returned data has a header row
// warning, don't set r to 0 or rendering breaks!
function gen_data(ss) = [
[      "Tx","Ty","Tz",    "Sx",  "Sy", "Rx", "Ry",  "r"],
[    ss.x/4, -27,  55,  ss.x/2,  ss.y,  13,    0,  .01],
[ 2.5+ss.x/4, -25,  49, 5+ss.x/2, 1+ss.y,  13,    0,  .1 ],
[        15, -18,  40,      11,    20,  13,    0,  .4 ],
[        17,  -8,  20,      11,    17,  11,  -10,  .5 ],
[        14,  -3,  10,        8,    15,    8,  -25,  .7 ],
[        11,  0,  4,        6,    13,    0,  -45,  .8 ],
];

http://forum.openscad.org/file/t1826/fanduct1.png
http://forum.openscad.org/file/t1826/fanduct2.png

--
Sent from: http://forum.openscad.org/

Hi everyone, I just want to show my parametric fan duct design, which I have been working on for a little while. It is made for my 3d printer design, but it is highly parametric so could easily be adapted for use elsewhere. My goal was to achieve a data-driven design, where a few data points define the air flow path. I've used splines in combination with sweep/skin to interpolate both the flow path and the shape of the fan duct tubes. Thanks to Parkinbot for his great nSpline library! I've also used a few other interesting functions, such as a "headered" array approach w/helper functions that allow you to index into the array without hardcoding columns. https://github.com/oysteinkrog/kmax1/blob/master/fanduct.scad <https://github.com/oysteinkrog/kmax1/blob/master/fanduct.scad> The data that generates the duct blades for these images is as simple as this: // data for duct geometry // ss parameter is initial size of duct (e.g. for fan throat/output) // returned data has a header row // warning, don't set r to 0 or rendering breaks! function gen_data(ss) = [ [ "Tx","Ty","Tz", "Sx", "Sy", "Rx", "Ry", "r"], [ ss.x/4, -27, 55, ss.x/2, ss.y, 13, 0, .01], [ 2.5+ss.x/4, -25, 49, 5+ss.x/2, 1+ss.y, 13, 0, .1 ], [ 15, -18, 40, 11, 20, 13, 0, .4 ], [ 17, -8, 20, 11, 17, 11, -10, .5 ], [ 14, -3, 10, 8, 15, 8, -25, .7 ], [ 11, 0, 4, 6, 13, 0, -45, .8 ], ]; <http://forum.openscad.org/file/t1826/fanduct1.png> <http://forum.openscad.org/file/t1826/fanduct2.png> -- Sent from: http://forum.openscad.org/