I printed a 20mm test cube: https://www.thingiverse.com/thing:1278865
and then measured it with a micrometer.
X measures 19.81mm
Y measures 19.78mm
Z meaures 20.09
That last digit varies depending upon where on the cube face that I measure it.
Is this the expected tolerance?
I printed the test cube in PETG with speed 50mm/sec, 230C, layer height 0.1mm, calibrated extrusion width 0.48mm, using a 0.4mm nozzle.
Given that, I don't see how I can do any better on Z. I'm not sure how much shrinkage plays into this for X and Y. Does a slicer typically try to compensate for shrinkage automatically, based on the material, or is that something I'm expected to do myself?
According to Matter Hackers, "PETG has a shrink ratio (or shrink rate) of less than 0.004 in/in", so both X and Y seem to measure out a bit short regardless of shrinkage.