公差スタックアップ解析とは?最悪ケース法による組立公差の計算手順
組立公差スタックアップ解析とは?
組立公差スタックアップ解析とは、構成部品すべての公差値が分かっている場合に、組立体全体の寸法公差、あるいは組立体内の特定の隙間(ギャップ)の公差値を求める手法です。機械設計において、複数の部品を組み合わせた際に寸法誤差がどのように累積するかを事前に予測することで、製品の機能性や組み付け性を保証するために欠かせない工程となっています。
公差スタックアップ解析にはいくつかのアプローチがありますが、その中で最もシンプルなのが「最悪ケース法(Worst Case Method)」です。本記事では、この最悪ケース法について具体的な数値例を用いて解説します。
最悪ケース法による公差スタックアップの考え方
最悪ケース法は、各部品の寸法が公差範囲の極限値(上限または下限)に同時に達したと仮定して、組立体全体の最大寸法と最小寸法を計算する方法です。実際にはすべての部品が極端な公差を持つ確率は非常に低いものの、「どんな条件でも確実に組み立てられること」を保証したい重要部位の検討には有効な手法です。
それでは、以下のような4枚の板からなる組立体を例に考えてみましょう。

上図には、各板の厚さと公差が示されています。ここから、組立体全体の寸法「X」とその公差値を以下の手順で計算します。
ステップ1:下限規格限界(LSL)の計算
まず、各板の最小寸法(LSL:Lower Specification Limit)を求めます。
板1(SHEET-1): LSL = 25 − 0.4 = 24.6 板2(SHEET-2): LSL = 12 − 0.3 = 11.7 板3(SHEET-3): LSL = 12 − 0.3 = 11.7 板4(SHEET-4): LSL = 12 − 0.5 = 11.5
次に、すべての板のLSL厚さを合計すると、組立体全体の最小厚さ(TL)が得られます。
TL = 24.6 + 11.7 + 11.7 + 11.5 = 59.5
ステップ2:上限規格限界(USL)の計算
続いて、各板の最大寸法(USL:Upper Specification Limit)を求めます。
板1(SHEET-1): USL = 25 + 0.4 = 25.4 板2(SHEET-2): USL = 12 + 0.3 = 12.3 板3(SHEET-3): USL = 12 + 0.3 = 12.3 板4(SHEET-4): USL = 12 + 0.5 = 12.5
すべての板のUSL厚さを合計すると、組立体全体の最大厚さ(TU)が得られます。
TU = 25.4 + 12.3 + 12.3 + 12.5 = 62.5
ステップ3:組立体全体の公差の算出
組立体全体の公差は、最大寸法と最小寸法の差を2で割ることで求められます。
± (TU − TL) / 2 = ± (62.5 − 59.5) / 2 = ± 1.5
ステップ4:公称寸法の算出
最後に、各板の公称厚さを合計して、組立体全体の公称厚さ(TN)を求めます。
TN = 25 + 12 + 12 + 12 = 61
計算結果のまとめ
以上の計算により、組立体全体の寸法「X」は次のように表されます。
X = 61 ± 1.5(許容範囲:59.5〜62.5)
このように最悪ケース法では、各部品の公差が単純に加算されるため、結果として得られる組立体の公差は大きくなりがちです。そのため、公差が厳しく要求される場合は、二乗和平方根(RSS)法などの統計的手法との使い分けも検討するとよいでしょう。
-
トポロジカルソートとは?アルゴリズムの仕組みとC++実装例を解説
トポロジカルソートとは トポロジカルソート(位相的整列)とは、有向非巡回グラフ(DAG:Directed Acyclic Graph)の頂点を線形順序に並べるアルゴリズムです。グラフ内のすべての辺 U → V に対して、並べた順序の中で頂点 u が必ず頂点 v より先に現れるように整列します。 始点側の頂点は終点側の頂点より先に処理される必要があるため、探索済みの頂点を一時的に保持するためにスタックを使用します。すべてのノードの処理が完了した後、スタックから要素を順に取り出して表示するだけで、トポロジカルな順序が得られます。 入力と出力 以下は、6つの頂点を持つグラフを隣接行列形式で入力し
-
C++ STLのスタック(stack)徹底解説!LIFO構造の基本操作とサンプルコード
C++ STLにおけるスタック(stack)は、LIFO(Last In First Out:後入れ先出し)構造として実装されるコンテナです。LIFOとは「最後に入れたものが最初に取り出される」という意味で、本を一冊ずつ積み上げた山をイメージすると理解しやすいでしょう。一番上に置いた本(=最後に挿入された要素)が最初に取り出されることから、この構造はLIFOと呼ばれています。 スタックで使える主な操作 1. top() – 最上位要素の取得 スタックの最上位(先頭)にある要素への参照を返します。要素自体は削除されません。 構文:name_of_stack.top() 引数:なし 戻り値:ス