So I want to find a solution. How can I get more accurate print time? I remember the estimates not being THAT bad in Cura...so what's going on? Let's try the other slicers and see.
So in short, the goal: Find out exactly how accurate, or not, each possible slicers time estimates are.
Here's a list of the softwares I've used:
- Cura v.3.2.1
- Slic3r 1.39.1-Beta 1 Prusa Edition
- Simplify 3D v.3.1.1 (Really old, I know, only one I have)
- Repetier Host v.1.6.2
Models were sliced on Cura, slic3r and Simplify, saved as g-code, and Repetier was used to control the printer. However, Repetier also offer a time estimate for the print that is different from the ones in each slicer.
Four models were used.
- Benchy, a standard calibration print that can be found here
- Owl Statue, scaled at 50%, model can be found over there
- Gear Bearing, with 6 planets, found here
- Knurled Bolt + Nut, 30mm length, found at this link
All the prints used the same setting:
- 0.3mm Nozzle
- 0.2mm layer height
- 3 walls, top layers, and bottom layer
- 20% infill
- Hexagonal infil, except for Cura which doesn't have it and used grid instead.
- 60mm/s printing speed
Then, for each slicer-model combination, the printing time estimate has been tabulated in the following table. The columns labelled [SLICER] + Repetier indicates Repetier's print time estimate of the [SLICER]'s g-code.
Now, all that's left is printing. Everything has been printed on the same printer so that is not a factor in comparison.
Then simply substracting the actual printing time from the estimated time shows a better picture of error. An average of the print time errors are then taken, and the standard deviation calculated.
Well, at first sight we would then infer that Slic3r has the lowest error. But absolute error isn't that important. a 50 minutes error on a 10 hour print isn't so bad after all. What we really need to look at is the error as a percentage of the estimate. This will allow us to make predictions of print time in the future.
As you can see, with a 19% print time over the estimate and a standard deviation of 5% (so that 50% of print times would be between 14% and 24% over the estimate) Slic3r is the clear winner in print error.
Now, why is that? And why are they all so wrong?
Now, why is that? And why are they all so wrong?
I'm not interested in looked at the code to see what's what, but we can make guesses.
The main source of error, I suspect, is acceleration. To calculate print time, you need to know the length of all the moves (which the slicer has) and the speed of the print head at all time. So how do you know the speed? Well, you can assume infinite acceleration, which I assume is what Simplify does, but that will give you huge error...because acceleration is far from infinite. On my printer, we're talking 900mm/s<sup>2</sup>. When you have a lot of fast direction change and low acceleration like me, you might never reach your actual print speed during some moves.
What i'm assuming the other slicers do, is assume a large acceleration, but not infinite. Probably something like 3000mm/s<sup>2</sup> (which is the default for ultimaker printers...also makers of Cura...wink wink). Doing the same test with another printer, with more rigidity, that can support more acceleration, would be the only way to find out if my assumptions are correct. But I don't have one, so the exercise will be left to the reader to replicate my experiment.
If you try it, please leave a comment! I'd love to know your printer's acceleration, and how the print time error compares to my test.
The main source of error, I suspect, is acceleration. To calculate print time, you need to know the length of all the moves (which the slicer has) and the speed of the print head at all time. So how do you know the speed? Well, you can assume infinite acceleration, which I assume is what Simplify does, but that will give you huge error...because acceleration is far from infinite. On my printer, we're talking 900mm/s<sup>2</sup>. When you have a lot of fast direction change and low acceleration like me, you might never reach your actual print speed during some moves.
What i'm assuming the other slicers do, is assume a large acceleration, but not infinite. Probably something like 3000mm/s<sup>2</sup> (which is the default for ultimaker printers...also makers of Cura...wink wink). Doing the same test with another printer, with more rigidity, that can support more acceleration, would be the only way to find out if my assumptions are correct. But I don't have one, so the exercise will be left to the reader to replicate my experiment.
If you try it, please leave a comment! I'd love to know your printer's acceleration, and how the print time error compares to my test.