1081x
004715
2020-09-10

Wybór obiektów za pomocą interfejsu COM

Jak wybierać obiekty za pomocą interfejsu COM?


Odpowiedź:

Do wyboru obiektów służy funkcja "SelectObjects" w interfejsie IModelData (lub IModeldata2 itp.). 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

Pan Günthel zapewnia wsparcie techniczne klientom firmy Dlubal Software i zajmuje się ich zapytaniami.

Pobrane


;