To achieve true dimensional accuracy is one of those 3D printer issues that is not easy and requires a very well-tuned printer, solid motion systems and flawless mechanics. Here are the key factors to achieving perfect 3D printer tuning:
Design considerations
FFF 3D prints squish layers down, making them slightly wider than the 3D model. So be aware holes will be smaller and external surfaces will be slightly larger on the printed object than the CAD model.
First layer
Squishing your first layer into the bed will have a small impact on accuracy along the Z-axis.
Extrusion multiplier
Over or under-extrusion as well as an improper extrusion multiplier can cause slight dimensional inaccuracies. Get your extrusion dialed in properly. These inaccuracies are usually rather constant, i.e. independent from the size of the printed object.
Steps / mm settings
An increasing dimensional error (increasing with the size of the print) is usually a sign of improper steps/mm settings for your X,Y or Z axes. This can be calibrated and corrected in firmware or the printers menu.
Printer frame
Check the rigidity and proper alignment of your printer frame. If your frame is not true, your prints won’t be either.
A common trend today seems to be, throw more and more sensor and computing power at trying to fix poor frame geometry. No amount of software beats a well setup printer. Make sure your frame is aligned well.