FIRST OF ALL: IF YOU ARRIVED TO THIS TUTORIAL because your print abruptly aborted and you're willing to resume it, DO NOT EXIT YOUR PRINTER SOFTWARE YET, unless it's frozen, of course, but before you close it, check what's the last layer it was printing! It will be important as we need this later!

So here's the method I used to recover a lengthly print that started on the office yesterday at 4pm and "aborted" for (yet!) unknown causes at around 10pm ( I discovered this this morning at 9.30am, first time I left a print unattended with Repetier-Host while I was updating raspi at home).

This is a trillionpolygonal print I asked a friend (digital sculptor) to prepare for me so I could put Rapide to the test and its supposed to last a couple days...

as you can notice, there's quite a handful of polygons out there...

Anyhow, since i returned to the office from the day before, seeing the print halted and touching the bed and realizing it was hot, freaked me out so I hit emergency stop on Repetier and accidentally quit it! Problem now was to figure out how to "resume" the print (at this point i didnt even know if i would be able to!).

After checking the printed part, and given I "reset" the software (no more XYZ accurate positions!), the only thing left was to manually find out where it was. SO we need to find out the three coordinates AND an average idea of which layer could this be...

By removing the small plastic clog that was there after printer aborted, I noticed a spot I could use as reference....

So next step was to raise Z, home X and Y, then Z, so I have them at 0 absolute.

Then, using Repetier printer controls, I managed to place the head back to the same spot it was before the interruption:

Then I issued an M114 command manually on the terminal, to find out XYZ, and pasted this onto a texteditor:

From this point, we have the best hint possible: Z is at 23.40.

So I loaded the .gcode file on the texteditor, and next step was to navigate (with CTRL + F) to the closest value to Z and find out the LAYER: was presumably 232 of 1260...

Once we have the "resuming layer", we delete everything up to the first lines of code (the reset/preparation lines of gcode):

Then using CTRL + F again, I find the most suitable XY spots compared to the values I got from M114:

and delete upwards until the G0 start of our LAYER:232.

Finally, I set it so once the print resumes, Z is raised ABOVE the place we're going to resume. This is done to prevent the extruder head to hit the print and rip it off from the bed. THen, move XY and place them on our "hotspot":

LAST BUT NOT LEAST: Note the E values increase over time, this is the absolute value of the TOTAL AMOUNT OF FILAMENT used so far from LAYER:0 to our LAYER!

So IT IS CRUCIAL you DELETE G92 E0 (line 9 in the above picture) and instead place G92 EXXXXXXXX where XXXXXXX is, in our case, the value the print "aborted", 8027.82489. Just in case, i deducted one unit and wrote 8027.82488.

If I wouldnt do this, printer would have extruded 8 meters of filament on my hotspot :O

YOu just now need to save it under a new name (resumed.gcode), load it on your printer software and launch.

I now have resumed with Octoprint instead, as I fear it was a software failure.

If octoprint fails too, then I'll check for the wiring issue some of you have been facing....

(so far i've printed three or four long (>8h prints) without any hassle using octoprint).

WE'll see....

Hope this helps someone else!


EDIT: If you're familiar with Gcode, you may want to issue an M107 FIRST so fans do not operate on the first layer you deposit after resuming the print, then enable it again with M106 once the first resumed layer has been deposited in full. This will help adhere to the "broken" layer part. Alternatively you may want to spray the whole layer with hairspray to help adhesion of the new resumed layer.