3D printing an STL file can take minutes, hours or days depending on many factors, so I wondered if I could get an estimate of the exact time and know how long my prints will take. In this post I will explain how you can estimate printing times of any STL and the factors that go into it.
How do I estimate the printing time of a 3D print? The best method to estimate how long a print will take is to get access to a slicing software like Cura, upload your design or STL file, put in your slicer settings such as the layer height, nozzle diameter and infill settings then your slicer should show you an estimated print time.
That’s the simple answer but there are definitely details that you’ll want to know which I’ve described below so keep on reading. You can’t estimate the print time of an STL file directly, but it can be done through 3D printing software.
The Simple Way to Estimate Printing Time of an STL File
As already mentioned, you’ll find an estimate directly from your slicer and this is based on the several instructions your printer receives from the STL file’s G-Code. The G-Code is a list of instructions from an STL file that your 3D printer can understand.
The following is a command to linearly move your 3D printer which accounts for up to 95% of G-Code files:
G1 X0 Y0 F2400 ; move to the X=0 Y=0 position on the bed at a speed of 2400 mm/min
G1 Z10 F1200 ; move the Z-axis to Z=10mm at a slower speed of 1200 mm/min
G1 X30 E10 F1800 ; push 10mm of filament into the nozzle while moving to the X=30 position at the same time
This is a command to heat up your printer’s extruder:
M104 S190 T0 ; start heating T0 to 190 degrees Celsius
G28 X0 ; home the X axis while the extruder is still heating
M109 S190 T0 ; wait for T0 to reach 190 degrees before continuing with any other commands
What your slicer will do is analyze all of these G-Codes and based on the number of instructions and other factors such as layer height, nozzle diameter, shells and perimeters, print bed size, acceleration and so on, then estimate a time for how long it will all take. These many slicer settings can be altered and it will have a significant effect on printing time.
Remember, different slicers can give you different results.
Most slicers out there will show you the print time during slicing, but not all of them do. Keep in mind, the time it takes to heat up your printer bed and the hot end won’t be included in this estimated time that is shown in your slicer.
How Slicer Settings can Affect Printing Time
I’ve written a post on How Long it Takes to 3D Print which goes into more detail about this topic but I’ll run through the basics.
There are several settings in your slicer that will affect your printing time:
- Layer Height
- Nozzle Diameter
- Speed Settings
- Acceleration & Jerk Settings
- Retraction Settings
- Print Size/Scaled
- Infill Settings
- Shell – Wall Thickness
Some settings have more of an effect on print times than others. I’d say the biggest time-consuming printer settings are the layer height, print size, and nozzle diameter.
A layer height of 0.1mm compared to 0.2mm will take two times as long.
For example a calibration cube at 0.2mm layer height takes 31 minutes. The same calibration cube at 0.1mm layer height takes 62 minutes on Cura.
The print size of an object increases exponentially, meaning as the object gets bigger the increase in time also increases based on how bigger the object is scaled.
For example, a calibration cube at 100% scale takes 31 minutes. The same calibration cube at 200% scale takes 150 minutes or 2 hours and 30 minutes, and goes from 4g of material to 25g of material according to Cura.
The nozzle diameter will affect the feed rate (how fast material is extruded) so the bigger the nozzle size, the faster the print will be, but you’ll get lower quality.
For example, a calibration cube with a 0.4mm nozzle takes 31 minutes. The same calibration cube with a 0.2mm nozzle takes 65 minutes.
So when you think about it, the comparison between a normal calibration cube and a calibration cube with a layer height of 0.1mm at 200% scale, with a 0.2mm nozzle would be massive and would take you 506 minutes or 8 hours and 26 minutes! (That’s a 1632% difference).
Print Speed Calculator
A unique calculator was put together to aid 3D printer users see how fast their printers could go. It’s called the Print Speed Calculator and it’s an easy to use tool that calculates flow rates with respect to speed based mainly on E3D users but can still gives all users some practical information.
What it does for people is give a general range of how high of a speed you can input on your 3D printer by looking at flow rates. The flow rate simply is the extrusion width, layer height and print speed all calculated into a single score that gives you an estimate of your printer’s speed capabilities.
It gives you a pretty nice guide to knowing how well your printer can handle certain speeds, but results won’t be a precise answer to your questions and other variables such as material and temperature can have an affect on this.
Flow Rate = Extrusion width * layer height * print speed.
How Accurate is the Printing Time Estimate in Slicers?
In the past, printing time estimates had their good days and bad days in how accurate their times were. Recently, slicers have stepped up their game and are starting to give pretty accurate printing times so you can have more belief in what time your slicer is giving you.
Some will even give you filament length, plastic weight and material costs within their estimates and these too are pretty accurate.
If you happened to have the G-code files and no STL file saved, you can input that file into the gCodeViewer and this will give you a variety of measurements and estimates of your file.
With this browser-based G-Code solution, you can:
- Analyze G-Code to give print time, plastic weight, layer height
- Show retracts and restarts
- Show print/move/retraction speeds
- Display partial layers of a print and even animate sequences of layer printing
- Show dual layers simultaneously to check for overhangs
- Adjust line width to simulate prints more precisely
These are estimates for a reason as your 3D printer can behave differently compared to what your slicer projects it will do. Based on historical estimates, Cura does a pretty good job of estimating printing times but other slicers may have wider differences in their accuracy.
Some people report a 10% margin difference in print times with Cura using the Repetier software.
Sometimes certain settings such as the acceleration and jerk settings aren’t taken into account or input incorrectly within a slicer, so printing estimate times vary more than usual. This can be fixed in some cases by editing the delta_wasp.def.json file and filling in your acceleration and jerk settings of your printer.
With some simple tweaking, you can get very accurate slicer time estimates but for the most part your estimates shouldn’t be off by too much either way.
How to Calculate the Weight of a 3D Printed Object
So the same way your slicer gives you an estimate of the printing time, it also estimates the number of grams used for a print. Depending on what settings you are using, it can get relatively heavy.
Settings like infill density, infill pattern, number of shells/walls and size of the print in general are all some of the contributing factors of a print’s weight.
After changing your slicer settings, you slice your new print and should see a weight estimate of your 3D printed object in grams. The great thing about 3D printing is its ability to retain part strength while reducing part weight.
There are engineering studies which show drastic decreases in print weight of around 70% while still keeping a significant amount of strength. This is done by using efficient infill patterns and part orientation to get parts directional strength.
I can imagine this phenomenon will only get better over time with development in the 3D printing field. We are always seeing new technologies and changes to the way we 3D print, so I’m confident we will see improvement.