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). Les méthodes GetData et SetData permettent alors de modifier les données (ici Friction) :
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).