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

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

FindBodyAllByMaterialName関数

定義

FindBodyAllByMaterialName ( MaterialName As String, BodyArray() As CGaudiBody, TextMatch As TEXT_MATCH_T ) As Boolean
 


[Python]
 FindBodyAllByMaterialName_py(str MaterialName, constants.TEXT_MATCH_T TextMatchType)

戻り値

True   成功
False   失敗
 


[Python]
[0]   True:成功、False:失敗
[1][0~検索されたボディ数-1]   指定された材料名のボディ(CGaudiBody)を返すための配列(動的配列)

引数

MaterialName   材料名
BodyArray   指定された材料名のボディを返すための配列(動的配列)
TextMatch   材料名の文字列の検索方法(TEXT_MATCH_Tを設定してください)
 


[Python]
MaterialName   材料名
TextMatch   材料名の文字列の検索方法(constants.TEXT_MATCH_Tを設定してください)

解説

指定された材料名のボディを全て取得します。
ボディが見つからなかった場合やBodyArrayが動的配列ではない場合は失敗します。
  
指定材料名のボディをどれか一つ取得すればよい場合は、
FindBodyByMaterialNameを使用した方が動作速度が速くなります。
   
材料名の検索方法は下記の種類があります。

  • 完全一致
  • 大文字小文字の区別なしで完全一致
  • 部分一致
  • 大文字小文字の区別なしで部分一致

 

材料名の検索方法を指定する第3引数の初期値は完全一致です。

完全一致で検索する場合は第3引数の設定は不要です。

 

各検索方法の動作について、
材料名"Polycarbonate"のボディが存在するとき、
各方法で"Polycarbonate"を取得する場合に
第1引数に指定する検索文字列の例です。

 

完全一致

大文字小文字の区別なしで完全一致

部分一致

大文字小文字の区別なしで部分一致

Polycarbonate

polycarbonate、POLYCARBONATEなど

Poly、carbonateなど

poly、POLY、Carbonateなど

 

実行例

Dim Femtet As New CFemtet
Dim Gaudi As CGaudi
Dim Body() As CGaudiBody


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

    Femtet.ShowLastError

End If

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

'完全一致で検索
If Gaudi.FindBodyAllByMaterialName( "Polycarbonate", Body ) = False Then
    Femtet.ShowLastError
End If

'部分一致で検索
If Gaudi.FindBodyAllByMaterialName( "Poly", Body, TEXT_MATCH_PARTIAL_C ) = False Then
    Femtet.ShowLastError
End If