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

ホーム / モデリング / CGaudi / 関数 / FindBodyAllByBox

FindBodyAllByBox関数

FindBodyAllByBox( Point1 As CGaudiPoint, Point2 As CGaudiPoint, BodyArray() As CGaudiBody ) As Boolean
  



[Python]
 FindBodyAllByBox_py( Point1 As CGaudiPoint, Point2 As CGaudiPoint )

戻り値

True   成功
False   失敗
 

 
[Python]
[0]   True:成功、False:失敗
[1][0~検索されたボディ数-1]   サイズボックス内のボディ(CGaudiBody)を返すための配列(動的配列)

引数

Point1   サイズボックスの対角座標1

Point2

  サイズボックスの対角座標2
BodyArray   サイズボックス内のボディ(CGaudiBody)を返すための配列(動的配列)
  



[Python]
Point1   サイズボックスの対角座標1

Point2

  サイズボックスの対角座標2

解説

指定された2点を対角座標とするサイズボックス内に存在するボディを全て取得します。
ボディが見つからなかった場合や、引数のBodyArrayが動的配列ではない場合は失敗します。

  • 作図領域の対角を指定することで全体のボディを取得することが可能です。
    (-500,-500,-500)~(500,500,500)を指定
 

実行例

Dim Femtet As New CFemtet
Dim Gaudi As CGaudi
Dim min As New CGaudiPoint

Dim max As New CGaudiPoint

Dim bodies() As CGaudiBody


'プロジェクトを開く
If Femtet.LoadProject("C:\Test\test.femprj", True) = False Then

    Femtet.ShowLastError

End If

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

min.SetCoord -5, -5, -5

max.SetCoord 5, 5, 5

        

if Gaudi.FindBodyAllByBox(min, max, bodies) = False Then

Femtet.ShowLastError

End If