フィールド思考 - インプリシットモデリング入門
Inspireのインプリシットモデリングでフィールドがどのように使用されるのか、フィールド駆動設計の観点から直感的に考えるのに役立つ動画や実例とともに詳しく説明します。
ほとんどのコンピュータ支援設計(CAD)は、3Dオブジェクトを囲むサーフェス(すなわち「境界表現(BRep)」)を記述することで表現します。これには、パラメトリックサーフェス(NURBSなど)、テッセレーション処理後のサーフェスメッシュ(平面三角形など)、細分化サーフェスなどが含まれます。インプリシットモデリングは、境界表現(BRep)ではなく、体積表現です。形状をフィールドとして表現し、オブジェクトの外部にある空間内のすべての位置と、オブジェクトの内部にある空間内のすべての位置に関する情報をエンコードします。サーフェス自体は、空間の外部領域と内部領域の境界として暗示されています。
「フィールド」という言葉の意味は?
フィールドという言葉は、人、分野によって意味が異なります。明確にするために、インプリシットモデリングの文脈では、フィールドという用語は次のように定義されます。空間のすべての座標で、通常は現実的な範囲内で、フィールドは符号付きスカラー値(たとえば、1.0、-3.1、0.0など)を返します。ここでは、より完全な用語である「スカラーフィールド」の短縮形として「フィールド」を使用します。フィールドでエンコードされる情報は、{x座標, y座標, z座標, 符号付きスカラー値}の形式です。
インプリシットモデリングでは、形状に関するいくつかの重要な慣例が用いられます。まず、負のスカラー値はモデル化されたオブジェクトの内部であり、正のスカラー値は外部であると仮定されます。オブジェクトのサーフェス自体は、スカラー値ゼロを返す空間内のすべての場所に現れます。そのため、フィールド内の符号付きスカラー値は、空間内のどの座標に対しても、内部/外部のチェックを即座に行うことができます。
以下の段落では、インプリシットモデリングで有用な、この定義の範囲内にあるさまざまなタイプのフィールドについて説明します。
符号付き距離フィールド(SDF)
SDFは内部/外部を即座にチェックでき、ポイントがオブジェクトの表面にどれだけ近いかを教えてくれるので、特に便利です。この配置は、所定の形状に対して正確なオフセットサーフェスを作成するのに最適であり、また、サーフェス間のブレンドやフィレット処理などを制御することもできます。
符号なし距離フィールド(UDF)
UDFはSDFと同じ特性を持ちますが、1つだけ明確な例外があります。それは、フィールド内のすべてのスカラー値が、モデル化されるオブジェクトの内部か外部かに関係なく、同じ符号(+/-)を持つことです。形状によっては、線、曲線、点など、構造上UDFを生成するものがあります。これは、これらのオブジェクトには内部と外部という明確な概念がないためです。しかし、SDFの代わりにUDFを作成すると便利な場合があります。このためには、SDFの絶対値を取得して、すべての正の距離を生成します。
距離類似スカラーフィールド
SDF(またはUDF)に似た挙動を示すフィールドがありますが、そのスカラーはサーフェスまでの正確な距離をエンコードしません。多くの場合、これらのフィールドのスカラー値は表面ではゼロで、表面から遠くなるにつれて(内側または外側に)大きくなります。しかし、スカラー値が変化する速度は真のSDFとは異なる場合があります。これは、サーフェスから離れる単位長さあたりのスカラー値の変化という観点から考えることができます。SDFでは、スカラー値とサーフェスから離れた距離を比較すると、スカラーは1:1の比率で変化します。逆に、距離のようなスカラーフィールドのスカラーは2:1の比率で変化し、表面までの距離はエンコードされないかもしれません。
例として、以下の画像のようなGyroidラティスの断面図を考えてみてください。距離類似特性を改善するために、裏でフィールドを再スケーリングしているにもかかわらず、注意深く観察すると、帯(例えば、青と白)は等間隔ではなく、サーフェスから離れるほど歪んでいることがわかります。これは、Gyroidラティスの基本方程式がSDFではなく、距離類似スカラーフィールドを生成するためです。
多くのインプリシットモデリング関数は、距離類似スカラーフィールドでも同じように機能することに注意してください。ただし、これらのフィールドをブレンド、フィレット、オフセットするときには注意が必要です。必要とされる正確な厚みや半径を作成できないことがあるからです。
バイナリフィールドと区分定数フィールド
バイナリフィールドを作成できます。バイナリフィールドは、オブジェクトの外側とサーフィス上ではどこでもゼロになり、オブジェクトのサーフィスの内側ではどこでも1になります。これらのフィールドは、空間の領域をマスクし、後工程の操作の範囲を制限するのに非常に便利です。たとえば、形状編集を特定の領域内にのみ適用し、他の領域には適用しない場合などです。簡単に言えば、「これらの位置で操作を実行し、他の場所では操作を実行しない」というようなものです。
バイナリフィールドと同様に、定数フィールドの作成も便利です。通常、これらのフィールドは、オブジェクトの内部とサーフィスで1つのユーザー定義値を持ち、オブジェクトの外部では同じ値または異なるユーザー指定値を有します。オブジェクトの内部とサーフェスではスカラー値3、オブジェクトの外部では値5を持つフィールドを作成できます。このようなフィールドは、設定(たとえば、異なる領域のラティス要素の厚み)に便利です。
補間スカラーフィールド
- シミュレーションデータ
- 測定データ
- 数学関数からサンプリングされた値
- 過去の経験から得た知識
フィールドを使用したシェイプの作成
上記に示してきたように、フィールドは、フィールドがゼロに等しい空間上のすべての位置を通るアイソサーフェスを抽出することで、形状の作成に使用できます。ここで簡単な例を挙げて、この仕組みを説明します。
3次元直交座標で、球の一般的な方程式は次のようになります。
、
ここで は球体の中心座標であり、 は半径です。ただし、球体をSDFとして表記するため、球体の方程式を以下の式で示します。
フィールドを使用した既存形状のプロパティ編集(フィールド駆動型設計)
次に、フィールドを使用して、既存の形状の特定のパラメータやサイズを局所的に変更できることを示します。下の画像はストラットラティスの断面図で、緑色のフェイスはラティスと断面の交差部分です。ご覧のように、ストラットの厚みは、上部の青い平面から下部の青い平面に向かって直線的に減少しています。これは、フィールド駆動型設計の簡単な例です。フィールドはz=0平面までの距離に基づいて作成されており、このモデルの距離の範囲はz方向(2つの青い平面)に-50mmから+50mmまで広がっています。再スケールチェックボックスオプションを使用し、これらの距離を1mm~4mmの適切な厚さの範囲にマッピングします。明確には、参照面に対して-50mmでは厚みは1mmになり、参照面から+50mmでは厚みは4mmになります。
この原則は、2つの方法でインプリシットモデリングのワークで流れ全体に適用できます。1つ目の方法は、通常は参照形状に基づいて、構成履歴で使用する前にフィールドを定義することです。言い換えれば、パラメータを制御するためにフィールドを使用する形状を作成する前にフィールドを作成します。そのために、メインのインプリシットモデリングリボンのフィールドアイコンをクリックします。
もう1つのメソッドは、最終的にそのフィールドを使用する形状のコンテキスト内でフィールドを作成することです。上記のストラットラティスの例に引き続き、ストラットの直径とユニットセルのサイズの両方をフィールド駆動型設計で制御することができます。これは赤くハイライトされた小さなフィールドアイコンボタンで明らかです。このメソッドを使用する際、フィールド駆動型でないパラメーター(ユニットセルタイプなど)をすべて設定してから、関連するアイコンを使用してその場でフィールドを作成する必要があります。上の例では、ストラットの直径の横にあるフィールドアイコンをクリックしてフィールドを作成し、グローバルZ平面(z=0)を使用してフィールドを定義しています。
- ラティスやシェルの局所的な厚みを構造シミュレーションデータに関連付けることで、必要な部分に慎重に材料を配置することができます。
- その場所で発生する応力のレベルに基づいてモデル全体のフィレットの半径を自動的に制御し、局所的な応力上昇を効率的に緩和します。
- 意図的にルートを補強したり強度を下げたりして、力を意図的に好ましい経路に通すことができます(衝撃を安全に吸収するなど)。
- ラティス構造のサイジングを局所的に変更することで、非構造的な特性(電磁気的挙動、流体の流れにおける透過性や圧力損失、音響性能、熱伝達率など)を変化させることができます。
- ある形状タイプから別の形状タイプへシームレスにマージし、特定の場所で異なる(メタ)材料特性を作成(たとえば、ラティスタイプから別のタイプへモーフィングし、同じオブジェクト内でそれぞれの利点を活用)します。
インプリシットモデリングにありがちな誤解と落とし穴
スケッチでの作業に慣れている従来のCADワークフローは、2Dスケッチから始まり、製造プロセス(押し出し、回転など)に大まかにマッピングされたいくつかのツールを使用して3Dフィーチャーに展開される傾向があります。インプリシットモデリングは、最初から立体的(3D)な形状表現を定義し、組み合わせ、ブレンドすることで形状を構築するという点で特異です。スケッチからモデルを作成する必要がある場合は、従来のCADワークフローに従った上で、適切なタイミングでモデルをインプリシットフォーマットに変換する必要があります。
なぜ個々のフィーチャーをクリックできないのか?NURBSサーフェスで駆動される従来のCADは、モデル化されたオブジェクトを包むサーフェスを明示的に定義します。サーフェスとフィーチャー間の境界線を明確にする各サーフェスのトリミングラインも、構造上利用可能です。インプリシットモデリングにはそうした機能はなく、容易に選択、強調表示、編集することはできません。これは、オブジェクトのサーフェス全体が1つのアイソサーフェスであり、オブジェクトのフィールドの内部領域と外部領域の境界として暗示されるためです。したがって、サーフェス上のポイント、フィーチャーを区切る線、孤立したフェイスを選択することは困難です。当面の間、これは複雑でロバストなフィールド駆動型形状の作成という点で、追加された柔軟性の代償です。
寸法ツールがないのはなぜか?インプリシットモデリングは(従来のCADのような)スケッチ、フィーチャー、および制約駆動型ではないため、寸法ツールの有用性は限られています。代わりに、形状サイズと位置は、作成時に注意深く入力する必要があり、柔軟性を高めるために変数やフィールドで制御することもできます。
インプリシットモデリングをパラメトリックCAD(NURBS)に変換/エクスポートしたいほとんどすべての形状表現は、ほとんど問題なくインプリシットフォーマットに変換できます。この変換処理で、オブジェクトのSDFが出力されます。ただし、インプリシット形状は、必ずしも他のフォーマットに容易に変換できるとは限りません。インプリシット形状はメッシュ化が容易で、.STL、.OBJ、.3MFフォーマットで出力できます。非常に複雑なインプリシットモデルでは、三角形の数が非常に多い高密度のメッシュが生成される可能性があるため注意が必要です。パラメトリックCADに戻るには、PolyNURBSツールを使用します。このツールを使って、インプリシットモデルに細分化サーフェスをフィットさせ、編集可能なCADサーフェスにすることができます。繰り返しになりますが、フィッティングの過程で計算時間と精度のトレードオフが発生するため、これらのステップでは注意が必要です。パラメトリックCADは、サーフェスが多すぎてモデルを効率的に扱うことができないため、非常に複雑なモデルには不向きです。
「鋭角エッジが丸く見えるのはなぜか?」多くのフィールドは技術的には無限の解像度を持ちますが、最終的には3Dグリッドを使ってサンプリングされます。このグリッドの粗さや細かさは、「表示品質」によって制御されます。グリッドが無限に細かければ、シャープなエッジは完璧にシャープになります。利用可能な計算リソースに合わせてグリッドが粗くなると、レンダリングとその後の三角メッシュなどへの変換の両方で、シャープなエッジが多少丸くなります。これを説明するために、以下の2つの画像は、同じラティス構造をそれぞれ表示品質が「非常に低い」と「非常に高い」で表示したものです。この影響を最小にするためには、コンピュータが許容できる最高の表示品質で設計を完成させる必要があります。
さほど明らかではない落とし穴すべてのインプリシットモデリング操作で、SDFの組み合わせ時に距離が保持されるわけではない
インプリシットモデリングでの一般的操作は、別々のボディを組み合わせて1つの連結ボディを形成することです。これはしばしば、ブーリアン結合演算と呼ばれますが、インプリシットモデリングではより短い「和」という用語を使います。それぞれがSDFで表された2つのボディを結合すると、もう1つのSDFができると考えるのは当然でしょう。しかし、この場合、フィールドがどうなるかを見てみましょう。下の画像は以下の手順で作成しました(最初の画像はフィールドの断面図、2番目の画像は3Dオブジェクトの断面図)。
- 互いにオフセットしているが重なり合っている2つの立方体プリミティブを作成します。
- オブジェクトを結合します(ブーリアン結合)。
- 結合されたオブジェクトの内側にシェルを作成し、壁の肉厚が一定の中空オブジェクトを作成します。
まとめると、複数のSDFを単純に組み合わせただけでは、必ずしも操作後のSDFにはなりません。スムージング、モーフィング、オフセットなどの他の操作についても同様です。一般的にインプリシットモデリングを使用する際には、このことを覚えておくと便利です。
まとめ
ここまで、Inspireインプリシットモデリングの舞台裏で起こっていることを紹介してきました。ソフトウェアで作業するとき、この情報を念頭に置くことで、よくある落とし穴を避けながら、フィールド駆動型設計を含むインプリシットモデリングの主な利点を利用することができます。インプリシットモデリングのリボンの各ツールの使用方法に関する具体的な情報は、ヘルプファイル内に記載されています。
「フィールド」の意味
フィールドという言葉は、人、分野によって意味が異なります。
明確にするために、インプリシットモデリングの文脈では、フィールドという用語は次のように定義されます。空間のすべての座標で、通常は現実的な範囲内で、フィールドは符号付きスカラー値(たとえば、1.0、-3.1、0.0など)を返します。ここで、フィールドは、より完全な用語であるスカラーフィールドの短縮形としてを使用します。フィールドでエンコードされる情報は、{x座標、y座標、z座標、符号付きスカラー値}の形式です。
インプリシットモデリングでは、形状に関するいくつかの重要な慣例が用いられます。まず、負のスカラー値はモデル化されたオブジェクトの内部であり、正のスカラー値は外部であると仮定されます。オブジェクトのサーフェス自体は、スカラー値ゼロを返す空間内のすべての場所に現れます。そのため、フィールド内の符号付きスカラー値は、空間内のどの座標に対しても、内部/外部のチェックを即座に行うことができます。
さまざまなタイプのフィールド
インプリシットモデリングで有用な、この定義の範囲内にあるさまざまなタイプのフィールドの説明です。
符号付き距離フィールド(SDF)
SDFは内部/外部を即座にチェックでき、ポイントがオブジェクトの表面にどれだけ近いかを教えてくれるので、特に便利です。この配置は、所定の形状に対して正確なオフセットサーフェスを作成するのに最適であり、また、サーフェス間のブレンドやフィレット処理などを制御することもできます。
符号なし距離フィールド(UDF)
UDFはSDFと同じ特性を持ちますが、1つだけ明確な例外があります。それは、フィールド内のすべてのスカラー値が、モデル化されるオブジェクトの内部か外部かに関係なく、同じ符号(+/-)を持つことです。形状によっては、線、曲線、点など、構造上UDFを生成するものがあります。これは、これらのオブジェクトには内部と外部という明確な概念がないためです。しかし、SDFの代わりにUDFを作成すると便利な場合があります。このためには、SDFの絶対値を取得して、すべての正の距離を生成します。
距離類似スカラーフィールド
バイナリフィールドと区分定数フィールド
バイナリフィールドを作成できます。バイナリフィールドは、オブジェクトの外側とサーフィス上ではどこでもゼロになり、オブジェクトのサーフィスの内側ではどこでも1になります。これらのフィールドは、空間の領域をマスクし、後工程の操作の範囲を制限するのに非常に便利です。たとえば、形状編集を特定の領域内にのみ適用し、他の領域には適用しない場合などです。簡単に言えば、「これらの位置で操作を実行し、他の場所では操作を実行しない」というようなものです。
バイナリフィールドと同様に、定数フィールドの作成も便利です。通常、これらのフィールドは、オブジェクトの内部とサーフィスで1つのユーザー定義値を持ち、オブジェクトの外部では同じ値または異なるユーザー指定値を有します。オブジェクトの内部とサーフェスではスカラー値3、オブジェクトの外部では値5を持つフィールドを作成できます。このようなフィールドは、たとえば、異なる領域のラティス要素の厚さを設定するのに便利です。
補間スカラーフィールド
- シミュレーションデータ
- 測定データ
- 数学関数からサンプリングされた値
- 過去の経験から得た知識
逆距離荷重内挿法
最近隣内挿法
最近隣内挿法は視覚化が簡単です。フィールド内の各位置は、ポイントクラウド内で最も近い点のスカラー値を採用します。この手法では、空間内の近接位置が異なるスカラー値に「スナップ」する可能性があるため、結果として生成される補間スカラーフィールドに急激な変化が生じます。
フィールドを使用した形状の作成
フィールドは、フィールドがゼロに等しい空間上のすべての位置を通るアイソサーフェスを抽出することで、形状の作成に使用できます。
ここで簡単な例を挙げて、この仕組みを説明します。
3次元直交座標では、球の一般的な方程式は次のようになります。
,
ここで は球体の中心座標であり は半径です。
ただし、球体をSDFとして表記するため、球体の方程式を以下の式で示します。
フィールド駆動型設計:フィールドを使用した既存形状のプロパティ編集
フィールドを使用すると、既存の形状の特定のパラメータやサイズを局所的に変更できます。
以下にフィールド駆動型設計の簡単な例を示します。
- ラティスやシェルの局所的な厚みを構造シミュレーションデータに関連付けることで、必要な部分に慎重に材料を配置することができます。
- その場所で発生する応力のレベルに基づいてモデル全体のフィレットの半径を自動的に制御し、局所的な応力上昇を効率的に緩和します。
- 意図的にルートを補強したり強度を下げたりして、力を意図的に好ましい経路に通すことができます(衝撃を安全に吸収するなど)。
- ラティス構造のサイジングを局所的に変更することで、非構造的な特性(電磁気的挙動、流体の流れにおける透過性や圧力損失、音響性能、熱伝達率など)を変化させることができます。
- ある形状タイプから別の形状タイプへシームレスにマージし、特定の場所で異なる(メタ)材料特性を作成(たとえば、ラティスタイプから別のタイプへモーフィングし、同じオブジェクト内でそれぞれの利点を活用)します。
動画の制作方法:ラティスでのフィールド駆動型効果の作成
インプリシット形状、インプリシットボディ、BRep、構成形状、ポイントクラウドを使用してラティスでフィールド駆動型効果を作成する方法を紹介するいくつかのビデオです。
このビデオでは、インプリシット形状とインプリシットボディを使用して、ラティスでフィールド駆動型効果を作成する方法を紹介します。
このビデオでは、BRepまたは構成形状を使用してラティスでフィールド駆動型効果を作成するさまざまな方法を紹介します。
このビデオでは、シミュレーションデータからポイントクラウドを作成し、それを使用してラティスの特性を駆動する様子をご覧いただけます。
インプリシットモデリングの誤解と落とし穴
インプリシットモデリングで作業するときに、よくある誤解や落とし穴があります。
インプリシットモデリングにありがちな誤解と落とし穴
「スケッチでの作業に慣れている。」
従来のCADワークフローは、2Dスケッチから始まり、製造プロセス(押し出し、回転など)に大まかにマッピングされたいくつかのツールを使用して3Dフィーチャーに展開される傾向があります。インプリシットモデリングは、最初から立体的(3D)な形状表現を定義し、組み合わせ、ブレンドすることで形状を構築するという点で特異です。スケッチからモデルを作成する必要がある場合は、従来のCADワークフローに従った上で、適切なタイミングでモデルをインプリシットフォーマットに変換する必要があります。
「なぜ個々のフィーチャーをクリックできないのか?」
NURBSサーフェスで駆動される従来のCADは、モデル化されたオブジェクトを包むサーフェスを明示的に定義します。サーフェスとフィーチャー間の境界線を明確にする各サーフェスのトリミングラインも、構造上利用可能です。インプリシットモデリングにはそうした機能はなく、容易に選択、強調表示、編集することはできません。これは、オブジェクトのサーフェス全体が1つのアイソサーフェスであり、オブジェクトのフィールドの内部領域と外部領域の境界として暗示されるためです。したがって、サーフェス上のポイント、フィーチャーを区切る線、孤立したフェイスを選択することは困難です。当面の間、これは複雑でロバストなフィールド駆動型形状の作成という点で、追加された柔軟性の代償です。
「寸法ツールがないのはなぜか?」
インプリシットモデリングは(従来のCADのような)スケッチ、フィーチャー、および制約駆動型ではないため、寸法ツールの有用性は限られています。代わりに、形状サイズと位置は、作成時に注意深く入力する必要があり、柔軟性を高めるために変数やフィールドで制御することもできます。
「インプリシットモデリングをパラメトリックCAD(NURBS)に変換/エクスポートしたい」
ほとんどすべての形状表現は、ほとんど問題なくインプリシットフォーマットに変換できます。この変換処理で、オブジェクトのSDFが出力されます。ただし、インプリシット形状は、必ずしも他のフォーマットに容易に変換できるとは限りません。インプリシット形状はメッシュ化が容易で、.stl、.obj、.3mfフォーマットで出力できます。非常に複雑なインプリシットモデルでは、三角形の数が非常に多い高密度のメッシュが生成される可能性があるため注意が必要です。パラメトリックCADに戻るには、PolyNURBSツールを使用します。このツールを使って、インプリシットモデルに細分化サーフェスをフィットさせ、編集可能なCADサーフェスにすることができます。繰り返しになりますが、フィッティングの過程で計算時間と精度のトレードオフが発生するため、これらのステップでは注意が必要です。パラメトリックCADは、サーフェスが多すぎてモデルを効率的に扱うことができないため、非常に複雑なモデルには不向きです。
「鋭角エッジが丸く見えるのはなぜか?」
多くのフィールドは技術的には無限の解像度を持ちますが、最終的には3Dグリッドを使ってサンプリングされます。このグリッドの粗さやきめ細かさは、表示品質によって制御されます。グリッドが無限に細かければ、シャープなエッジは完璧にシャープになります。利用可能な計算リソースに合わせてグリッドが粗くなると、レンダリングとその後の三角メッシュなどへの変換の両方で、シャープなエッジが多少丸くなります。
この影響を最小にするためには、コンピュータが許容できる最高の表示品質で設計を完成する必要があります。
さほど明らかではない落とし穴すべてのインプリシットモデリング操作で、SDFの組み合わせ時に距離が保持されるわけではない
インプリシットモデリングでの一般的操作は、別々のボディを組み合わせて1つの連結ボディを形成することです。これはしばしば、ブーリアン結合演算と呼ばれますが、インプリシットモデリングではより短い「和」という用語を使います。それぞれがSDFで表された2つのボディを結合すると、もう1つのSDFができると考えるのは当然でしょう。しかし、この場合、フィールドがどうなるかを見てみましょう。以下の画像は次の手順で作成しました。
- 互いにオフセットしているが重なり合っている2つの立方体プリミティブを作成します。
- オブジェクトを結合します(ブーリアン結合)。
- 結合されたオブジェクトの内側にシェルを作成し、壁の肉厚が一定の中空オブジェクトを作成します。
上の画像を注意深く見ると、壁の肉厚が一定でないことがわかります。特に、肉厚によって内部の角が接触している領域は、予想よりも大きな肉厚を表しています。
まとめると、複数のSDFを単純に組み合わせただけでは、必ずしも操作後のSDFにはなりません。スムージング、モーフィング、オフセットなどの他の操作についても同様です。一般的にインプリシットモデリングを使用する際には、このことを覚えておくと便利です。
フィールド駆動型設計のまとめ
ここまで、Inspireインプリシットモデリングの舞台裏で起こっていることをご紹介しました。アプリケーションで作業するとき、この情報を念頭に置くことで、よくある落とし穴を避けながら、フィールド駆動型設計を含むインプリシットモデリングの主な利点を利用することができます。
インプリシットモデリングのリボン内の各ツールの使用方法に関する具体的な情報は、インプリシットモデリングドキュメントに記載されています。