Conformal Assemblyの問題解決
複数の Geometry Volume を扱うモデルでは、Mesh 生成前に解決すべき一般的な問題が発生することがあります。主な原因は CAD Package で定義された Volume の位置ずれ、または Meshing Package での Imprint/Merge 操作に伴う問題です。ITEM では CAD Geometry 表現を利用し、ユーザー対話と完全自動化の両方を選択できる形でこれらへ対処します。主な診断は Misalignment Check と Overlapping Surface Check の2つで、各診断結果に対して Entity 固有の解決策を Preview し、選択して実行できます。
Manage Gaps/Overlaps Tool による位置ずれ Volume の解決
ITEM の Geometry Cleanup 領域にある Manage Gaps/Overlaps Tool では、Assembly Component 間の Gap と Overlap を素早く検索できます。Gap 検索ではユーザー指定 Tolerance が検索する最大 Gap を定義し、Gap Angle で2 Entity がどの程度「平行」であれば対象とするかを指定できます。Overlap Check は Volume の重なりを Cubit が調べるだけなので Tolerance は不要です。結果は Volume Pair の一覧で表示され、右クリックして Pair を描画すると Gap/Overlap を視覚的に確認できます。Pair を選択すると修正候補が別リストに表示され、Solution を選んで Execute を押すと実行できます。Gap は Surface Tweak、Overlap は Tweak または Boolean によって除去できます。Assembly 全体を順に確認し、Gap/Overlap を効率よく修正するための Tool です。

Near Coincident Vertex Check による位置ずれ Volume の解決
Near Coincident Vertex Check(Misalignment Check)は、隣接 Volume 間の位置ずれ候補を診断します。位置ずれした Volume を Imprint した際に発生し得る Sliver Surface などの異常を減らすため、Imprint 前に実行します。異なる Volume 上の Vertex Pair 間距離を測定し、Merge Tolerance をわずかに超えるものを Flag します。Merge Tolerance Tは Geometry Kernel が Vertex を同一 Entity とみなす最大距離です。さらに Secondary Tolerance Tsを定義し、 Ts > T これを Merge 候補とみなす Vertex Pair の判定に使用します。距離が d である Vertex Pair を T < d > Ts ユーザーへ提示し、モデル内で再位置合わせが必要な可能性のある領域を示します。Misalignment Check は隣接 Volume 間の Vertex-Curve の小距離も検出します。Tolerance をわずかに外れた Vertex Pair が見つかった場合、現在の解決方法は、一方の Vertex を含む Surface を、もう一方の Vertex を含む Surface に合わせて移動することです。Surface を移動または延長する操作を Tweak と呼びます。

図1. Tweak Operator を使用して位置ずれ Volume を修正する解決例
この処理により解決候補の一覧が提示されます。ユーザーは各候補を Graphics で Preview し、問題修正に最適なものを選択できます。
Merge 問題の修正
Merge は通常 Imprint の直後に実行しますが、Tolerance 問題が発生する場合があります。Volume の位置ずれを修正しても、隣接 Volume 上で同じ空間を占める Surface を Geometry Kernel が Merge できないことがあります。Assembly 内の Volume が正しく Merge されないと、その後に生成する Mesh は Conformal になりません。そのため Meshing 前に Merge 問題をすべて解決することが重要です。ITEM はこれらを診断し、複数の解決策を提示します。
Overlapping Surface Check は隣接 Volume 間で Topology 共有に失敗した箇所を診断します。Misalignment Check と異なり、Imprint/Merge 後に実行します。隣接 Volume 上の Surface 間距離を測定し、Merge に失敗しているにもかかわらず Merge Tolerance より近い Surface Pair を問題候補として Flag して表示します。
Imprint/Merge 後には Nonmanifold Curve/Vertex Test も行い、正しく Merge されなかった Geometry を検出します。Nonmanifold Curve Test は Merge 済みでも Merge 済み Surface を共有しない Curve を、Nonmanifold Vertex Test は Merge 済みでも Merge 済み Curve を共有しない Vertex を検出します。また Floating Volume Test により他の Entity と接続されていない Volume を検出します。
Imprint/Merge 後の Overlapping Surface Check で重複 Surface Pair が見つかった場合、Force Merge、Vertex Location の Tolerant Imprint、Curve の Tolerant Imprint の3種類の修正候補が提示される場合があります。
Pair の2 Surface の Topology が同一なら通常 Force Merge を使用できます。通常の Merge は隣接する2 Volume 間で共通 Surface を共有するため一方の Surface 定義を除去し、Topology と Geometry が同一と判定された場合にのみ行われます。Force Merge は Geometry 判定を迂回して Merge を実行します。図2は境界 Vertex は同一でも Surface 定義がわずかに異なるため通常 Merge が失敗する例で、この場合 Force Merge が適切です。

図2. 通常 Merge は失敗するが Force Merge なら成功する例
Overlapping Surface Pair が検出され、次のいずれかを満たす場合に Force Merge が解決候補として提示されます:
- 両 Surface のすべての Curve が Merge 済み
- 2 Surface 間のすべての Vertex が Merge 済みで、全 Curve が Curve Length の1%または0.005の大きい方の範囲内で一致
- 両 Surface の全 Curve が Merge または Overlap しており、一方の Surface の Curve 上 Vertex から他方の Surface の Curve へ Imprint 可能な Vertex を特定できない
- 一方の Surface の少なくとも1 Curve を他方へ Imprint でき、両 Surface の Curve 数と Vertex 数が等しく、2 Surface の重複面積が各 Surface 面積の99%を超える。この条件は一般に Sliver Surface の生成を防ぎます
- Surface B の少なくとも1 Vertex を Surface A へ Imprint でき、両 Surface の Curve/Vertex 数が等しく、Surface A へ Imprint する Surface B の Vertex が Surface A の Vertex に近すぎる
- 両 Surface の全 Curve が Merge または Overlap しており、Surface A の Curve 上の Vertex が Surface B の他 Curve へ Imprint されない
Merge を成功させるため、個々の Vertex を Imprint する必要がある場合があります。次の条件を満たす場合、位置 x,y,z を Surface A または B へ Imprint する解決策が提示されます:
- 2 Surface 間の Curve が Tolerance 内で重なり、Curve A の Vertex が Curve B に対して Tolerance 内、かつ Curve B のすべての Vertex に対して Tolerance 外にある。Tolerance は2 Curve の短い方の長さの0.5%または Merge Tolerance(0.0005)の大きい方。

図3. Tolerance 不一致で Surface A の Curve が Surface B に Imprint されなかった例。Curve を検出して Imprint する解決策を定義
Curve が Overlapping Surface へ正しく Imprint されず Merge を妨げる場合があります。CAD 変換時の Tolerance 不一致が原因の場合もあります。この状態を検出すると Tolerant Imprint により Curve を隣接 Volume へ Imprint できます。図3は通常 Imprint で反映されなかった Surface A の Curve を Tolerant Imprint で Surface B へ強制 Imprint する例です。次の3条件をすべて満たす場合、この解決策が提示されます:
- いずれの Surface の所有 Volume にも Imprint 可能な位置がない
- Curve of surface A is not overlapping another curve of surface B
- Curve of surface A passes tests to ensure that it is really ON surface B