The illusion of speed

A common concern for anybody getting into 3D printing is the amount of time a print takes. Too often, this is interpreted as something that can be fixed by tweaking the speed settings in one’s slicer. Unfortunately, this can prove disappointing on several levels. I’m going to channel the Dude a bit for this one because it gets into some topics that might not be immediately obvious. If you like your paradigms shifted, you might like this. Apologies for my sense of humor…

Note

These notes apply to the Prusa i3 Mk3 printer. If you are using a different printer, please verify the hardware details are same. These pages may be a bit rough as I revise them and add new material. Please check back regularly for updates.

Speed is an illusion, man! That’s all just about how fast you move from point A to point B. We’re living in a 3D reality! What makes the difference in actual print times is the amount of plastic laid down as you make that move. That’s measured in cubic mm per sec ( mm3/s). The more plastic you lay down, the sooner the print finishes. The E3D V6 hotend used on the Prusa printers can process (heat and move) approximately 11.5 mm3/s. (It’s advertised as 15 mm3/s, but reality puts it lower. Bummer.) Heat increases throughput slightly, but at the cost of other issues. Thus your upper limit of filament shoved through the hotend should not exceed roughly 11.5 mm3/s. If you do exceed this limit, you may encounter extruder clicks and skips, and very possibly jams as filament is not fully melted before you attempt to shove it through that tiny nozzle opening. This can contribute to extruder motor and feed heat.

The volumetric rate is calculated as Layer Height X Extrusion Width X Speed. Working backwards, we can calculate our maximum speed as 11.5 / (Layer Height X Extrusion Width) = speed. This means that our maximum linear speed goes down as we use a larger nozzle. But get this, man… You rarely print at your maximum speed anyhow. Those “speed” settings are only for maximum linear speeds moving from one point to another. The actual amount of time it takes to get up to those speeds is determined by acceleration and jerk settings. The Prusa hardware has a maximum speed of something like 200mm/s. There’s also a throttle in the form of max volumetric speeds (MVS) on your filament settings. On smaller prints, you may never approach your set speeds.

Here are the speeds we can use in order to maintain a MVS of < 11.5 mm3/s:

  • Using a 0.25mm nozzle with a 0.30mm extrusion width (120%), you can print up to 200mm/s (printer max) at 0.15mm layer height, and 191mm/s at 0.20mm layer height.
  • Using a 0.40mm nozzle with a 0.48mm extrusion width, you can print up to 159mm/s at 0.15mm layer height, and 119mm/s at 0.20mm layer height.
  • Using a 0.60mm nozzle with a 0.72mm extrusion width, you can print up to 106mm/s at 0.15mm layer height, and 79mm/s at 0.20mm layer height.
  • Using a 0.80mm nozzle with a 0.96mm extrusion width, you can print up to 79mm/s at 0.15mm layer height (below the 25% recommended minimum) and 59mm/s at 0.20mm layer height.

At first glance, larger nozzles suck man. They’re so slow. But think about it: For every mm a larger nozzle moves, it’s pushing through several times the amount of filament as a smaller nozzle at the same linear speed [1]. Keep in mind, on smaller prints, you’re not going to be moving at your maximum speeds for most of the print. If our average speed is closer to 50mm/s, the larger nozzle has a real edge:

  • Using a 0.40mm nozzle at 0.48mm extrusion width and 0.20mm layer height at 50mm/s: .48 X .2 X 50 = 4.8 mm3/s
  • Using a 0.80mm nozzle at 0.96mm extrusion width and 0.20mm layer height at 50mm/s: .96 X .2 X 50 = 9.6 mm3/s

While our 0.80mm nozzle is limited to linear speeds that are roughly half those of the 0.40mm nozzle, it can lay down twice as much plastic in the same amount of time. Even if we constrain the larger nozzle to half the speed of the smaller nozzle, it will move just as much plastic:

  • Using a 0.40mm nozzle at 0.48mm extrusion width and 0.20mm layer height at 100mm/s: .48 X .2 X 100 = 9.6 mm3/s
  • Using a 0.80mm nozzle at 0.96mm extrusion width and 0.20mm layer height at 50mm/s: .96 X .2 X 50 = 9.6 mm3/s

If we don’t constrain the larger nozzle to the same layer heights and extrusion widths as the smaller nozzle, it really comes into its own. Here are the results of using both nozzle sizes as their maximum settings (rounding speeds down to the closest mm/s):

  • Using a 0.40mm nozzle at 0.48mm extrusion width and 0.32mm layer height at 74mm/s: .48 X .32 X 74 = 11.36 mm3/s
  • Using a 0.80mm nozzle at 0.96mm extrusion width and 0.64mm layer height at 18mm/s: .96 X .64 X 18 = 11.06 mm3/s

So if we max out all of the settings, the larger nozzle puts out the same amount of plastic moving at half the speed. No real gain, right? But wait a minute, man. The larger nozzle has just put down extrusions that are twice as wide. You can produce a much stronger part, or completely eliminate the need for an extra perimeter wall! Your smaller nozzle moving twice as fast is going to take longer than a larger nozzle printing the same wall thickness.

Let’s check out some real-world examples. This is a good exercise in using the Preview function in Slic3r Prusa Edition to fine tune your print selections before committing to a long print. Let’s start with a typical functional print. In this case, we’re printing 8 GoPro extension arms using PLA.

First, we’ll slice using typical 0.40mm nozzle parameters:

0.40mm Nozzle Print Times

Fig. 37 0.40mm Nozzle Print Times

Notice that print time of nearly 11 hours. Next, let’s slice that same print using typical 0.80mm nozzle parameters:

0.80mm Nozzle Print Times

Fig. 38 0.80mm Nozzle Print Times

Notice that our print time is now below 8 hours. Of course, slicer estimates are rarely spot-on, but you can expect to see proportional gains. Just for fun, let’s slice the same print using a 1.00mm nozzle:

1.00mm Nozzle Print Times

Fig. 39 1.00mm Nozzle Print Times

Whoa. Print time drops to just below 7 hours. That’s not even the best part. Check out what our 0.40mm nozzle produces on the inside:

0.40mm nozzle features

Fig. 40 0.40mm nozzle features

OK, yeah, it looks nice enough. We’ve got our 20% infill and our 2 perimeters. Now look inside the same print with a 0.60mm nozzle:

0.80mm nozzle features

Fig. 41 0.80mm nozzle features

Talk about a functional part! Our 2 perimeters are thick and strong. Our infill is rock solid. Those wimpy 2 perimeters are filled in on the long hollow spans providing significantly more strength. Now let’s amp this baby up with a 1.00mm nozzle:

1.00mm nozzle features

Fig. 42 1.00mm nozzle features

5 hours less print time. Significantly stronger parts. All on a stock Prusa i3 Mk3 with zero modifications. End of discussion. Why would you use a nozzle any smaller than you absolutely have to?

Theory is great, but let’s look at some actual print results. Here’s an open-top cube showing the internals of our print using a 0.40mm nozzle:

0.40mm nozzle print results

Fig. 43 0.40mm nozzle print results

And here’s the same cube printed with the same parameters using a 0.80mm nozzle:

0.80mm nozzle print results

Fig. 44 0.80mm nozzle print results

You can also use thicker layer heights, which will further improve print times, though at the expense of vertical finish quality. You can use wider extrusion widths which will greatly improve part strength. You can really see this come into play when printing in vase mode with one single extrusion making up the entire part. Here’s a print using a 0.40mm nozzle in vase mode at maximum extrusion width (120% = 0.48mm) and layer height (80% = 0.32mm):

0.40mm Nozzle vase mode

Fig. 45 0.40mm Nozzle vase mode

And here’s the same print done with a 0.80mm nozzle in vase mode at maximum extrusion width (120% = 0.96mm) and layer height (80% = 0.64mm):

0.80mm Nozzle vase mode

Fig. 46 0.80mm Nozzle vase mode

The walls are twice as thick and it prints in about 2/3 of the time.

Try firing up Slic3rPE, slicing your typical models and saving the gcode file. Then spend some time in preview mode. Check out the speed and volumetric flow rate view settings. See just how often you hit maximum speeds on your typical prints. Notice that speeds will always be limited by the lower of the max volumetric speed set for either the filament or the printer. Try the same with different filaments and nozzle sizes. You’ll see that spinning that front knob up to higher speeds doesn’t really do anything beyond a certain point. If you’re not using Slic3rPE, you may be able to set speed settings that are far too high for the hardware’s capacity. You can go slower, but you can only go so fast! It’s pretty far out. Let’s take a look at what’s going on inside:

Let’s look at the actual speeds being produced when printing with a 0.40mm nozzle:

0.40mm Nozzle Speeds

Fig. 47 0.40mm Nozzle Speeds

While we’ve got our infill speed set to 180mm/s, we’re never actually hitting that speed. Our perimeter speeds are a fraction of that (per our settings), but even infill is printing somewhere nearer 150mm/s. The reason for this is a combination of time required to come up to full speed due to acceleration and jerk settings, and most of all, MVS:

0.40mm Nozzle MVS

Fig. 48 0.40mm Nozzle MVS

Speeds are being throttled to maintain our MVS setting (11.5 mm3/s) on infill. Now compare to our 0.80mm nozzle results:

0.80mm Nozzle Speeds

Fig. 49 0.80mm Nozzle Speeds

Speeds have dropped off, but we’re spending a lot less time printing narrow perimeters. Every pass lays down twice as much plastic, which reduces lines to be printed. Printing a line faster will never be faster than 0! You can really see the effect when viewing MVS:

0.80mm Nozzle MVS

Fig. 50 0.80mm Nozzle MVS

Much fewer lines, and proportionally a lot more time extruding at maximum.

In slicers like Slic3rPE and KISSlicer that allow using max volumetric speeds, MVS is the easiest setting to change. In other slicers, you have to reverse-engineer the speeds to use based on your extrusion width and layer height.

If you really want to go down the rabbit hole, consider how this impacts prints when you use software that can use adaptive layer heights such as Cura and KISSlicer. Layers between 0.05 and 0.48mm could be used in the same print. It’s pretty trippy, man. Far out stuff.

Why else does nozzle size matter? The Prusa PLA preset has the max volumetric speed (under Advanced) set to 15 mm3/s. Prusa’s preset for PETG is 8 mm3/s. The E3D V6 limit is generally considered around 11.5 mm3/s. Read through many of the posts on extruder problems and you’ll see many in which PLA is a problem, but PETG works well. Think about it!

Getting your nozzles right really ties the printer together.

I’ve put more notes on nozzle sizes and their impact on print times here.

Footnotes

[1]The Square–Cube Law

Contact and feedback

You can find me on the Prusa forums or Reddit where I lurk in many of the 3D printing-related subreddits.

Last updated on Nov 01, 2018