Putting the code on a model you already have
By Tiehl Roberto Matías · 7 min read · Updated 26 October 2026
The generator makes complete pieces: keychain, plate, stand. But often the code should not be the piece, it should sit on one that already exists: the lid of a box, the front of an organiser, the plate on a cabinet, a downloaded model. It can be done, and no modelling is needed. What is needed is respecting two measurements, and the first one is a surprise.
In this guide
First: how much room it needs
The intuitive answer is «as much as the code measures». It is the wrong answer, and it is the cause of nearly every piece of this kind that does not read.
A code needs, as well as itself, four modules of plain area on each side. It is not decoration: it is the reference the reader uses to find where the code ends, as the full guide explains. So the flat surface to set aside is not the side of the code, but the side of the code plus eight modules.
The pieces the generator makes already satisfy this without anyone having to think about it. Measured on its own templates, the plain area it leaves on each side of the code is this:
| Generator piece | Inside the frame | Added by the piece | Total |
|---|---|---|---|
| 40 mm keychain | 2 modules | 2.56 | 4.56 modules |
| 90 mm plate | 2 modules | 2.36 | 4.36 modules |
| 150 mm plate | 2 modules | 2.36 | 4.36 modules |
| 70 mm desk stand | 2 modules | 2.76 | 4.76 modules |
There is the detail to hold on to: the frame of the code carries only two modules of margin inside it. The other two and a bit are provided by the body of the piece. If you take the code to another model and push it up to the edge of a face, you are left with half the quiet zone the standard requires, and many phones will not even try.
What fits on each surface
Turning the sum round gives what actually matters: with a flat surface of a given size, what code fits. The usable modules are the side divided by the module size, minus eight.
The full table, with 1.0 mm modules, which is the comfortable value for a 0.4 nozzle according to the minimum size guide:
| Flat surface | Usable modules | Version | Side of the code | Link characters |
|---|---|---|---|---|
| 25 mm | 17 | none | — | not even version 1 fits |
| 30 mm | 22 | 1 | 21 mm | 14 |
| 40 mm | 32 | 3 | 29 mm | 42 |
| 50 mm | 42 | 6 | 41 mm | 106 |
| 60 mm | 52 | 8 | 49 mm | 152 |
| 80 mm | 72 | 13 | 69 mm | 331 |
| 100 mm | 92 | 18 | 89 mm | 560 |
The characters are at level M, measured with this site's encoder. Two things are worth looking at twice.
The first: below 30 mm there is nothing to be done with a 0.4 nozzle. Fourteen characters is «example.com/ab», and that is not even a usable link. If your surface is smaller, either you change nozzle or the code goes on a separate piece.
The second: what grows is not the code, it is what fits inside it. Going from 30 to 50 mm does not double the characters, it multiplies them by seven. If you are short of room for your link, gaining a centimetre of surface pays far more than any other adjustment. The other thing that pays is shortening the link, and that is in its own guide.
With a 0.4 nozzle at the minimum, that is 0.8 mm modules instead of 1.0, the numbers improve considerably: 40 mm gives room for 106 characters and 50 mm for 180. It works, but with no margin for a tight first layer or a slightly worn nozzle. For a piece you are going to print once and check, go ahead; for a production run, stay at 1.0.
Which part of the file to take
The 3MF you download has the piece split into two volumes: the base and the relief of the code, which is what makes the colour change possible. To put it into another model, what you want is the relief alone, the part called «QR and text». The base is the generator's plate and is surplus.
This is also why you download 3MF and not STL: the STL is one mass with no parts, so there is no way to keep only the code. The details are in the format comparison.
Separating the relief reveals a quirk worth understanding before you move anything: the generator's relief starts exactly where the base ends and does not sink into it. That is, the modules are prisms resting on the top plane of the base, not buried in it. So when you take it to your model, you will have to place it at the right height on the face it goes on yourself.
Putting it on top, without modelling
You do not need a modelling program: the slicer is enough, and the procedure is the same in all of them that allow several parts in one object.
- Load your model and then import the code's 3MF onto the same plate.
- Keep only the «QR and text» part and delete the base.
- Join the code to your model as another part. In current slicers it is a right click on the code and an option along the lines of «add to object» or «merge».
- Place it on the face. Centre it in plan and, in height, lower the code until its bottom face sits at the height of the surface it rests on. Leave it floating and the slicer will fill the air underneath with supports or leave it hanging.
- Sink it a tenth. Lowering it 0.1 mm below the surface guarantees the two geometries fuse rather than leaving two walls touching, which is a source of gaps.
If what you want is the opposite, engraving it instead of raising it, the procedure is almost the same but marking the code as a negative part. It is step by step in the engraving guide, including the detail of sinking it in Z, which in that case is not optional.
Colour, which is where everything is decided
Here is the question that decides whether the whole idea works: is your piece going to have two colours on the face of the code?
If you can make the colour change, this is easy and comes out very well. The condition is that the face carrying the code is horizontal and that the whole code starts at the same height, so one pause covers it. The method is in the colour change guide, and you have to look in the slicer at the height of your piece's face, not the generator's plate.
If the piece is going to be a single colour, the code will read only by shadow, and that changes the recommendations: it is better engraved than raised, bigger than the table says, and you have to accept that it depends on the light in the room. All of that is in the engraving guide, and it is the case where most pieces fail.
And there is a middle case that works well and almost nobody tries: the face with the code in one colour and the rest of the piece in another, changing filament at the layer where that face begins. If the code is on the upper part of your model, it is one pause just the same.
The three mistakes that leave it unreadable
In order of frequency, and all three are avoided before printing:
- Eating the quiet zone. Pushing the code against an edge, a screw, a logo or a corner. That area has to be plain and in the background colour for four modules all round, and half that margin does not come in the file: you provide it.
- Putting it on a face that is not flat. A domed lid, a cylinder, a curved side. It has a measurable limit and it is in the curved surfaces guide (in Spanish): the code cannot exceed half the diameter.
- Scaling the model afterwards. This is the quietest one. If you shrink your piece to 90 % so it fits the bed, the code shrinks too and its modules drop below the printable minimum with nothing to warn you. Scale first, add the code afterwards.
And the usual check, which matters more than usual here because the piece is an assembly: look at the first layer of the code in the slicer's layer view, and confirm the lone modules appear separate and the quiet zone is clean. The rest of the protocol is in the testing guide.
Get the code sized for your piece
Measure the face it goes on, subtract eight modules and generate the code at that side. The generator tells you the module size you are left with before downloading, and with the 3MF you will be able to keep only the code part.
Open the generatorKeep reading
- Layer height: what it changes and what it does notLowering the layer does not sharpen the code: the nozzle decides that. What it decides is whether your relief exists at all, and on a small piece there are three layer heights at which it does not.
- How to 3D print a QR code that scans first timeThe long one: the nine steps between a printed QR that works and one that ends up in a drawer.