06 / 3D CAD & STEP
寸法変更から再計算・干渉確認まで、一連で自動化。
CAD・設計データ|ツール開発・検証
寸法変更後の形状再生成、部品配置の更新、クリアランス・干渉確認、STEP出力まで。一連の処理として自動化する仕組みを、条件を定義した部品と小規模アセンブリで検証しました。
繰り返す設計変更で、作り直しと確認の手間を減らすことを目指しています。ここでの結果は定義した形状・組立条件に対するもので、任意のCADモデルや実製品の組立を自動変更できると確認したものではありません。
01
繰り返す寸法変更と確認を、まとめて処理する
例えば、次のような繰り返し作業が、自動化を検討する対象になります。
- 穴径やポケット深さをパラメータで変更し、寸法違いの部品を作成する。
- 板厚の変更に合わせて、相手部品の取り付け位置を更新する。
- 変更後のクリアランス(隙間)と、部品間の干渉を確認する。
- 変更前後の形状を比較し、STEP形式で出力する。
自動化を考える際は、変更する寸法パラメータに加え、維持したい位置・向き・距離の関係を、拘束条件として整理します。
例えば「板厚が変わっても、基準面から相手部品までのクリアランスを1mmに保つ」という条件です。既存CADの標準機能で追従する部分と、手動で調整・確認している部分を切り分け、自動化する範囲を決めます。
02
単体部品では、フィーチャー編集からSTEP出力までを確認
公開研究では、STEP読込からフィーチャー候補の選択、寸法パラメータの変更、再計算、形状比較、STEP出力までの手順を実装しました。
STEPは、異なるCADの間で形状などを受け渡すためのファイル形式です。今回の実装では、対応する単純なSTEP形状から、穴・ポケット・ボスなどのフィーチャー(形状要素)で構成する候補を提示。人が選択・確認してから寸法を編集します。
寸法変更から出力まで確認したのは、次の5種類のフィーチャーです。
検証した形状
5種類のフィーチャーと、変更した寸法
貫通穴
半径1 → 1.5mm
止まり穴
深さ1 → 2mm
矩形ポケット
深さ1 → 2mm
円柱ボス
高さ2 → 3mm
矩形リブ
幅1 → 1.5mm
5例とも、変更後の体積・表面積を理論値と照合しました。さらに、出力したSTEPを再読込し、面・稜線などの構成(トポロジー)が維持されていることを確認しています。
STEP形状の比較
穴径を変えたときの形状と体積
変更前 貫通穴 φ2mm
体積 467.434mm³
変更後 貫通穴 φ3mm
体積 451.726mm³
形状の再生成だけでなく、寸法変更後の幾何形状とSTEP出力後の整合性を確認するところまでが検証の対象です。
ただし、元のCADのフィーチャー履歴や設計意図を復元したものではありません。対応する単純な形状について、編集用のフィーチャー構成を新たに組み立てる仕組みです。
03
寸法を変更する前に、形状と計測値の変化を確認する
形状を自動で作り直せても、意図した変更かどうかの確認は残ります。そこで、変更案を先に表示し、人が確認してからモデルへ反映する手順を実装しました。
検証した操作の流れ
-
変更を指示する
編集する形状候補を選択した後、「穴の半径を1.3 mmに」と入力する。
-
変更案を確認する
変更する寸法と、形状・体積の変化を見る。この段階では元のモデルを変更しない。
-
確認して反映する
確認した案で再計算する。変更前後を比較し、STEP出力・再読み込みまで確認する。
確認を挟む編集の検証例
穴の半径を1.0mmから1.3mmへ
変更前 貫通穴 φ2mm
体積 467.434mm³
確認・反映後 貫通穴 φ2.6mm
体積 458.763mm³
この例では、密度7,800kg/m³を指定すると、変更後の質量は約3.578gでした。材質を自動で読み取った値ではなく、指定した密度と形状から計算しています。
実行画面で確認する
面を選んで、変更前後の数値を確認
画面を拡大して見る ↗
- 穴の半径
- 1.0 → 1.3mm
- 体積の変化
- 467.434 → 458.763mm³
- 減った体積
- 8.671mm³
診断画面では、面・辺の選択に加え、元データとの対応、フィーチャーの依存関係、拘束の状態を確認できます。形状を見るだけでなく、どの要素を調べているか、変更で数値がどう変わったかを確認するための画面です。
この画面は、計算時点の結果を表示する閲覧用です。寸法変更・再計算はPython APIまたは対話ターミナルで行います。画面上で直接CADを編集する機能ではありません。
確認していない案や、古い案は反映しない
日本語の変更案表示、確認なしの操作、未対応の指示、成立しない寸法、モデル変更後に古くなった案など、8種類の条件を確認しました。処理を進める条件と、止める条件を分けた動作確認です。
さらに、読み込み・解析・編集・計測・STEP出力を同じ操作環境につなぎ、8件の限定した条件で処理の連携を確認しました。繰り返す設計変更でも、変更内容と結果を記録しながら進めるための土台になります。
対応しているのは、決められた日本語・英語の指示形式と、編集可能な限定した形状です。大規模言語モデル(LLM)による自由な会話や、任意のSTEPの編集を実現したものではありません。実際の業務では、変更する寸法・許容範囲・人が確認する項目を先に整理いたします。
04
アセンブリでは、拘束条件に沿った再計算と干渉を確認
アセンブリの検証には、同じ直方体部品を上下に二つ配置した自作モデルを使いました。
下側部品を固定し、その上面を基準に上側部品とのクリアランスを1mmに設定。部品の高さを2mmから3mmへ変更すると、拘束条件に沿って上側部品の配置が再計算され、クリアランスが1mmのまま維持されることを確認しました。
アセンブリの再計算
高さが変わっても、クリアランスは1mm
変更前 部品高さ 2mm
クリアランス 1mm
変更後 部品高さ 3mm
クリアランス 1mmを維持
さらに、距離の条件を変え、部品間の最短距離と干渉体積を計算しました。隙間あり・接触・干渉の3状態を区別しています。
距離と干渉体積の評価
隙間あり・接触・干渉を、形状で見比べる
隙間あり
クリアランス1mm
最短距離1mm
干渉体積0mm³
接触
クリアランス0mm
最短距離0mm
干渉体積0mm³
干渉
1mm重なる配置
最短距離0mm
干渉体積4mm³
これは、部品形状・基準座標系・拘束条件をあらかじめ定義した小規模なアセンブリでの結果です。任意のSTEPアセンブリから、元の組立拘束を復元したものではありません。
05
成立しない変更は確定せず、直前の形状を保持する
寸法を変更しても、穴が板からはみ出すなど、フィーチャーを再生成できない場合があります。そこで、変更を仮状態で計算し、必要な再計算がすべて成功したときだけ確定する仕組みを実装しました。
意図的に成立しない寸法を入力した検証
半径30mmを指定したときの動作
-
01 / 直前に確定した状態
穴径 φ2.6mm
半径1.3mmへの変更は成功。
体積458.763mm³
-
02 / 成立しない変更を試す
半径30mmを指定
穴が12×10mmの板の範囲を超え、再計算に失敗。
この変更は確定しない
-
03 / 確定形状を保持
穴径 φ2.6mmのまま
直前に確定した形状を保持。
体積458.763mm³
失敗した変更案は未確定として残り、変更後のSTEPは出力できません。変更案を取り消すと、直前に確定した寸法で操作を再開できます。途中まで更新されたモデルを、完成した結果として使ってしまうことを防ぐための仕組みです。
公開研究では、変更の確定・取り消し、古い操作の拒否、アセンブリの干渉による中止など、14条件を確認しました。成功する変更だけでなく、処理を止める条件も検証しています。
あわせて、次の状態も区別して扱います。
- パラメータ変更後に再計算していない形状は、最新の結果として出力しない。
- 拘束不足で自由度が残る状態と、拘束条件が矛盾する状態を区別する。
- アセンブリの配置が未確定、または干渉が検出された場合は、STEP出力へ進めない。
読込から寸法変更・再計算・比較・STEP出力・再読込までの一連の処理は、平板と5種類のフィーチャーを持つ自作6形状で確認しました。公開部品4例では検査・元データの保持・形状の再出力を確認していますが、任意の公開部品を寸法編集できるわけではありません。
寸法編集の検証は、限定した自作形状が対象です。複雑な実機アセンブリ、動作経路全体の干渉チェック、各CADとの互換性、お客様の業務での削減時間までは確認していません。
06
繰り返している設計変更を、一つお聞かせください
最初から設計作業全体を自動化する必要はありません。
「穴径やポケット深さが異なる部品を展開している」「板厚を変えるたびに、取り付け位置とクリアランスを確認している」など、一つの繰り返し作業から検討できます。
使用している3D CAD、変更前後のモデル、変更するパラメータ、維持したい拘束条件やクリアランスをもとに、自動化できる範囲と、人による確認を残す範囲を整理いたします。
まずは単体部品や小規模なアセンブリで、形状の再生成・配置更新・干渉確認が実際の設計条件に合うかを検証するところからご支援いたします。