Before we start, let me make it clear that this is different from the "change filament at layer" technique. The results are a smoother, scratch resistant surface that cannot be obtained with the regular method. The premise is very simple: it involves printing only the first layer of a mirrored image of the text/symbols and then print over them using the background colour.
For this instructable, we will be using the freely available 3D Builder,
Cura and Notepad++ but you are not restricted to using these tools since there are different methods to get the same result.
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Get the Picture/text
Open up the picture/text in picture editor and make sure that it is in black and white. Take note of the dimensions of the picture, specifically the aspect ratio (width vs height).
Step 2: Prepare the Background
In 3D builder, create a cube with the width and height having the same aspect ratio as the black and white image. I set the height to 4mm but you don't need to be restricted by that. Save a copy of the object as it is as a STL file. I usually call it "back.stl".
Step 3: Prepare the Text/shapes
Go to "+ Add" and "load image" and look for the black and white picture. Set the "inverse" option if needed (depending on whether the black signifies the foreground or the background). Scale and position the image over the previously created "cube". Use Edxit/Merge to make single object out of the background and the text. Then rotate the object by 180 degrees so that the text is facing down.
Save the new object to a new file name. For the purpose of this tutorial, we shall call it "text.stl".
Step 4: Slice the Text
Open the STL file in Cura and generate the G-code using a 0.32mm layer height (or 0.3mm depending on your printer's thread). While you are at it you can also slice the background file (back.stl) that is basically a solid block.
Step 5: Remove All the Layers Except the First One
Open the G-Code file in a text editor such as Notepad++ and look for the text that read ";Layer:1". Delete all the layers from that line onwards. When you get to the bottom, make sure you remove the lines that turn the bed heating off so that the printed text does not get unstuck. In this example, I added a M600 command at the bottom so that it initiates a filament change. I am not sure if this command works on all printers, though, since it depends on the firmware.
Step 6: Print the Text
Print the modified G-code file and as soon as the print job is done, be ready to change the filament and start the background (solid block) file. If you have good bed adhesion (I use Magigoo for that) the nozzle should give way and attempt to print the yellow layer (in our example) over the existing text layer (black in this case) while printing directly on the bed in the blank spaces. In this example, I have pre-added corner screw holes in the solid background block. I use the term "solid" but you can have an infill such as 20% and it will do. Note how, in the second picture, you can still see the black text through the (at the moment) thin layer of yellow PLA. It will no longer be visible after the 4mm of yellow layers are done.
Here is another example of the technique in practice. Notice that the choice of light colour for the text means that the background might be visible from behind the thin 0.32mm layer and that is why the originally yellow text now looks greenish. Consider this when using light colours. Using a proper line width and a slightly higher extrusion rate for the text layer should help mitigate this while allowing for better bed adhesion.
I hope you find this instructable useful. Happy printing!