905x
004133
2021-04-13

Pregunta

¿Cómo se establece la fricción en una articulación de barra a través de la interfaz COM?


Respuesta:

La fricción es una no linealidad y, por lo tanto, solo se puede modificar a través de la interfaz con la articulación de la barra.

Para esto, primero es necesario crear la articulación de la barra, si aún no está disponible. Luego, la interfaz IMemberHinge se lleva a la articulación de la barra y luego a la no linealidad (aquí IFriction ). Luego, puede usar los métodos GetData y SetData para modificar los datos (aquí 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

Atenuar la articulación (0 a 0) como RFEM5.

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)
    
'obtener interfaz para "fricción" no lineal
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


En el caso de la fricción Vy + Vz, se usa el "Coefficient2" para establecer el segundo coeficiente. La constante elástica en el cuadro de diálogo "Fricción" está controlada por el muelle traslacional de la articulación en el extremo de la barra. En este caso particular, se trata de TranslationalConstantX para la dirección x (ver imagen 01).