1081x
004715
2020-09-10

Selezione di oggetti tramite interfaccia COM

Come posso selezionare gli oggetti tramite l'interfaccia COM?


Risposta:

Per la selezione degli oggetti, c'è la funzione "SelectObjects" nell'interfaccia IModelData (o IModeldata2 e simili). La funzione prevede un tipo di oggetto e i numeri oggetto come una stringa. Ecco un breve esempio:

Sub select_objects()

Dim modello Come 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

Nella parte superiore, le selezioni sono attivate, e quindi i nodi da 2 a 3 e le linee 1 e 3 sono selezionate. Quindi, le linee e i nodi sono deselezionati da una stringa vuota.

Se si desidera leggere o modificare gli oggetti selezionati, è necessaria la funzione "IModelData.EnableSelections" (si trova anche sopra nel codice). Se la funzione viene recuperata con "Vero", ad esempio, solo i nodi selezionati saranno ottenuti con la funzione "IModelData.GetNodes ()".


Autore

Il signor Günthel fornisce supporto tecnico per i clienti di Dlubal Software e si prende cura delle loro richieste.

Download


;