| name | tolerance-stack-analysis |
| description | Tolerance stack-up analysis — worst-case, RSS, DRSS, GD&T loop diagrams, clearance/interference calculation, Monte Carlo, ASME Y14.5, design for manufacture. |
| metadata | {"priority":7,"promptSignals":{"phrases":["tolerance stack","tolerance analysis","tolerance stackup","GD&T stack","worst case tolerance","RSS tolerance"],"minScore":3}} |
Tolerance Stack-Up Analysis — Complete Skill
Purpose
Determine if assembly will function over entire tolerance range:
- Will clearance be maintained (e.g., gap ≥ 0)?
- Will interference be within limits?
- What is probability of conforming assembly?
Loop Diagram (Assembly Equation)
- Identify the gap/clearance to analyze (the "closed loop")
- Create vector loop through all contributing dimensions
- Assign each dimension a direction (+/-)
- Total: Gap = ΣD_i × ±sign_i
Sign convention: choose consistent direction (e.g., right = +)
Each dimension that increases the gap gets +; each that decreases gets –
Worst-Case Analysis
Total tolerance accumulation:
T_gap,WC = Σ |t_i| (arithmetic sum of all contributing tolerances)
Gap limits:
Gap_min = Gap_nominal - T_gap,WC
Gap_max = Gap_nominal + T_gap,WC
When to use: safety-critical assemblies; small batch; 100% compliance required
Disadvantage: very conservative for many tolerances; forces tight component tolerances
RSS (Root Sum Square) — Statistical
Assumes normal distribution of each dimension (all within ±3σ; Cpk ≥ 1.0)
Assembly tolerance at 3σ:
T_gap,RSS = √(Σ t_i²) [3σ result; 99.73% compliance]
Or more precisely: T_gap = z_p × √(Σ (t_i/z_i)²) where z_i = process sigma level
Gap probability:
μ_gap = Gap_nominal (expected value)
σ_gap = T_gap,RSS / 3 (if each t_i = ±3σ_i)
P(Gap ≥ 0) from normal CDF
When to use: mass production; moderate risk; parts from well-controlled process
Advantage: allows wider component tolerances for same assembly confidence
DRSS (Dynamic RSS) — Six Sigma
Account for mean shifts (1.5σ shift in DMAIC convention):
Modified RSS:
T_gap,DRSS = √(Σ (t_i × f_i)²)
f_i = 1.5 for dynamic conditions; 1.0 for well-controlled process
Or using Motorola 6σ: use Cpk = 1.5 to account for drift
DRSS result: assembly compliance at 99.99966% (6σ level)
GD&T Contributions to Stack
Flatness, straightness: contribute to tilt → worst at max material condition
Perpendicularity/angularity: contribute rotation → proportional to distance
True position (MMC bonus): extra tolerance when at MMC → reduce actual stack if at LMC
MMC concept in stacks:
Bonus tolerance = departure from MMC
Actual Mating Envelope (AME) → use for functional gages
Sensitivity Analysis
When tolerance i changes by Δt_i, gap changes by: ΔGap = Δt_i × s_i
s_i = sensitivity = ±1 for linear; can be partial derivative for angular/geometric
Percent contribution:
PC_i = (t_i²/Σt_j²) × 100% (RSS contribution)
Focus optimization on top contributors (Pareto)
Monte Carlo Tolerance Analysis
- Assign distribution to each dimension (normal, uniform, lognormal)
- Sample n = 10,000–100,000 assemblies
- Calculate gap for each assembly
- Estimate P(gap < 0) = defect rate
When to use: non-normal distributions; nonlinear relationships; complex mechanisms
Tools: MATLAB, Python (scipy.stats), 3DCS, Sigmetrix, VSA
Key Formulas Summary
| Method | Formula | Use case |
|---|
| Worst case | T = Σt_i | Safety-critical, small n |
| RSS (3σ) | T = √Σt_i² | Production, moderate risk |
| RSS (6σ) | T = √Σ(1.5t_i)² | 6σ target, with drift |
| Monte Carlo | Numerical | Complex geometry |
Practical Rules
- Start with RSS; verify with worst-case for safety margins
- If worst-case too tight → loosen manufacturing tolerances or change design
- Target Cpk ≥ 1.33 on mating features (4σ process)
- Identify the top 2–3 contributors (usually 80% of variance) for optimization
- Include datum shift, setup variation, fixture repeatability
ASME Y14.5 Implications
Regardless of Feature Size (RFS): no bonus tolerance; tightest stack
Maximum Material Condition (MMC): bonus tolerance reduces effective stack at LMC
Virtual Condition (VC): worst-case mating boundary = MMC + position tolerance
Output
Provide: loop diagram, nominal gap [mm], worst-case T_gap [mm], Gap_min and Gap_max (WC), RSS T_gap [mm], P(conforming) [%], top tolerance contributors (Pareto), recommended tolerance changes for compliance.