An assembly is a chain of N parts, each machined to a nominal length with its own manufacturing tolerance ±Tᵢ. The total stack-up can be predicted two ways:
Worst-case: T_wc = Σ Tᵢ
RSS (root-sum-square): T_rss = √( Σ Tᵢ² )
Worst-case assumes every part is machined to its limit in the same direction at once — extremely unlikely in practice, so it over-designs (and over-costs) the assembly. RSS statistical tolerancing assumes each Tᵢ is really ±3σᵢ of an independent, normally-distributed process and sums the variances instead of the tolerances themselves — this is the method real production lines rely on to hold tighter, cheaper tolerances without a higher defect rate.
The Monte Carlo trial makes this concrete: every trial samples each part's actual length from a normal distribution with σᵢ = Tᵢ/3, sums the N samples into one realized assembly deviation, and checks it against the spec limit. The fraction of trials that fall outside the spec window is the true defect rate — compare it against the RSS prediction (it should track closely) and the worst-case bound (it should almost never be reached).
Cpk ≈ (spec limit − |mean deviation|) / (3σ_assembly)
σ_assembly = √( Σ σᵢ² ) = T_rss / 3
- Parts / tolerance / spec sliders — define the assembly being manufactured.
- Worst-Case / RSS — switches which formula drives the predicted-tolerance readout and the dashed guide lines in the scene.
- Run 500 trials — fires a batch of simulated production runs into the histogram at once.
- Each block in the 3D stack is one part, drawn at its randomly realized length for the current trial; the end cap turns red the instant the assembly falls outside the green spec zone.