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

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

FindTopologyAllByBoundaryName関数

FindTopologyAllByBoundaryName ( BoundaryName As String, VertexArray() As CGaudiVertex, EdgeArray() As CGaudiEdge, FaceArray() As CGaudiFace, TextMatch As TEXT_MATCH_T ) As Boolean
 


[Python]
 FindTopologyAllByBoundaryName_py(str BoundaryName, constants.TEXT_MATCH_T TextMatchType)

戻り値

True   成功
False   失敗
 


[Python]
[0]   True:成功、False:失敗
[1][0~検索された点トポロジ数-1]   指定された境界条件名の点トポロジ(CGaudiVertex)を返すための配列(動的配列)
[2][0~検索された辺トポロジ数-1]   指定された境界条件名の辺トポロジ(CGaudiEdge)を返すための配列(動的配列)
[3][0~検索された面トポロジ数-1]   指定された境界条件名の面トポロジ(CGaudiFace)を返すための配列(動的配列)

引数

BoundaryName   境界条件名
VertexArray   指定された境界条件名の点トポロジを返すための配列(動的配列)
EdgeArray   指定された境界条件名の辺トポロジを返すための配列(動的配列)
FaceArray   指定された境界条件名の面トポロジを返すための配列(動的配列)
TextMatch   境界条件名の文字列の検索方法(TEXT_MATCH_Tを設定してください)
 


[Python]
BoundaryName   境界条件名
TextMatch   境界条件名の文字列の検索方法(constants.TEXT_MATCH_Tを設定してください)

解説

指定された境界条件名のトポロジを全て取得します。
トポロジが見つからなかった場合やトポロジを返すための配列が動的配列ではない場合は失敗します。
 
点、辺、面トポロジの一種類のみを取得する場合は、単体版を使用した方が動作速度が速くなります。  
境界条件名の検索方法は下記の種類があります。
  • 完全一致
  • 大文字小文字の区別なしで完全一致
  • 部分一致
  • 大文字小文字の区別なしで部分一致

 

境界条件名の検索方法を指定する第5引数の初期値は完全一致です。

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

 

各検索方法の動作について、
境界条件名"Port01"のトポロジが存在するとき、
各方法で"Port01"を取得する場合に
第1引数に指定する検索文字列の例です。

 

完全一致

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

部分一致

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

Port01

Port01、PORT01など

Port、01など

Port、PORT、01など

 

実行例

Dim Femtet As New CFemtet
Dim Gaudi As CGaudi
Dim Vertex() As CGaudiVertex
Dim Edge() As CGaudiEdge
Dim Face() As CGaudiFace


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

    Femtet.ShowLastError

End If

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

'完全一致で検索
If Gaudi.FindTopologyAllByBoundaryName( "Port01", Vertex, Edge, Face ) = False Then
    Femtet.ShowLastError
End If

'部分一致で検索
If Gaudi.FindTopologyAllByBoundaryName( "Port", Vertex, Edge, Face, TEXT_MATCH_PARTIAL_C ) = False Then
    Femtet.ShowLastError
End If