A browser app for designing geometric forms for physical fabrication and art. Choose a base shape, scale and modify it with real millimetre dimensions, rest it on a face, and export an STL for printing or an SVG line drawing.
Live app: somebox.github.io/shapemaker
Open the live app. No install is required. On first visit, a short tip walks through the loop:
- Pick a start — choose a built-in shape from the Start from row.
- Adjust — tune Size, Form (hollow/solid, wall, border, fillet), and optional distort (jitter, subdivide, smooth).
- Click a face — set which side rests on the print bed.
- Export — download STL for the slicer, or SVG for a clean outline.
Share a design with the Share control (copies a link that restores the
same settings). Export / Load under JSON Model File save and reopen
a .shapemaker.json project on your machine.
| Hidden-line SVG | Oriented STL | In the slicer |
|---|---|---|
![]() |
![]() |
- Export STL — binary mesh in millimetres, already oriented to the resting face. Filenames include size (and seed / point count when those matter).
- Export SVG — camera-matched hidden-line drawing (silhouette and crease edges), editable in vector tools.
Optional Print risk and Section tools sit on the viewport: overhang / flat-bridge overlays, and a height clip to inspect cavities.
| Area | Controls |
|---|---|
| Start | Platonic solids, icosidodecahedron, cuboctahedron, rhombic 12/30, globe, sphere, random hull |
| Size | Overall diameter; Edge length on regular shapes |
| Form | Hollow or solid, open or closed faces, wall, border, fillet |
| Distort | Jitter (amount, direction, seed), subdivide, smooth |
| Make | Resting face, mesh quality (Draft / Normal / Fine), material / mass estimate |
Quality densifies real triangles in both the preview and the STL — the view stays flat-shaded so what you see is what you print.
The app is static files (no build step). Serve over HTTP — ES modules do not
load from file://:
# from the directory that contains shapemaker/
cd ..
python3 -m http.server 8000
# open http://localhost:8000/shapemaker/Serving the repo root at / also works.
MIT — see LICENSE.
| Doc | Audience |
|---|---|
DEV.md |
Developing, testing, CI, and project layout |
docs/SPEC.md |
Product behavior and architecture |
docs/PROJECT_FORMAT.md |
.shapemaker.json files |
docs/ROADMAP.md |
Future ideas and backlog |
docs/CHANGELOG.md |
Released versions |
Contributions welcome when they improve physical design, fabrication handoff,
or the experience of creating interesting forms. See DEV.md.


