← ClaudeAtlas

3d-print-modelinglisted

Author and iterate on 3D-printable parts as parametric Python (trimesh + manifold3d + shapely), then view and screenshot them headlessly to verify. Use when the user wants to design, modify, or print a mechanical part, gear/worm drive, enclosure, bracket, or any FDM/resin model, anything involving STL/3MF/GLB, build123d-style geometry, watertight CSG, or "make this part / make it bigger / make it printable". Covers the view-screenshot-iterate loop and FDM design rules. For Bambu .3mf slicer export see the bambu-3mf-export skill; for importing STEP/IGES/foreign CAD see foreign-cad-import.
m-esm/3d-print-modeling · ★ 2 · AI & Automation · score 75
Install: claude install-skill m-esm/3d-print-modeling
# 3D-print modeling (Python-parametric, view-driven) This is the workflow distilled from a series of FDM projects (worm-gear door drive, window blind coupler, vortex shower head, tripod, turntable mount). The throughline: **geometry is generated parametrically in Python, viewed in a browser, screenshotted headlessly, and checked by eye on every change.** No GUI CAD (OpenSCAD/FreeCAD/Fusion) is needed, the geometry engine is pip-installable Python: `build123d`/`CadQuery` (BREP) for new parts, `trimesh`+`manifold3d` for meshes. See "Pick the engine first" below. ## The non-negotiable loop 1. **`build.py` is the single source of truth.** Put a `PARAMETERS` block at the top with every tunable + a one-line comment on *why* each value is what it is. Edit params, rerun, never hand-edit the mesh output. 2. **After every geometry change: rebuild, then LOOK at the render from multiple angles.** This is the non-negotiable verification step, not optional polish. Numeric and watertight checks miss the bugs that actually bite, wrong orientation, parts floating, collisions, holes not piercing, features distorted, a stretched-wrong axis. The drill: - `python3 serve.py` (once; port auto-derived per project, prints a LAN URL for the user's phone), then `python3 shoot.py <model>.glb chk` after each rebuild. - That writes **iso / front / side / top / BOTTOM + two section cuts** into **`.claude/renders/chk_*.png`** (the script always renders there, never the proj