Dotaz:
Jak mohu vybrat objekty pomocí rozhraní COM?
Odpověď:
Pro výběr objektů je k dispozici v IModelData (resp. také v IModeldata2 apod.) a podobně). Funkce očekává typ objektu a čísla objektů jako řetězec. Zde je krátký příklad:
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
V horní části se aktivují výběry a poté se vyberou uzly 2 až 3 a linie 1 a 3. Poté se linie a uzly odznačí pomocí prázdného řetězce.
Pokud chcete číst nebo upravovat vybrané objekty, potřebujete funkci "IModelData.EnableSelections" (nachází se také v kódu výše). Pokud je funkce označena jako "True", načtou se pouze vybrané uzly například pomocí funkce "IModelData.GetNodes()".