920x
004563
2020-07-28

Creating Member Eccentricities with RS‑COM

How can I create member eccentricities in RF‑COM?


Answer:

The following VBA macro shows the creation of two member eccentricities.

'--------------------------------------------------------------------------------------------------
Sub SetEccs()
'--------------------------------------------------------------------------------------------------
Dim model As RFEM5.model
Dim data As IModelData
Dim ecc(1) As RFEM5.MemberEccentricity

    'Get interface for model
    Set model = GetObject(, "RFEM5.Model")
    
    ' Block COM licence and program access
    model.GetApplication.LockLicense

    On Error GoTo e
    ' Get interface for model data
    Set data = model.GetModelData

   'Define eccentricity 1
    ecc(0).No = 1
    ecc(0).ReferenceSystem = LocalSystemType
    ecc(0).Start.X = 0.01
    ecc(0).Start.Y = 0.02
    ecc(0).Start.Z = 0.03
    ecc(0).End.X = -0.01
    ecc(0).End.Y = -0.02
    ecc(0).End.Z = -0.03
    ecc(0).Comment = "eccentricity 1"
    
   'Define eccentricity 2
    ecc(1).No = 2
    ecc(1).ReferenceSystem = GlobalSystemType
    ecc(1).Start.X = -0.07
    ecc(1).Start.Y = -0.08
    ecc(1).Start.Z = -0.09
    ecc(1).End.X = 0.07
    ecc(1).End.Y = 0.08
    ecc(1).End.Z = 0.09
    ecc(1).Comment = "eccentricity 2"
    
    'Transfer member eccentricities
    data.PrepareModification
    data.SetMemberEccentricities ecc

e:  data.FinishModification
    If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source
    Set data = Nothing
    ' COM licence is unlocked, program access possible again
    model.GetApplication.UnlockLicense
    Set model = Nothing

End Sub


Author

Ms. von Bloh provides technical support for our customers and is responsible for the development of the SHAPE‑THIN program as well as steel and aluminum structures.

Downloads


;