Tolerance Stack Analysis Tool

計算根拠と検証記録 = 専門性の証明

このページは本計算機の計算根拠と検証記録です。公差スタック計算機の全計算式を、商用ソフトが共通して用いる公式・ NIST/SEMATECH e-Handbook・JIS規格の既知例題と数値突合し、誤差%を公開しています。 運営者(現役の機械設計エンジニア・実名非公開)の専門性は名乗りではなく、この検証の再現性で担保します。

下記の入力条件・乱数シード・試行数を用いれば、第三者が独立に同じ結果を再現できます。 「当機の出力」欄は、本ページ表示時に計算エンジン(lib/の純関数)が 実際に算出した値をそのまま掲載しています。

例題1:5要素の直線スタック(ワーストケース+RSS)

ハウジング内寸 50.00 から 3 部品(20.00 / 15.00 / 10.00)を差し引いた隙間。 各寸法に工程σ = 公差 ÷ 3 を明示入力(= ±3σ が公差幅に一致する教科書的 RSS スタックの前提に揃えるため)。

寸法公称公差方向工程σ(=公差/3)
ハウジング内寸50.00±0.100.03333
部品A20.00±0.050.01667
部品B15.00±0.050.01667
部品C10.00±0.050.01667
項目入力条件期待値(出典)当機の出力誤差%
公称隙間Σ(方向×公称) = 50−20−15−105.0005.0000.0000%
ワーストケース ばらつき半幅全公差同時最悪±0.2500(=Σ公差)±0.25000.0000%
RSS ±3σ√(Σσ²)×3±0.132288(=√0.0175)±0.1322880.0000%

出典(公式):ワーストケース(=各寸法公差の算術和)と RSS(=二乗和平方根)は 商用公差解析の標準公式。Drake, P. J. Jr.(編)Dimensioning and Tolerancing Handbook, McGraw-Hill, 1999, 第9章 「Traditional Approaches to Analyzing Mechanical Tolerance Stacks」/ Fischer, B. R. Mechanical Tolerance Stackup and Analysis, 2nd ed., CRC Press, 2011。 期待値は当該公式へ本例題の数値を代入した決定論的な結果です (√0.0175 = 0.13228757)。

この隙間に規格 USL=5.25 / LSL=4.75(中心一致)を与えると、当機は Cp=1.8898、Cpk=1.8898、余裕=5.669σ、判定=合格 を返します(中心一致のため Cp=Cpk)。

例題2:工程能力指数 Cp / Cpk(NIST の教科書例)

NIST/SEMATECH e-Handbook §6.1.6 の数値例をそのまま使用:USL=20、LSL=8、 平均 x̄=16、標準偏差 s=2。 当機の Cpk 計算関数(lib/capability.ts)へ直接入力した結果を掲載。

項目入力条件期待値(出典)当機の出力誤差%
Cp(USL−LSL)/(6σ) = (20−8)/(6×2) = 12/121.000(NIST §6.1.6)1.00000.0000%
Cpkmin[(20−16)/(3×2),(16−8)/(3×2)] = min[0.667,1.333]0.667(NIST §6.1.6)0.66670.0000%
合否(閾値1.33)Cpk 0.667 < 1.33不合格不合格一致

出典:NIST/SEMATECH e-Handbook of Statistical Methods, §6.1.6 「What is Process Capability?」。
URL: https://www.itl.nist.gov/div898/handbook/pmc/section1/pmc16.htm
定義:Cp=(USL−LSL)/(6σ)、Cpk=min[(USL−μ)/(3σ),(μ−LSL)/(3σ)]。 JIS でも JIS Z 8101-2(統計—用語及び記号—第2部:統計の応用)で同一の工程能力指数が 定義されています。

例題3:モンテカルロの再現条件

例題1と同じスタックに対し、乱数シード 12345・試行数 100,000 でモンテカルロを実行。乱数は seed のみで 決まる決定論的生成(mulberry32+Box-Muller。Math.random不使用)なので、同一 seed・同一試行数なら結果は完全再現します。理論上、平均は 公称隙間に、標準偏差は RSS 合成σに収束します(相互検証)。

項目入力条件期待値(出典)当機の出力誤差%
サンプル平均seed=12345, N=100,0005.0000(解析=公称隙間)5.000110.0023%
サンプル標準偏差seed=12345, N=100,0000.04410(解析=RSS合成σ)0.044260.3624%

再現手順:lib/montecarlo.tsmonteCarlo() に 例題1の寸法・{ seed: 12345, trials: 100000 } を渡すと上記が得られます(単体テスト lib/montecarlo.test.tsで決定論・収束を検証済み)。モンテカルロは統計的手法のため解析解との 誤差は試行数に依存しますが、本条件では平均・σともに 1% 未満で一致します。

例題4:公差配分の逆算(Sprint 2・独自例題・手計算突合)

RSS 合成σが目標Cpkに届かないとき、各寸法の公差をどれだけ締めれば (または緩めれば)届くかを、比例スケーリング均等σ配分の 2手法で逆算します。出典が公開されている商用ソフトの同一例題が見つからないため、独自例題・手計算突合として、全入力・中間量・両手法の推奨公差を数値で示し、 当機の出力と誤差%を併記します(有効数字7桁)。

寸法公称上公差下公差方向工程σ(有無)
D1(大・可変)40.00+0.200.20未入力(自動換算)
D2(中・可変)30.00+0.040.04未入力(自動換算)
D3(小・可変)10.00+0.030.03未入力(自動換算)
D4(固定)20.00+0.100.10σ=0.010(固定)

規格 USL=100.12 / LSL=99.88、目標Cpk=1.33。 μ=Σ(公称)=100.00、specHalf=min(USL−μ, μ−LSL)=0.120。σ↔公差 換算係数 CONV=1.5+3×1.33=5.49(Cpk換算は 1.33 固定)。 現状 Cpk=1.029(< 1.33 のため締めが必要)。

(1) 中間量(目標σ・固定分の差し引き・両手法の係数)

項目入力条件期待値(出典)当機の出力誤差%
目標σspecHalf/(3×Cpk目標) = 0.12/(3×1.33)0.03007520.03007520.0000%
固定分σ(D4)工程σ手入力=配分対象外0.01000000.01000000.0000%
可変分の目標σ√(σ_target² − σ_fixed²) = √(0.03007519²−0.010²)0.02836400.02836400.0000%
可変分の現σ√(Σ可変現σ²)、可変現σ = 公差/5.490.03755110.03755110.0000%
比例係数 kσ_var_target / σ_var_current0.75534520.75534520.0000%
均等σ配分の σ_i,new√(σ_var_target²/n_var) = √(0.02836401²/3)0.01637600.01637600.0000%
均等σ配分の推奨公差σ_i,new × 5.490.08990410.08990410.0000%

(2) 手法a 比例スケーリング — 推奨公差 tol_new = k × tol_old(全可変一律)

項目入力条件期待値(出典)当機の出力誤差%
D1(大)推奨公差0.20 × 0.7553452±0.1510690±0.15106900.0000%
D2(中)推奨公差0.04 × 0.7553452±0.0302138±0.03021380.0000%
D3(小)推奨公差0.03 × 0.7553452±0.0226604±0.02266040.0000%
達成後 合成σ√(固定σ² + Σ(k×可変σ)²) = σ_target0.03007520.03007520.0000%
達成後 CpkspecHalf/(3×達成σ)1.3300001.3300000.0000%

(3) 手法b 均等σ配分 — 推奨公差は全可変で ±0.08990公差の小さい D2・D3 は Δtol<0(緩めてよい寸法)

寸法現公差推奨公差(=均等σ)Δtol=現−新判定
D1(大・可変)±0.200±0.08990+0.11010締め
D2(中・可変)±0.040±0.089900.04990緩めてよい(緩和可)
D3(小・可変)±0.030±0.089900.05990緩めてよい(緩和可)
D4(固定)±0.100±0.100000.00000固定(対象外)

均等σ配分の達成後 合成σ=0.0300752(期待0.0300752・誤差 0.0000%)、達成後 Cpk=1.330000。締め代合計 Σmax(0,Δtol)=±0.110(締め方向のみ)、緩め余地合計 Σmax(0,−Δtol)=±0.110。 D2・D3 は現公差が均等σ公差 ±0.090 より小さいため絞りすぎ=緩めてよいと判定されます。

均一コスト下でのコスト比較(正味の公差削減量):均等σ配分は「目標σを満たす配分のうち 可変寸法の総公差 Σ公差 を最大化する」解(相加・二乗平均の不等式より、Σσ_i² 一定なら Σσ_i は全σ均等のとき最大)なので、正味の公差削減量が最小になります。 可変3寸法の Σ推奨公差は 均等σ= 0.2697 (現状 Σ現公差 0.270 をほぼ維持・正味削減 0.0003)に対し、比例スケーリング= 0.2039(正味削減 0.0661)。 =均一コスト仮定では均等σ配分の総コストが小さい。 一方片側の「締め代合計」だけを見ると大きな D1 を一気に締める均等σ(0.110)が比例(0.066)より大きく見えますが、 その分は D2・D3 の緩めで相殺されます。

再現手順:lib/allocation.ts allocateTolerances(dims, { usl: 100.12, lsl: 99.88 }, 1.33) に上表の寸法を渡すと本結果が得られます(単体テスト lib/allocation.test.ts で対称・非対称・固定あり・実行不能・ 過剰緩和・片側規格の7観点を相対誤差 1e-9 で検証済み)。使用した σ換算 Cpk は 1.33 固定です。

補足:工程σ未入力時の σ 換算式

工程σが未入力の寸法は、公差から次式で σ を推定します(UI 上にも明示):

σ = 公差幅 ÷ (1.5 + 3 × Cpk目標) 既定 Cpk目標 = 1.33

導出:対称公差 ±T の規格に対し、工程平均が 1.5σ ずれるという 6σ の慣行を置くと Cpk = (T − 1.5σ)/(3σ) となり、これを解くと T = σ(1.5 + 3·Cpk)、すなわち σ = T/(1.5 + 3·Cpk)。「公差幅」は片側公差量 T を指し、非対称公差では 安全側(σ を過小評価しない)に max(|上公差|, |下公差|) を採用します。 1.5σ シフトは Motorola が 6σ 品質モデルを提唱した際に導入した業界慣行値です。 この推定はあくまで σ 未実測時の目安であり、可能な限り実測の工程σを入力してください。

出典一覧

  • NIST/SEMATECH e-Handbook of Statistical Methods, §6.1.6 What is Process Capability?(Cp/Cpk 定義・数値例)https://www.itl.nist.gov/div898/handbook/pmc/section1/pmc16.htm
  • Drake, P. J. Jr.(編)Dimensioning and Tolerancing Handbook, McGraw-Hill, 1999, 第9章(ワーストケース/RSS 公差スタックの標準公式)
  • Fischer, B. R. Mechanical Tolerance Stackup and Analysis, 2nd ed., CRC Press, 2011(同上・統計的公差解析の標準教科書)
  • JIS Z 8101-2 統計—用語及び記号—第2部:統計の応用(工程能力指数 Cp・Cpk の定義)
  • JIS B 0401 製品の幾何特性仕様(GPS)—長さに関わるサイズ公差(公差・ はめあいの定義)
注記:本ページの誤差%は、当機の実出力を上記の公式・文献の期待値と突合した結果です。 ワーストケースと RSS は決定論公式なので誤差はほぼ 0、モンテカルロのみ統計誤差 (試行数依存)が残ります。数式の実装は lib/tolerance.ts / lib/capability.ts / lib/montecarlo.ts の純関数に 分離し、lib/*.test.ts で既知入力→期待値を検証しています。