3MF splitter: split a 3MF file into printable parts, colors kept

· · 4 min read

Quick answer: open splicestl, drop the .3mf on the page, pick your printer and download. The split runs in the browser, and nothing is uploaded. It keeps the file's colours: painted regions, per-part filament assignments and standard 3MF material colours. The pieces come back as 3MF: one file per piece, one per plate, or one Bambu Studio / OrcaSlicer project. Connectors (pegs, dovetails, magnets and six more) are added at every cut.

Open the splitter and drop a 3MF →How the four steps work

What the splitter reads from a 3MF

A 3MF is a zip. Inside, 3D/3dmodel.model is an XML mesh with declared units, and slicers add more. splicestl reads all of it that matters for splitting:

Inside the 3MFWritten byWhat splicestl does with it
Core mesh with basematerials / m:colorgroup coloursAny 3MF exporter (Blender, Fusion, Tinkercad, slicers' "export 3MF")Per-triangle colour kept through the cut; pieces export with the same colour groups
Objects in 3D/Objects/object_N.model via p:pathBambu Studio, OrcaSlicer, PrusaSlicer project filesLoaded and placed with the build transforms, each as a selectable object
paint_color / slic3rpe:mmu_segmentation on trianglesBambu Studio / Orca painting tools, PrusaSlicer MMU paintingDecoded to the filament slot; triangle takes that filament's colour
Metadata/model_settings.config extruder per object / partBambu Studio, OrcaSlicerUnpainted triangles take their part's filament colour ("colour by part")
Metadata/project_settings.config filament_colourBambu Studio, OrcaSlicerThe palette the slots map to; without it a fixed fallback palette keeps regions distinct
Print profiles, supports, modifiers, layer-height tablesSlicer projectsNot carried over — reapply your profile in the slicer

How to split a 3MF, step by step

  1. Load. Drop the .3mf on splicestl. A project with several objects shows an object picker: "All objects (merged)" splits the whole plate as one model; pick one object to split only that.
  2. Pick your printer. Choose a preset (Bambu Lab A1 mini to Elegoo Neptune 4 Max) or type the largest size a piece may be. The cuts are planned on X, Y and Z together and the split runs by itself.
  3. Choose connectors. Pegs by default; dovetails, tenons, finger joints, magnet pockets, dowel holes, screw joints, your own connector STL, or none. Connectors are placed inside the pieces, so colours on the outside are untouched.
  4. Download. Under Output format pick 3MF (one per piece), 3MF, one file per plate or Bambu / Orca project. The zip also has the connectors, a README, an assembly sheet and labels.

Colour, precisely

Every triangle in the loaded model carries one colour. Through the cut, new triangles on the cut face take the colour of the surface they came from, so a piece's outside looks exactly as it did before the split; the cut faces are plain. When the pieces are written as 3MF, each piece gets one colour group with one entry per filament, and the slicer maps those to its filament slots. Bambu Studio and OrcaSlicer read the project output with the plates already placed; PrusaSlicer and Cura read the per-piece 3MF.

Painted borders are the one approximation. Slicers paint sub-triangle detail by splitting a triangle into up to four children and painting each; splicestl keeps whole triangles, so a triangle split between two colours takes the colour that covers most of it. On a typical 50,000-triangle model that moves a border by a fraction of a millimetre; on a very coarse mesh the step is visible. If a crisp border matters, subdivide in the slicer or Blender before painting.

Where 3MF splitting goes wrong elsewhere, and what to check

Frequently asked questions

Can I split a Bambu Studio or OrcaSlicer project 3MF?

Yes. Project files from Bambu Studio, OrcaSlicer and PrusaSlicer keep each object in its own 3D/Objects/*.model file inside the 3MF (the 3MF production extension). splicestl 3.5 reads those files, the per-object filament assignments in Metadata/model_settings.config and the filament colours in Metadata/project_settings.config, so a project with several objects, several filaments or painted regions loads with its colours.

Does the 3MF splitter keep painted colors?

Brush-, fill- and height-range painting from Bambu Studio and OrcaSlicer is stored per triangle as a paint_color string (PrusaSlicer: slic3rpe:mmu_segmentation). splicestl decodes it and gives each triangle the filament colour it was painted with. One thing is lost: where a single triangle was painted with two colours, the splitter keeps the colour that covers more of that triangle, so a border between two colours can move by up to one triangle. Regions, objects and per-part filaments are kept exactly.

What does the split 3MF contain?

Three choices in the download step: one 3MF per piece (mesh plus a colour group per filament), one 3MF per build plate with the pieces already laid out, or a single Bambu Studio / OrcaSlicer project 3MF with every plate placed. STL, OBJ and PLY are available for single-colour models; a model that loaded with colours is always written as 3MF, because STL and OBJ cannot carry colour.

Do I lose my slicer settings?

The print settings stored in a project 3MF (layer height, infill, supports, filament profiles) are not carried into the pieces: the output describes geometry, colour and plate layout only. Open the plated 3MF or the project 3MF in your slicer and apply your usual profile; the colours and the plate placement are already there.

Can I split a multicolor 3MF into one file per color instead of per piece?

Not yet as a single button. A colour-separated export (one object per filament, in place) is on the roadmap; today the pieces keep their colours and the slicer assigns filaments from the colour groups. If you need per-colour objects for a single-extruder swap print, split by colour in the slicer first, then split each object for size here.

What is the difference between STL and 3MF for splitting?

An STL is a bare list of triangles: no units, no colour, no object names. A 3MF is a zip container with an XML mesh, declared units (millimetres), colour and material tables, object names and, in slicer projects, plate layouts and settings. Splitting either gives the same geometry; the 3MF route is the one to use when the model has colours, several objects or you want the pieces placed on plates for Bambu Studio or OrcaSlicer.

Related

Open the STL / 3MF / OBJ splitter
The tool itself: free, in the browser, 9 connector types, 7 cut shapes.
Split a model inside Bambu Studio
The built-in Cut tool: planar, dovetail, Plug/Dowel connectors — and its limits.
Split a model inside OrcaSlicer
Same Cut tool, same limits, with the multi-axis alternative.
STL splitters compared
Cura, Bambu Studio, PrusaSlicer, Blender and the browser tools, re-checked October 2026.

What changed. 31 October 2026: page published with splicestl 3.5, which added project-3MF loading (production extension), paint_color decoding and colour-by-part. Sources: 3MF Consortium core and production-extension specifications (3mf.io, read 31 October 2026); PrusaSlicer TriangleSelector::serialize source (github.com/prusa3d/PrusaSlicer, read 31 October 2026); splicestl 3.5 test harness scenario bambu_project_3mf_split.