Pregunta:
¿Cómo puedo seleccionar objetos a través de la interfaz COM?
Respuesta:
Para seleccionar objetos, está la función "SelectObjects" en la interfaz IModelData (o IModeldata2 y similares). La función espera el tipo de objeto y los números de objeto como una cadena. Aquí hay un ejemplo corto:
Sub select_objects ()
- Dim model As RFEM5.model
Establecer modelo = GetObject (, "RFEM5.Model")
- model.GetApplication.LockLicense
On Error GoTo e
Dim iModdata como IModelData2
Establecer iModdata = model.GetModelData
' habilitar selecciones
iModdata.EnableSelections True
' seleccione los nudos 2-3 y las líneas 1 y 3
iModdata.SelectObjects ModelObjectType.NodeObject, "2-3"
iModdata.SelectObjects ModelObjectType.LineObject, "1,3"
' anula la selección de nudos y líneas
iModdata.SelectObjects ModelObjectType.NodeObject, ""
iModdata.SelectObjects ModelObjectType.LineObject, ""
e: If Err.Number 0 Then MsgBox Err.description, , Err.Source
model.GetApplication.UnlockLicense
Establecer iModdata = Nada
- Set model = Nothing
End Sub
En la parte superior, se activan las selecciones y luego se seleccionan los Nudos 2 a 3 y las Líneas 1 y 3. Luego, se anula la selección de las líneas y nudos mediante una cadena vacía.
Si desea leer o modificar los objetos seleccionados, necesita la función "IModelData.EnableSelections" (también se puede encontrar arriba en el código). Si la función se recupera con "Verdadero", solo se obtienen los nudos seleccionados con la función "IModelData.GetNodes ()", por ejemplo.