
This is a quick guide on how to setup single extruder multi material printing specifically for the purpose of first layer elements like decorative patterns or labels.
For this technique to work, we need a model that has elements with a height of two layers that are to be printed in a different colour. One layer could suffice but will leave us with bleeding thought colours and gaps. More than two layers would be nice, but require additional material changes. So, two layers in height it is.
I prepare my models in Fusion 360; I have the lettering as separate bodies and export all bodies using their shared root component.

In the “Printers” Tab under “General”, set the extruder count to 2.
Go to the Extruder 1 and Extruder 2 settings (still in the “Printers” tab) and pick an “Extruder Color” for each. This is important to see the assigned materials later on.
Under “Custom G-Code” update the “Tool change G-code” using the “Edit custom G-code” Icon above the text box and enter your customized version of the following snippet. Use the modal dialog (that opens by clicking the icon). Simply pasting code into the text box does not always update your configuration. Using the "Edit custom G-code" windows does.
{if next_extruder != current_extruder}
G1 Z{z_offset+10} F720 ; Move print head up
G1 X242 Y211 F10200 ; CHANGE ME! (Move print head to parking position)
M600 ; Color change
{endif}The relative complexity of this snippet is what differentiates my guide from others that I've found when researching this topic. Let's have a detailed look on what is happening piece by piece and why it's necessary.
; Comments – In a line, everything after ; is a comment. The comments are written to the G-Code output, but usually they are only there for documentation purposes.
M600 This is the heart of our script. For every tool change we issue this command. It runs a predefined routine in our printer that moves to a specific position, unloads and then reloads material.
G1 Z{z_offset+10} F720 and G1 X242 Y211 F10200 are move commands. Specific to my printer! Your need to update their coordinates. The M600 on it's own will basically pause the print at a specific location and immediately move it back to that position after resume. In our situation, where we do all this at the end of a layer and before a tool change, it's awkward and troublesome to do that before purging on the wipe tower. The two commands here first move the print head up by 10 mm and then command the printer to take it's parking position. My script contains the values for a Prusa Core One+. If you're using another printer, have a look at your “End G-code” section, there is usually a line with a comment park to reuse here.
{if next_extruder != current_extruder} ... {endif} is a conditional block whose content will only be rendered into the final G-code output when it's condition is met. next_extruder and current_extruder are placeholders implemented in PruasSlicer, they are documented in the List of placeholders and in the “Edit custom G-code” window. next_extruder != current_extruder guards our script against the very first tool change that the PrusaSlicer generates for every print job. Without this guard clause the printer would start and immediately do an Unload. With this clause in place, a “change” from Default Extruder (Extruder 1) to Extruder 1 doesn't trigger that. You can test this by removing the block and inspecting the generated G-Code, search for the first M600.

Open the “Plater” tab and assign colors. For that to work we first need to split our mesh into parts using the “Split to parts” command from the top tool bar. This will expand a list of the separate bodies from our loaded mesh. The important information is that you can assign extruders to bodies by pressing their corresponding number key. Select the main body in the side bar and hit 1 on your keyboard –This will assign Extruder 1 to that body. Using Shift- and Ctrl-Select to pick the bodies that should be printed in the other color. If you have many different bodies that all have their own labels, this still takes some work. It's important to have the main body be printed on “Extruder 1” and labels/patterns on “Extruder 2”. This will yield a print job that starts with the face of our main body, followed by a colour change (1 → 2), then two layers for Extruder 2, another colour change (2 → 1) and the rest of the print.
As the procedure described above gets rather tedious with multiple bodies, an alternative approach that works without all that setup is to have the labels cut-out from the bodies and simply print the first layer in a differnet color. The cutting could be done in PrusaSlicer, but would be just as much effort as setting up proper multi coloring; Either prepare the models in CAD or go with the previously described process. With this approach, set the depth of the cutouts to one layer height.

Under “Print Settings” → “Advanced” → “Flow” set the “Bridge flow ratio to 2. Do slice the model and in the ”Plater" preview navigate to the second layer and right-click on the slider to select “Add Color Change”.
Happy Printing!
P.S. The model shown in the images above is available here: 4010/32 - Metric Gauge Blocks
Comments
█
█
█
█
█
█
█
█
█
█