In order to be able to assign an eccentricity to a member, it is usually necessary to create it before setting the member.
Another approach is shown in the following example. First, the eccentricity is created and then assigned to an existing member via its interface:
'---------------------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
Member eccentricities can only be transferred as a field; for this purpose, a field with only one element has been created. In the attached image, the individual elements are itemized with reference to the graphical elements.