06 / 3D CAD & STEP

寸法変更から再計算・干渉確認まで、一連で自動化。

寸法変更後の形状再生成、部品配置の更新、クリアランス・干渉確認、STEP出力まで。一連の処理として自動化する仕組みを、条件を定義した部品と小規模アセンブリで検証しました。

繰り返す設計変更で、作り直しと確認の手間を減らすことを目指しています。ここでの結果は定義した形状・組立条件に対するもので、任意のCADモデルや実製品の組立を自動変更できると確認したものではありません。

01

繰り返す寸法変更と確認を、まとめて処理する

例えば、次のような繰り返し作業が、自動化を検討する対象になります。

  • 穴径やポケット深さをパラメータで変更し、寸法違いの部品を作成する。
  • 板厚の変更に合わせて、相手部品の取り付け位置を更新する。
  • 変更後のクリアランス(隙間)と、部品間の干渉を確認する。
  • 変更前後の形状を比較し、STEP形式で出力する。

自動化を考える際は、変更する寸法パラメータに加え、維持したい位置・向き・距離の関係を、拘束条件として整理します。

例えば「板厚が変わっても、基準面から相手部品までのクリアランスを1mmに保つ」という条件です。既存CADの標準機能で追従する部分と、手動で調整・確認している部分を切り分け、自動化する範囲を決めます。

02

単体部品では、フィーチャー編集からSTEP出力までを確認

公開研究では、STEP読込からフィーチャー候補の選択、寸法パラメータの変更、再計算、形状比較、STEP出力までの手順を実装しました。

STEPは、異なるCADの間で形状などを受け渡すためのファイル形式です。今回の実装では、対応する単純なSTEP形状から、穴・ポケット・ボスなどのフィーチャー(形状要素)で構成する候補を提示。人が選択・確認してから寸法を編集します。

寸法変更から出力まで確認したのは、次の5種類のフィーチャーです。

5例とも、変更後の体積・表面積を理論値と照合しました。さらに、出力したSTEPを再読込し、面・稜線などの構成(トポロジー)が維持されていることを確認しています。

STEP形状の比較

穴径を変えたときの形状と体積

変更前 貫通穴 φ2mm

半径1mmの貫通穴を持つ板。変更前の検証用STEP形状。

体積 467.434mm³

変更後 貫通穴 φ3mm

半径を1.5mmに拡大した貫通穴付き板。板の外形は変わらず、穴径が大きくなっている。

体積 451.726mm³

12×10×4mmの板で、貫通穴の半径を1mmから1.5mmへ変更した例です。公開検証のSTEP形状を同じ視点・縮尺で描画しています。色は形状を見分けるためのもので、材質を示すものではありません。

形状の再生成だけでなく、寸法変更後の幾何形状とSTEP出力後の整合性を確認するところまでが検証の対象です。

ただし、元のCADのフィーチャー履歴や設計意図を復元したものではありません。対応する単純な形状について、編集用のフィーチャー構成を新たに組み立てる仕組みです。

検証条件と結果を見る(GitHub)

03

寸法を変更する前に、形状と計測値の変化を確認する

形状を自動で作り直せても、意図した変更かどうかの確認は残ります。そこで、変更案を先に表示し、人が確認してからモデルへ反映する手順を実装しました。

検証した操作の流れ

  1. 変更を指示する

    編集する形状候補を選択した後、「穴の半径を1.3 mmに」と入力する。

  2. 変更案を確認する

    変更する寸法と、形状・体積の変化を見る。この段階では元のモデルを変更しない。

  3. 確認して反映する

    確認した案で再計算する。変更前後を比較し、STEP出力・再読み込みまで確認する。

確認を挟む編集の検証例

穴の半径を1.0mmから1.3mmへ

変更前 貫通穴 φ2mm

変更前の半径1mmの貫通穴付き板。比較の基準となる形状。

体積 467.434mm³

確認・反映後 貫通穴 φ2.6mm

変更案を確認し、穴の半径を1.3mmへ変更した板。公開検証の出力STEPから描画。

体積 458.763mm³

12×10×4mmの板を使った、変更案の確認・反映の検証です。前節の半径1.5mmへの変更とは別の例です。入力と出力のSTEPを同じ視点・縮尺で描画し、色は形状を見分けるために付けています。

この例では、密度7,800kg/m³を指定すると、変更後の質量は約3.578gでした。材質を自動で読み取った値ではなく、指定した密度と形状から計算しています。

実行画面で確認する

面を選んで、変更前後の数値を確認

実行した3D診断画面。左で穴の円筒面を橙色に選択し、右に読込時と確定形状の体積・表面積を表示。 画面を拡大して見る ↗
穴の半径
1.0 → 1.3mm
体積の変化
467.434 → 458.763mm³
減った体積
8.671mm³
上の穴径変更と同じ条件を実行した診断画面です。橙色は選択した穴の側面です。右側の表で、読込時の形状と、変更を確定した形状の体積・表面積を比較できます。

診断画面では、面・辺の選択に加え、元データとの対応、フィーチャーの依存関係、拘束の状態を確認できます。形状を見るだけでなく、どの要素を調べているか、変更で数値がどう変わったかを確認するための画面です。

この画面は、計算時点の結果を表示する閲覧用です。寸法変更・再計算はPython APIまたは対話ターミナルで行います。画面上で直接CADを編集する機能ではありません。

診断画面の機能と検証条件を見る(GitHub)

確認していない案や、古い案は反映しない

日本語の変更案表示、確認なしの操作、未対応の指示、成立しない寸法、モデル変更後に古くなった案など、8種類の条件を確認しました。処理を進める条件と、止める条件を分けた動作確認です。

さらに、読み込み・解析・編集・計測・STEP出力を同じ操作環境につなぎ、8件の限定した条件で処理の連携を確認しました。繰り返す設計変更でも、変更内容と結果を記録しながら進めるための土台になります。

対応しているのは、決められた日本語・英語の指示形式と、編集可能な限定した形状です。大規模言語モデル(LLM)による自由な会話や、任意のSTEPの編集を実現したものではありません。実際の業務では、変更する寸法・許容範囲・人が確認する項目を先に整理いたします。

変更案と確認操作の検証(GitHub) / 読込から出力までの連携と結果

04

アセンブリでは、拘束条件に沿った再計算と干渉を確認

アセンブリの検証には、同じ直方体部品を上下に二つ配置した自作モデルを使いました。

下側部品を固定し、その上面を基準に上側部品とのクリアランスを1mmに設定。部品の高さを2mmから3mmへ変更すると、拘束条件に沿って上側部品の配置が再計算され、クリアランスが1mmのまま維持されることを確認しました。

アセンブリの再計算

高さが変わっても、クリアランスは1mm

変更前 部品高さ 2mm

高さ2mmの部品を上下に配置したアセンブリ。緑の固定側と青の追従側の間に1mmのクリアランスがある。

クリアランス 1mm

変更後 部品高さ 3mm

共有する部品高さを3mmに変更したアセンブリ。上下の形状と青の部品の位置が更新され、1mmのクリアランスを維持している。

クリアランス 1mmを維持

緑は固定側、青は追従側です。同じ部品定義を2か所で使い、共有する高さを変更しています。公開検証のSTEP形状を同じ視点・縮尺で描画し、寸法線を追加しました。

さらに、距離の条件を変え、部品間の最短距離と干渉体積を計算しました。隙間あり・接触・干渉の3状態を区別しています。

距離と干渉体積の評価

隙間あり・接触・干渉を、形状で見比べる

隙間あり

クリアランス1mm

高さ2mmの2部品が1mm離れている状態。干渉はない。

最短距離1mm

干渉体積0mm³

接触

クリアランス0mm

2部品の面が接触している状態。最短距離は0mmだが、重なる体積はない。

最短距離0mm

干渉体積0mm³

干渉

1mm重なる配置

2部品が1mm重なった状態。共通する体積4mm³の領域を橙色で示している。

最短距離0mm

干渉体積4mm³

橙色は、2部品の共通領域(干渉体積4mm³)です。高さ2mmの同じ部品を使い、配置を変えた3状態を同じ視点・縮尺で描画しています。接触と干渉は、最短距離だけでなく共通領域の体積でも区別しています。

これは、部品形状・基準座標系・拘束条件をあらかじめ定義した小規模なアセンブリでの結果です。任意のSTEPアセンブリから、元の組立拘束を復元したものではありません。

アセンブリの検証条件と結果を見る(GitHub)

05

成立しない変更は確定せず、直前の形状を保持する

寸法を変更しても、穴が板からはみ出すなど、フィーチャーを再生成できない場合があります。そこで、変更を仮状態で計算し、必要な再計算がすべて成功したときだけ確定する仕組みを実装しました。

意図的に成立しない寸法を入力した検証

半径30mmを指定したときの動作

  1. 01 / 直前に確定した状態

    穴径 φ2.6mm

    半径1.3mmへの変更は成功。

    体積458.763mm³

  2. 02 / 成立しない変更を試す

    半径30mmを指定

    穴が12×10mmの板の範囲を超え、再計算に失敗。

    この変更は確定しない

  3. 03 / 確定形状を保持

    穴径 φ2.6mmのまま

    直前に確定した形状を保持。

    体積458.763mm³

12×10×4mmの板で実行した結果です。穴の再計算に失敗すると、その結果を使う後続処理も未更新として記録されます。保持した形状の描画データと計測値は、失敗前と一致しました。

失敗した変更案は未確定として残り、変更後のSTEPは出力できません。変更案を取り消すと、直前に確定した寸法で操作を再開できます。途中まで更新されたモデルを、完成した結果として使ってしまうことを防ぐための仕組みです。

公開研究では、変更の確定・取り消し、古い操作の拒否、アセンブリの干渉による中止など、14条件を確認しました。成功する変更だけでなく、処理を止める条件も検証しています。

あわせて、次の状態も区別して扱います。

  • パラメータ変更後に再計算していない形状は、最新の結果として出力しない。
  • 拘束不足で自由度が残る状態と、拘束条件が矛盾する状態を区別する。
  • アセンブリの配置が未確定、または干渉が検出された場合は、STEP出力へ進めない。

読込から寸法変更・再計算・比較・STEP出力・再読込までの一連の処理は、平板と5種類のフィーチャーを持つ自作6形状で確認しました。公開部品4例では検査・元データの保持・形状の再出力を確認していますが、任意の公開部品を寸法編集できるわけではありません。

寸法編集の検証は、限定した自作形状が対象です。複雑な実機アセンブリ、動作経路全体の干渉チェック、各CADとの互換性、お客様の業務での削減時間までは確認していません。

変更の確定・取り消しの検証(GitHub) / 編集から再出力までの対応範囲

06

繰り返している設計変更を、一つお聞かせください

最初から設計作業全体を自動化する必要はありません。

「穴径やポケット深さが異なる部品を展開している」「板厚を変えるたびに、取り付け位置とクリアランスを確認している」など、一つの繰り返し作業から検討できます。

使用している3D CAD、変更前後のモデル、変更するパラメータ、維持したい拘束条件やクリアランスをもとに、自動化できる範囲と、人による確認を残す範囲を整理いたします。

まずは単体部品や小規模なアセンブリで、形状の再生成・配置更新・干渉確認が実際の設計条件に合うかを検証するところからご支援いたします。

寸法変更・組立確認の自動化を相談する

CAD・設計自動化の内容を見る

関連:受け取った新旧STEPの変更箇所と寸法差を確認する