I calibrated my printers using "calibration cubes" and have had pretty decent results.

I calibrated my printers using “calibration cubes” and have had pretty decent results. The only problem I have is that when printing with ABS, the inner parts/holes are smaller than desired dimensions. Is there any way to overcome this?
The test part was a 25x25x25 cube with a 16mm hole in center. the x, y and z measurements were perfect but the inner hole is 0.8mm out.

I have the same problem with inner circular holes. Square holes seem to come out ok. I cant figure out why it does this. In my case the size error is proportional to the size of the hole. There is probably a better way (i would love to know it) but my solution has been to compensate the difference when designing the model. If a 16mm hole becomes 15.2mm then try a correction of 1.05 or +5 percent (15.2 / 16 is 95%). Make another test cube with a different sized hole and see if it prints at 95% the intended size. I hate that I have to hack in my model designs but at least it’s a constant correction factor. It’s not perfect but it gets it pretty close anyway. I’m very interested in hearing of any solutions. Good luck.

I also compensate with my models, The problem I have is I plan on printing someone else’s design and would like to be sure its going to be right before printing.

Yep I know exactly what you mean. I would like to think it’s a slicing issue. Like maybe the circle is drawn to the hole size and the extrusion width is applied to the inside or even centered on the circumference. But since no one else seems to have this problem I’ve stuck with “it must be my printer”.

Thanks @Brian_Gudauskas . That post at least clarifies that my calibration settings are OK(ish).

You’re not alone, brother. raises a candle

To some extent this is due to thermal contraction of plastics. There is an extensive amount of work that goes into injection molded parts to ensure that they come out within tolerated dimensions and with reasonable flatness. There is a piece of software for simulating injection molding called MoldFlow. Once a simulation is run MoldFlow can generate a part that represents what size the tool needs to be in order to get the as-designed dimensions once it has cooled.

This could also have to do with STL resolution. If the triangles that make up the hole are not small enough the hole will get smaller. In extreme cases, a round hole could become a hexagon or octagon.

The other thing to consider is clearance fits. No well designed object is ever modeled with line to line fits between components and tolerance stacks are important to keep in mind. Commercial 3D printers advertise holding +/-.005". I wouldn’t expect a DIY machine to do better especially when you factor in changes in filament diameter and shape.

For me the problem was the slicer. The one I use, (Slic3r) is known by it’s users for inaccurate sizes, but it’s the most usable with continuous support so people keep using it. It’s perfectly fine for art pieces though.

OH another possibility is over-extrusion. That causes your lines to become too wide, thus inner hole diameters will be smaller. I was able to change errors from .7-.5mm errors to .5-.3mm errors by fine-tuning my extruder steps.