CNC Milling Tolerances and Surface Finishes: What Is Realistic to Specify
A drawing that asks for the impossible gets one of two responses: a quote that quietly pads the price to cover the risk, or parts that arrive out of spec. The way to avoid both is to know what a CNC mill can actually hold before you write the callouts. This guide gives the realistic bands for milled tolerances and surface finishes, which features earn a tight callout, which finishes change the size of the part, and how the whole claim gets proven at inspection.
How tight can a CNC mill hold a dimension in production?
On well-maintained milling equipment with proper tooling, a fit or alignment feature is routinely held to ±0.003 mm, not as a laboratory stunt, but as the working standard for production dimensions that matter. That is the number serious shops quote for fits and alignment, and it is achievable across a run when three conditions hold: the machine is capable and thermally stable, the part geometry is rigid enough to hold the feature, and the shop tracks process capability rather than hoping. Where a bearing journal or a seal face demands more, precision grinding extends the range to ±0.002 mm.
Two things keep that promise honest. First, ±0.003 mm is a per-feature claim, not a whole-part claim. A shop can hold a critical bore to ±0.003 mm while the overall envelope, with its cast or stock tolerances and its distance from datum, sits far looser. Second, the number is only as real as the process behind it. A shop that answers a tolerance question with a capability number and data is describing control; a shop that answers with "we check every part" is describing sorting. The realistic tolerance conversation is really a process-capability conversation.
Why does the tolerance class on your drawing matter more than the number?
Most dimensions on a milled drawing should not carry individual tolerance callouts at all. They belong to the drawing's general tolerance class — the ISO 2768 block that assigns a default band to every dimension without a specific callout. The classes matter because they decide what the shop assumes about everything you did not mark:
- ISO 2768-m (medium) — the common default, roughly ±0.1 mm on a 6–30 mm dimension. Fine for covers, cosmetic geometry, and features that carry no fit.
- ISO 2768-f (fine) — tighter, around ±0.05 mm on the same range, and a realistic general default for functional parts with a few controlled features.
- ISO 2768-c (coarse) — looser, around ±0.2 mm, for non-critical bulk geometry.
Here is the buying logic that saves the most money on any milled part: leave the general class at a sensible default, then call out tight tolerance on the two or three characteristics that actually carry function. On a typical part those are the bore that locates a shaft, the face that seals, and the true position of a mounting pattern. A drawing marked ±0.005 everywhere pays for precision most of its surfaces never use, and it tells the shop you do not know which features matter. Restraint on the general block is what makes the tight callouts believable.
Which features can hold tight tolerance, and which defeat it?
Realism on a milling drawing comes down to geometry. The machine can hold ±0.003 mm on a compact, rigid feature; it cannot hold the same number on a feature that flexes or drifts while it is being cut. The features that earn tight callouts are the predictable ones:
- Bores, bosses, and short faces near a locating surface — rigid, well-supported, and measurable.
- Features machined in one setup relative to each other — their relative position is set by the machine's own motion, not by re-clamping.
- Ground surfaces — a bearing journal or seal face finished on the grinder to ±0.002 mm.
The features that quietly defeat a tight callout are the ones geometry will not allow:
- Long, thin walls and unsupported floors — they flex under the cutter, and the tolerance you asked for disappears into deflection.
- Deep pockets and small-diameter holes — tool deflection and tool wear both grow with depth-to-diameter ratio, and the far end of a deep hole is never as accurate as the near end.
- Large flatness or parallelism claims across a big surface — temperature alone moves a large aluminum face by more than a tight tolerance as it is measured warm and inspected cold.
- Features on opposite sides of a part machined in separate clamps — each re-clamp adds position error, which is why multi-face tolerance arguments are usually about setup count, not machine accuracy.
When a supplier tells you a callout is not realistic, the answer is usually geometry, not capability. Listen to which feature it is, because that tells you what to change — a thicker wall, a closer datum, or a different machining sequence — rather than which shop to blame.
How do the machine axes change what a mill can hold?
The axis count sets the practical limits of position and orientation accuracy. On a 3-axis mill, the spindle moves in three straight lines, and every feature that points another way means a re-clamp. A 4-axis machine adds one rotary axis, which lets a part be rotated to present another face without a new fixture, but the accuracy of a rotary axis is its own variable, and indexing the table does not automatically reproduce the accuracy of a rigid 3-axis setup. A 5-axis machine adds two rotary axes and can reach compound angles in one setup, which eliminates re-clamping error for complex parts.
The buyer-side rule follows: hold tight tolerances between features machined in the same clamping, and expect looser relative position when a feature depends on a rotary axis or a re-clamp. That is why a prismatic part with critical bores on one face is easier to hold than a complex 5-axis part with critical features on every face. When you buy 5-axis work, you are buying fewer setups and better access, not automatically tighter numbers.
What do the Ra numbers on a milling drawing actually mean?
Surface finish on a milled drawing is written as Ra — the arithmetic average roughness in micrometres — and each step down the ladder adds a process step and cost. The bands that matter to a buyer:
- Ra 3.2 µm — a standard machined face straight off the mill. Fine for structural faces, hidden surfaces, and anything that carries a paint or coating.
- Ra 1.6 µm — a finer finishing pass on the mill. The right default for functional faces, modest sealing, and mating surfaces that need a clean feel.
- Ra 0.8 µm and below — grinding or fine finishing territory. Bearing seats, seal faces, and high-cycle contact surfaces. Below Ra 0.8, you are paying for grinding or polishing, and each step roughly doubles the cost of hitting it.
The practical advice is the same as for tolerance: name the finish on the surfaces that need it and leave the rest at the as-machined default. A drawing that asks for Ra 0.8 on a face nobody touches is paying a grinding pass for a surface that only needed a milled finish — the most common finish over-specification on milled parts.
Which surface finishes are realistic on milled parts, and what do they do to size?
Beyond roughness, the finish options follow the material, and each one changes the part in a way the drawing must anticipate:
- Anodizing (including hard anodizing) on aluminum. The oxide layer grows into and out of the surface — roughly half the thickness builds inward — which is why a bore or thread machined to final size can bind after anodizing unless the machining dimensions allow for the growth. Hard anodizing grows more than decorative anodizing, so the coating thickness has to be agreed before cutting, not discovered after.
- Plating on steel and copper. Zinc, nickel, chrome, silver, and gold all add thickness and need masking where the coating must not go. A plated thread or a press-fit diameter changes size by the plating thickness, and a plated surface never measures the same as an unplated one.
- Powder coating and painting. Durable colored coatings for steel and aluminum, applied at a thickness measured in tens of micrometres — fine for appearance and corrosion, wrong for any dimension that has to stay tight.
- Passivation on stainless. Machining disturbs the oxide layer that gives stainless its corrosion resistance; passivation restores it. It changes no size and adds a process step and a documented bath record.
- Bead blasting, brushing, and polishing. Cosmetic surface treatments that change appearance and, at the aggressive end, can round a sharp edge or remove measurable material.
Deburring is assumed — it is not a request, it is part of shipping a milled part. The finish conversation belongs on the RFQ, because each option adds a batch process with its own schedule, and a finish discovered at the quoting stage costs less than a finish discovered at the rejection stage.
How is a claimed tolerance proven on milled parts?
A tolerance callout is only as real as the measurement behind it. Three layers of proof matter on milled work:
- In-process verification. Probing on the machine and periodic checks during the run catch drift while the lot is still being machined. This is how a shop holds ±0.003 mm across hundreds of parts instead of discovering the hundredth one is out.
- Final measurement on the right equipment. Critical features are measured on a coordinate measuring machine, with the measured values shown against the drawing callout, not a column of "pass." A ±0.003 mm feature measured with a caliper is guesswork; the instrument and its resolution have to match the tolerance.
- Capability data, not adjectives. Process capability — Cpk — compares the spread of the process against the tolerance band. A healthy target for a key characteristic is Cpk of 1.67 or higher; general features are acceptable at 1.33 or better. When a shop publishes a demonstrated Cpk like 1.851 on a critical dimension, it is showing you the process is inside the band with margin.
One more check on that number: the 0.4 mm band behind it is wide by design. Hold the same process spread against a ±0.005 mm feature and it fails outright, so read this figure as evidence about one characteristic on one run, not as a blanket tolerance claim.
Ask to see a sample dimensional report before you order. A report with instrument names, measured values, and the material verification behind it tells you the shop measures like an engineer. A report with checkmarks tells you the shop checks boxes. The first kind is how tolerances get proven; the second is how arguments start.
What should the drawing state so tolerance and finish stay honest from quote to shipment?
The drawing is the contract that makes everything above enforceable. A complete specification for milled tolerances and finishes has five parts:
- The general tolerance class — ISO 2768-f or -m, stated in the title block, so every uncalled dimension has a known default.
- The two or three critical characteristics — marked with individual callouts and, where relationships matter, GD&T position with datums instead of chain dimensions.
- The roughness callouts by surface — Ra on the surfaces that need it, nothing on the rest.
- The coating and its thickness — anodize class and build, plating thickness and masking, so the machined dimensions can be set to land right after the coating grows.
- The inspection intent, which dimensions get measured, on what equipment, and what documents ship. A buyer who states inspection intent gets a supplier who plans around it.
Send that package with the 3D model and the finish question resolves itself. For the deeper quality-system side of the same decision — how the measurement floor is run and how capability is tracked — the site's CNC milling quality guide walks through the inspection and SPC side in detail. The core specification logic is the one used across the whole process: CNC milling for buyers starts with the same drawing and tolerance discipline before any quote is written.
Frequently Asked Questions
What tolerance can a CNC mill realistically hold?
Fit and alignment features to ±0.003 mm on the milling equipment, with precision grinding available to ±0.002 mm for bearing journals and seal faces. General and cosmetic dimensions run at ±0.1 mm under an ISO 2768-m or -f default block.
Should I put ±0.003 mm on every dimension?
No. Call out tight tolerance only on the characteristics that carry function — typically two or three per part — and leave everything else on the drawing's general tolerance class. A drawing marked tight everywhere pays for precision most surfaces never need.
What Ra finish should I specify on a milled part?
Ra 3.2 µm as the standard machined default, Ra 1.6 µm where a functional or mating face needs a finer pass, and Ra 0.8 µm or below only where a bearing, seal, or contact surface genuinely demands grinding. Each step down roughly doubles the cost of hitting it.
Does anodizing change the size of my milled part?
Yes. Anodizing grows the surface, with roughly half the oxide thickness building into the part. A bore or thread machined to final size can bind after anodizing unless the machining dimensions allow for the coating growth, which is why the anodize class must be agreed before cutting.
How do I know a shop is really holding the tolerances it quotes?
Ask for capability data on the critical characteristics and a sample dimensional report. A Cpk of 1.67 or higher on key features, measured values shown against the callouts on a coordinate measuring machine, and material verification behind the parts are evidence; a verbal promise is not.
Do tight tolerances require special equipment?
Within the realistic bands above, no — ±0.003 mm is a standard production capability on well-maintained milling equipment with process control. Below that, ±0.002 mm moves the job to precision grinding, and anything tighter is a discussion about geometry, measurement, and cost before it is a discussion about parts.
Unsure which tolerances and finishes your part really needs?
Send the drawing to [email protected] or call +86 13126536955. You will get an honest read on which callouts are realistic, which only add cost, and how each one will be measured and proven.
