ホーム / モデリング / CGaudi / 関数 / GetObjectsFromScreen
GetObjectsFromScreen関数
定義
GetObjectsFromScreen(SelectionMode As SELECTION_MODE_T, X As Long, Y As Long, VertexList() As CGaudiVertex, EdgeList() As CGaudiEdge, FaceList() As CGaudiFace, BodyList() As CGaudiBody) As Boolean
[Python]
GetObjectsFromScreen_py(SelectionMode, X, Y) -> (bSuccess, VertexList, EdgeList, FaceList, BodyList)
戻り値
| True | 成功(座標上にオブジェクトがなかった場合も含む) | |
| False | 失敗 |
[Python]
| [0] | True:成功、False:失敗 | |
| [1] | Vertex(頂点)のリスト | |
| [2] | Edge(辺)のリスト | |
| [3] | Face(面)のリスト | |
| [4] | Body(ボディ)のリスト |
引数
|
SelectionMode |
SELECTION_MODE_T列挙体:
|
|
|
X |
画面内座標(X方向、左上を原点、右方向がX軸) | |
|
Y |
画面内座標(Y方向、左上を原点、下方向がY軸) | |
|
VertexList |
取得した頂点(CGaudiVertex)の動的配列 | |
|
EdgeList |
取得した辺(CGaudiEdge)の動的配列 | |
|
FaceList |
取得した面(CGaudiFace)の動的配列 | |
|
BodyList |
取得したボディ(CGaudiBody)の動的配列 |
[Python]
| SelectionMode | 選択モード(SELECTION_MODE_T) | |
| X | 画面X座標(左上原点) | |
| Y | 画面Y座標(左上原点) |
解説
指定された画面上の座標 (X, Y) にあるボディ・トポロジー(頂点、辺、面、ボディ)を取得します。画面上でクリック選択したときと同様、ほかのオブジェクトに隠れているものは取得されません。
また、非表示オブジェクトも取得されません。
取得対象は TargetSelectionMode で指定可能です。
VBA の場合、各 List は動的配列を指定してください。実行後に配列が上書きされます。
X, Yは左上原点、右・下正方向の座標です。
実行例
Dim Femtet As New CFemtet
Dim Mode As SELECTION_MODE_T
Dim X As Long, Y As Long
Dim VertexList() As CGaudiVertex
Dim EdgeList() As CGaudiEdge
Dim FaceList() As CGaudiFace
Dim BodyList() As CGaudiBody
Mode = SELECT_FACE_C '面を取得
' 画面サイズが 320 * 240 と仮定
X = 160 '画面の中央付近
Y = 120 '画面の中央付近
If Femtet.Gaudi.GetObjectsFromScreen(Mode, X, Y, VertexList, EdgeList, FaceList, BodyList) Then
Debug.Print "取得成功:"
Debug.Print "頂点数=" & UBound(VertexList) - LBound(VertexList) + 1
Debug.Print "辺数=" & UBound(EdgeList) - LBound(EdgeList) + 1
Debug.Print "面数=" & UBound(FaceList) - LBound(FaceList) + 1
Debug.Print "ボディ数=" & UBound(BodyList) - LBound(BodyList) + 1
Else
Debug.Print "取得失敗"
End If


