La friction représente une non-linéarité et peut donc être modifiée uniquement via l'interface de l'articulation de barre.
Pour ce faire, vous devez d'abord créer l'articulation de barre, si elle n'est pas déjà disponible. L'interface IMemberHinge est ensuite dirigée vers l'articulation de barre, puis vers la non-linéarité ( IFriction , ici). Ü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
Dans le cas de la friction Vy + Vz, le Coefficient2 est utilisé pour définir le second coefficient. Le ressort dans la boîte de dialogue de la friction est contrôlé via celui de l'articulation de barre. Dans le cas traité ici, il s'agit de TranslationalConstantX pour la direction x (voir la Figure 01).