Several people have posted fin can generators. Most of them cannot generate round fillets. I thought, "How hard can that be?" Well, two weeks later I finally have something to share!
The attached script lets you design fin cans. A "fin" is composed of up to three trapezoidal, simple fins. The usual parameters define the gross characteristics of the fin sections: root length, tip length, semi-span, sweep distance, etc. A cool feature of this tool is that you define the thickness of the root and tip with a textual "profile". Basically a profile string is a sequence of (thickness, offset) pairs. A simple diamond shaped fin with razor sharp edges could have a profile like, "0@0; 0.25@50%; 0@100%" . It specifies that the leading edge (at offset 0) has a thickness of 0. The mid point of the fin (at offset 50% of root length) is 1/4" thick. The trailing edge (at offset 100% of root length) has thickness 0. The default for leading and trailing edges is 0 thickness. So the same effect results from the shorter profile "100%@50%". Profile descriptions can use absolute measurements, percentage-based measurements, radius specs for rounded corners, and alignment keys to tie the root and tip profiles together. The same profile strings are used to define the thickness of the fin can. A fuller description of profile strings is in the header comment of the script.
It's pretty easy to run into OpenSCAD limitations with this tool. Razor sharp edges, tiny fillets, and overly smooth curves can cause troubles. Tinkering with the input parameters usually solves the problem.
Here are a few snapshots of the possibilities:
Enjoy!
The attached script lets you design fin cans. A "fin" is composed of up to three trapezoidal, simple fins. The usual parameters define the gross characteristics of the fin sections: root length, tip length, semi-span, sweep distance, etc. A cool feature of this tool is that you define the thickness of the root and tip with a textual "profile". Basically a profile string is a sequence of (thickness, offset) pairs. A simple diamond shaped fin with razor sharp edges could have a profile like, "0@0; 0.25@50%; 0@100%" . It specifies that the leading edge (at offset 0) has a thickness of 0. The mid point of the fin (at offset 50% of root length) is 1/4" thick. The trailing edge (at offset 100% of root length) has thickness 0. The default for leading and trailing edges is 0 thickness. So the same effect results from the shorter profile "100%@50%". Profile descriptions can use absolute measurements, percentage-based measurements, radius specs for rounded corners, and alignment keys to tie the root and tip profiles together. The same profile strings are used to define the thickness of the fin can. A fuller description of profile strings is in the header comment of the script.
It's pretty easy to run into OpenSCAD limitations with this tool. Razor sharp edges, tiny fillets, and overly smooth curves can cause troubles. Tinkering with the input parameters usually solves the problem.
Here are a few snapshots of the possibilities:
Enjoy!