07 / STEP REVISION COMPARISON
CADを開かずに、新旧STEPの変更箇所を比較。
CAD・設計データ|ツール開発・検証
新旧2つのSTEPデータを直接解析し、穴径・穴位置・板厚の変更候補と寸法差を比較。設計変更の確認、差分整理、レポート作成の手作業を減らせるか、ツールを実装して検証しました。
目指すのは、人が差分を探す作業を、機械が抽出した候補を確認する作業へ変えることです。現在の対象は長方形の板と貫通穴に限られますが、この検証をもとに、自社・顧客のSTEPで適用できる範囲をPoCで確かめる進め方をご紹介いたします。
01
改訂STEPが届くたびに、変更箇所を探していませんか
取引先や他部署から改訂版のSTEPを受け取り、旧版と新版をCADで開く。視点を合わせ、穴径・穴位置・板厚や形状の増減を見比べ、変更内容をExcel・メール・帳票へまとめる。こうした確認作業があります。
- 変更箇所が明示されていないため、モデル全体を見比べる。
- 寸法を一つずつ測り直し、変更前後の値を転記する。
- 確認結果をまとめ直して、設計・加工・検査の担当者へ共有する。
1部品では短時間でも、改訂件数や部品点数が増えると繰り返しの負担になります。STEP自体を直接比較し、人が探す前に変更候補を絞り込めないか。この問いから、比較ツールを実装・検証しました。
02
今回試したこと:穴径・穴位置・板厚の変更を比較
STEPは、異なるCADの間で3D形状などを受け渡すためのファイル形式です。このツールは元CADの操作履歴を使わず、読み込んだ面や円筒の形状から対応候補を調べます。
- 新旧2つのSTEPを直接読み込み、同じ視点・縮尺で並べて表示する。
- 変更候補を色分けし、対応する穴径・位置・板厚の旧値・新値・差を一覧にする。
- 比較図と寸法差、比較条件、判定保留の理由をHTMLに保存する。
CATIA・NX・SOLIDWORKSなどのCAD本体を起動せず、専用のローカル比較画面で確認する方式です。現在の対象は、同じ座標系にある長方形の板と貫通穴に限ります。これらのCADから出力された任意のSTEPで動作を確認したものではありません。
検証用に作成した12 × 10 × 4 mmの板を基に、穴径、穴位置、板厚をそれぞれ変更しました。
| 変更した寸法 | 旧値 mm | 新値 mm | 差 mm |
|---|---|---|---|
| 穴径 | 2.0 | 2.6 | +0.6 |
| 穴中心X | 6.0 | 7.5 | +1.5 |
| 穴中心Y | 5.0 | 5.5 | +0.5 |
| 板厚 | 4.0 | 5.0 | +1.0 |
穴径の変更、穴位置の変更、板厚の変更は別々のサンプルです。穴中心X/Yは同じ座標系での位置、差は新版から旧版を引いた値です。
穴の追加・削除も確認しました。残った穴を対応付けてから、片側だけに残る穴を追加・削除の候補として表示します。測定値は形状から得た値であり、元CADの公称寸法・公差・設計意図を復元したものではありません。
旧版と新版を別々に開くと、共通の視点・縮尺で並べて表示します。両方を連動して回転し、確認したい穴を選び、その穴の旧値・新値・差を確認できます。
03
「差分を探す」から「差分候補を確認する」へ
変更候補の抽出と寸法差の整理をツールに任せられれば、人が確認を始める位置を絞れます。次のAfterは、現在の限定した比較機能を業務に組み込む場合の運用イメージです。
Before
手作業で探し、確認・転記する流れ
- 改訂STEP受領
- CAD起動・新旧ファイルを開く
- 視点を合わせる
- 変更箇所を探す
- 寸法を確認する
- Excelや帳票へ転記する
- 関係者へ共有する
After
STEP直接比較を組み込む流れの案
- 旧STEP+新STEP
- 比較ツールへ入力
- 変更候補を自動抽出
- 寸法差を一覧化
- 比較レポートを生成
- 人が候補箇所・保留箇所を確認する
候補に出た箇所だけを見れば十分かどうかは、実データでの見落としの評価が必要です。今回、業務時間の削減率は測定していません。確認範囲と品質を確かめながら、探す時間を減らす運用を検討いたします。
04
どんな業務に使えそうか
以下は実案件への適用案です。お使いの部品や出力条件で比較できるかを確認したうえで、業務に組み込む範囲を決めます。
- 客先から届く改訂STEPの一次確認:変更候補を先に拾い、確認する順序を整理する。
- 設計変更内容の整理:対応する穴径・穴位置・板厚の差を、比較図と一緒に確認する。
- 見積変更時の形状確認:加工条件や見積もりを見直す箇所を探す材料にする。見積金額の自動判定は別の処理です。
- 加工・検査工程への変更点共有:人が確認した内容を、比較レポートとともに関係者へ渡す。
- STEPしか受け取れない案件:元CADの履歴を参照できない状況で、形状から変更候補を調べる。
- Excel・CSV・DBへの連携:比較結果を既存の台帳や社内システムへ渡す処理を、追加開発として検討する。
05
CAD・PDMと役割を分け、周辺の手作業を減らす
元CADの設計履歴や、PDM/PLM(設計データ・製品情報を管理する仕組み)の変更管理情報を使える場合は、それらを利用する方が適していることがあります。STEP直接比較は、STEPしか受け取れない場合やCAD外部で処理したい場合の補完的な選択肢です。
| 確認したいこと | CAD/PDM・PLMを使う場合 | STEP直接比較(今回の方式) |
|---|---|---|
| 設計履歴・変更理由 | 元データや管理情報があれば参照できる | 元CADの履歴・変更理由は復元しない |
| フィーチャ・拘束情報 | CADの作成情報を利用。取得範囲は製品・APIによる | 形状を測定して比較。元のフィーチャ・拘束は復元しない |
| STEPだけ受領した場合 | CADの読込・比較機能を利用できる場合がある | 対応範囲のSTEPを直接入力。出力元・設定ごとの確認が必要 |
| CADライセンスなしでの前処理 | 実行形態と必要ライセンスは製品・機能による | CAD本体は不要。解析ライブラリと配布物の利用条件は別途確認 |
| 外部システム連携 | API・出力機能と権限に合わせて実装 | 現在はHTML保存。Excel・DB等への接続は追加実装 |
| 形状差の一次確認 | 利用できる比較機能・対象データに応じて実施 | 限定形状の候補抽出と判定保留。実データで適用範囲を測る |
CATIA VBAなどでCAD内部の操作を自動化している案件でも、その外側に「受領データの比較・一覧化・後工程への共有」が残っている場合があります。異なるCAD間での受け渡しも含め、既存のマクロや管理システムとつながる処理として検討できます。
06
比較して終わりではなく、確認結果を残す。
比較画面を毎回開き直さなくても、どのデータをどの条件で比べたかをたどれるように、結果を一つのHTMLファイルへ保存できます。
- 比較画像:保存時の視点で、新旧モデルと変更候補を並べて残す。
- 寸法差:対応する寸法の旧値・新値・差を一覧にする。
- 比較条件:対象ファイルや単位、判定に使った条件を残す。
- 判定保留理由:自動では決められず、人が確認する箇所を残す。
レポートは比較結果を保存するもので、担当者の承認履歴を管理する機能ではありません。画像は静的で、保存後の回転・視点変更はできません。比較用サーバーへ接続せずに閲覧できます。
穴径変更のHTMLレポート / 曖昧な穴のHTMLレポート / 面分割による保留のHTMLレポート
CSV・Excelの帳票、DB、Webシステムへの連携は、必要な出力項目と接続方法を確認して個別に実装する範囲です。後半で公開している実測結果CSVは研究の評価記録で、業務システムとの連携機能ではありません。
07
設計データを外部クラウドへ送らない構成
今回の比較処理はローカルPC上で動作します。STEPを外部Webサービスへアップロードせず、外部生成AIにも設計データを送りません。ブラウザは手元の比較画面として利用し、解析も同じPC上で行います。
- このWebサイトへSTEPをアップロードする必要はありません。
- 実装に必要な環境を用意した後は、通常の評価をネット接続なしで実行できます。
- 比較レポートには形状や寸法が含まれるため、保存・共有先は設計データと同様に管理します。
実案件では、社内PC・オンプレミス・閉域環境での構成も検討いたします。現在はローカルの研究用ツールです。社内サーバーへの展開や、認証・権限管理・監査・運用環境の安全性は、要件に応じて別途設計・確認する範囲です。
08
自動判定できない箇所は、人の確認へ返す
同じ大きさの穴が並ぶと、どの穴がどこへ移動したのかを一つに決められない場合があります。候補が複数あるときは対応を保留し、根拠のない穴の寸法差を表示しません。
分からない変更を、「変更なし」にはしない。判断できなかった対応は「判定保留」として残します。担当者は、比較できた寸法と、自分で確認する必要がある箇所を分けて読むことができます。
これは誤判定や見落としがなくなる保証ではありません。自動比較の根拠が足りない場合に結果を確定せず、人へ戻すための仕組みです。対象外の形状や読込できないデータも、従来の確認手順に戻せる運用にします。
09
100%自動化ではなく、一次スクリーニングから
今回の自作16組では、比較完了9件、一部保留2件、全体保留5件でした。外部公開STEP6件は、すべて現在の読込条件に合わず、比較まで進めませんでした。一般の工業部品での適用率を示す結果ではありません。
実案件では、人が見るべき候補を先に絞る「一次スクリーニング」から検討します。PoC(実現性を確かめる小規模な検証)では、例えば次の順で、自社・顧客のデータに適用できる範囲を測ります。
- 実データを集める:普段扱う新旧STEPを数十組など、形状や変更の種類が分かる範囲で選びます。件数・対象は着手前に合意します。
- 入力条件を調べる:単位、座標系、部品数、面の構造、出力元CADと設定を確認します。
- 変更を分類する:人が確認した変更内容と照合し、自動比較できる範囲と見落とし・余分な候補を調べます。
- 保留条件を整理する:自動では決められない形状や読込できないデータの戻し先を決めます。
- 効果を測る:比較可能な案件の割合、従来の確認時間、候補・保留を確認する時間を測り、削減可能な工数を見積もります。
- 採算の合う範囲をツール化する:開発・運用費と削減工数を比べ、投資に見合う範囲から進めます。
最初からすべての変更を自動判定する前提にはしません。判定できる条件と、人の確認を残す条件を合意してから開発範囲を決めます。
10
こんな相談からPoCできます
- 客先から改訂STEPが頻繁に届き、毎回目視で見比べている。
- 穴径・穴位置などの変更をExcelへまとめる作業を減らしたい。
- 変更候補がある部品を先に絞り、比較レポートを作りたい。
- STEP比較の結果を社内システムへ渡したい。
- 自社・顧客の部品でどこまで比較できるか、まずPoCで確認したい。
- CATIAなどのCAD内部に加えて、データ受領後の周辺業務も自動化したい。
現在の確認方法、扱うCAD・STEPの種類、特に見落としたくない変更をお聞かせください。機密データの共有方法は、対象や必要な秘密保持の取り決めを確認してから調整いたします。
11
Inefficiency Labが対応できる範囲
既存CADと業務の間に残っている手作業を減らす。STEP比較を一つの入口に、必要な解析・出力・連携の範囲を整理し、調査から小規模なツール開発まで支援いたします。
- 調査・技術検証:STEP/CADデータ解析、新旧データ比較、寸法・特徴量抽出、Pythonによる形状処理、自動化可能範囲の調査。
- 出力・連携の開発:CSV・Excel・HTMLの帳票生成、DB・Webシステムとの連携。今回の比較ツールに未実装の機能は、個別の開発対象として整理します。
- 案件への参画:製造業企業からの直接相談、SIer様・開発会社様からの技術検証、顧客案件の部分開発、比較ロジック部分だけの開発。
必要な入出力、対象形状、利用環境、担当範囲を確認してお見積もりいたします。実データでの適用確認だけを行うPoCからもご相談いただけます。
12
技術詳細・検証条件
比較できる形状と、未検証の範囲
| 現在確認できる条件 | 今後の検証が必要な条件 |
|---|---|
| 同じXY外周・Z下端を持つ、軸に平行な長方形の板 | 外形変更、自動位置合わせ、回転・移動したデータ |
| 互いに離れたZ方向の貫通穴 | 止まり穴、交差穴、外周に接する穴、曲面 |
| 一意に対応する穴径・中心位置・板厚 | 面の分割・結合、複数部品、曖昧な繰り返し形状 |
現状は研究用の限定した比較ツールです。元CADの拘束や履歴を復元すること、あらゆる変更を見落とさないこと、図面や設計承認を置き換えることは確認していません。
対応付けと表示の意味
平面・円筒面を測り、板と穴として扱える形状かを確認します。穴はまず同じ位置の一意な組を対応付け、残りは一定距離内で旧→新・新→旧の両方向に候補が一つの場合だけ対応候補にします。複数候補が残る場合は保留します。
候補が一意でも、設計者が行った操作を証明するものではありません。同じ位置での穴の削除・再作成などは、設計履歴なしでは区別できません。
変更候補は黄、追加候補は緑、削除候補は赤、判定保留は紫で表示します。色は面全体の分類で、変更された材料だけの厳密な境界を描くものではありません。
自作16組の結果
新旧を別のSTEPへ出力してから読み込み、判定処理には作成時のパラメーターや正解ラベルを渡していません。
同形状、寸法変更、穴の増減、曖昧な配置、座標違い、微小な差、面分割など、自作16組を各3回実行しました。結果の内訳は次のとおりです。
| 結果 | 件数 | 意味 |
|---|---|---|
| 比較完了 | 9 | 対応範囲内で候補と寸法を比較 |
| 一部保留 | 2 | 穴の対応を保留し、確認できた板厚だけ比較 |
| 全体保留 | 5 | 座標条件や形状の表現が対象範囲外 |
3回の実行で判定と測定値は一致しました。曖昧な穴を保留する条件や、対象外として止める条件も含むため、予定した扱いとの一致を「変更検出の精度100%」とは表現しません。
例えば、同じ材料形状でも平面を分割したSTEPは、現在の6平面の板という判定条件から外れます。移動・回転した板の自動位置合わせも行いません。こうした保留箇所が次の開発・検証対象です。
外部の公開STEP6件では、比較まで進めなかった
自作モデルだけで判断せず、以前の形状検査で使用した外部公開STEP6件も、そのまま入力しました。CadQueryの組立、build123dのブラケットとねじ、u-bloxのSAM 2形式とEMMYです。
| 公開元 | 入力 | 今回の比較処理 |
|---|---|---|
| CadQuery | 組立 1件 | 読込条件で拒否 |
| build123d | ブラケット・ねじ 2件 | 読込条件で拒否 |
| u-blox | SAM 2形式・EMMY 1件 | 読込条件で拒否 |
現在の比較用読込は、明示的なmm単位、単一の単位コンテキスト、単体ソリッド、最大24面などに限定されています。外部6件はこの条件から外れ、変更箇所の比較まで進めませんでした。以前の一般的な形状検査で読めたことと、今回の比較画面で扱えることは別です。
外部入力は同じファイルを新旧の両側に渡す読込条件の確認で、メーカーが公開した新旧設計のペアではありません。SAMの2形式は同じ部品系列です。今回、実際の公開部品の設計変更を検出できたとは主張しません。
自作16組と外部6件の計22条件は、成功例・保留・拒否を全て実測結果に残しています。検出率や業務時間の削減率を示すための、代表的な工業部品の評価ではありません。
サンプル・実測結果・再現手順
同じ結果を確かめられるよう、固定STEP、作成条件、正解値、SHA-256、実行コード、実測JSON/CSV、比較図、HTMLレポートを公開しています。通常の評価はネット接続なしで実行でき、入力が記録したハッシュと違う場合は停止します。
STEPサンプル一式をダウンロード(ZIP) / 実測結果CSV / 全条件・実行環境のJSON
レポートには静的な比較図と測定値を内包しています。保存後の視点変更はできませんが、比較用サーバーへの接続は不要です。外部6件は両側の読込が完了していないため、比較レポートを生成せず、拒否理由をJSONへ記録しています。
自作32ファイルはInefficiency Labによる検証用モデルで、PolyForm Noncommercial 1.0.0を適用します。外部6ファイルは無変更で、CadQueryとbuild123dのApache-2.0、build123dのNOTICE、u-bloxの使用・複製・変更・配布に関する許諾原文を同梱しています。それぞれの利用条件をご確認ください。
外部の出所URL、固定コミット、取得日、帰属、ライセンスは一覧に記録しています。顧客データや顧客の改善実績として扱うものではありません。
サンプルの出所とライセンス / 実験方法と対応範囲 / ローカル比較画面の操作手順
実行はPython 3.12・OCCT 7.9.3.1.1のLinux環境で確認しました。各3回の自作条件の処理時間中央値は約0.107〜0.228秒です。新旧読込・形状確認・描画用データ生成・対応付けを含み、レポート生成は含みません。別のPCや一般部品での速度を保証する値ではありません。
技術担当の方向け:再実行コマンド
python -m pip install -e ".[geometry,test]"
python -m research_notes.revision_benchmark --output-dir output/revision-check --repeats 3
python -m research_notes.cad_web
対応する研究リポジトリを取得したディレクトリで実行します。ローカル画面は http://127.0.0.1:8767/revisions です。
再実行時は、本記事から参照している研究の固定コミットを使用します。最新の開発版とは条件が異なる場合があります。