Split, section and silhouette
Three ways to take a mesh apart: into separate solids, into flat cross sections, or into a flat silhouette. How they work: Mesh to a STEP solid and Sections and silhouettes.
Split a multi-part printer project into separate parts
Section titled “Split a multi-part printer project into separate parts”“I downloaded a keychain that prints in four colors. I only want to change the name on it and leave the rest alone.”
A multi-color keychain from MakerWorld is a Bambu Studio 3MF with four parts. You want to edit just the text part.
| Input | keychain.3mf (a Bambu Studio multi-part project) |
| Output | One STEP per part, named after the parts, in parts/ |
| Works with | Bambu Studio, MakerWorld, PrusaSlicer projects |
| Available in | Web app · App · Shortcuts · CLI |
shapemason split keychain.3mf -d parts/What it does. Reads build items, transforms, units and colors, skips support and modifier objects, and writes each part as its own solid, with its name and color.
Why. Slicers can’t export STEP, and converting the project as one file merges parts you want to edit separately.
Tips
- Part names are made file-safe. If two parts share a name, check the output folder.
- If any output already exists, the whole batch is refused before anything
is written. Use an empty folder, or replace on purpose (
--overwrite).
Separate a multi-body mesh into individual solids
Section titled “Separate a multi-body mesh into individual solids”“This file has every piece of a little model kit in one go. I want to work on each piece on its own.”
| Input | kit.stl (or an OBJ with several objects) |
| Output | One STEP per body |
| Works with | Model kits and miniatures, multi-body exports from Blender |
| Available in | Web app · App · Shortcuts · CLI |
shapemason split kit.stl -d kit-parts/What it does. Finds each separate closed shell and writes it as its own solid. Internal cavities stay with the shell around them.
Why. One piece at a time is faster in CAD and keeps files small.
Tips
- STL has no part names, so the names are generated; rename afterwards if you need to.
- Pieces that touch or overlap in the mesh can come out as one body.
Stacked-layer model for laser cutting
Section titled “Stacked-layer model for laser cutting”“I want to make a hill out of stacked plywood layers, like a 3D map. I have the hill as a 3D file, but I need the flat shape of each layer to cut.”
A topographic model from stacked 3 mm plywood, starting from a terrain mesh.
| Input | hill.stl |
| Output | hill.dxf, one layer per cut (Z_3, Z_6, …) |
| Works with | LightBurn and other laser software, CNC routers |
| Available in | Web app · App · Shortcuts · CLI |
shapemason section hill.stl --at 3,6,9,12,15,18,21,24shapemason section hill.stl --at "$(seq -s, 3 3 60)" # every 3 mm up to 60What it does. Cuts the mesh at each height and writes each section on its own DXF layer, simplifying facet noise so straight edges stay straight (a sectioned box is four points).
Why. Each layer is one sheet to cut; stacked, they rebuild the shape.
Tips
- Space the cuts by your material thickness so the stack reaches the right height.
- DXF version › R12 (
--dxf-version r12) for laser software that needs it. - A height outside the mesh is a warning and gives nothing for that cut.
Check a cross section for fit
Section titled “Check a cross section for fit”“I’m printing a case for a little circuit board. Before I waste plastic, I want to see the exact shape inside the case at the height where the board sits.”
| Input | housing.stl |
| Output | housing.dxf, one section |
| Works with | CAD for measuring, PCB outlines to compare |
| Available in | Web app · App · Shortcuts · CLI |
shapemason section housing.stl --at 12.5What it does. Writes the exact outline of the part at that height.
Why. Measuring a clean 2D section is faster and more accurate than measuring a mesh.
Tips
- Overlay the section on the board’s outline in CAD to check clearances.
- Cuts across X or Y (
--axis x) work the same way, for side profiles.
Foam insert or shadow board from a tool’s silhouette
Section titled “Foam insert or shadow board from a tool’s silhouette”“I want foam in my toolbox drawers with a cut-out shaped like each tool, so I can see straight away what’s missing.”
Foam drawer inserts with a pocket for each tool, cut on a laser or CNC from 3D models of the tools.
| Input | drill.stl |
| Output | drill.dxf (silhouette), then drill-pocket.dxf (with clearance) |
| Works with | LightBurn, CNC routers, Kaizen-style foam |
| Available in | Web app · App · Shortcuts · CLI |
shapemason project drill.stlshapemason sketch drill.dxf --offset 2 -o drill-pocket.dxfWhat it does. Projects the mesh along the axis to get its outline from above, then grows it for clearance.
Why. A silhouette with clearance is exactly the pocket a foam insert or shadow board needs.
Tips
- Orient the model so the axis looks straight down on how the tool will lie, or pick the Axis that does.
- Offset flattens curves; fine for foam. Lower Flattening tolerance if you need smoother edges.
Footprint template for drilling or mounting
Section titled “Footprint template for drilling or mounting”“I need to screw this bracket to the wall and want a paper outline of the bottom to hold up and mark where to drill.”
| Input | bracket.stl |
| Output | bracket.dxf, the footprint |
| Works with | Printers, laser-cut jigs, CAD drawings |
| Available in | Web app · App · Shortcuts · CLI |
shapemason project bracket.stlWhat it does. Writes the outline of the part as seen along the axis.
Why. An exact footprint for marking, drilling jigs or documentation.
Tips
- A silhouette is the outermost outline only. For holes through the base, take a cross section just above the base instead.
- Print the DXF at 100%, or laser-cut it into a reusable jig.