QR3D Craft

Putting the code on a model you already have

By · 7 min read · Updated 26 October 2026

Leer en español

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.

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 pieceInside the frameAdded by the pieceTotal
40 mm keychain2 modules2.564.56 modules
90 mm plate2 modules2.364.36 modules
150 mm plate2 modules2.364.36 modules
70 mm desk stand2 modules2.764.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 largest code that fits on three flat surfacesOn 30 millimetres a version 1 code fits, of 21 modules, with up to 14 link characters. On 50 millimetres a version 6 code fits, of 41 modules, with up to 106 characters. On 80 millimetres a version 13 code fits, of 69 modules, with up to 331 characters.Flat surface available, with 1.0 mm modules (0.4 nozzle)30 mmv1 · 14 characters50 mmv6 · 106 characters80 mmv13 · 331 characters
The dotted line is the edge of the quiet zone: four modules that have to stay plain around the code. What grows suddenly is not the code, it is what fits inside it: going from 30 to 50 mm of surface does not double the characters, it multiplies them by seven.

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 surfaceUsable modulesVersionSide of the codeLink characters
25 mm17none—not even version 1 fits
30 mm22121 mm14
40 mm32329 mm42
50 mm42641 mm106
60 mm52849 mm152
80 mm721369 mm331
100 mm921889 mm560

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.

  1. Load your model and then import the code's 3MF onto the same plate.
  2. Keep only the «QR and text» part and delete the base.
  3. 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».
  4. 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.
  5. 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:

  1. 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.
  2. 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.
  3. 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 generator

Keep reading