403x
004195
07.11.2019

Question

Comment modifier rétroactivement une barre via l'interface COM ?


Réponse:

Pour pouvoir modifier un élément existant, vous devez dispose de l'interface avec l'élément correspondant. Une barre est traitée dans l'exemple suivant :

    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)

Ce code est utilisé pour obtenir l'interface avec la barre 1, qui doit déjà avoir été créée. Les données de barre peuvent ensuite être extraites à l'aide de la méthode .GetData () de l'interface.

Si les données doivent être modifiées (comme la rotation de la barre, ici), elles peuvent être transférées vers le programme dans un bloc Prepare-/FinishModification à l'aide de la méthode .SetData () :


    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