ホーム / モデリング / CGaudi / 関数 / Healing2
Healing2関数
定義
Healing2 (BodyList() As CGaudiBody, KeyListCleaned() As Long, KeyListSpikes() As Long, KeyListSmallEdges() As Long, KeyListSmallFaces() As Long, KeyListSliverFaces() As Long, KeyListGaps() As Long, KeyListHealEdges() As Long) As Boolean
[Python]
Healing2_py(CGaudiBody[] BodyList)
戻り値
| True | 成功 | |
| False | 失敗 |
[Python]
|
[0] |
True:成功、False:失敗 | |
|
[1][0~ボディキー配列数-1)] |
[ボディのクリーニング、簡略化、冗長な辺・トポロジの削除]処理が実行されたボディのボディキー配列を返す | |
|
[2][0~ボディキー配列数-1)] |
[スパイクの除去]処理が実行されたボディのボディキー配列を返す | |
|
[3][0~ボディキー配列数-1)] |
[微小辺の除去]処理が実行されたボディのボディキー配列を返す | |
|
[4][0~ボディキー配列数-1)] |
[微小面の除去]処理が実行されたボディのボディキー配列を返す | |
|
[5][0~ボディキー配列数-1)] |
[スライバ面の除去]処理が実行されたボディのボディキー配列を返す | |
|
[6][0~ボディキー配列数-1)] |
[ギャップの除去]処理が実行されたボディのボディキー配列を返す | |
|
[7][0~ボディキー配列数-1)] |
[ボディの辺を修復]処理が実行されたボディのボディキー配列を返す |
引数
|
BodyList |
ヒーリング対象ボディ(CGaudiBody)の配列 | |
|
KeyListCleaned |
[ボディのクリーニング、簡略化、冗長な辺・トポロジの削除]処理が実行されたボディのボディキー配列を返す | |
|
KeyListSpikes |
[スパイクの除去]処理が実行されたボディのボディキー配列を返す | |
|
KeyListSmallEdges |
[微小辺の除去]処理が実行されたボディのボディキー配列を返す | |
|
KeyListSmallFaces |
[微小面の除去]処理が実行されたボディのボディキー配列を返す | |
|
KeyListSliverFaces |
[スライバ面の除去]処理が実行されたボディのボディキー配列を返す | |
|
KeyListGaps |
[ギャップの除去]処理が実行されたボディのボディキー配列を返す | |
|
KeyListHealEdges |
[ボディの辺を修復]処理が実行されたボディのボディキー配列を返す |
[Python]
|
BodyList |
ヒーリング対象ボディ(CGaudiBody)の配列 |
解説
指定されたボディのヒーリング(ボディの修復)を行います。各KeyListは動的配列を指定してください。また、この配列は関数実行後に作成されるので、呼び出し前の配列情報は全て削除されます。
各KeyListが動的配列ではない場合は失敗します。
実行前にCHealingOptionの設定を行ってください。
実行例
Dim Femtet As New CFemtet
Dim Gaudi As CGaudi
Dim Point As New CGaudiPoint
Dim BodyList(1) As CGaudiBody
Dim BodyKeyArray0() As Long
Dim BodyKeyArray1() As Long
Dim BodyKeyArray2() As Long
Dim BodyKeyArray3() As Long
Dim BodyKeyArray4() As Long
Dim BodyKeyArray5() As Long
Dim BodyKeyArray6() As Long
'新規プロジェクト作成
If Femtet.OpenNewProject() = False Then
Femtet.ShowLastError
End If
'Femtet.Gaudiを変数Gaudiに代入して使いやすくする
Set Gaudi = Femtet.Gaudi
'図形を作成
Point.X = 0
Point.Y = 0
Point.Z = 0
Set BodyList(0) = Gaudi.CreateBox(Point, 3, 4, 5)
Point.X = 10
Point.Y = 10
Point.Z = 0
Set BodyList(1) = Gaudi.CreateBox(Point, 3, 4, 5)
'ヒーリングオプション初期化
Gaudi.HealingOption.Reset
'ヒーリングオプション設定
Gaudi.HealingOption.SmallEdge_MaxLength = 0.01
'ヒーリング実行
Gaudi.Healing BodyList, BodyKeyArray0, BodyKeyArray1, BodyKeyArray2, BodyKeyArray3, BodyKeyArray4, BodyKeyArray5, BodyKeyArray6


