Para selecionar objetos, existe a função "SelectObjects" na interface IModelData (ou IModeldata2 etc.). A função espera o tipo de objeto e o(s) número(s) de objetos como uma cadeia de caracteres. Aqui está um pequeno exemplo:
- código.vb#
Sub select_objects()
Dim model As RFEM5.model
Set model = GetObject(, "RFEM5.Model")
model.GetApplication.LockLicense
On Error GoTo e
- Dim iModdata As IModelData2
- Set iModdata = model.GetModelData
- ' enable Selections
- iModdata.EnableSelections True
- ' select nodes 2-3 and lines 1 and 3
- iModdata.SelectObjects ModelObjectType.NodeObject, "2-3"
- iModdata.SelectObjects ModelObjectType.LineObject, "1,3"
- ' deselect nodes and lines
- iModdata.SelectObjects ModelObjectType.NodeObject, ""
- iModdata.SelectObjects ModelObjectType.LineObject, ""
e: If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source
model.GetApplication.UnlockLicense
Set iModdata = Nothing
Set model = Nothing
End Sub
#/code#
Na parte superior, as seleções são ativadas e, em seguida, os nós 2 a 3 e as linhas 1 e 3 são selecionados. Em seguida, as linhas e os nós são desselecionados por uma cadeia de caracteres vazia.
Se pretende ler ou modificar objetos selecionados, precisa da função "IModelData.EnableSelections" (também pode ser encontrada acima no código). Se a função for ativada com "True", apenas os nós selecionados serão lidos com a função "IModelData.GetNodes ()", por exemplo.