回复:
摩擦是非线性的,只能通过杆端铰的接口进行修改。
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).