3 Ways How to Start a 3D Print At a Certain Layer
Starting a 3D print at a certain layer can enable you to fix issues with your print, add components to your print, or create designs with different materials or colors. That is why I decided to explore the various methods to start a 3D print at a certain layer.
To start a 3D print at a certain layer, you can edit the G-Code file and delete sections before the layer you want to start from, but make sure to keep the starting G-Code. You can also place the STL file in your slicer below the build plate to the height you want to print at.
This is just a basic explanation. I will provide more details for each approach, so keep reading to find out more.
How to Start a 3D Print At a Certain Layer
Here is how you can start a 3D print at a certain layer:
- Edit the G-Code file
- Place the model in slicer below the build plate
- Use the filament change plugin or M600 command
1. Edit the G-Code File
The first way to start a 3D print at a certain layer is to edit the G-Code manually. Most 3D printing users recommend Notepad or Notepad++ for editing the G-Code since it is simple to use. First, you’ll need to measure the height of your print to know the specific layer you’d like to start your print from.
You can use a Digital Vernier Caliper to measure this height. Alternatively, you could also use a ruler to measure the height of your unfinished print.
Error: Unknown Link Type
For example, if you get a height of 45.3mm and you use a Layer Height of 0.3mm, dividing the two gives you 151. This means your print left off at layer 151.
To edit your G-Code file so that your 3D print starts at this layer, open the G-Code file using Notepad/Notepad++. It should look something like this.
After that, search for your last printed layer. I did this by clicking Ctrl + F, and then searching for Z: height measured. In this case, my Z was 45.3, so I searched for Z45.3, clicked “Find Next”, and marked the direction as down.
If you can’t find the exact Z VALUE, search for the slightly greater value that is closest to your measured height. For example, I couldn’t find Z45.3mm, so I went for Z45.35mm which was the closest greater value. This is the layer height your print will start at.
Also, take note of the last E value before this Z value. This is the last position the extruder extruded before moving to the next layer. In my case, that was E2518.38808.
Now, highlight everything before Z45.35mm all the way up to your G28 command (tells your printer to home all axes) and delete them. Also, delete any other startup commands from your G-Code file.
Now, take the E value you noted earlier and add a G92 command to your G-Code file. In my case, I added a G92 E2518.38808 line. This specifies the current position of the printer nozzle before it can start printing the next position.
Once you have done all this, you can click file > Save us > choose a folder to save your modified G-Code file.
Transfer this G-Code to your SD card and load it to your printer. Carefully home the printer and resume printing.
Note: You should closely monitor the print to ensure that it progresses as expected. If anything doesn’t go according to plan, switch off the printer.
In this video, Emily the Engineer, explains how you can edit your G-Code file in Notepad, transfer the file to your SD card, and resume printing from a certain layer.
One user said that he used Notepad++ to restart a print at a height. All he did was search for “layer” or “Z” and saw where the G-Code told the printer to change layers. If your G-Code has layer indicators, use it to delete everything before the layer you stopped at.
He added that you would need to calculate the exact layer height if it doesn’t. After that, determine your last printed layer and multiply it by your layer height to give you the height the printer stopped.
Finally, find that line in your G-Code, for example, “Z=24mm,” or the closest value to that, and delete everything before that line except the startup G-Code at the top.
2. Place the Model in Slicer Below the Build Plate
If you want to avoid the process of editing the G-Code, consider using your slicing software to start a print from a certain layer. First, you’ll need to clean the last layer of your print and then measure the failure height using Vernier calipers or a ruler.
Once you’ve determined the height, remove it from your print bed and load the 3D model of your print onto your slicer’s build plate. To do this in Cura, click the file icon, choose the file from the folder you stored it, and click open.
Let’s say the final layer of your unfinished print failed at a height of 45mm. You’ll need to sink your model into the build plate by 45mm for you to start printing from that layer. This is how my model looked before sinking it into the buildplate.
Click your model and go to the “Move” icon on the left side of your screen. This will give you an option to change either the X, Y, or Z parameters. In this case, I inputted -45mm and clicked enter to sink the model into the build plate by 45mm.
After that, I clicked the “Slice” button to slice the model and prepare a new G-Code file. Cura will only slice what is above the build plate (layers above 45mm).
Next, click Preview to see how each layer will print. Use the slider to scroll up and down each layer. Only layers above the build plate will be printed, starting from the specific layer you left off.
Once you’re satisfied, click the “Save to Disk” button to save the new G-Code file on your computer for printing.
If it was an incomplete print, you can print the remaining part and glue everything together. You should always maintain the same print settings for consistent results. However, you can leave out settings such as skirts and brims.
Check out this video explaining how you can quickly resume a failed print in Cura by sinking the model into your bed.
One user said that to start your 3D print at a certain height, you need to remove the print from the bed, measure its height, and open the model in slicing software. Drag the model under the build plate by the exact height.
After slicing, print the rest of the model and glue the parts together. He added that you can post-process your print using a 3D pen, soldering iron, or putty and sandpaper. This will make the print have a cleaner finish.
Another user said that if you want to resume an unfinished print from where you left off, you’ll first need to remove the unfinished part from the build plate.
Follow this by pulling the model up in Cura and then moving it down until the layer you need touches the build plate. Finally, slice the model, and it will only print the part of the model that is touching the build plate.
3. Use the Filament Change Plugin or M600 Command
Another method to start a 3D print at a certain height is to introduce a filament change, which will make the printer pause and resume printing from the specific layer you specify.
To do this, you can use the “Filament Change Script” in Cura or add an M600 command to your G-Code file. Here is how you can use the filament change script in Cura:
- Go to Extensions > Post Processing > Modify G-Code
- Click the “Add a Script” button and select “Filament Change”
- Input the specific layer the filament should change before it can start printing and then close.
- A small prompt should appear beside the slice button to indicate the script has been added. Click slice once you’ve confirmed that the script has been added.
- After that, you can preview the file, save the modified G-Code file, to start printing at a certain layer.
I found this video to be handy in explaining how you can use the “Filament Change Script” in Cura.
The M600 command tells your 3D printer to pause for a filament change. Check out this video that teaches you how to add the M600 command to your G-Code file.
One user needed to know how to start printing at a certain height so he could print a multicolored filter tag. Someone told him he could use the change at Z plugin to make those changes right after the filament change.
This would cause the printhead to park and wait for the filament swap before resuming, and the changes would take effect before the new layers were added.
Another user who wanted to create a multicolored print without gluing pieces together asked if there was a way to start a print at a specific layer. Someone advised him to search for the M600 command, which would enable him to pause and change the filament color at the right height.