Geometry Power Toolでの機械学習
このページでは、Cubitの Geometry Power Tool に含まれる、Tetメッシュ品質予測と部品分類のための機械学習ツールについて説明します。
背景:
Cubitの Geometry Power Tool では、メッシュ生成前にCADモデルのフィーチャ除去や簡略化を行うための一連の診断チェックを使用できます。 Analyze ボタンをクリックすると、選択した診断テストが実行され、各テストで特定されたジオメトリエンティティが展開可能なツリーとして表示されます。特定後は、提案されたソリューションを容易にプレビューして実行できます。
この機能では、最新の機械学習(ML)手法をGeometry Power Toolに組み込み、メッシュ生成結果の予測、ソリューションの提案、一般的な部品タイプの分類を行います。
機械学習を有効にする:
新しいML機能を使用するには、次の手順に従います。
- 図1に示すように、Power ToolsウィンドウのGeometryアイコンをクリックしてGeometry Power Toolへ移動します。

図1. Power ToolとOptionsパネルへの移動。
- 図1に示す Options... ボタンを選択します。
- 図2のパネルが表示されます。次のボタンをクリックします: Load ML Models
- 機械学習モデルを読み込むと、図3に示す各種診断オプションが利用可能になります。利用できる診断には「Reduce for Simulation」「Tetmesh Poor Quality Predictions」、および「Parts」「Surfaces」の分類があります。また、MLベース診断を調整するための専用設定も利用可能になります。

図2. MLモデルを読み込む前のOptionsパネル。

図3. MLモデルを読み込んだ後のOptionsパネル。
ジオメトリ解析ツール
MLを有効にしたときに追加される診断について、以下で説明します。対象は Geometry Power Tools.
Reduce for Simulation
この診断カテゴリでは機械学習を利用して、対象とする物理シミュレーションで重要となるジオメトリエンティティを特定します。これにより、シミュレーションに適した代替ジオメトリや境界条件への確認・可視化・コンテキストに応じた簡略化が可能になります。これはCubitの reduce コマンド群によって実現されます。対応カテゴリは次のとおりです。
Fasteners
「Fasteners」カテゴリは、 部品分類 ツールにある「bolt」セクションを拡張し、アセンブリ内の接続管理を効率化します。締結部品の接続管理は煩雑になりやすく、また物理分野によってシミュレーション用の代替表現が異なるため、この診断は特に有用です。
Fasteners診断ツールの使用手順
- Optionsパネルを開く: Geometry Power ToolでOptionsパネルを開きます。
- Reduce for Simulationを有効にする: Optionsパネル内の「Reduce for Simulation」チェックボックスを探して有効にします。
-
カテゴリを選択:
- 「Reduce for Simulation」配下のカテゴリを展開します。
- プロジェクトに必要なカテゴリ(Clamped Members、All Bolts、Pilot Holes)を選択します。不要なカテゴリは選択せず、余分な計算時間を避けます。
- Optionsパネルを閉じる: 選択が完了したら「Done」ボタンをクリックして進みます。
-
解析を最適化する(任意):
- モデルの一部だけを解析する場合は、対象とするアセンブリ部分のVolume IDを入力することで計算時間を短縮できます。
-
解析を開始する:
- 「Analyze」ボタンをクリックして診断処理を開始します。
- 注:大規模モデルでは、機械学習による分類処理のため解析にかなり時間がかかる場合があります。
-
結果を確認する:
- 完了すると、検出された締結部品やパイロット穴など、結果に応じて最大3つのカテゴリが表示されます。
ボルトの分類方法
-
Clamped Members:
- ボルトを締結対象の部材ごとにグループ化し、Clamped MembersにはIDに基づく名前(例:「Volume 1 to 2」)を付けます。
- コンテキストメニューから、Clamped Membersの表示、ズーム、Fly-In、描画、Locateに加え、その2部材を締結するすべてのボルトの選択・表示ができます。
- 右クリックメニューから簡略化操作のコマンドパネルを開くことができ、Clamped Members内のすべてのボルトを同時に処理できます。
- Clamped Members名の下のリストを展開すると個々のボルトが表示され、それぞれ右クリックから可視化操作を利用できます。
- 個々のボルトを選択すると、ソリューションウィンドウ( Show Solutions チェックボックスを参照)にカスタムソリューションが表示されます。プレビューまたは直接実行を選択でき、追加オプションのためのコマンドパネルにもアクセスできます。
- 右クリックオプションで、Clamped Members名の表示をID(例:「Volume 1 to 2」)ではなくVolume名またはBlock名(例:「PartA to PartB」)に切り替えられます。
-
All Bolts:
- STEPまたはACISファイル定義から得られる名前でボルトを分類し、類似特性を持つボルトへの操作を容易にします。
- 同じ名前を持つすべてのボルトの選択と可視化に対応します。名前が付与されていない場合は、それ以上分類せずすべてのボルトを一覧表示します。
-
Pilot Holes:
- 締結部品を配置できる可能性のある同心穴ペアを一覧表示します。CADモデルに締結部品が含まれていない場合や、削除済みの場合に有用です。
- パイロット穴をClamped Membersごとにグループ化し、すべてのパイロット穴を同時に可視化・操作するためのオプションを提供します。
- 個々のパイロット穴を選択すると、ソリューションウィンドウ( Show Solutions チェックボックスを参照)にカスタムソリューションが表示されます。プレビューまたは直接実行を選択でき、追加オプションのためのコマンドパネルにもアクセスできます。
以下はGeometry Power Toolの例で、3つのカテゴリと、Clamped Membersおよび関連ボルトを強調表示したサンプルジオメトリを示しています。

図2. Fasteners診断でClamped Membersと関連するボルトを表示。
Beams and Shells
主に薄肉Volumeで構成されるアセンブリをモデル化する場合、ジオメトリの簡略化が必要になることがあります。完全な3D Hex/Tet要素の代わりにシェル有限要素を使用することも一般的です。この場合、解析者は3Dの薄肉Volume群を、三角形または四角形メッシュを適用できる接続されたシートボディ群へ縮約します。この処理はBeam and Shell診断を選択したGeometry Power Toolで管理できます。詳細は Geometry Power Toolによるビームとシェル を参照してください。
Slot Surfaces
Slot Surfaces診断は、電磁界(EM)モデリングでスロット面を準備するためにGeometry Power Toolへ追加された機能です。スロット面はEM放射が外部へ漏れる可能性のある経路を特定するために使用します。この診断はスロット面の管理と、境界条件・解析を適用するための準備を支援します。また、機械学習(ML)を使用してスロット面である可能性を予測します。詳細は Geometry Power ToolによるSlot Surface Preparation を参照してください。
Tetmesh Poor Quality Predictions
四面体メッシュの基礎となるソリッドモデルには、メッシュ品質の低下や非常に小さい要素の原因となる微小フィーチャや角度が含まれる場合があります。この診断では、低品質のTet要素を生じると予測されたエンティティ(Vertex、Curve、Surface)を、予測メッシュ品質指標の順に一覧表示します。これにより、実際にメッシュを生成する前に最も品質が悪化しそうな領域へ素早く注目し、ジオメトリ操作によって結果を改善できます。
予測には3種類のメッシュ品質指標、Scaled Jacobian、In-Radius、Deviationを使用します。各診断で特定されたエンティティは、MLで予測された指標に基づき、品質が最も悪いものから順に並びます。Optionsパネル上部の3つの入力欄で品質限界を設定します。たとえば Scaled Jacobian Limit を0.2に設定すると、近傍のTet要素のScaled Jacobianが0.2未満になると予測されたすべてのジオメトリエンティティを特定します。ここで「近傍Tet」とは、そのジオメトリエンティティから2辺長以内にある要素を指します。
- Poor Scaled Jacobian - Scaled Jacobianに基づくメッシュ品質予測を表示する場合に選択します。Scaled Jacobianは-1.0~1.0の値で、1.0が理想、-1.0は完全な反転を表します。この値はTetの各Vertexでの角度に依存するため、解析では0以下または0に近い値を避ける必要があります。
- Poor In-Radius - In-Radiusに基づくメッシュ品質予測を表示する場合に選択します。In-Radiusは四面体に内接する最大球の半径です。ここではTet要素がユーザー指定のメッシュサイズをどの程度満たしているかを評価します。In-Radiusは絶対距離なので、次で定義するIn-Radius比を使用します。 in-radius/ideal-inradius. ideal in-radiusは、辺長がユーザー指定メッシュサイズと一致する理想Tet(Scaled Jacobian = 1.0)の内接球半径として定義されます。したがって1.0ならメッシュ品質要件を正確に満たし、1.0未満なら指定より小さいことを示します。ideal in-radiusの算出にはローカルVolumeに設定された現在のメッシュサイズを使用します。未設定の場合は、 4*small curve threshold を目標値として使用します。
- Poor Deviation - Deviationに基づくメッシュ品質予測を表示する場合に選択します。Deviationは、境界上の三角形面の中点からジオメトリ上の最近点までの距離です。Deviationが大きいほどメッシュがジオメトリに十分追従していないことを示します。Deviationも絶対距離なので、deviation/mesh sizeとしてDeviation比を定義します。Deviation比は0.0に近いほどよく、三角形面がジオメトリに非常によく一致していることを示します。1.0に近づくほど、局所的なずれがメッシュサイズと同程度であることを示します。Deviation比の算出にはローカルVolumeに設定された現在のメッシュサイズを使用します。未設定の場合の目標メッシュサイズは 4*small curve threshold を目標値として使用します。
コンテキストメニュー: 特定カテゴリのすべてのエンティティを表示するには、診断カテゴリ名を選択し、右クリックのコンテキストメニューから Drawを選択します。リストを展開すると個々のエンティティが表示され、 Zoom To, Fly In, Draw Owning Volume, Draw with Neighborsなどの標準描画ツールで可視化できます。リスト内で1つ以上のエンティティを選択すると、コンテキストメニューから関連するコマンドパネルにもアクセスできます。複数エンティティを選択した場合は、コンテキストメニューからコマンドパネルを呼び出して同時に処理できます。
部品分類
この診断では、Volumeを一般的な複数の部品タイプに分類できます。選択すると各Volumeの特徴的なジオメトリ特徴量が計算され、MLによって部品分類が決定されます。各Volumeは最も確からしいカテゴリのリストへ配置され、各分類内では Confidence 指標に基づいて並びます。Confidence=1.0は分類の信頼度100%を示します。0.5に近い値では正しく分類される確率は低くなりますが、MLは他の部品タイプより高い確率と判断しています。現在の部品カテゴリの例を以下に示します。これらに加えて、Cubitの classify コマンドを使用して部品カテゴリを独自に作成・編集できます。
|
Bolts |
|
|
|
|
Nuts |
|
|
|
|
Washers |
|
|
|
|
Springs |
|
|
|
|
Balls |
|
||
|
Bearing Races |
|
|
|
|
Pins |
|
|
|
|
Gears |
|
|
|
|
Other Parts |
|
|
|
なお、 Other Parts カテゴリには、他のいずれのカテゴリにも十分なConfidenceで分類できない部品が含まれます。
コンテキストメニュー: 特定カテゴリのすべてのVolumeを表示するには、部品カテゴリ名を選択し、右クリックのコンテキストメニューから Drawを選択します。リストを展開すると個々のVolumeが表示され、 Zoom To, Fly In, Draw Overlapping Volumes, Draw Nearby Volumesなどの標準描画ツールで可視化できます。コンテキストメニューからは、 Delete または Reduceなどのコマンドパネルにもアクセスできます。複数のVolumeを選択した場合は、コンテキストメニューからコマンドパネルを呼び出して同時に処理できます。
MLが計算したVolume特徴量またはConfidence値を確認するには、部品/Volumeを選択した状態で右クリックのコンテキストメニューを開き、 List ML Features または List ML Predictions のいずれかを選択します。
Surface Classification
この診断ではSurfaceを分類できます。Cubitが提供するSurfaceカテゴリは現在、次の2種類に限定されています。 slots と non_slots. これらの限定カテゴリは、Cubitの classify コマンドを使用してユーザーが追加定義できるカテゴリの例として用意されています。部品分類と同様に、選択すると各Surfaceの特徴的なジオメトリ特徴量が計算され、MLによってカテゴリが決定されます。各Surfaceは最も確からしいカテゴリのリストへ配置され、各分類内ではConfidence指標に基づいて並びます。Confidence=1.0は分類の信頼度100%を示します。0.5に近い値では正しく分類される確率は低くなりますが、MLは他のカテゴリより高い確率と判断しています。
ソリューション予測
Tetmesh Poor Quality Predictions
エンティティが特定された後、 Show Solutions チェックボックスを有効にするとカスタムソリューションを表示できます。有効にすると図4のようにSolutionウィンドウが表示されます。上側のウィンドウでエンティティを選択すると、Solutionウィンドウにソリューションが順序付きで表示されます。各ソリューションには指標の予測値が関連付けられ、MLが最良のメッシュ生成結果をもたらすと予測したソリューションがリストの先頭に表示されます。

図4. Geometry Power ToolでScaled Jacobian品質予測と、候補ソリューションの順序付きリストを表示。
たとえば図4ではSurface 1786が選択され、そのSurfaceでの最小Scaled Jacobian予測値は0.0164です。通常、この値は解析には受け入れられません。改善のため、リスト先頭のソリューションは Replace Surface コマンドで、実行後のScaled Jacobianは0.2623になると予測されています。ソリューションを選択すると操作をプレビューでき、ダブルクリックすると実行されます。他のソリューションもプレビューして検討できますが、予測値が低いものは通常避けることになります。
コンテキストメニュー: ソリューションを選択するとコンテキストメニューを使用できます。ここからソリューションの実行や追加の可視化操作を行えるほか、コマンドをさらに調整したい場合は対応するコマンドパネルへ直接アクセスできます。
ソリューション予測の制御: 指標カテゴリ(Scaled Jacobian、In-Radius、Deviation)のいずれかからエンティティを選択すると、ソリューションの予測値と並び順はそのカテゴリに基づきます。他の診断(small curves、close loops、blend surfacesなど)に対してもソリューションが生成される場合があります。MLが有効な場合、これらのカテゴリでも予測Tetメッシュ結果に基づいてソリューションが並びます。ソリューションの並び順に使う指標は、 Options パネル(図3)で変更できます。 Show Solution Predictions チェックボックスで、ソリューションの並び順にML予測を使用するかどうかを切り替えます。ソリューション予測を有効にすると、ドロップダウンから3つの指標のいずれかを選択して優先順位付けに使用できます。
部品分類
分類カテゴリからVolumeを選択した場合も、対応するソリューションが表示されます。特定の部品タイプに基づくカスタムソリューションは現在も開発中で、今後のGeometry Power Toolで拡充される予定です。特に、 reduce family of commands は、「bolt」または「spring」に分類された1つ以上のVolumeを選択した場合に利用できます。
























