If you searched for “how to continue a failed print”, you probably recognize this image.
It’s the bottom part of a print left exposed after the Titan extruder ground the filament and it no longer fed (shame on you e3D, this never happened with my MK8).
In prior occurrences I’ve tried to tighten the knob where it is now to the point, it can’t go no more.
The head is not clogged, if I take out the ground filament, re-feed it and tell it to extrude, it does. So today instead of starting over, I tried something different, I attempted to continue the failed print.
Here is how I did it.
I first took a very close look at the print on the board:
Step 1: Find a reference point from which you can count the layers printed. For example in the image below I can easily count the layers based on the circled reference point.
in the print I can see 4 layers printed above the end of the curve.
Step 2: Open Slic3r or whatever tool you used to slice the object and make sure you have the same settings (layer hight most importantly). If the object was scaled before make sure it is scaled the same.
Also take note of any offset used against the z axis. In my case that happened to be -0.2 which means my print started the first layer at Z0.0
Step 3: Open the preview and go to the layer you’ve identified as the last layer in the print.
Slic3r now tells me that the print ended extruding at 24.80 mm
Step 4: open the original gcode file used in the failed print (make a copy if you want to keep the original.
At this point thing can get a little tricky. Each printer uses its own g-code meta information, that may or may not be required for your print to continue.
This for example is my initial g-code:
M190 S110 ; set bed temperature and wait for it to be reached
G1 Z15 F5000 ; lift Z to avoid clamps
G28 XY
M109 T0 S215; pre heat so it can drop filament prior to moving to corner bed.
G28; home
G29; auto level
G1 Z5 F2000 ; lift nozzle
G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion
For some of you, some of this code needs to remain. Some MUST GO.
Doing an automatic home (G28) will probably hit your failed print in place. In my case my Z-home is done at the center of the plate. CAN’T DO THAT.
The unit/coordinate g-code may have to remain (Seemed not necessary for my printer).
In the g-code file search for the z coordinate where your print dropped its last successful line.
in this same that would be 25 (24.80 plus 0.2 for layer height).
Step 5: remove all executed g-code. In my case I removed ALL g-code prior to this line.
Step 6: depending on what is left as your header g-code. you may have to set temperatures and perform homing.
Instead of leaving this “header” g-code in place I used Pronterface to do the -heating, the X and Y homing and I had to do a manual z-homing by putting the bed up to the nozzle and setting z0 (G92 Z0).
Step 7: Once temperature is set and homing is done, make sure your nozzle is position HIGHER than the last layer on your print. Depending on your printer, it may hit the print in place while positioning to its starting point otherwise.
At this point you can start your print based on the newly save g-code file.
Conclusion
Is this solution perfect? NO, it’s a hack, but in cases of prototyping where your more interested in shape than print quality, this will do in many cases.
For those of you having payed close attention, I made a mistake in mine. I restarted the print at Z 25 When I should have set it to start at 24.8 as my z-offset was -0.2 and thus layer 1 started at Z 0.
I solved this by adjusting the screws around the bed. It did the trick. below are images of the print after restart and the end result. You can clearly see the line where the print was picked up but again, In this case I wanted a finished piece and quality wasn’t the highest priority.
So there you have it. Instead of restarting a 7 hour print that was 5 hours in I managed to alter the code and restart the print (which took me about 30 minutes).
Saved myself some time and material