Skill for dimensional tolerance analysis and stack-up calculations
Performs dimensional tolerance analysis and stack-up calculations to verify assembly fits and functional requirements.
npx claudepluginhub a5c-ai/babysitterThis skill is limited to using the following tools:
The Tolerance Stack-Up Analysis skill provides capabilities for dimensional tolerance analysis and stack-up calculations, enabling verification of assembly fits and functional requirements through systematic tolerance chain analysis.
| Method | Approach | Application | Result |
|---|---|---|---|
| Worst-case | All tolerances at limit | Safety critical | Maximum variation |
| RSS | Statistical combination | High volume production | Probable variation |
| Monte Carlo | Random sampling | Complex assemblies | Distribution |
| 6-Sigma | Process capability | Quality control | Defect rate |
Gap = Nominal gap +/- sum of all tolerances
For a simple assembly:
Gap_min = Nominal - sum(all positive contributors)
Gap_max = Nominal + sum(all negative contributors)
Or using sensitivity:
Gap = sum(ai * xi)
Tolerance = sum(|ai| * ti)
Where:
ai = sensitivity coefficient (+1 or -1)
xi = nominal dimension
ti = tolerance on dimension i
Define positive direction:
- Dimensions adding to gap: positive (+1)
- Dimensions subtracting from gap: negative (-1)
Example (shaft in hole):
Gap = Hole_dia - Shaft_dia
Hole: +1 (increases gap)
Shaft: -1 (decreases gap)
Statistical tolerance (RSS):
T_rss = sqrt(sum(ti^2))
For unequal distributions (weighted):
T_rss = sqrt(sum((ai * ti)^2))
Assumes:
- Normal distribution
- Independent variables
- Process centered at nominal
Cp = (USL - LSL) / (6 * sigma)
Cpk = min((USL - mean)/(3*sigma), (mean - LSL)/(3*sigma))
For 6-sigma quality:
Cpk >= 2.0
PPM defective < 3.4
For tolerance analysis:
sigma = T / (3 * k)
Where k depends on desired Cpk:
k = 3 for Cpk = 1.0
k = 4 for Cpk = 1.33
k = 6 for Cpk = 2.0
1. Define distribution for each dimension
- Normal: mean, sigma
- Uniform: min, max
- Skewed: appropriate parameters
2. Generate random samples (N = 10,000+)
3. Calculate assembly result for each sample
4. Analyze output distribution
5. Determine percent out-of-spec
| Scenario | Distribution | Parameters |
|---|---|---|
| Machined feature | Normal | Nominal, T/6 (Cpk=2) |
| Purchased part | Normal/Uniform | Per vendor data |
| Press fit | Truncated normal | Limits at tolerance |
| Unknown process | Uniform | Min, max |
Position tolerance contribution:
Dia_positional / 2 = linear contribution (per direction)
For MMC position:
Contribution = (Position_tol + Bonus_tol) / 2
Bonus tolerance:
Bonus = |Actual_size - MMC_size|
Stack-up must follow datum precedence:
1. Establish primary datum (constrains normal)
2. Establish secondary datum (constrains one rotation)
3. Establish tertiary datum (constrains remaining DOF)
Feature control frame specifies:
|Position|0.5 MMC|A|B|C|
Define the Problem
Create the Loop Diagram
Gather Data
Perform Calculation
Document Results
If tolerance too tight:
1. Increase gap nominal (if possible)
2. Tighten critical dimension tolerances
3. Add adjustment or shim
4. Change assembly method
5. Accept higher defect rate
If tolerance too loose:
1. Relax non-critical tolerances
2. Reduce manufacturing cost
Approximate relationship:
Cost ~ 1 / Tolerance^n
Where n ~ 1.5 to 2 for machining
Tighten tolerances on:
- Lower cost features
- Higher sensitivity contributors
{
"analysis_name": "string",
"requirement": {
"type": "gap|clearance|interference|alignment",
"nominal": "number",
"min": "number",
"max": "number"
},
"contributors": [
{
"name": "string",
"nominal": "number",
"tolerance": "number (bilateral half)",
"direction": "+1|-1",
"distribution": "normal|uniform",
"cpk": "number (if normal)"
}
],
"method": "worst_case|rss|monte_carlo|all"
}
{
"analysis_summary": {
"requirement": {
"min": "number",
"max": "number"
},
"nominal_result": "number"
},
"worst_case": {
"min_result": "number",
"max_result": "number",
"pass_fail": "pass|fail",
"margin": "number"
},
"statistical": {
"mean": "number",
"sigma": "number",
"min_3sigma": "number",
"max_3sigma": "number",
"percent_out_of_spec": "number",
"cpk": "number"
},
"monte_carlo": {
"mean": "number",
"sigma": "number",
"min_observed": "number",
"max_observed": "number",
"percent_out_of_spec": "number",
"histogram": "data reference"
},
"sensitivity_ranking": [
{
"contributor": "string",
"sensitivity": "number",
"percent_contribution": "number"
}
],
"recommendations": "array"
}
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.