Femtet2026.0マクロヘルプ/マニュアル
 

ホーム / モデリング / CGaudiBody / 関数 / FindFacesByBox

FindFacesByBox関数

定義

FindFacesByBox (P1 As CGaudiPoint,P2 As CGaudiPoint,result() As CGaudiFace) As Boolean
 


[Python]
 FindFacesByBox_py(CGaudiPoint P1, CGaudiPoint P2)

戻り値

True   検索の結果有り
False   検索の結果なし
 


[Python]
[0]   True:成功、False:失敗
[1][0~検索された面数-1]   検索結果のCGaudiFaceが格納される配列

引数

P1   一つ目の指定点
P2   二つ目の指定点
result   検索結果のFaceが格納される配列
 


[Python]
P1   一つ目の指定点(CGaudiPoint)
P2   二つ目の指定点(CGaudiPoint)

解説

Bodyを構成するFaceの内、引数P1、P2で指定された2点を対角とする直方体に完全に含まれるFaceを検索します。

実行例

Dim Femtet As New CFemtet

Dim Gaudi As CGaudi

 

'----新規プロジェクト作成----

If Femtet.OpenNewProject() = False Then

    Femtet.ShowLastError

End If

 

'Femtet.Gaudiを変数Gaudiに代入して使いやすくする

Set Gaudi = Femtet.Gaudi

 

'----新規モデル作成----

 

'------- CreateBox -------

Dim Body0 As CGaudiBody

Dim Point0 As New CGaudiPoint

Point0.SetCoord 0, 0, 0

Set Body0 = Gaudi.CreateBox(Point0, 5, 10, 5)

 

'------- FindFacesByBox -------

Dim Point1 As New CGaudiPoint

Dim Point2 As New CGaudiPoint

Dim Result() As CGaudiFace

Point1.SetCoord -1, -1, -1

Point2.SetCoord 6, 1, 6

 

If Body0.FindFacesByBox(Point1, Point2, Result) = True Then

 

    '------- 境界条件の付いた面にメッシュサイズを設定 -------

    Dim i As Integer

    For i = LBound(Result) To UBound(Result)

        Result(i).MeshSize = 2

    Next i

Else

    MsgBox "指定範囲内にFaceが存在しません"

End If