Quick answer
3MF stores appearance in the model's resources. An object can carry one color, individual triangles can reference a color or material, and the Materials and Properties extension adds textures and other properties. These are different representations, so a tool that supports one can silently drop another.
- 3MF can encode color at the object level, per triangle, or through textures.
- Base materials, color groups, and textures are separate resource types.
- Slicer paint data is often kept in private files inside the package, not in the standard resources.
- Converting between representations, or cutting a mesh, can change how color is encoded or remove it.
Ways a 3MF file can hold color
- Object-level property
The object references one material or color, so the whole object has a single appearance.
- Per-triangle properties
Each triangle references a material or color, and can use three values to blend across its corners. Painted or multi-color regions are usually stored this way.
- Textures
The Materials and Properties extension lets triangles map into an image. The image is a separate file inside the package.
- Slicer-specific data
Some slicers keep paint and filament assignments in their own files in the package. Generic applications do not read them.
What the resources are called
In the XML, base materials hold named colors. The Materials and Properties extension adds color groups, texture groups, composite materials, and multi-property groups. Objects and triangles point at these resources by ID, so a color is a reference, not a value stored on each triangle.
That indirection is why edits break color. When a tool creates new triangles, it has to create new references for them too.
Why color gets lost
- Core-only readers
A tool that reads only the core mesh ignores every appearance resource.
- New triangles without references
Cutting, splitting, or repairing creates triangles that have no property assigned unless the tool copies one over.
- Representation conversion
An object color can become painted faces, or a texture can be flattened to a single color.
- Renumbered resources
Resource IDs can change on export. That is harmless only if every reference changes with them.
- Private extensions
Slicer paint data stored outside the standard resources is dropped by tools that do not know it.
How to tell which one your file uses
- Copy the file and rename the copy to .zip
Open the archive and find the model file in the 3D folder.
- Search the XML for property references
Properties named pid and p1 on triangles mean per-triangle properties. A pid on the object means an object-level property. Look for basematerials, colorgroup, and texture resources.
- Look for images and private files
Textures are images in the package. Slicer paint data sits in files outside the model part.
- Or use an inspector
The free 3MF Color Inspector on this site lists colors, materials, textures, and reference integrity without uploading the file.
Keeping color through an edit
Test one operation on a copy, reopen the result in the slicer you print from, and compare the preview with the source. Do this before you process a whole project.
Common questions
Technical answers and limitations.
Is 3MF color per object or per triangle?+
Both are possible. An object can reference one color, and individual triangles can reference different colors or materials. Which one a file uses depends on the application that wrote it.
Does 3MF support textures?+
Yes, through the Materials and Properties extension, which maps triangles into an image stored in the package. Not every slicer renders or preserves textures.
Why do my colors look different in another slicer?+
The other slicer may support a different subset of the specification, or the color may be stored in private data it does not read. Compare the file in the slicer you will print from.
Can an STL file store color?+
Standard STL has no color field. Some tools write nonstandard color into the attribute bytes of binary STL, but there is no common agreement, so do not rely on color in STL.
Primary references
Verify the underlying guidance.
Apply these checks in Meshworthy
Inspect the model, review the operation, and verify the export.
Meshworthy applies these checks locally on your Mac and does not upload your model.
Check what a 3MF keeps before you edit it ↗See which color representation your 3MF uses, free in your browser