Um einem Stab eine Exzentrizität einem Stab zuordnen zu können, muss diese normalerweise vor der Erstellung des Stabes angelegt werden.
Im folgenden Beispiel wird noch ein anderer Weg gegangen. Zunächst wird die Exzentrizität erstellt und dann einem vorhandenen Stab über dessen Interface diese zugewiesen:
'---------------------Sub SetEccentricity()'---------------------
Dim model As RFEM5.modelSet model = GetObject(, "RFEM5.Model")model.GetApplication.LockLicense
On Error GoTo e
Dim iModData As RFEM5.iModelDataSet iModData = model.GetModelData
' create eccentricityDim eccens(0 To 0) As RFEM5.MemberEccentricityeccens(0).No = 1eccens(0).Comment = "test eccentricity"
eccens(0).ReferenceSystem = LocalSystemType
eccens(0).Start.X = 0eccens(0).Start.Y = 0eccens(0).Start.Z = 0
eccens(0).End.X = 0eccens(0).End.Y = 0eccens(0).End.Z = 0
eccens(0).HingeAtEndNode = Falseeccens(0).HingeAtStartNode = False
eccens(0).HorizontalAlignment = Middleeccens(0).VerticalAlignment = Bottom
eccens(0).TransverseOffset = Trueeccens(0).ReferenceObjectNo = 2eccens(0).ReferenceObjectType = MemberObjecteccens(0).HorizontalAxisOffset = Middleeccens(0).VerticalAxisOffset = Top
eccens(0).StartAdjoiningMembersOffset = Falseeccens(0).EndAdjoiningMembersOffset = False
iModData.PrepareModificationiModData.SetMemberEccentricities eccensiModData.FinishModification
' add eccentricity to memberDim iMem As RFEM5.IMemberSet iMem = iModData.GetMember(1, AtNo)
Dim mem As RFEM5.Membermem = iMem.GetData
mem.EccentricityNo = 1
iModData.PrepareModificationiMem.SetData memiModData.FinishModification
e: If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source
model.GetApplication.UnlockLicense
End Sub
Stabexzentrizitäten können nur als Feld übergeben werden, hier wurde zu diesem Zweck ein Feld mit nur einem Element angelegt. Im angehängten Bild werden die einzelnen Elemente mit Bezug zur grafischen Elemente aufgeschlüsselt.