3D Print Model Splitting
This skill turns a single complex sculpted STL into multiple Bambu-ready, physically assemblable parts.
Core rule
Do not confuse printable with assemblable.
- MeshFix/slicers can make parts watertight and printable.
- They do not guarantee that interfaces have clearance.
- The validated workflow succeeds because it treats part interfaces as the core problem.
Scope boundaries
Good fit:
- figurines, statues, toys, decorative sculpts, and similar triangle-mesh STL files;
- human-guided semantic part boundaries;
- glue-fit or lightly finished assemblies;
- Bambu-ready 3MF/STL handoffs.
Poor fit unless explicitly requested:
- fully automatic semantic recognition;
- precision mechanical snap-fits;
- automatic locator pins/magnets without human-confirmed anchors;
- CAD-grade tolerance guarantees.
Dependencies
Common tools/libraries:
- Blender for STL import, face/material annotation, rendering, and optional interference checks;
- Python packages as needed by scripts:
trimesh,numpy,manifold3d,pymeshfix,Pillow; - Bambu Studio or another slicer for final slicing/print review;
- project-local folders for generated STL/3MF/Blend/PNG outputs.
Do not write generated model outputs into the skill directory.
Progressive references
Read only what the task needs:
references/sop.md— generic workflow from STL to assemblable 3MF.references/clearance-lessons.md— Boolean/MeshFix/clearance failure modes.references/blender-material-annotation.md— human Blender annotation instructions.references/versioning.md— project versioning and status conventions.references/case-study-v13.md— optional validated example for a 5-part figurine.
Standard workflow
-
Prepare annotation file
- Create a Blender
.blendfrom the input STL. - Add material slots for intended parts.
- Use a project-local output folder.
- Create a Blender
-
Human material-face annotation
- Human selects triangle faces in Blender Edit Mode.
- Assign each face to a material slot.
- Material assignment is geometry metadata (
polygon.material_index), not texture paint.
-
Split by material and lock a baseline
- Use material indices to export parts.
- Clean tiny islands, cap open boundaries, export STL, render preview.
- Lock a baseline that is only “split + capped”, with no clearance/pins/experimental Boolean.
- Never overwrite the baseline.
-
Repair only before clearance
- Use MeshFix when needed to make baseline parts watertight before clearance.
- Treat MeshFix as a printability repair, not an assembly solution.
-
Normalize winding before Boolean
- Ensure each STL has outward / positive-volume winding.
- If volume is negative, invert before expanding cutters.
- Wrong winding can reverse the clearance direction.
-
Apply interface clearance
- Decide the real remaining assembly interfaces.
- Define a responsibility table: which part subtracts which expanded neighbor.
- Use robust manifold Boolean difference for interface allowance.
- Choose clearance based on printer, scale, material, and finishing expectations.
-
Do not MeshFix after clearance
- After clearance, use only tiny manifold simplify/sliver cleanup.
- Strong MeshFix can fill intentional clearance cavities and recreate interference.
-
Validate the deliverable, not only source STL
- Export the final 3MF/STL set.
- Re-read 3MF objects and validate watertight/non-manifold properties.
- Run pairwise interference checks on adjacent parts.
-
Slicer and physical test
- Use Bambu Studio or another slicer for import/slicing/support/print preview.
- Do not treat “no overlap warning” as assembly proof.
- Physical assembly test is the final gate.
Interface-clearance hard rules
- Start from an un-clearanced baseline when changing the part plan.
- Do not directly merge parts that already had clearance cut between them; this leaves internal cavities/seams.
- Keep clearance work localized to real assembly interfaces.
- If assembly is tight, create a new version and increase clearance locally; do not repair a failed branch blindly.
Deliverables checklist
For a final handoff, include:
- final Bambu 3MF or slicer-ready project;
- final STL parts;
- preview/contact sheet;
- version note;
- validation summary;
- 3MF object validation report;
- pairwise interference report;
- notes on failed/disallowed routes.
Script organization
Scripts in scripts/ are reusable helpers with parameterized paths and part definitions. Keep new scripts project-agnostic: no user-specific absolute paths, no private names, and no hardcoded part schema unless the script clearly accepts a config/CLI override.