1081x
004715
2020-09-10

Selección de objetos a través de la interfaz COM

¿Cómo puedo seleccionar objetos a través de la interfaz COM?


Respuesta:

Para seleccionar objetos, existe la función "Seleccionar objetos" en la interfaz IModelData (o IModeldata2 y similares). Die Funktion erwartet den Objekttyp und die Objektnummer(n) als Zeichenkette. Hier ein kurzes Beispiel:

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

Im oberen Teil werden die Selektionen aktiviert und dann die Knoten 2 bis 3 sowie die Linien 1 und 3 selektiert. Danach werden die Linien und Knoten durch eine leere Zeichenkette wieder deselektiert.

Wenn Sie selektierte Objekte auslesen oder modifizieren wollen, benötigen Sie die Funktion "IModelData.EnableSelections" (oben ebenfalls im Code zu finden). Wenn die Funktion mit "True" aufgerufen wird, werden danach beispielsweise mit der Funktion "IModelData.GetNodes()" nur die selektierten Knoten ausgelesen.


Autor

El Sr. Günthel proporciona soporte técnico para los clientes de Dlubal Software y se ocupa de sus solicitudes.

Descargas


;