Resuming prints

I know this question has probably been asked a couple dozen times but I found no recent relevant post - so what happened last night was, I had a print running which took 24h for whatever reason, when I went to bed it had 7h left on the clock - “perfect will be done when I wake up”.

But then… My virus protection software thought - hey would a shame if someone would auto-restart your pc right now to update, right - oh well here we go…

So when I woke up, the printer was just standing still, print not much further than before I went to sleep - opened luban “do you want to resume the previous print?” - “uhh yeah, pls!”

But all that does is to load the last used model back into the 3D panel but no option to actually resume the print as the workspace is empty.

Now it’s one thing that I have to redo the entire print and can throw 17h of work away - the other thing is: the printer was still on this morning - the nozzle was 210 deg the heated bed 60…
Like that’s pretty unsafe and also harmful for the nozzle I’d say.

The printer should realize “I haven’t gotten a single command in the last 15 min imma shut down”
Plus: Luban really needs to be able to resume prints if something like this happens - is there no way to save the current line of the gcode command (line number or smth) to a cache file every time a new command is started, so that if anything happens, luban knows where it stopped?

Hey @Dinkelborg !
Yes this was asked a dozen times. No it is not possible with Luban.

The point is (and this is with every 3d printer) don´t print over serial connection because if your pc go to sleep your print is ruined.
The features of Snapmaker 2.0 like filament runout and power-loss recovery only work if you print from the touchscreen.

Now, to rescue your print, you need to measure the exact height of the model in 10th of mm and then edit the previously printed gcode to get the machine to continue.

I would help you to edit the code. If you wish, share the gcode and z-axis height with me.

Thanks for the offer but I cleaned the bed already and restarted the print from scratch

I know that the machine can recover from powerloss but I just don’t get why it shouldn’t be possible for the printing software to do the same.
The machine and PC are in constant exchange about status and commands - if the software is closed mid-print for whatever reason, why is it not able to store that point?

I’m a developer myself so I know that it’s definitely possible to run code before an application quits. If I would be working on luban, I’d first off make it store each gcode file from the current session into a temp folder so that if the software is closed and later reopened you can actually restore the workspace, not just the 3D arrangement view

And secondly, when the software is closed and a print is still active, send a command to the printer to pause (so it will turn off nozzle and bed) and write the current command Nr into a json in same temp folder

This way when the app is reopened, and the user selects to continue the previous print you can load the last gcode file(s) and start back at the command Nr you left off

Also your house won’t burn down in your sleep… Just saying

You are absolutely right.
Luban and the Controller FW are open Source, feel free to contribute :wink:

PS. I am no snapmaker Staff, only a user like you.

I’ve just experienced the same issue. Would you be willing to look at my gcode?
Current position = x189.08 y165.78 z25.80

I could help you with this, send me your gcode.


I am wondering that you exactly know the position, why?
The machine will start at this point, are you sure?

Here is the adapted gcode:

ATTENTION: There is no purge move at the beginning because of the risk of collision with the previously printed part. Instead the machine will extrude 50mm of material in the home position.- You have to remove this by hand (Its a bit like power loss recovery, there is no retract move!- Holding the extruded filament in the hand till the extruder comes to print position).

PLEASE be sure you could turn your machine off before something breaks!- I give you no warranty for anything.

Hope you enjoy :wink:

Thank you so much! I’ll let you know if it works.
I got the position from Luban - the machine coordinates when it stopped.

It worked perfectly - thank you so much for your time!
Now I know to never use serial to print!

1 Like

I printed from Luban to Snapmaker 2.0 via WiFi and lost connection mid way.
Can you help me figure out how to resume this job please?
X 165.473
Y 99.908
Z 6.040
I have not moved it from the bed and can measure physically if needed. I think the program coordinates are where it stopped.

And here is the Gcode file @xchrisd

@xchrisd I think it is 12mm height currently on the bed

I will have a look, how much time did the print take till abort?
Printing over wifi is always a bad idea because of sleep mode, wifi interrupt and so on…
Printing from touchscreen is way saver.

Why 6mm and now 12mm height?- This makes no sense…

gcode at your previous X 165.473 Y 99.908 Z 6.040 pos:
SDandMSDcardhold_start at Z6.04mm.gcode (2.5 MB)

gcode at your Z12, begin at the start of the layer:
SDandMSDcardhold_start at Z12.12mm.gcode (1.8 MB)

@bartipoo, i give you no warranty, be prepared to stop the machine anytime from start!
I am no snapmaker staff.
Hope you enjoy!

Good point :slight_smile: @xchrisd
Since I am new with my 3D printer and my caliper I just tripple checked manually. The depth to the bed is 12mm using caliper.
Here is a screenshot from my PC 3dbox.png - Google Drive
The WiFi must have disconnected at a different time to when the job actually quit.
I understand this resume with the new gcode will be at my own risk.
Can you tell me how you do this? What program and process are you using? It would be great to learn this.
Thanks so much!

Hey, have a look here:

I have not read this but i guess there is all information needed.

First, start of the gcode you need to home and preheat your bed and extruder.
Preextrude now like at the beginning of a print, extrude a bit more because we can’t do a skirt.

Now we have to set the extruder to the new value
G92 E3886.14 for example, g92 to set the axis to this value
After this go to the correct position or a new height, you measured 12mm, previous height was 11.92 so the next would prevent from crashing, i took 12,12 (or so, btw, now you see how exact it needs to be?).
Make it slow with F300-600, like
G1 F600 X146.01 Y 156.01 Z12.12

You have to delete the printing lines which are printed before, excluding the preprint moves.

Hope this helps. - If needed i could make a video for you…

1 Like

Watching this with interest. I am very new to this and the reply doesn’t mean a great deal to me but I would really like a video explaining what you are talking about.

I print over USB (serial connection) all the time. After my laptop went to sleep the first time, I changed the settings in the Control Panel to never let the screen go to sleep. The problem went away! It is more convenient to transfer the Gcode to the printer over a wire than using the USB thumb drive.


Any way you can help me i got into 91 hours into 117 hour print flimament broke when it returned was way off my project sits at 81.93mm and the g code is 67641973_22963052 any help would be awesome i dont want to start over if i can help it

Hey, share your gcode, i could modify your code after work today.
If the gcode is bigger than the forum lets you upload you will need to use a sharehoster or googlecloud or something else like wetransfer.

Edit: @Raptor680