Aby można było przypisać mimośród do pręta, zwykle należy go utworzyć przed ustawieniem pręta.
Inne podejście pokazano w poniższym przykładzie. Najpierw tworzony jest mimośród, a następnie przypisywany do istniejącego pręta za pośrednictwem interfejsu:
- kod.vb#
'---------------------
Sub SetEccentricity()
'---------------------
Dim model As RFEM5.model
Set model = GetObject(, "RFEM5.Model")
model.GetApplication.LockLicense
On Error GoTo e
Dim iModData As RFEM5.iModelData
Set iModData = model.GetModelData
' create eccentricity
Dim eccens(0 To 0) As RFEM5.MemberEccentricity
eccens(0).No = 1
eccens(0).Comment = "test eccentricity"
eccens(0).ReferenceSystem = LocalSystemType
eccens(0).Start.X = 0
eccens(0).Start.Y = 0
eccens(0).Start.Z = 0
eccens(0).End.X = 0
eccens(0).End.Y = 0
eccens(0).End.Z = 0
eccens(0).HingeAtEndNode = False
eccens(0).HingeAtStartNode = False
eccens(0).HorizontalAlignment = Middle
eccens(0).VerticalAlignment = Bottom
eccens(0).TransverseOffset = True
eccens(0).ReferenceObjectNo = 2
eccens(0).ReferenceObjectType = MemberObject
eccens(0).HorizontalAxisOffset = Middle
eccens(0).VerticalAxisOffset = Top
eccens(0).StartAdjoiningMembersOffset = False
eccens(0).EndAdjoiningMembersOffset = False
iModData.PrepareModification
iModData.SetMemberEccentricities eccens
iModData.FinishModification
' add eccentricity to member
Dim iMem As RFEM5.IMember
Set iMem = iModData.GetMember(1, AtNo)
Dim mem As RFEM5.Member
mem = iMem.GetData
mem.EccentricityNo = 1
iModData.PrepareModification
iMem.SetData mem
iModData.FinishModification
e: If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source
model.GetApplication.UnlockLicense
End Sub
#/code#
Mimośrody prętów mogą być przenoszone tylko jako pole; w tym celu zostało utworzone pole zawierające tylko jeden element. Na załączonym rysunku poszczególne elementy są wyszczególnione w odniesieniu do elementów graficznych.