ctrlPlanner Allowance calculator MIL-STD-870 / H28

Free tool

  • Runs in your browser
  • Nothing is uploaded
  • No sign-up

What do I machine it to, before it goes out to plating?

Type the finished-part limits off the print and read back what the machinist has to hold: plating, anodize, grinding or heat treat, on a diameter or a thread.

Why the correction is not just the coat thickness

Three things move the number, and a spreadsheet that subtracts the plating thickness once gets all three wrong. The feature has two sides, so a both-sided diameter moves by twice the per-side figure. A bore and an outside diameter move in opposite directions under the same coating. And the plater quotes a range rather than a figure, so the band the machinist gets to work in is narrower than the band on the print.

The last one is the one that catches people out. If the coating shop's window is .0002 to .0005 per side, the part has to be in spec whichever thickness comes back. That costs .0006 of the tolerance on a both-sided diameter before anyone has cut anything.

Threads move about four times the coat thickness

A coat sits normal to the flank, and on a 60 degree thread that shifts pitch diameter roughly four times its per-side thickness rather than twice. It is the single most commonly missed number in this job: two tenths of plating takes eight tenths out of pitch diameter. MIL-STD-870 and Federal Screw Thread Specification H28 are where the rule comes from.

Shallower flanks move further still. This tool scales the factor by the thread angle, so a 29 degree ACME comes out near nine times and a 55 degree Whitworth near four and a half. Switch the calculator from a diameter to a thread and watch the correction change.

Anodize is not plating

An anodize call-out specifies total coat thickness, but the coating converts base metal as it grows, so only about half of it ends up above the original surface. A shop that walks an anodize spec back the way it walks a plating spec leaves twice the correction it needed, from a number that looks entirely reasonable. The anodize setting here halves the buildup for you.

When no size holds

Sometimes the arithmetic comes back with a lower limit above the upper one. That is not the calculator breaking. It means the process window is wider than the tolerance it has to fit inside, so there is no size the machinist can leave that is in spec for every outcome. The answer is to tighten the range with the outside process or open the tolerance with the customer, and it is worth knowing before the part is cut rather than at final inspection.

Most tools would round that away or refuse to show it. This one reports it, because it is the most useful thing it can tell you.

Doing this for a whole part

One characteristic at a time is fine for checking a number. A real part has forty of them, through five operations, and every one needs the same walk. That is what ctrlPlanner does: balloon the print, set each operation once, and every station gets the limits it has to hold instead of the finished part number. The control plan and the AS9102 forms come out of data already entered.

Machining allowance: working the print tolerance back through the process

What the calculator is doing

A drawing gives the finished part. It almost never gives the size the machinist has to leave before plating or before grinding, and on a print that says nothing more than "all dimensions after plating" the shop is left to work it out. The arithmetic is not hard, but there are three places to get it wrong and two of them look right afterwards.

The first is how many surfaces are in the process. A diameter coated on both flanks, or an overall length coated on both ends, moves by twice the per-side figure -- so a coat quoted at two tenths per side closes a bore by four. A dimension measured to a face that is masked or machined afterwards moves by once. The second is direction: plating adds material either way, but that makes an outside surface bigger and a bore smaller, so the correction on a bore goes the opposite way to the correction on a journal. The third is the range, and it is the one that costs the most.

Why a process range costs you tolerance

A plater quotes a window rather than a number, because a plating line holds a range and not a figure. The part has to be in specification whichever thickness comes back, so the band the machinist gets to work in is narrower than the band on the print by the width of that window, times the sidedness factor.

A window of .0002 to .0005 per side on a both-sided diameter takes .0006 out of the tolerance before anyone has cut anything. On a print with a .002 band that is nearly a third of it, gone, and it never appears anywhere as a number. A deterministic operation, where the two ends of the window are equal, shifts the band without narrowing it at all. The difference between those two cases is the single most useful thing on this page.

Threads are the expensive one

A coating sits normal to the thread flank, and on a 60 degree thread that moves pitch diameter about four times the per-side thickness rather than twice. Two tenths of plating takes eight tenths out of pitch diameter. The rule appears in MIL-STD-870 and in Federal Screw Thread Specification H28, and it is the number most often left out of a hand calculation, because the person doing it has already correctly doubled for sidedness and has no reason to suspect there is another factor of two waiting.

The factor scales with the flank angle rather than being fixed at four. A 29 degree ACME thread comes out near nine times, a 55 degree Whitworth near four and a half. Shallower flanks move further per unit of thickness.

Anodize builds up half

An anodize call-out specifies the total coat, but anodizing converts base metal as it grows rather than only adding to the surface, so roughly half the stated thickness ends up above the original profile. Walking an anodize specification back the way you would walk a plating specification leaves twice the correction the part needed. The resulting number is wrong and entirely plausible, which is why it survives review.

Grind stock

Grinding runs the same arithmetic in the opposite direction: the part arrives at the grinder larger than it leaves, so the upstream limits are bigger rather than smaller. The commonly quoted figure is five thousandths on a diameter, or eight if you are worried about cleanup, which is two and a half or four tenths per side. How much you actually need depends on how far out of round the part came in, which is why it is worth entering as a range and seeing what the range costs.

Heat treat is deliberately not one of the processes here. Nobody can give you a number for it: parts have been measured moving ten thousandths in one axis, tool steels move more than stable alloys, and grain direction changes the answer on the same part. Every process this calculator does model is a per-side effect with a window somebody can quote off a specification, and heat treat is a whole-part scaling that is none of those things. Publishing a window for it would be publishing a number somebody would hold a part to.

The practical answer for anything tight is that it does not come off the furnace to size anyway. Leave grind stock, heat treat, then grind, and the movement becomes something the grinder removes rather than something the tolerance has to absorb. That is the grind case above.

When the process touches the feature and nothing moves

A shoulder depth on a plated part is the case that catches people going the other way. Both faces of the depth are in the tank, both move outward by the same amount, and the dimension between them is unchanged. The same is true of a groove width, or the gap between two plated bosses: anything measured between two surfaces that get the same treatment.

That is why the calculator asks which way the dimension moves rather than working it out. Grow and shrink can be reasoned from whether the surface is a bore or an outside face. Nothing about the shape of the part says that this particular dimension does not move at all -- only somebody who knows what is masked and what is machined afterwards can say that, and getting it wrong in either direction costs the full allowance.

When the answer is that it cannot be done

Sometimes the walk returns a lower limit above the upper one. That is not a rounding artifact and it is not the calculator giving up. It means the process window is wider than the tolerance it has to fit inside, so there is no size that can be left at that station which is in specification for every outcome the process can produce. The two ways out are to tighten the range with the outside process or to open the tolerance with the customer, and both are much cheaper to discover before the part is cut than at final inspection.

Doing it for a whole part

Checking one characteristic is what this page is for. A real part has forty of them through five operations, every one needs the same walk, and the walk has to be redone when the drawing revises. That is what ctrlPlanner does: balloon the print once, set what each operation does once, and every station sees the limits it has to hold instead of the finished part number. The control plan and the AS9102 forms come out of data already entered rather than being typed a second time.

Common questions

How much should I leave for plating?

As much as the plater's window says, times two for a both-sided diameter, and about four times for a 60 degree thread. Ask the coating shop for the range they actually hold rather than the nominal on the specification, because it is the width of that range that decides how much tolerance you lose.

Is the plating thickness per side or on the diameter?

Platers quote per side. The dimension moves by twice that on a both-sided feature, which is where a lot of the confusion starts. This calculator takes the per-side figure and does the doubling.

How much stock do I leave for grinding?

The usual answer is .005 on the diameter, or .008 if you want to be sure of cleaning up. That is .0025 to .004 per side. How much you need depends on how far out of round the part is coming in, which for a heat-treated part is often more than for bar stock.

Does it handle lengths, or only diameters?

Lengths, diameters and threads. A length is the same arithmetic as a diameter once you have said how many surfaces are in the process: an overall length coated on both ends moves by twice the per-side figure, exactly as a diameter coated on both flanks does. What differs is that a length is far more often one-sided, which is why that is a control rather than an assumption.

Why does my thread gauge fail after plating when the diameter was fine?

Because pitch diameter moves about four times the per-side coat thickness on a 60 degree thread, not twice. A correction that was right for the major diameter is a quarter of what the pitch diameter needed.

Does anodize need the same allowance as plating?

No. An anodize call-out is total coat thickness and only about half of it sits above the original surface, so the correction is roughly half what the same number would be for plating.

Does anything leave my machine?

Not from this page. The calculator runs in your browser, there is no upload step, and closing the tab is the end of it. There is a separate optional endpoint for automation, at /api/mcp, which an AI agent can call on your behalf. It receives only the numbers a caller sends it: its schema has no field for a part number, a drawing number or free text of any kind, so it cannot be sent identifying technical data even by mistake.

More about ctrlPlanner · Walking a whole plan back · Worked answers to common questions · Free AS9102 report builder