by cvoinescu » Sun Dec 09, 2012 11:42 pm
Two possibilities I can think of: the nozzle squishes the filament as it deposits it; the half of the filament on the inside of the curve gets distributed over a shorter distance, so it spreads out more. That's why the holes end up smaller than expected. The effect is greater on smaller holes and tighter radii. The Stretch operation in Skeinforge deals with exactly this effect (although I can't tell you from experience how effective it is). The nozzle can also drag the freshly extruded filament slightly closer to the center of the circle as it turns, making this effect even more pronounced.
The other possibility is that the X and Y aren't exactly perpendicular to each other. Dimensions along the axes will be correct, but one diagonal will be expanded slightly and one contracted slightly. If you happen to measure your circle along the "short" diagonal, it may appear too small.
Edit: Both of these assume the hole is round. I thought of one more thing that would affect any shape of hole. You got the outer surfaces calibrated perfectly for a given size of the cube. Could you have arrived at that by having a perimeter slightly too wide but compensating by scaling everything down just a little (e.g. slightly fewer steps-per-mm than required)? The tell-tale symptom is if a square 30mm on a side prints out 30.0mm, but a square 60mm on a side prints out, say, 59.7mm. Then a 20mm hole would print about 19.5mm across.