425x
004195
2019-11-07

Modifica successiva di un'asta tramite l'interfaccia COM

Come posso modificare retroattivamente un'asta tramite l'interfaccia COM?


Risposta:

Per modificare un elemento esistente, è necessario ottenere l'interfaccia per l'elemento corrispondente, in questo caso su un esempio di asta:

    Dim iModel As RSTAB8.model
    Set iModel = GetObject(, "RSTAB8.Model")
    iModel.GetApplication.LockLicense
    
    Dim iModData As IModelData
    Set iModData = iModel.GetModelData
    
    Dim iMem As RSTAB8.IMember
    Set iMem = iModData.GetMember(1, AtNo)

Über diesen Code wird das Interface zum Stab 1 geholt, welcher bereits angelegt sein muss. Danach können über die Methode .GetData() des Interfaces die Stabdaten geholt werden.

Falls Daten modifiziert werden sollen (wie hier die Stabdrehung), können diese danach innerhalb eines Prepare-/FinishModification-Blocks mit der Methode .SetData() an das Programm übergeben werden:

    Dim mem As RSTAB8.Member
    mem = iMem.GetData
    
    mem.Rotation.Angle = 0.5
    mem.Rotation.Type = RSTAB8.Angle
   
    iModData.PrepareModification
    iMem.SetData mem
    iModData.FinishModification

Autore

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

Download


;