Odpověď:
Tření představuje nelinearitu, a proto ho lze změnit pouze přes rozhraní ke kloubu na konci prutu.
Nejdříve je nutné vytvořit kloub na konci prutu, pokud již není k dispozici. Poté se rozhraní IMemberHinge převede na kloub na konci prutu a poté na nelinearitu (zde 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
Pro případ tření Vy + Vz lze použít Coeffcient2 pro stanovení druhého součinitele. Lineární pružina v dialogu Tření se nastavuje pomocí lineární pružiny kloubu na konci prutu. V konkrétním případě je to pro směr x o TranslationalConstantX (viz Obrázek 01).