905x
004133
13. April 2021

Frage

Wie wird über die COM-Schnittstelle Reibung an einem Stabendgelenk eingestellt?


Antwort:

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).