This post describes the behavior of an older version of Cura. The explanation of how the nozzle and wall thicknesses work together is still relevant, and useful to know, so I'll leave the post here. The limits on extrusion rate are also still an important factor to bear in mind when setting up a print. However, the specific bug that I document regarding the positioning of extrusion lines has been fixed since Cura 13.04 (and versions from 13.05 onwards use a totally different slicing engine).
Lately I've been looking at the nuts and bolts of gcode quite a lot, as I've been helping people troubleshoot prints, and get new printers working. One of the things I've done is set up a spreadsheet that reads a gcode file, and works out the distance that the head is moving, and the amount of plastic being extruded, and then compares that to what we would expect, based on the layer height, and extrusion width. This was what led me to realize that Cura does something slightly odd, if the wall width isn't an exact multiple of the nozzle size. And in fact,I realized today that what it does isn't just odd, but in fact, wrong. (And to be clear, I'm talking about the current behavior, as of Cura 13.03, which still uses Skeinforge as the underlying slicer). Normally, for a standard Ultimaker printer, you would set the nozzle size to 0.4mm - the size of the physical hole in the nozzle. And then you also set a wall thickness that is a multiple of that. For instance, with a 0.8mm wall thickness, you get two loops around the perimeter of the object you are printing on each layer. Each loop lays down a bead 0.4mm wide, the natural width of the bead of plastic that squirts out of the nozzle, for a combined width of 0.8mm.
The edge caseWhat is not well documented, or generally understood, is what happens if you specify a wall width that isn't an exact multiple of the nozzle size (although the tooltips on the fields in Cura do give some information if you try to put in wildly incorrect values). What happens is that Cura changes things behind the scenes. For the most part, what happens is that Cura changes the effective nozzle size setting, such that the wall size remains and exact multiple of the nozzle size, provided that the nozzle size doesn't increase by more than 50% of its stated 'true' width. If it would go over 50% of its size, then instead Cura acts as if the nozzle is smaller than its true width, and plans on making multiple loops to make the walls. For instance, assume that the nozzle is given as 0.4mm wide. These are some of the combinations that Cura will give you:
- If you ask for a wall of 0.4mm, that is what you get - a single loop, 0.4mm wide;
- If you ask for a wall of 0.8mm, then you get two loops, each 0.4mm wide;
- If you ask for a wall of 0.6mm, then Cura assumes a nozzle width of 0.6mm, and gives you a single loop, 0.6mm wide as the perimeter of your object;
- If you ask for a wall of 0.7mm, then Cura decides that's too wide to do with a single loop for a 0.4mm nozzle. Instead, it acts as if your nozzle is 0.35 mm wide, and gives you two loops of that thickness to make up the 0.7mm.