How to Fix 3D Print Resume – Power Outages & Recover Failed Print


There are many situations where you experience a power outage or want to pause your 3D prints. I’ve gone through it myself, so I wanted to find out information about pausing 3D prints, resuming failed ones, and using OctoPrint.

You can fix a 3D print that failed midway by identifying the layer where it failed, then editing the G-Code file to start back at the failed layer. 3D printers with the power resume function can start at the last known break point and continue the print by itself.

Keep reading on for more details about resuming your 3D prints and how to make sure you are successful in doing it.

Can You Pause a 3D Print?

The answer is yes; you can pause a 3D print. The majority of the printers in the market today come with the Power-loss Recovery feature.

When you have this feature in your 3D printer and there is a power cut off, you can resume the print layer after a prompt when you turn the printer back on. Make sure that your SD card is initialized by the printer to get the option to resume the print.

However, one thing you should be keen about is that you have to ensure that the part remains attached to the plate. If it comes loose at any point, resuming the printing process becomes a challenge.

You could possibly try to use some kind of adhesive to get the model to stick to the bed again, but you’d have to be very precise, mixed with a little luck!

Pausing your 3D prints is not something I would advise you do on a regular basis and avoiding it would be the best option if you can.

When you pause prints for a considerable amount of time, the printed model will shrink and may end up shrinking during the pause. ABS has a significant rate of shrinkage compared to PLA and PETG.

If you are using a glass bed, you might actually have your 3D print “pop” off the bed after cooling, so you’d want to keep the bed temperature constant.

That’s not all; upon resumption of the printing process, the bonds between the layers of the new and the old art may be weaker.

Unless you aim to induce planned breaking layers, you would want to avoid pausing during 3D printing. Pausing your print then allowing everything to cool down during the pause will result in loss of adhesion of your print, possibly leading to failed prints.

 How Do You Resume/Restart a 3D Printer After a Power Loss?

3D printer power outages can interrupt the printing process. It’s a normal occurrence from time to time depending on your location, so there’s no need to fear. You’ll still be able to recover and continue printing after you resolve the power issue.

Usually, you can simply turn your 3D printer on after a power loss, and it will ask whether you want to resume printing from the last breakpoint.

If for some reason your 3D printer doesn’t catch the breakpoint or the restart doesn’t go so successfully, we can still improvise.

The trick lies in knowing the particular slice that a print failed on after the power outage.

After identifying the particular print layer where the print stopped, use a 3D program to split the section that didn’t print and use that as a second piece to print.

You can then sand both the first and second piece for a smooth surface and glue the piece back together.

The process is as follows:

  • Remove the already printed part and measure it from the base in mm after the power loss.
  • Split the original print in the area of failure.
  • Print the upper part.
  • Sand and glue both parts to get what you intended before the power outage.

Resuming or restarting the print process because of a power outage is cumbersome and inconveniencing. Getting an uninterruptible power supply or UPS can help avoid this problem.

A UPS can conserve your printers’ power during outages, thus enabling you to continue working uninterrupted.

It’s going to give you some extra time to either pause the print manually and list down the co-ordinates, so you can continue from that last point, or if you have a powerful enough UPS, continue the print until it’s finished.

The Tripp Lite 1500VA 900W UPS Battery Back Up from Amazon is a good choice for power outage protection. One user mentioned how he had a power surge on a very long print, and because he had this plugged into his 3D printer, the print continued.

One person who gets storms in southern Florida has many power surges and interruptions which causes their 3D printer to stop. This helps out a lot.

The Taz 5 3D printer managed to run for 20-25 minutes after a power outage with this device.

 

How to Resume a 3D Print from a Failed Layer

If you’ve found yourself in a position where your 3D print has failed at a certain layer, many hours into the printing process, you are not alone. This has happened to many people, but luckily there is a way you can actually resume the print from a failed layer.

This involves going into the G-Code file, editing it to start from the last layer while making sure your nozzle is primed just before resuming the print again.

Check out the video below for a good walkthrough, but it is a little dated! It still gives you a good idea of how the process goes with the G-Code file edit, as well as how to roughly find what layer you were at.

This is mostly possible when your print is still firmly on the print bed and there are no significant changes such as skipped steps, or long lines of extruded filament around your failed print.

To resume 3D printing from a failed layer we first need to identify which layer we actually failed at. A great way to do this is by moving the Z-axis to the side where it won’t hit the print then homing it to Z=0.

Now you want to start raising the print head through your 3D printer or through commands on software to raise the print head up right at the top of where the print failed. You can then calculate or note down where the Z-height is.

Another way to identify where the print failed is to measure it yourself from the bottom of the print bed up to where the print failed. You can use measuring tape or calipers to do this.

Some people also identify the layer height by gauging the 3D model itself and having the model in Cura where they can mimic exactly where the print failed.

When we have the Z-height, we want to find the G-Code file that we sliced and open it up with a text editor like Notepad++, then right-clicking the G-Code file and hovering over the “Open With” section.

Resuming 3D Prints From Failed Layer in Cura

Now do CTRL + f to find where the layer height is specifically in the file. If you had a Z-height of 13.4mm, then search for z13.4. You can also search by layer (LAYER:44) in the G-Code.

How to Fix 3D Print Resume - Finding Correct Layer in G-Code - 3D Printerly

Once you are at the correct layer in your G-Code, you should go on the line above that “LAYER” and click beside the end of that line, so we can get ready to delete the relevant lines above.

How to Fix 3D Print Resume - Deleting Previous Layers - 3D Printerly

Scroll using the scroll bar on the side all the way up to the top, hold SHIFT + Left Click at the end of the LAYER COUNT line to highlight everything between where we first clicked, and this new section then hit backspace or delete.

How to Fix 3D Print Resume - Deleting Previous Layers 1 - 3D Printerly

Raise your print head above where the failed layer is, so it doesn’t bump into the print while moving to the new location. This is done by changing the G1 Z value to something higher than the relevant Z-height.

At layer 44, with a layer height of 0.2mm, that would mean I need to have a Z-height higher than 9mm (44 * 0.2mm + an extra layer).

How to Fix 3D Print Resume - Setting High Z-Height - 3D Printerly

You also want to add an M106 S100 command into the G-Code just below the LAYER COUNT line to turn the fan on, because the fan doesn’t usually turn on until after the first few layers.

How to Fix 3D Print Resume - M106 Fan Command - 3D Printerly

Find the extruder axis value in the G-Code lines below where your layer starts given by the E value.

How to Fix 3D Print Resume - Set Extruder Axis - 3D Printerly

Now you can save this updated G-Code, start the print as normal, and it should continue at the layer where the print failed.

Resuming 3D Prints From Failed Layer in Simplify3D

For Simplify3D, there is actually a “start printing from height” feature that makes life a lot easier. You can find this by going to Edit Process Settings > Advanced > Layer Modifications, then setting the height which we found above.

  1. Locate the layer height that you want to resume from and delete the previous G-Code before that layer
  2. Ensure you correctly set your printing temperature and bed temperature
  3. Save the new G-Code file and start the print

Another video that is more up to date is one by Santube 3D:

How to Pause & Resume 3D Prints with OctoPrint

Say you are using your OctoPrint, and you realize you have to attend to something urgent during the process; what do you do? Is it possible for you to pause and resume your 3D prints successfully with OctoPrint?

There is a simple pause function within OctoPrint which will stop a current 3D print, but resuming the print takes some extra commands since the nozzle won’t automatically be in the ideal position.

If you are pausing to change your filament, it’s important to move the print head away from the model since the nozzle will stay pause where it was.

To successfully resume your printing from a paused 3D print in OctoPrint, you need to go into G-Code Scripts which you’ll find by clicking the wrench symbol.

Now look at the “After print job is paused” section and enter the following:

{% if pause_position.x is not none %}
; relative XYZE
G91
M83

; retract filament of 0.8 mm up, move Z slightly upwards and
G1 Z+5 E-0.8 F4500

; absolute XYZE
M82
G90

; move to a safe rest position, adjust as necessary
G1 X0 Y0
{% endif %}

Then in the “Before print job is resumed section, enter:

{% if pause_position.x is not none %}
; relative extruder
M83

; prime nozzle
G1 E-0.8 F4500
G1 E0.8 F4500
G1 E0.8 F4500

; absolute E
M82

; absolute XYZ
G90

; reset E
G92 E{{ pause_position.e }}

; WARNING!!! – use M83 or M82(exruder absolute mode) according what your slicer generates
M83 ; extruder relative mode

; move back to pause position XYZ
G1 X{{ pause_position.x }} Y{{ pause_position.y }} Z{{ pause_position.z }} F4500

; reset to feed rate before pause if available
{% if pause_position.f is not none %}G1 F{{ pause_position.f }}{% endif %}
{% endif %}

If you are using Cura or Simplify3D, you can successfully use M82 in the “Before print is resumed section”, but if you are using another slicer like Slic3r, you may have to use M83 instead. This depends on how G-Code is generated within the slicer.

One user found better luck by setting the park position of the extruder to something like 5,5 rather than 0,0. It works better if you rely on mechanical endstops because there is a slight variation on triggering.

When your printer relies on your endstops to park at the 0,0 mark, you might get some layer shifts on resume. So try to park with a software stop slightly away from your actual endstop position for better resume success.

Recent Posts