▶︎ Use it here: https://hbehrensj.github.io/loftmorph/
Loft a smooth 3D solid between two 2D cross-sections — oval, rectangle, triangle, pentagon, hexagon — and export it as STL for 3D printing or for importing into Tinkercad. Pick a shape for each end, drag the sliders, hit Export STL. No install, no backend.
The transition uses smootherstep, so the walls meet both ends without a crease, and both ends' corners are anchored onto vertices so they stay crisp at any resolution. When both ends have the same number of corners, the tool automatically finds the rotation that best lines them up (e.g. two rectangles at an odd relative angle still connect corner-to-corner instead of twisting); corners that can't be paired (different corner counts) fall back to a direct radial correspondence.
generate_morph_stl.py builds the same geometry from the terminal, for batch or
scripted output:
python3 generate_morph_stl.py --bottom hex --top tri --height 60 -o hex_tri.stlPer-end sizes: oval uses X/Y radii, rect uses X/Y half-extents,
tri/pent/hex use X as the circumradius. Rotation is in degrees. The web tool
and this script produce bit-identical geometry for the same parameters.
Rendering uses three.js (MIT license), included under vendor/.