Key takeaways
- Four contributors at ±0.5 mm give a worst-case stack of ±2.0 mm but a root-sum-square stack of ±1.0 mm, and the difference decides whether the joint is designed with clearance or adjustment.
- An M8 bolt in a Ø9.0 mm clearance hole offers 1.0 mm of total position tolerance between the two parts, which is 0.5 mm per part when both are tolerance-controlled.
- Half a degree of bend angle error moves a feature 100 × tan 0.5° = 0.87 mm at 100 mm from the bend, so angular error usually dominates the stack on long flanges.
- Powder coating at 60–80 µm per face removes 0.12–0.16 mm from a dimension measured across two coated faces, enough to turn a nominal clearance into an interference.
- Locate the fixture on the mounting interface and two holes, never on the outer profile, because the profile is the least controlled feature on a laser-cut and bent part.
A door that rubs on its frame, a bracket whose holes will not line up, a panel that rocks on four pads: these are assembly failures, and every part involved can pass its own inspection. The error is in the stack. Part tolerance, fixture location, weld movement and coating build all act along the dimension the assembly depends on, and nobody added them.
Assembly tolerance is the arithmetic of that addition, done before the drawing is released. It answers three questions: which contributors act on the dimension, whether to add them worst-case or statistically, and where to put clearance so the stack has somewhere to go. Get those three right and the assembly closes without a fitter and a file.
This is written for design engineers and manufacturing engineers who own an assembly drawing, and for buyers who are told that every part is in tolerance while the assembly is not. It sets out the stack arithmetic, the fastener rule that sizes a clearance hole, the datum decisions that keep part and fixture aligned, and the coating allowance that is most often left out.
Why assemblies miss when every part passes
An assembly fails for three reasons, and none of them is a bad part.
The first is an uncalculated stack. Each drawing carries its own tolerance, and the assembly dimension is the sum of several of them. Four contributors at ±0.5 mm produce a ±2.0 mm worst case, which is outside a ±1.0 mm assembly requirement even though every part is inside its own drawing.
The second is a datum mismatch. The part is dimensioned from its outer profile because that is easy to draw, while the fixture locates on two holes because that is what the assembly needs. The profile is the least controlled feature on a laser-cut and bent part, so the interface inherits an error that was never in the stack.
The third is an omitted contributor. Coating, weld shrinkage, fixture wear, plating and the flat pattern's bend allowance all move the feature after the part drawing was approved. A nominal clearance of 0.2 mm survives none of them.
Adding the stack: worst case or root sum square
Two arithmetic methods cover almost every sheet metal assembly.
Worst case adds the contributors directly:
T_wc = t1 + t2 + t3 + … + tn
For four contributors at ±0.5 mm, T_wc = ±2.0 mm. This is the number to use when the assembly must close without adjustment, when the volume is low, or when the contributors are not independent.
Root sum square adds them in quadrature:
T_rss = √(t1² + t2² + t3² + … + tn²)
For the same four contributors, T_rss = √(4 × 0.25) = ±1.0 mm. The statistical number is half the worst case, and it is only valid when each process is centred, capable and independent of the others.
Weld shrinkage is the contributor that most often breaks the independence assumption. It pulls in one direction on every part in the batch, so it behaves like a bias, not a random error. Treat it worst-case even when the other contributors are statistical.
The decision rule is simple. For a first article, a low-volume build or a safety-related interface, use worst case. For a mature, high-volume line with capability data on every contributor, root sum square is defensible. In between, use worst case for the two largest contributors and root sum square for the rest, and say so on the drawing.
The clearance hole is part of the tolerance budget
A bolted joint has a fixed amount of position tolerance, and it comes from the clearance between the hole and the fastener. For a floating fastener, where both parts carry clearance holes, the total diametral position tolerance is:
T = H − F
An M8 bolt in a Ø9.0 mm hole gives T = 1.0 mm to split between the two parts. Give each 0.5 mm, or give the welded part 0.7 mm and the machined bracket 0.3 mm, because the welded part is the harder one to hold.
For a fixed fastener, where one part is threaded, the same clearance has to cover both position errors plus the projected tolerance zone of the thread. ASME Y14.5-2018 sets out the position tolerancing rules and the floating and fixed fastener formulas. The projected zone extends the threaded hole's tolerance through the mating part, which is why a nut plate welded to the back of a frame needs its position tolerance stated at the far face rather than at the weld face.
A worked case shows how quickly the budget goes. An M8 bracket bolts to a welded nut plate. The bracket hole is ±0.2 mm, the nut plate moves ±0.5 mm during welding, the fixture locates ±0.2 mm, and coating adds 0.08 mm per face. The worst case is 0.98 mm against the 1.0 mm available, so it assembles with 0.02 mm to spare. Change the weld movement to ±0.8 mm and the stack becomes 1.28 mm: the bolt will not pass, and the fix is a slot, a larger clearance hole or drilling the nut plate after welding.
Contributors on a 2 mm enclosure
The values below are typical for a 2 mm CRCA enclosure with a laser-cut and bent door on a welded frame. The Ganesh column records the process that sets each number.
| Contributor | Typical value | How it is controlled | Ganesh limit or note |
|---|---|---|---|
| Laser-cut profile | ±0.20 mm | Nest, kerf compensation, program datum | 12 kW fibre laser; ±0.5 mm typical part tolerance |
| Hole position in a cut part | ±0.10 mm | Program origin and datum holes | Tighter by agreement on critical features |
| Bend line position | ±0.30 mm | Back gauge and bend deduction | 200 T, 5-axis brake, 4,450 mm bed |
| Bend angle | ±0.5°, which is 0.87 mm at 100 mm | Angle correction and first-off check | Long flanges need their own callout |
| Fixture locator | ±0.20 mm | Pin and pad wear, clamp sequence | Fixtures built in the in-house tool room |
| Weld shrinkage | ±0.50 mm | Balanced sequence and fixture datum | Three CLOOS robotic MIG cells |
| Powder coating | 60–80 µm per face | DFT gauge and process control | Seven-tank pretreatment and powder booth |
| Zinc plating | 8–12 µm per face | Bath control and thickness test | Coating build counted on both faces |
Two rows deserve a second look. The bend angle row is the largest single contributor on a long flange, and it is the one most often left out because the drawing says "90°" and everyone reads that as exact. The coating row looks trivial at 0.08 mm per face, but it acts on both faces of a dimension, and it is applied after the part has been inspected.
A worked example: the door gap on a 600 × 400 mm enclosure
A door hangs in a welded frame opening of 600 × 400 mm, with a nominal 2.0 mm gap per side and 4.0 mm total. Five contributors act on that gap: the frame opening after welding at ±0.5 mm, the door size after bending at ±0.3 mm, the hinge position at ±0.2 mm, the door's bend angle at 0.5° over a 100 mm return (0.87 mm), and coating at 0.08 mm per coated face (0.16 mm across the gap).
Worst case, the gap closes by 0.5 + 0.3 + 0.2 + 0.87 + 0.16 = 2.03 mm, leaving 4.00 − 2.03 = 1.97 mm total, or about 1.0 mm per side. That still clears. Set the nominal gap at 1.0 mm per side instead and the same stack produces an interference of about 0.03 mm per side on the worst part: the door rubs, the powder coat wears through at the latch side, and the cause is a nominal that was chosen before the stack was added.
Root sum square gives √(0.25 + 0.09 + 0.04 + 0.757 + 0.026) = √1.16 = 1.08 mm total, leaving 2.92 mm of gap, or 1.46 mm per side, against 0.99 mm per side on the worst case. For a door that must never rub, the worst-case number is the one to design to, and the cheapest way to buy margin is to reduce the angular contributor rather than to widen the gap.
Datums and fixtures decide which errors count
A tolerance stack is only meaningful when every contributor is measured from the same reference. That is what the datum scheme does, and it is where most assembly drawings are weakest.
Use the mounting face as the primary datum, then two holes to locate and clock the part. That is the 3-2-1 scheme: three points on the face, two in the first hole, one in the second. It matches how the part is held in the fixture and how it is bolted in service, so the errors that the stack adds are the errors the assembly actually sees.
Do not use the outer profile as a datum. On a laser-cut and bent part the profile carries the cut tolerance plus the bend deduction error, and it is the feature most likely to be trimmed or adjusted during fitting. Dimensioning from it transfers both errors into every interface that follows.
Over-constraint is the second failure. Four welded pads and two snug-fit pins locate a panel in seven places, but the panel is only stiff enough to touch three pads and one pin. It rocks, the fitter shims it, and the shim becomes part of the assembly without appearing on any drawing. Use three pads and two pins, with one pin round and one slotted, or four pads with one deliberately shimmed.
Fixture wear belongs in the stack as well. A locating pin that is 0.05 mm under nominal when new may be 0.15 mm under after a year of production, and the stack that passed at first article has grown by 0.10 mm. The fixture drawing needs a wear limit and a check interval, not just a nominal size.
The fixture-controlled welding article covers how the fixture is built around those datums, and the welded assembly tolerance guide covers the weld side of the same stack.
What to put on the assembly drawing
- The datum scheme, with A on the mounting face and B and C on the two locating holes, marked on the assembly view rather than only on the part views.
- Position tolerances at maximum material condition where the joint is bolted, so the clearance hole buys bonus tolerance as it grows.
- A projected tolerance zone on every welded nut, nut plate and threaded insert, stated through the mating part's thickness.
- The clearance hole size and the fastener rule behind it, so the next engineer can see why Ø9.0 mm was chosen for an M8 bolt.
- The stack method and the total, for example "worst-case stack ±1.4 mm on the door gap; nominal gap 2.0 mm per side".
- Coating build and masking, with mating faces identified, because 0.08 mm per face is enough to change a fit.
- Fixture locating holes on the part, used consistently from the first operation to assembly.
- A flatness callout across the pads or mounting points, not just on each individual part.
- A match-drill or drill-after-welding note wherever the stack exceeds the clearance.
The design for assembly rules cover location, fastening and mistake-proofing in more detail. The stack is the arithmetic underneath those rules; the rules are how the arithmetic gets enforced on the bench.
What Ganesh actually runs
Fixtures are designed and built in the in-house tool room and locate on the drawing datums, which is what makes the stack predictable from one batch to the next. Cutting runs on a 12 kW fibre laser with a 40 ft × 16 ft bed, bending on a 200 T, 5-axis brake with a 4,450 mm bed to 10 mm, and welding on three CLOOS robotic MIG cells plus more than 30 manual MIG, spot and SPM stations.
Coating is in-house: seven-tank pretreatment, a 16 ft × 16 ft blast chamber, an 18 ft × 14 ft powder booth, a wet paint booth and a curing oven, with DFT and cross-hatch adhesion checks. That matters to the stack because coating build is measured and controlled rather than discovered at assembly. PPAP and first article inspection are available, the first article reports the assembly dimensions as well as the part dimensions where the drawing asks for both, and the units run under ISO 9001:2015 and ISO 14001:2015. The finished coated assemblies capability page covers the coating route.
When the stack cannot be closed by tolerance
Below about ±0.3 mm across a welded frame, the stack stops being a tolerance problem and becomes a process problem. No allocation of part tolerances will hold it, because weld shrinkage alone varies by more than the total. The honest answers are to leave stock and machine the interface after welding, to add an adjustable feature at the last interface, or to move the interface onto a part that is not welded.
A six-face box is the classic case. Each face adds its own bend and weld error, the errors accumulate in three axes, and the last panel is fitted by hand. Building adjustment into the last interface, with slotted holes or a shimmed pad, is cheaper than tightening five drawings and still not closing the box.
Where the route needs machining after welding or after coating, that is a separate operation with its own setup, and it has to be planned into the sequence rather than added after the first assembly fails.
Assembly tolerance is decided before the parts are cut, and the decision is mostly about datums and clearance rather than about tighter part tolerances. Send the assembly drawing with the mating interfaces, datum scheme and clearance holes to request a quote, and the stack can be checked across part, fixture, weld and coating before the job is scheduled. The design and CAD hub holds the related rules on datum strategy and drawing notes.
Frequently asked questions
How do I calculate assembly tolerance for sheet metal?
List every contributor that acts on the dimension, assign each a bilateral value, then add them worst-case for a guaranteed fit or by root sum square for a statistical estimate. Four contributors at ±0.5 mm give ±2.0 mm worst-case and ±1.0 mm by root sum square.
Should I use worst-case or RSS tolerance stack-up?
Use worst-case for a joint that must assemble without adjustment, especially at low volume where there is no statistical evidence. Use root sum square only when the processes are centred and capable, because it assumes the errors are independent and normally distributed.
What position tolerance can an M8 bolt in a 9 mm hole absorb?
One millimetre of total diametral position tolerance across the two parts, from the floating fastener rule T = H − F = 9.0 − 8.0 = 1.0 mm. Split it 0.5 mm per part, or give the welded part more and the machined bracket less.
Why does my part fit before painting and not after?
Powder coating adds 60–80 µm of dry film per coated face, so a dimension across two coated faces shrinks by 0.12–0.16 mm. Mask mating faces, or add the coating build to the clearance before release.
What is the best datum for a sheet metal assembly?
The mounting face plus two holes that locate the part in the assembly. The outer profile is cut and bent with the widest tolerance, so dimensioning from it transfers that error into every interface.
Sources and further reading
- ASME Y14.5-2018 — Dimensioning and tolerancing, including position tolerancing and the floating and fixed fastener formulas · reviewed 3 Nov 2026
- ISO 2768-1:1989 — General tolerances, Part 1: linear and angular dimensions without individual tolerance indications · reviewed 3 Nov 2026
- ISO 13920:2023 — Welding: general tolerances for welded constructions, dimensions for lengths and angles, shape and position · reviewed 3 Nov 2026
Send the assembly drawing, not only the parts
Include the mating interfaces, the datum scheme and the clearance holes. We check the stack across part, fixture and coating before quoting the assembly.
Request a quote