Чтобы можно было присвоить стержню эксцентриситет, обычно необходимо создать его перед самой настройкой стержня.
Другой подход затем показан в следующем примере, Другой подход затем показан в следующем примере, где сначала создается эксцентриситет, который потом назначается уже существующему стержню посредством его интерфейса:
'---------------------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
Поскольку эксцентриситеты стержней можно передавать лишь в виде поля, было в данных целях создано поле только с одним элементом. На прилагаемом изображении перечисляются эти элементы всегда со ссылкой на соответствующие графические элементы.