インプリシット確率格子の作成

ポイント、ポイント間のエッジ、特定のポイントやエッジを削除するためのフィルター、エッジを厚み付けしてストラットにする方法、外側ボディの処理(ラティスと外側のボディまたはシェルの結合など)を定義することにより、ランダム化されたストラットラティスを作成します。

確率格子は、エッジによって結合されたポイントから構築される基盤構造のワイヤーフレームを厚み付けすることによって得られます。Inspireインプリシットモデリングでは、このワイヤーフレーム構造をポイント-エッジセットと呼びます。確率格子の一般的なワークフローは次のとおりです。

  1. ユーザー指定のボリューム内に含まれる(ランダムな可能性のある)ポイントのセットを構築します。
  2. エッジを形成するために、使用可能な方法の1つを使用して、これらのポイントを結合します。
  3. 新たに形成されたポイント-エッジセットのポイントとエッジをフィルタリングして、有用なポイントとエッジのみを残します。
  4. 板厚に関する指定内容(一定板厚、可変板厚、またはフィールド駆動型板厚)に従ってラティスに厚み付けをします。
  5. ラティスの周囲にシェルを配置したり、既存の外側ボディにラティスを結合するために、外側ボディの処理を適用します。

このトピックの残り部分では、これら5つのステップを詳述し、各ステップのさまざまなオプションを説明します。

  1. 確率格子のポイント-エッジセット:ポイントの構築
    1. インプリシットモデリングリボンの確率格子アイコンをクリックします。
      ヒント: ツールを検索して開くには、Ctrl+Fキーを押します。詳細については、ツールの検出と検索を参照してください。

    2. ガイドパネルで、ポイントタブを選択します。
    3. ポイントの作成方法ドロップダウンリストから設定を選択します。
      オプション 説明
      均一ランダム 各座標(x、y、z)の一様分布を使用して、ユーザーが指定した数のポイントを生成します。これらのポイントの新たな群化や間隔確保についての保証や制約はありません。
      • これらのポイントが含まれるボリュームを定義する境界ボディを選択します。このためには、そのボディをクリックするか、モデルブラウザからそのボディを選択します。
      • これらのポイントをこのボディ自体に含めるか、このボディの軸平行境界ボックスの境界内に含めるかを選択します(後者の場合は、形状によっては、いくつかのポイントがボディの外側に配置されることもあります)。

      • ランダムポイント生成用のシードを入力します。同じシードを使用すれば、同じポイントセットを確実に再作成できます。シードが異なると生成されるポイントの位置が異なるので、要件に合ったものを選択できます。これはローカルに設定することも、変数を使用して制御することもできます。
      • ポイント数を指定します。これは、指定したボリューム内に作成されるポイントの数です。これはローカルに設定することも、変数を使用して制御することもできます。
      最小分離距離 独自のアルゴリズムを使用して、各ポイント間に余裕を持たせた最小分離距離を確保しながら、可能な限り多くのポイントをボリューム内に格納します。この数は格納プロセスに起因するため、作成されたポイント数には保証がありません。
      • これらのポイントが含まれるボリュームを定義する境界ボディを選択します。このためには、そのボディをクリックするか、モデルブラウザからそのボディを選択します。
      • これらのポイントをこのボディ自体に含めるか、このボディの軸平行境界ボックスの境界内に含めるかを選択します(後者の場合は、形状によっては、いくつかのポイントがボディの外側に配置されることもあります)。
      • ランダムポイント生成用のシードを入力します。同じシードを使用すれば、同じポイントセットを確実に再作成できます。シードが異なると生成されるポイントの位置が異なるので、要件に合ったものを選択できます。これはローカルに設定することも、変数を使用して制御することもできます。
      • ポイント間の最小間隔を指定します。これは、定数としてローカルに入力することも、変数を使用して制御することも、フィールド駆動型アイコンを使用して設定することもできるため、最小間隔はボリューム内で一定ではない可能性があります。
      インポート このオプションを使用して、外部で生成された(.csvファイルに保存された)ポイントセットをInspireにインポートできます。ポイントの.csvファイルは3列で構成されている必要があり、各列にはポイントのx、y、z座標が含まれている必要があります。通常、列タイトルが「x」、「y」、「z」のヘッダー行が必要です。
      重要: このファイルの単位は常にメートルです。
  2. 確率格子のポイント-エッジセット:エッジの構築
    1. ガイドパネルで、エッジタブをクリックし、ポイント間のエッジの作成を開始します。
    2. 作成方法ドロップダウンリストから設定を選択します。
      オプション 説明
      Valence 各ポイントに順番にアクセスして、各ポイントと「k」個の最近接ポイントの間にエッジを作成します。
      • 各ポイントの結合先となる最近接ポイントの数は、Valence値を使用して制御します。この値は、定数としてローカルに設定することも、変数を使用して制御することも、フィールド駆動型プロパティを使用して設定することもできます。ここで「k」は、ユーザー指定のフィールドまたはインプリシットボディと照らし合わせて調べられたときに、現在のポイントのフィールド値に従って空間内で変化します。たとえば、現在のポイントがフィールドに取り込まれて、その位置のフィールド値が3.4である場合は、そのポイントのValence値は最も近い整数値である3.0に丸められます。
      • Valence手法では、各ポイントと接続されるエッジの数についての保証はありません。その理由は、ポイントはそのポイント自体の最近接ポイントと接続するだけでなく、他のポイントもそのポイントを最近接ポイントと見なしてそのポイントに接続する可能性があるからです。Valence = 4とValence = 12の例を以下に示しています。

      Delaunay Delaunay三角形分割は、ポイント-エッジセットのすべてのポイントに対して作成されます。この三角形分割はセット内のポイントによって一意に定義されるので、それ以上のオプションはありません。3Dでは、Delaunay三角形分割よりもDelaunay四面体分割という呼称の方が適切です。Delaunay四面体分割の特徴として、4つの四面体頂点それぞれの外接球体には、ポイント-エッジセット内の他のどのポイントも含まれていません。Delaunay法は、ポイントの凸包の体積メッシュを表すことに留意してください。つまり、長いエッジや、穴などの空白領域を横切るエッジが完全に可能であるということです。しかし、不要なエッジはワークフローの後の段階で慎重にフィルタリングすることができます。

      インポート 外部で作成されたエッジのセットを.csvファイルに保存した状態でインポートできます。エッジの.csvファイルには2つの列があり、ヘッダー行には各エッジの開始ポイントと終了ポイントを示すStartとEndのタイトルが含まれている必要があります。Start列とEnd列の項目は、前述のポイントの.csvファイルのポイントへの整数参照です。1つ目のポイントのインデックスは0です(すなわち先頭値が0のインデックス)。ポイントリスト内の1つ目のポイントと4つ目のポイントの間にエッジを作成するには、エッジファイルに1列目に0、2列目に3が含まれている必要があります。

      ポイントとエッジが作成されたら、ポイント-エッジセットは完成です。OKをクリックして現在の設定を確定できます。これにより、設計は確率格子ガイドパネルで行われる次のステップに進められます。この段階では、余分なポイントや不要なエッジがあっても問題ありません。これらは後でフィルタリングできます。

    3. OKをクリックしてポイント-エッジセットを作成します。
  3. 確率格子:一般設定

    確率格子ガイドパネルでは、ポイント-エッジのワイヤーフレームモデルを、デフォルトの厚みを適用して確率格子のインプリシットモデルとして完成させます。このモデルは符合付き距離プロパティを有しています。これは、このインプリシットボディのフィールド内のどのポイントも、確率格子のサーフェス上の最も近いポイントまでの符号付き距離を返すことを意味します。いくつかの用語を説明すると、ポイント-エッジセット内のエッジは、厚み付けされると確率格子内のストラットになります。

    1. ポイント-エッジセットドロップダウンリストから設定を選択し、確率格子の構造を設定します。ほとんどの場合、これは先ほど作成したポイント-エッジセットになります。しかし、ドロップダウンから別のセットを選んだり、さらに編集を加えたり、新しいセットを作成したり、選択を解除するオプションもあります(この場合は新しいポイント-エッジセットを作成する必要があります)。
    2. セルセクションでタイプボタンを選択し、ストラットがソリッドになるか中空になるかを指定します。どちらのタイプも断面は円形です。したがって、ソリッドストラットには単一のストラット直径が必要であり、中空ストラットには内径と外径の値が必要です。

    3. 確率格子をストラット自体で定義する(標準)か、ポイント-エッジセットのターゲットボディの軸平行境界ボックスから材料を切り出す手段としてストラットを使用して定義する(反転)かを制御するには、ソリッド領域ボタンを選択します。反転の場合の例を以下に示します。

    4. 寸法オプションコントロールを使用して、ストラットの内径と外径を指定します。ストラットの直径は、定数としてローカルに設定することも、変数を使用して制御することも、フィールド駆動型プロパティを個別に設定することもできます。最後のケースでは、任意のストラットに沿った任意ポイントにおける局所半径は、参照フィールドまたはインプリシットボディを使用して設定します。
      ヒント: ストラット内径コントロールは、中空が選択されている場合にのみ表示されます。
  4. 確率格子:ポイント-エッジセットフィルター

    ポイント-エッジセットを作成するための方法では、どのポイントとエッジが最終的な確率格子で使用されるかについて、便利ではありますが、その柔軟性は限られています。フィルターを使用すると、かなり細かい制御が可能になります。次の「確率格子」ガイドパネルには、ポイント-エッジセットフィルターの空のテーブルが表示されています。

    テーブルの下にあるボタンを使用して、ポイント-エッジセットフィルターを作成、削除、編集、レベル上げ、レベル下げができます。

    確率格子をトリムして形状を得ることを検討している場合、設計上の重要な考慮事項は、ブーリアン差操作を使用して格子のハードトリムを行うのか、トリミングが必要ないように確率格子を定義するのかです。多くの場合、後者の方がポイント-エッジセットのデータ構造の完全性が保たれるので望ましいです。これはファイルを.3mf形式(梁拡張を使用)などにエクスポートする場合に便利です。ポイント-エッジセットフィルターは、とりわけ格子がボディ内にうまく収まるようにする機能を提供します。

    1. 新しいポイント-エッジセットフィルターを作成するには、ポイント-エッジセットフィルターのテーブルの下にある追加ボタンをクリックします。これにより、「確率格子:ポイント-エッジセットフィルター」ガイドパネルが表示されます。これらのフィルターはストラットの板厚に依存しないので、ポイント-エッジセットが再びワイヤーフレームモードで表示されます。
    2. フィルターの属性を設定します。
      オプション 説明
      名前 確率格子ガイドパネル内のフィルターのテーブルで識別しやすいように、フィルターの説明的な名前を指定します。
      適用対象 フィルターの編集対象がポイントかエッジかを指定します。フィルターによってはポイントとエッジの両方を編集するものもあるので注意が必要です。ただし、選択する際には、フィルターがポイントかエッジのどちらのプロパティを調べるかを考慮する必要があります。
      保持 このフィルターによってパスまたはリジェクトされたポイントやエッジを保持するかどうかを指定します。たとえば、このフィルターの検索対象が長さが10 mm以下のエッジである場合は、フィルター-パスセットは長さが10 mm未満のエッジとなり、フィルター-リジェクトセットは長さが10 mm以上のエッジとなります。どちらのセットを最終ラティスに残すかを選択できます。
    3. フィルターのルールを指定します。

      フィルターの役割は、全体的なポイント-エッジセットからポイントやエッジのサブセットを抜き出して表示することです。ほとんどの場合は、等号/否定等号(=、≠)または不等関係(<、>=、範囲など)を使用して、ポイントやエッジがフィルタリング(保持または削除)されるサブセットの一部になるかどうかを決定するしきい値または値範囲が表現されます。

      1. ポイントのフィルタリング
        • 境界ボディによってフィルタリングすると、ポイントが目的のボディやパートの内部に配置されているかどうかを特定できます。デフォルトでは、境界ボディの内部(または境界ボディ上)にあるポイントが保持されます。ユーザーは、このフィルターに対してCAD、PolyNURBS、メッシュ、またはインプリシットボディを選択できます。

        • フィールド値によるフィルタリングは、既存のフィールドまたはインプリシットボディ内のクエリーポイントとして使用できます。各クエリーポイントの位置にあるフィールド値によって、そのポイントを保持するか削除するかを決定します。次の例では、トーラスのフィールドを使用して、ポイント-エッジセット内のポイントを、サーフェスから0 mm~-3 mm(内部)の距離に位置するポイントに制限しています。この結果として、トーラスの形状をした薄い格子壁が得られます(わかりやすいように断面表示しています)。

        • Valenceでフィルタリングすると、各ポイントと接続されているエッジの数が調べられます。このフィルターを使用して、接続されているエッジが多すぎるか少なすぎるポイントを保持/削除できます。以下の図では、Valence < 20の場合とValence < 16の場合を示しています。

      2. エッジのフィルタリング
        • 境界ボディでフィルタリングすると、境界ボディを基準にしてエッジが外部に移動するのか内部に移動するのかを特定できます。エッジをチェックする際は、2つの端点とそのエッジ沿いの1つのオプション中点がチェックされます。次の2つのオプションがあります。
          • すべて:端点とオプション中点の両方がボディ内に含まれます。
          • Any:端点またはオプション中点のどちらかがボディ内に含まれます。

          境界ボディはポイント-エッジセットを作成するために使用されたのと同じボディであることが自動的に想定されます。同じボディでない場合は、境界ボディセレクターを使用して別ボディを選択できます。

          境界ボディを基準にして外部に移動するエッジを削除するには、節点チェックすべてであり、中間点チェックオンである場合に、フィルター-パスの結果を使用してください。
          ヒント: 端点と中点をチェックしても、外部に移動するエッジがすべて識別されるとは限らないことに注意してください。ただし、端点と中点のチェックはほとんどの場合うまく機能し、その計算も高速です。

        • 長さによるフィルタリングでは、各エッジの長さをチェックし、そのエッジを残すか削除するかを決定します。以下の図は、長さフィルターを適用する前のポイント-エッジセット、エッジの長さを5 mm~15 mmに制限した同じセット、および最終的なストラットを示しています。
          注: これら3つの図では、境界ボディフィルターは適用されていません。外部エッジは単に長さが原因で削除されています。

        • 角度によるフィルタリングでは、角度を測定する基準となる参照形状(ライン、軸、平面サーフェス、または平面)を選択する必要があります。エッジと参照形状によって形成される角度に基づいて、エッジを保持するか削除するかを決定します。次の例では、Z平面が参照形状として使用されており、この平面に対する角度が45度未満であるエッジはすべて削除されます。

        • フィールド値によるフィルタリングでは、各エンティティの端点とオプション中点を参照フィールド内のクエリーポイントとして使用します。これらのクエリーポイントのフィールド値に基づいて、エッジを保持するか削除するかを決定します。境界ボディの場合と同様に、次の2つのオプションがあります。
          • すべて:端点とオプション中点の両方で、フィルタールールに合致するフィールド値が得られます。
          • Any:端点またはオプション中点のどちらか一方で、フィルタールールに合致するフィールド値が得られます。

            次の例では、ポイント-エッジセットはまず、トーラスの外部を通るエッジを削除するために境界ボディでフィルタリングされています。次に、エッジの長さフィルターを使用して長いエッジが削除され、セットが10 mm以下の梁に制限されます。最後に、トーラスのフィールドを参照フィールドとして使用して、フィールド値でエッジがフィルタリングされています。両端点とオプション中点の両方のフィールド値が0 mm~-1 mmの範囲内に収まっている梁のみが保持されます。これにより、Delaunayのようなラティス梁の薄いシェルがサーフェス付近に得られます(次の断面ビューを参照)。

        • 製造性フィルターは、各エッジの長さと角度を同時に考慮する複合フィルターです。角度フィルターと同様に、エッジの角度を測定する基準となる参照形状(ライン、軸、平面サーフェス、または平面)を選択します。エッジを保持するか削除するかの基準とする長さと角度のしきい値も指定します。このフィルターは、張り出したエッジが長くなるにつれて製造が難しくなることを反映するように設計されています。
      3. 希望どおりのフィルターが得られたら、OKをクリックしてフィルターを確定します。これにより、確率格子ガイドパネルに戻り、新しいフィルターがテーブルに表示されます。
    4. ポイント-エッジセットフィルターテーブルを通じてフィルターを管理します。
      • 既存のフィルターを編集するには、その行をテーブル内で選択して、テーブル下の編集ボタンをクリックします。
      • 既存のフィルターを削除するには、その行をテーブル内で選択して、テーブル下の削除ボタンをクリックします。
      • フィルターは、テーブルに表示されている順に、1つずつ連続的に適用されます。フィルターの適用順序に応じて、最終的なポイント-エッジセットが大きく変化する可能性があります。順序を変更するには、テーブルの下にあるレベル上げボタンとレベル下げボタンを使用して、ハイライト表示されたフィルターを移動します。
  5. 外側ボディタブを選択します。
    1. 外側ボディのタイプを選択します。
    • なし:外側ボディを作成しません。
    • シェル:オプションのトリミングボディでオフセットシェルを作成します。
      オプション 説明
      方向 シェルのオフセット方向を選択します。
      • 外向き:シェルをラティスから外向きにオフセットし、オブジェクト全体のサイズを大きくします。
      • 内向き:シェルを内向きにオフセットし、ラティスの一部を消費しますが、ラティス全体の寸法は維持します。
      • 両方向:シェルを内向きと外向きの両方にオフセットします。
      対称 シェルの内側と外側を同じ距離だけ対称にオフセットします。
      外側の厚み 外向きシェルのオフセット厚を定義します。厚みは直接入力するか、変数で制御するか、フィールド(フィールド駆動型設計)を使用して空間の各位置で制御することができます。


      内側の厚み 内向きシェルのオフセット厚を定義します。厚みは直接入力するか、変数で制御するか、フィールド(フィールド駆動型設計)を使用して空間の各位置で制御することができます。


      トリミングボディ シェルのトリミングに使用するボディを選択します。これはシェルの領域をトリミングするために使用でき、ラティスとシェルをあらかじめ定義された体積にフィットさせる場合や、ラティスの一部をシェルで覆わないように露出させたい場合に便利です。
      この例では、ラティスの一部を露出させるトリミングボディとしてBRepボディが選択されています。この画像は、ラティスに施された外向きのシェルが、トリミングボディとどのように重なっているかを示しています。

      トリミングが施されると、外向きシェルの一部が切り取られ、トリミングボディの枠からはみ出したラティスが露出します。

      コーナー処理 外側ボディとラティスボディ間のコーナーの処理タイプを選択します。
      • シャープ:ラティスが周囲のシェルと突然結合します。
      • フィレット:ラティスはフィレットを使って周囲のシェルに融合します。このオプションを選択した場合、フィレットの半径を定義します。

      • 面取り:ラティスは面取りで周囲のシェルに融合します。このオプションを選択した場合、面取り距離を定義します。フィレットの場合、距離はフィレットの半径で、面取りの場合、距離は面取りのセットバックです。距離は直接入力するか、変数で制御するか、フィールド(フィールド駆動型設計)を使用して空間の各位置で制御することができます。


    • :ラティスを囲むシェルを作成せずに、外側のボディとラティスのボディを直接結合します。
      オプション 説明
      ボディの結合 円弧ラティスと結合するボディを選択します。このボディはラティスに近接しているか、ラティスと重なっている必要があります。

      コーナー処理 外側ボディとラティスボディ間のコーナーの処理タイプを選択します。
      • シャープ:ラティスが周囲の外側ボディと突然結合します。

      • フィレット:ラティスはフィレットを使って外側ボディに融合します。このオプションを選択した場合、フィレットの半径を定義します。

      • 面取り:ラティスは、面取りを使って外側ボディに融合します。このオプションを選択した場合、面取り距離を定義します。

        フィレットの場合、距離はフィレットの半径で、面取りの場合、距離は面取りのセットバックです。距離は直接入力するか、変数で制御するか、フィールド(フィールド駆動型設計)を使用して空間の各位置で制御することができます。