Skip to content

Latest commit

 

History

History
33 lines (24 loc) · 1.35 KB

File metadata and controls

33 lines (24 loc) · 1.35 KB

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.

Command-line generator (optional)

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.stl

Per-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.

Credits

Rendering uses three.js (MIT license), included under vendor/.