O atrito representa uma não linearidade e, portanto, só pode ser modificado através da interface para a articulação de barra.
Para tal, a articulação de barra deve ser criada primeiro, caso ainda não esteja disponível. Em seguida, é adicionada a interface IMemberHinge para a articulação de barra e depois para a não linearidade (aqui IFriction). Poderá depois utilizar os métodos GetData e SetData para modificar os dados (aqui Friction):
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
No caso do atrito Vy + Vz, o Coeficiente2 é utilizado para definir o segundo coeficiente. A mola de translação na caixa de diálogo Atrito é controlada pela mola de translação da articulação de barra. Neste caso em concreto, é TranslationalConstantX para a direção x (ver Figura 01).