886x
004133
13.4.2021

Dotaz

Jak je možné nastavit tření na kloubu na konci prutu pomocí rozhraní COM?


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řenese ke kloubu na konci prutu a následně k nelinearitě (zde IFriction). Pomocí metod GetData a SetData je možné data (zde Friction) upravit:

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