Have you ever had an electrical breakdown while you are printing your 10 hour long design on the 3D printer? Have you ran out of filament and spoil 8 hours of work? What do you do then? Start printing again from scratch?
This happened to me several times and I want to share a simple way to fix it and be able to resume the print from the point where the device failed without spoiling the previous work.
The idea is to manually modify the G-CODE to make the 3D printer skip the entire print part until it reaches the last printed layer.
To do it we must have only the G-CODE file , although the STL will also help us.
The first step is to locate the last printed layer in the STL file, depending on the model you are printing this can be more or less difficult to find. The idea is to compare the part of the printed model with the STL file layer by layer until you find it, usually it’s easy and you can find it in a couple of minutes.
When the layer has been found (in the case of our model image would be 7.85) we will open the G-CODE file with a powerful plain text editor (G-CODE files can be very long and should not be opened in WYSIWYG editors such as Word, LibreOffice and similars)
The movement of the printer’s Z axis is defined in the G-CODE with the text string ZXXXX (in our case would be Z7.850), so we should look for the line containing that string in our G-CODE and also should look the line where the G-CODE executes the Z axis first movement, which normally is in the first G-CODE file lines and looks like the following:
G1 Z0.250 F7800.000
Ok, so now we got the two key lines, the last step will be to delete all the contents of the G-CODE between those two lines: from the line that defines the first layer (which in our case is G1 Z0.250 F7800.000) until the previous line of the line that defines the beginning of our layer (G1 Z7 .850 F7800.000) -don’t remove this line-
All ready! Save the file and send it to the 3D printer! The 3D printer will resume the printing the object at the point where we left it.