How to open the 3MF in each slicer
By Tiehl Roberto Matías · 7 min read · Updated 26 October 2026
The 3MF you download here carries the piece split into two objects, each with its colour assigned. What happens when you open it depends on how your slicer reads that structure, and each one does it slightly differently. This is what is inside the file and what to look for in each program.
In this guide
What the file carries inside
A 3MF is a compressed archive with several XML documents inside. If you change the extension to
.zip you can open it and look, and it is not a bad idea to do that once to lose your
fear of it.
The one this site generates has this structure:
Four things matter:
- The units are declared in millimetres. The file explicitly says
unit="millimeter", so no slicer has to guess the scale. That is what avoids the classic fright of a piece coming in at a tenth of its size or a hundred times too big, which is what happens with STLs. - Two materials are declared, each with its colour, in a list the format
calls
basematerials. - There are two objects: one called Base, pointing at the first material, and another called QR and text, pointing at the second.
- There is a third object grouping the two as components, and that is the one placed on the plate. That is why opening it shows one piece and not two loose ones to align by hand.
The relief starts exactly at the height where the base ends: 3 mm by default. There is no gap and no overlap between the two. That is what makes a single clean colour change at that height enough on a single-filament printer.
The question it asks when you open it
Nearly every modern slicer, on meeting a 3MF with several grouped objects, asks something along these lines:
«This file contains several parts. Do you want to load them as a single object with several parts, or as separate objects?»
The right answer is: a single object with several parts.
If you choose separate objects, the base and the relief come in as two independent pieces. They are still in the right position, so at first glance it looks like it makes no difference, but the moment you move or rotate one of the two they come apart and the code is no longer on top of its base. As a single object they move together and there is no way to spoil it.
Bambu Studio and Orca Slicer
They are first cousins — Orca was born out of Bambu Studio — so what holds for one usually holds for the other, even though the menus have drifted apart over time.
Both read the structure of the file and show the piece with its two parts in the side panel, the one listing the objects on the plate. Expand the piece and you will see Base and QR and text as two rows.
With an AMS or filament changer: select each part in that list and assign it whichever filament you want from the filament panel. The filament numbering is the plate's, so load both colours first and then assign. When slicing, the program puts the changes where they belong.
With a single extruder: both parts print with the same filament, and you put the change in by height. Look for the layer bar icon to the right of the preview: hovering over it brings up a plus sign that adds a colour change on that layer. The full procedure is in the colour change guide.
PrusaSlicer
PrusaSlicer also recognises the multi-part 3MF and asks the same question when opening it. Accept loading it as a single object.
The parts appear in the object tree on the right, hanging off the main piece.
If you have a printer profile with several extruders, each part has a dropdown for choosing which one prints it. It is the same mechanism PrusaSlicer uses for modifiers.
If your profile is single-extruder, that dropdown does not appear: it is not a fault in the file, it is that without several extruders there is nothing to choose. In that case the change goes in by layer, with the plus sign on the slider next to the sliced preview. PrusaSlicer inserts a pause with a colour change there.
Cura
Cura gets on worst with this part of the format. It opens the 3MF and places the piece correctly, at the right scale — everybody does that — but it does not use the colours declared in the file. Cura's materials are whatever you have configured on the machine, and the colour the model carries does not change them.
With a single-extruder printer, which is the usual case in Cura, this does not matter much: you were going to have to put the colour change in by height anyway. In Cura that is done with a post-processing extension, not with a button on the bar: in the extensions menu, under post-processing, you add a script that pauses at a given height or layer.
The detail to watch is that you have to tell it the height or layer number by hand, and that Cura's layer numbering does not always start where you expect. Slice first, look in the preview to see which layer the first line of the relief appears on, and use that number.
If your slicer does not separate the parts
It can happen with old or uncommon programs: the file comes in as one solid piece, with no distinguishable parts.
It is not serious, and it does not mean the file is wrong. It means that slicer ignores the materials part of the format. The piece is complete and to scale; all you lose is the automatic colour assignment, which you were going to do by height anyway on a single filament.
In that case: slice, find in the preview the layer where the relief begins — with the default 3 mm base and 0.2 mm layers, that is layer 15 — and put the pause there. The result is identical.
And if you would rather not wrestle with any of this, download the STL instead of the 3MF. You lose the colours and the declared units, but it is a file anything will open. The differences between the two formats are in the 3MF against STL guide.
What to check every time
Whatever the program: before hitting print, look at these four things in the sliced preview.
- That the piece measures what it should. Check the width in the dimensions panel against what you chose in the generator. If it does not match, it is a units problem and not a problem with the piece.
- That the relief begins where you say. Run the layer bar up to that height and confirm the pattern of the code appears there, not before or after.
- That the modules have not fused together. Look at the first layer of the relief very closely: the little squares have to look separate. If they touch, the module is too small for your nozzle and the piece has to get bigger. The minimum size guide covers this.
- That the colour change is on the right layer, if you put it in by hand. One layer too high and the code comes out in the base colour; one too low and the last layer of the base comes out in the code colour.
Those four minutes of checking prevent nearly every failed piece, and failed pieces are expensive not for the filament but for the time they take to come out.
And once the file is open and the parts are separate, there is one more thing you can do with them: keep only the code and sit it on a model you already have, without touching a modelling program. That is in the guide to putting the code on another piece (in Spanish).
Download your file
The generator hands you the 3MF with both colours already in it and the STL in case your program prefers that. No sign-up, and the link never leaves your browser.
Open the generatorKeep reading
- Which link to put in, and how never to reprintThe decision that drives module size most, and the one that lets you change the destination without throwing the pieces away.
- Engraved or raised: which one reads betterA single-colour code reads by shadow, and the phone's torch erases the shadow. When it works and when it does not.