7
$\begingroup$

Is 3D printing progress (the one you check on the display of a 3D printer) linear or not?

By linear I mean that equal differences in percentual progress will take the same clock time.

$\endgroup$
3
  • 6
    $\begingroup$ Depends on the printer. Probably usually not. Programmers are very lazy (source: am programmer.) It's harder to make the progress bar properly linear, so most of them won't bother. $\endgroup$ Jun 5 at 16:56
  • $\begingroup$ On some printers it's just percentage of layers printed. So if your part has wide portion on the bottom and thin on top, the progress will be very non-linear. $\endgroup$
    – floppydisk
    Jun 7 at 12:21
  • $\begingroup$ Or sometimes it's a percentage of the instructions in the source file that have been run. Of course, they don't all take the same amount of time... $\endgroup$ Jun 7 at 14:36

4 Answers 4

11
$\begingroup$

There are lots of ways in which one could interpret this question, but in pretty much all senses I would say no, the progress is not "linear", unless you're talking about a progress bar whose values were computed based on a detailed computation to predict times.

Progress is not linear because different moves the printer makes take different amounts of time. Some may be performed fast, others slow. Even if you requested everything (travel, perimeters, infill, solid fill, etc.) to take place at the same speed, they would still take different amounts of time, because physics. Just like your car doesn't immediately start and stay at 65 MPH just because the highway speed limit is 65, the printer does not immediately start and stay at the requested speed. It has to speed up and slow down gradually (accelerate/decelerate), both from stops and when entering/leaving curves.

As a result, portions of the print with lots of detail take a lot longer than portions with mostly long, straight or almost-straight lines.

On top of that, for the print process itself to look "perceptually linear", you'd need a similar amount of time to be spent in each layer. However, some layers take a lot more time just by virtue of the amount of material in the, even if detail weren't an issue.

$\endgroup$
3
  • 1
    $\begingroup$ Thank you for the answer. It clarified the issue for me, my experience with my printer was not sufficient to tell either way and it felt silly to run a print just to find out. I guess I don't really understand what the progress bar measures exactly. Anyway, now it makes more sense why it seems to be stuck in a certain percentage for a long time. $\endgroup$ Jun 5 at 3:47
  • 2
    $\begingroup$ Funnily enough, "portions of the print with lots of detail" might just make the progress bar progress a lot faster than portions with just straight line since some firmwares use the amount of lines of code to calculate progress and curves have lots of individual segments. So there's really no safe answer without using plugins that calculate the duration on each line / layer. $\endgroup$
    – towe
    Jun 5 at 8:09
  • 2
    $\begingroup$ @DiegoAlves Confession: except for those that were just counting bytes, every progress bar I've ever had to code as a software engineer just spewed out bullshit percentages based on flawed heuristics at best. $\endgroup$
    – Will
    Jun 6 at 1:06
6
$\begingroup$

If you are using a resin DLP 3D printer. (The kind that projects the entire mask in one instance).

Then 3D printing progress is linear (except for the first layers which are cured for longer).

And the depends on the height of your 3D print, not on its complexity.

$\endgroup$
3
$\begingroup$

Short answer: Usually not.

Longer answer: Depends on the printer.

Many consumer grade 3D printers show progress by how many layers are printed in relation to how many layers in total. But some layers take a lot longer than other layers, so it's just an approximation, at best.

Some higher tier 3D printers calculate differently, and as a result the progress indicator is more precise. For example, the current models of Bambu Lab printers are pretty good at showing precise progress on the display. I think most resin printers are fairly accurate as well.

I think that if we look back at this question in 5 years or so, the answer should probably be changed to: "Yes, usually", since printers get better and better each year.

$\endgroup$
0
0
$\begingroup$

I think for all practical purposes, the time can be considered linear, yes.

Sure, there are some differences in print speed depending on the shape of the layer (e.g. ratio of infill, different disconnected surfaces, etc. etc.), but those are all independent of what I believe the real question here is. Assume that one has an object that is very wide at the bottom, but very thin at the top. One could assume that the progressbar is based on the height of the print. In that case, the print would of course not be linear, since the top layers would be printed much faster.

This is not the case, since the percentage is normally calculated on the number of gcode instructions done and to be done. So aside from minor differences in speed of different instructions, it would be near-linear.

The only exception to this would be the heating-up. For most slicers this is not counted into the prediction of time, and is also a very non-linear part of the print.

OP's comment under @R.. GitHub STOP HELPING ICE's answer indicates that this this is the question he really had. The progressbar being stuck for long periods of time cannot be explained by difference in speeds of certain regions in the model.

$\endgroup$
3
  • 5
    $\begingroup$ "Minor differences in speed of different instructions" is where you're wrong. These are major differences. Measuring as % of gcode file size in bytes, which I believe is what Octoprint does, can give you anywhere from "vaguely right" to "horribly wrong" depending on the particular file. If the slicer estimated the times and put LCD update commands in the gcode, it's likely to be closer, but these estimates are usually somewhat wrong too. $\endgroup$ Jun 5 at 13:31
  • 1
    $\begingroup$ @R..GitHubSTOPHELPINGICE "major differences" compared to what? Sure, a layer with lots of fine perimeters and hops and retractions will take a lot longer than a perfect square with only infill. (assuming sensible slicer settings) But are these differences significant, compared to how non-linear the time would be if you assumed the percentage to be an indication of print height? No. They would be near-negligible. That is my perspective in this answer. Which doesn't mean your answer is incorrect. It's just that I'm making the assumption that mine is closer to what OP wanted to know. $\endgroup$
    – Opifex
    Jun 5 at 13:40
  • 4
    $\begingroup$ Yes, they are significant. $\endgroup$ Jun 5 at 15:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .