What to Do If You Run Out of Filament Mid-Print

Posted on
3D Insider is ad supported and earns money from clicks, commissions from sales, and other ways.

It’s not uncommon for a 3D printing project to take up to 12 hours (or more) to finish. For this reason, it’s virtually impossible for you to keep watch over a 3D printing project for the entire time that it is running.

This can be worrying considering how many things can go wrong during 3D printing. One potential problem is running out of filament in the middle of the project. What can you do should this happen? Can a project still be saved if you run out of filament mid-print?

Saving a print that runs out of filament


The worst-case scenario is that your spool runs out of filament without you noticing. If your 3D printer does not have a filament run-out sensor, then the project will proceed as if it was still printing with filament. This means that the nozzle will continue to move around and that the print head will continue to move up.

When this happens, continuing the print using the same G-Code file is no longer an option. It’s also too late to hit “Pause” on your slicer so that you can feed new filament into the system. You will have to be a bit more creative to solve this problem.

Take a ruler and measure the height of your partially finished print. Now go to your slicer software and open the original 3D model you used for the project. Using the measurements you took, you will need to “bury” a portion of the model. This will instruct the slicer to generate a G-Code using only the portion of the model that has not been printed yet.

Unfortunately, laying down the new model on the unfinished one on your print bed would be a very unreliable course of action. You can try this out by adjusting the z-offset of your printer, but there’s a good chance that your layers would not be perfectly aligned.

The most prudent approach is to start anew for the “balance” of your model. Print it on a clean print bed, as if you were printing an entirely new model. Once you’re done the two pieces of your model can be put together using glue. This is, after all, a common technique in 3D printing.

To make the finished product as seamless as possible, it would be best to sand and polish the surface of the print. Any visible gaps are best repaired using thick glue or a space-filling epoxy solution. Finally, apply a layer of paint to your finished print to perfectly render the seam between the two parts invisible.

What to do if your filament is about to run out

If you have the chance to intervene before your filament runs out, then you have a much smaller problem on hand. Most 3D printers have a provision for swapping in new filament simply by pausing the current job. This will bring back the print head to the home position so that you can pull out the leftover filament and replace it with filament from another spool.

Once the print head has stopped moving, simply pull the extruder lever, pull out the leftover filament, and feed in the new filament. Continuing the project should move the print head right where it left off without any manual intervention from you. This method is a lot easier to do if your 3D printer has a direct extruder.

This method of pausing the print and swapping in new filament can even be done deliberately to make a print out of multiple filament colors. If you know how to edit a G-Code, you can program it to automatically pause at a specific height or layer count. This will give you the chance to swap in a filament of another color. This is one of the more common ways to make multicolor prints even if your 3D printer only has a single extruder.

Use a filament run-out sensor


A worry-free option is to use a 3D printer that comes with a filament run-out sensor. If your 3D printer does not have one, you can also buy a third-party sensor that can interface with the board of your 3D printer.

A filament run-out sensor is installed right before the feeder gear. This is a fairly simple sensor that can detect if there is no more filament running through its PTFE tube. This signal is then relayed to the controller board to tell the 3D printer to pause printing. This gives ample time for you to swap out a fresh spool of filament.

Since the sensor is installed at the feeder gear, it stops the 3D printer at a point where it’s still extruding some filament. As long as you act fast, you should be able to pick up where you left off.

Measuring your leftover filament

If printing with filament that you know will run out is causing you anxiety, then the best precautionary measure is to make sure that it does not run out at all. The good news is that you don’t need any fancy equipment or sensor to do this. All you will need is a digital weighing scale.

When you load a model into a slicer, it will typically give you an estimate of how much filament would be needed to 3D print the model. The problem is that the estimate is usually given in terms of the length of the filament. The length of filament in that leftover spool may not be information that is immediately available to you, but we can deduce it through simple math.

The first piece of information you will need is the weight of the empty spool of your filament. This is either printed on the spool itself or indicated on the manufacturer’s website. If this isn’t immediately available, then get in touch with the manufacturer of your filament – they should be able to give you a number.

The next step is to weigh your partially consumed spool of filament. Subtract the weight of the remaining filament. From here on, we will have to make a few calculations. We will assume that your leftover filament weighs 250 grams and that you are printing with a 1.75-mm ABS filament.

W, weight of the filament = 250 grams
D, diameter of the filament = 1.75 mm OR 0.175 cm
P, density of the filament = 1.04 g / cm3 (ABS)
A, filament cross-section area = 3.14 * (D/2)2
= 3.14 * (0.175 cm / 2 )2
= 0.02404 cm2
V, volume of filament = W / P
= 250 grams / 1.04 grams / cm3
= 240.38 cm3
L, length of filament = V / A
= 240.38 cm3 / 0.02404 cm2
= 9,999 cm OR 99 meters

This means that a spool of 1.75 mm ABS filament that weighs 250 grams will have a length of about 99 meters. This method assumes a few things that may not be completely accurate, such as the weight of the empty spool or that the filament has a constant diameter throughout its length.

Just to be safe, leave a 10 to 20 percent buffer between the length that your project needs and the actual length of the filament. If you are estimating that you have about 99 meters of filament left, then make sure that your model requires less than 90 meters.

Final thoughts

Running out of filament in the middle of a print is something that you will inevitably encounter while 3D printing. The best measure is to prevent it from happening in the first place, whether by calculating the length of leftover filament in your spool or to use a run-out sensor.

However, don’t fret if your 3D printing project runs out of filament mid-print. Even if the nozzle has moved far away from your partially finished print, there’s still a way to salvage it through creative post-processing.

Warning; 3D printers should never be left unattended. They can pose a firesafety hazard.