Reibung stellt eine Nichtlinearität dar und kann daher nur über das Interface zum Stabendgelenk modifiziert werden.
Dazu muss zuerst das Stabendgelenk angelegt werden, sofern nicht bereits vorhanden. Danach wird das Interface IMemberHinge zum Stabendgelenk und dann zur Nichtlinearität (hier IFriction) geholt. Ü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
Für den Fall Reibung Vy + Vz kann über Coeffcient2 der zweite Koeffizient eingestellt werden. Die Wegfeder im Reibung Dialog wird über die Wegfeder des Stabendgelenks gesteuert. Im konkreten Fall ist das für die x-Richtung TranslationalConstantX (siehe Abbilung 01).