xellstorm
ZH
開啟應用程式

公差堆疊分析:最差情況、RSS 還是蒙地卡羅?

實作範例 · 公差堆疊 · 更新於 2026年10月

這個範例中,把全部 6 項公差相加(最差情況),間隙可縮到 0.120 mm,但 RSS 預測只有 3.29% 的組裝件會小於要求的 0.4 mm,模擬 20,000 件組裝件的蒙地卡羅結果是 3.21%。最差情況回答每件組裝件是否保證裝得進去;RSS 與蒙地卡羅回答多常會裝不進去。

範例是一個 100.00 ± 0.10 mm 的外殼,裝 5 個零件,標稱間隙 0.500 mm。把每項公差視為三個標準差,用方和根(RSS)算得間隙的標準差是 0.0544 mm。同樣的常態假設下,小到最差情況的間隙,大約每 730 十億件組裝件才出現一次:實務上等於絕不會發生。

模型

Excel 檔案是一張名為 Stack 的公差表,只有一張工作表:外殼和 5 個零件在其中首尾相接堆疊,每項都有標稱尺寸(B 欄,單位 mm)與 ± 公差(C 欄)。D 欄 Actual(實際值)是每項尺寸的製成值;存檔時等於標稱值。D9 的間隙是外殼減去各零件,=D2-SUM(D3:D7),D10 用同樣方式由 B 欄算出標稱間隙。沒有用到任何增益集函數。

模擬時,每個 Actual 儲存格(D2 到 D7)都是常態分配,標稱值為平均值,公差的三分之一為標準差。公差視為三個標準差(3σ),所以有 99.73% 的零件落在公差內。目標把間隙小於 0.4 mm 算作失敗:可以想成組裝件所需的最小餘隙,例如預留熱膨脹的空間。

這些分配和目標,在 xellstorm 開啟範例時會一併帶入。下載的檔案只有尺寸、公差與公式,和一般公差表一樣。標準差是直接輸入在模擬設定裡,沒有連結到 C 欄,所以在檔案裡改了公差,標準差也要一併改。

堆疊(mm;每項尺寸為常態分配,公差 = 3 個標準差)
尺寸標稱值公差標準差
外殼100.00±0.100.0333
零件 119.80±0.050.0167
零件 224.60±0.060.0200
零件 315.30±0.040.0133
零件 420.10±0.050.0167
零件 519.70±0.080.0267

最差情況:把公差相加

最差情況(算術)堆疊假設每項尺寸同時處於最不利的極限:外殼取最小的 99.90 mm,每個零件取最大。間隙的公差就是 6 項公差之和,±0.38 mm,所以間隙介於 0.120 與 0.880 mm 之間。

這是一項保證:公差內的零件組出來的任何組裝件,都不會超出這個範圍。但和 0.4 mm 的最小值相比,這項設計在紙面上就不合格。要通過,各項公差之和不能超過標稱間隙與最小值之間的 0.100 mm;全部按比例縮小,每項要降到原值的 26%。最差情況回答不了的,是間隙實際上多常會不足。

RSS:方和根

尺寸彼此獨立變動時,相加的是變異數,不是公差。每個標準差取公差的三分之一,間隙的標準差就是 6 個變異數之和的平方根:0.0544 mm。換個說法,RSS 公差,也就是各公差平方和的平方根,是 ±0.163 mm,即間隙的三個標準差:99.73% 的間隙落在 0.337 與 0.663 mm 之間。只看 ± 範圍的話,RSS 同樣判定這項設計不合格,因為 0.337 mm 低於最小值。

但 RSS 也能算出比率。獨立常態尺寸的和本身也是常態,中心在標稱間隙 0.500 mm,所以間隙小於 0.4 mm 的機率,可直接由常態分配算出。最小值比標稱間隙低 1.84 個標準差,常態分配中有 3.29% 落在比這更外側。在檔案裡,Excel 用 =NORM.DIST(0.4, D10, SQRT(SUMSQ(C2:C7))/3, TRUE) 就能得到相同的數字。

這個比率依賴幾項假設:尺寸彼此獨立、服從常態、以標稱值為中心,每項公差是三個標準差,而且間隙只是單純的加減。

蒙地卡羅:組裝 20,000 次

蒙地卡羅模擬一再組裝:每次試驗從分配抽出 6 項尺寸,重新計算檔案並記錄間隙。20,000 個模擬間隙中,有 641 個(3.21%)小於 0.4 mm,理論值是 3.29%。差異來自抽樣雜訊:20,000 次試驗時,接近 3.29% 的比例,不確定度約 ±0.13 個百分點。這是單純隨機抽樣的一個標準誤;預設的拉丁超立方抽樣,會把每項尺寸的分配切成 20,000 個機率相等的區段、各抽一次,通常稍好一些,結果隨每個輸入只朝單一方向變動時(如本例),也絕不會更差。模擬的平均值與標準差也和 RSS 的數值相符。

間隙(mm):RSS 公式(理論值)與 20,000 個模擬組裝件
RSS(理論值)模擬
平均間隙0.50000.5000
標準差0.05440.0543
間隙低於 0.4 mm(目標)3.29%3.21%
間隙低於 0.337 mm(RSS 下限,3σ)0.135%0.105%
間隙低於 0.120 mm(最差情況下限)1.4 × 10−1220,000 次中沒有
間隙的分配20,000 個模擬間隙的直方圖,範圍從 0.287 到 0.719 mm,標稱值為 0.500 mm。低於 0.4 mm 的長條(占 3.21% 的組裝件)以醒目色標示;虛線標出最差情況下限 0.120 與 0.880 mm,遠在所有模擬間隙之外。0.200.400.600.80低於 0.4 mm 的占 3.21%最差情況0.120最差情況0.880
間隙(mm)。每根長條是模擬組裝件的數量;低於 0.4 mm 的長條以醒目色標示。虛線是最差情況下限:20,000 個模擬間隙中最小的是 0.287 mm。

最差情況有多保守?

同一個堆疊的三種答案(間隙,單位 mm)
方法間隙範圍低於 0.4 mm
最差情況:把公差相加0.120–⁠0.880可能發生(無機率)
RSS:方和根,±3σ0.337–⁠0.6633.29%
蒙地卡羅:全部 20,000 次試驗0.287–⁠0.7193.21%

非常保守。間隙要降到 0.120 mm,各尺寸合計得往不利側偏離 0.38 mm,而每個零件都符合公差時,就等於全部 6 項同時處於極限。同樣的常態假設下,這麼小的間隙比標稱間隙低 6.99 個標準差,機率是 1.4 × 10−12:約每 730 十億個組裝件才有一個。很少有實際製程會在這麼極端的一端還符合常態分配,而且檢驗會剔除超出公差的零件,所以這只能解讀為「實務上幾乎不會發生」。模擬也用自己的方式說了同一件事:20,000 個間隙中最小的是 0.287 mm。

這項保證有代價。要以最差情況達到 0.4 mm,按比例縮小的公差得降到原值的 26%;以 3σ 的 RSS 來看,要降到 61%,這樣仍有 0.135% 的間隙低於最小值。公差越嚴,加工與檢驗的成本越高。3.29% 的組裝件低於 0.4 mm 能不能接受,或值不值得花錢降低,是設計決策;統計結果讓人看清楚是在哪些選項之間取捨。

先收緊哪一項公差

在每項公差都是 3σ 的線性堆疊中,各尺寸占間隙變異數的比例,是其公差的平方除以各公差平方之和。外殼的 ±0.10 mm 占 37.6%,零件 5 的 ±0.08 mm 占 24.1%,零件 3 的 ±0.04 mm 只占 6.0%。公差是以平方計入的,所以最大的幾項主導一切。依 RSS 公式,把外殼公差減半為 ±0.05 mm,間隙低於 0.4 mm 的比例就從 3.29% 降到 1.50%;把 零件 3 的公差減半為 ±0.02 mm,只降到 2.99%。

各尺寸占間隙變異數的比例
尺寸公差(mm)理論占比應用程式(模擬)
外殼±0.1037.6%38.0%
零件 5±0.0824.1%24.0%
零件 2±0.0613.5%13.6%
零件 1±0.059.4%9.4%
零件 4±0.059.4%9.3%
零件 3±0.046.0%5.8%

應用程式的變異貢獻度表,由模擬試驗的等級估算出相同的占比:外殼為 38.0%,理論值為 37.6%。沒有占比公式的模型,就靠這張表與龍捲風圖找出該收緊哪項尺寸;見龍捲風圖與敏感度分析。

什麼時候值得用蒙地卡羅

RSS 與蒙地卡羅在這裡結果一致,是因為範例符合 RSS 的每一項假設。其中最關鍵的一項:每項公差都是常態分配的三個標準差。換成尺寸均勻散布在公差帶內,例如刀具在一批加工中持續磨耗,每項尺寸就是均勻分配,標準差為公差除以 √3,是常態情況的 1.73 倍。

以情境執行,用相同的隨機抽樣,每項尺寸在標稱值減公差到標稱值加公差之間均勻分配,模擬得到 14.99% 的間隙低於 0.4 mm,先前是 3.21%。均勻尺寸的理論值,由均勻分配之和的分配算出,是 15.03%。以均勻分配的標準差(間隙為 0.0942 mm)做 RSS,得到 14.41%:很接近,但偏低,因為它仍把間隙當成常態,而 6 項尺寸(其中一項占變異數的 37.6%)還不足以讓間隙完全呈常態。最差情況完全不動:它不看尺寸如何分配。

所以對獨立尺寸的單純加總,用正確的標準差做 RSS 就很接近。堆疊沒那麼單純時,蒙地卡羅才顯出價值:間隙取決於角度或半徑,或公式裡有 MAX 或 IF;分配偏態,或被檢驗截斷;尺寸會一起變動;或模型本來就放在試算表裡。xellstorm 每次試驗都重新計算檔案,所以間隙就是檔案自己的公式對各尺寸算出的結果,不是為分析而改寫的加總。

親自試試

  1. 用 xellstorm 開啟模型。6 項尺寸是輸入,D9 的間隙是輸出,間隙小於 0.4 mm 是目標;不需安裝、不需註冊,Excel 檔案直接在瀏覽器計算。
  2. 執行:用相同的亂數種子與 20,000 次試驗,就會得到本頁的數字(應用程式把占比四捨五入到小數一位,例如 3.2%)。結果顯示平均間隙、間隙小於 0.4 mm 的機率,以及 P10,即 0.430 mm(90% 的組裝件超過此值);百分位數表一路列到 P1。
  3. 在機率欄位輸入另一個最小值,例如 0.337 mm 的 RSS 下限,或把游標移到 S 曲線上,讀出間隙小於任何值的機率。
  4. 在 Distributions 步驟,新增一個名為「公差內均勻分配」的情境,把每項尺寸的分配改成 Uniform(均勻分配),min 設為標稱值減公差、max 設為標稱值加公差(外殼為 99.90 與 100.10),再執行一次:情境表會在相同的隨機抽樣上拿它和基準情境比較。再新增第二個情境,把外殼的 sd 減半(由 0.0333 降到 0.0167),看收緊外殼公差換得什麼。
  5. 接著開啟自己的公差表,把每項尺寸設為 Normal(常態分配)輸入,sd = 公差 / 3(或製程資料顯示的變異),再選間隙為輸出。

只用 Excel 也做得到嗎?

可以。RSS 比率就是上面那條 NORM.DIST 公式。蒙地卡羅模擬則是把每個 Actual 值換成類似 =NORM.INV(RAND(), B2, C2/3) 的公式,用資料表重複計算數千次,再用 COUNTIF 數出間隙小於 0.4 mm 的次數。Excel 蒙地卡羅模擬說明了做法,以及由工具代為執行 Excel 檔案時有哪些不同。

常見問題

什麼是公差堆疊?

公差堆疊是計算幾個零件的公差如何疊加到一個由它們共同決定的尺寸上,例如外殼與其中零件之間剩下的間隙。常見的三種方法是:最差情況(把公差相加)、RSS(視為獨立的隨機變異再合成),以及蒙地卡羅模擬(用隨機尺寸組裝很多次)。

最差情況與 RSS 公差分析有什麼差別?

最差情況公差分析把公差相加,所以涵蓋公差內零件的每一種組合,但假設它們同時處於極限。RSS(方和根)取各公差平方和的平方根:把變異視為獨立且隨機,每項公差是三個標準差時,給出涵蓋 99.73% 的組裝件的範圍。這個堆疊的最差情況是 ±0.38 mm,RSS 是 ±0.163 mm。

為什麼把公差視為三個標準差?

公差視為三個標準差(3σ),描述的是置中、服從常態的製程:99.73% 的零件落在公差內,製程能力指數(Cp)為 1。製程能力更好,標準差更小,失敗更少;輸出均勻散布在整個公差帶內的,失敗更多,如上面的均勻情境所示;偏離中心的製程,會有更多零件超出公差,也使間隙往某一側偏移。有量測資料時,改用製程本身的平均值與標準差。

公差模擬需要多少次試驗?

公差模擬的試驗次數,要多到能把在意的失敗事件數很多次。約 3.29% 的間隙低於 0.4 mm 時,20,000 次試驗數到 641 個這樣的間隙,把比例定在約 ±0.13 個百分點以內(單純隨機抽樣的一個標準誤;預設的拉丁超立方抽樣通常稍好一些)。以百萬分之一計的失敗率,要數百萬次試驗,或在假設成立時用理論公式。

尺寸之間可以設定相關性嗎?

xellstorm 能為尺寸設定相關性:在 Distributions 步驟為一對尺寸指定等級相關,例如從同一根棒材切下的兩個零件。兩個零件之間的正相關,會使間隙的分散程度變寬;外殼與零件之間的正相關則使它變窄,因為間隙是從外殼減去各零件。單純的 RSS 公式假設獨立,兩種效應都漏掉了。

相關內容

xellstorm 是在瀏覽器中執行的 Excel 模型蒙地卡羅模擬工具:免裝增益集,Excel 檔案也不會離開您的電腦。