Dimensional accuracy

Hey all, I’m having fun getting started with printing but I’m hoping to get some help with an issue. Here some details followed by three questions.

I modeled a 10mm x 10mm x 10mm cube in OpenSCAD to test print accuracy. When I load it into slic3r, it shows the
size is correct 10.00 x 10.00 x 10.00.

My layer height is set to 0.27, first layer height is 0.35.

When I load the exported gcode into printrun, the log says “the print goes from 0.350000 mm to 10.070000 mm in Z
and is 9.720000 mm high
” and that it will be 37 layers.

Looking at the gcode where the initial Z position is set to 0.35, I’m assuming that the ‘first layer height’ is the height above the bed that the extruder is when it begins extrusion. This means the final Z position for the last layer is 10.07 (observed in the gcode).

Based on that, I would expect the model to be approximately 10.07mm high, despite what printrun reports in the log. However, having printed the object twice, I am getting an average height of about 9.7mm.

I’ve noticed that in general some prints flare out a tiny bit at the base, where it sits on the bed. It’s as if it has squished a tiny bit. Obviously this is affecting overall height a little.

Question 1 - Is this flaring a bed/hot end temp problem that I just need to dial in through experimentation or is there some other known configuration to help combat this?

Question 2 - If not the flaring, what am I missing about the configuration/slicing/printing process that leads to this height inaccuracy?

As for X/Y dimensions, my 10mm cube is coming out 10.5 to 10.6mm in the X and Y axis.
My cube has a 5mm diameter hole centered at the top. Measured, it comes out around 4.2mm.

Question 3 - When trying to make things with small precise sections, how do you normally deal with horizontal inaccuracy?

I was trying to make some clips for my T-slot bars, slotted knobs for some electronics, and other things where dimensions get down to the mm and was constantly fighting the dimensional variances.

Answer 1 It’s not likely a temperature issue, although the plastic does shrink a little when it cools. The flare is caused by not enough clearance between the nozzle tip and the bed for the first layer. It can also be causes if there is an unusually large amount of hysteresis/slop in the z axis. If this happens, the first few layers will be printed in the same plane and will tend to flare out more than usual. If you can measure the hysteresis (how far you can turn the z steppers before the z axis actually changes direction), then you can add a few lines of code to get rid of it on the first layer.

Answer 2 It’s never a bad idea to use the lulzbot-provided configs if you aren’t already. When you load the config you can see the settings in slic3r and compare them to what you were using, if you were using something else.

Answer 3 It is possible to alter the dimensions of the CAD model to make the final result closer to the desired dimensions. I’ve seen a tendency (and so have you, it seems) for holes to be undersized and pegs to be oversized. If you make the CAD dimensions for your test cube 7.5mm x 6mm with a 5.4 mm hole, then you might see final part dimensions closer to 10mmx10mm with a 5mm hole.

You could also use a smaller nozzle, as that can help resolve smaller features.

Using the “emulate extrusion width” option in gcode.ws might help shed some light on the issue. If you notice your extrusion widths are too wide, try changing the perimeter extrusion width in slic3r under the advanced print settings.


I have been using my Taz 4 for a day and gave found a 6mm spigot come out at 6.12 and a 12mm hole come out at 11.64. Is it a percentage thing? i.e., do you make holes x% bigger and shafts x% smaller? Or do you just add .4 for holes and take .2 off shafts?

In that case, make the spigot 5.88mm and the hole 12.36mm in your drawing’s dimensions.

Depending on how much designing and printing you do, you might be able to save time by printing out a few calibration .stl’s, measuring them, and then creating a table that can be referenced when dimensioning.