Трение - это тип нелинейности, который можно изменить только через интерфейс к шарниру стержня.
Для этого сначала необходимо создать шарнир стержня, если он еще не создан. Затем применим к шарниру стержня интерфейс IMemberHinge , а к нелинейности интерфейс IMemberHinge (в данном случае интерфейс IFriction ). Über die Methoden GetData und SetData können dann die Daten (hier Friction) modifiziert werden:
Sub SetMemberHingeFriction()
Dim model As RFEM5.model
Set model = GetObject(, "RFEM5.Model")
model.GetApplication.LockLicense
On Error GoTo e
Dim data As IModelData
Set data = model.GetModelData
Dim hinge(0 To 0) As RFEM5.MemberHinge
hinge(0).No = 1
hinge(0).RotationalConstantX = 1
hinge(0).RotationalConstantY = 2
hinge(0).RotationalConstantZ = 3
hinge(0).TranslationalConstantX = 4
hinge(0).TranslationalConstantY = 5
hinge(0).TranslationalConstantZ = 6
hinge(0).Comment = "Member Hinge 1"
hinge(0).TranslationalNonlinearityX = FrictionAType
data.PrepareModification
data.SetMemberHinges hinge
data.FinishModification
' get interface for member hinge
Dim imemhing As IMemberHinge
Set imemhing = data.GetMemberHinge(1, AtNo)
' get interface for nonlinearity "friction"
Dim iFric As IFriction
Set iFric = imemhing.GetNonlinearity(AlongAxisX)
' get friction data
Dim fric As Friction
fric = iFric.GetData
fric.Coefficient1 = 0.3
' set friction data
data.PrepareModification
iFric.SetData fric
data.FinishModification
e: If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source
Set data = Nothing
model.GetApplication.UnlockLicense
Set model = Nothing
End Sub
В случае трения Vy + Vz, используется для настройки второго коэффициента команда Coefficient2. Постоянная пружины в диалоговом окне «Трение» затем определяется с помощью продольной пружины шарнира стержня. В данном конкретном случае это запись TranslationalConstantX , которая управляет настройками для направления x (см. Рисунок 01).