914x
004133
2021-04-13

Domanda

Come viene impostato l'attrito sul vincolo di un'asta tramite l'interfaccia COM?


Risposta:

L'attrito è una non linearità e può quindi essere modificato solo tramite l'interfaccia con il vincolo dell'asta.

Per questo, è prima necessario creare il vincolo dell'asta, se non già disponibile. Quindi, l' interfaccia IMemberHinge viene portata al vincolo dell'asta e quindi alla non linearità (qui IFriction ). Quindi, è possibile utilizzare i metodi GetData e SetData per modificare i dati (qui Friction ):

Sub SetMemberHingeFriction ()

Dim modello Come RFEM5.model
Set model = GetObject(, "RFEM5.Model")
model.GetApplication.LockLicense

On Error GoTo e

Dim data As IModelData
Imposta data = model.GetModelData

Dim hinge (da 0 a 0) come RFEM5.MemberHinge

cerniera (0) .No = 1
cerniera (0) .Costante rotazionaleX = 1
cerniera (0) .Costanza rotazionale = 2
cerniera (0) .Costante rotazionaleZ = 3
cerniera (0) .Costante traduzioneX = 4
cerniera (0) .Costanza traduzione = 5
cerniera (0) .TranslationalConstantZ = 6
cerniera (0) .Comment = "Cerniera dell'asta 1"
    
cerniera (0) .TranslationalNonlinearityX = FrictionAType

data.PrepareModification
data.SetMemberHinges cerniera
data.FinishModification
    
'ottieni l'interfaccia per il vincolo dell'asta
Dim imemhing come IMemberHinge
Imposta imemhing = data.GetMemberHinge (1, AtNo)
    
'ottieni l'interfaccia per la non linearità "attrito"
Dim iFric come IFriction
Imposta iFric = imemhing.GetNonlinearity (AlongAxisX)
    
'ottieni dati sull'attrito
Attrito debole come attrito
fric = iFric.GetData
    
fric.Coefficient1 = 0,3
    
'imposta i dati di attrito
data.PrepareModification
iFric.SetData fric
data.FinishModification
    
    
e: If Err.Number <> 0 Then MsgBox Err.Description`` Err.Source

Imposta dati = Niente
model.GetApplication.UnlockLicense
Set model = Nothing

End Sub


Nel caso dell'attrito Vy + Vz, il coefficiente2 viene utilizzato per impostare il secondo coefficiente. La costante della molla nella finestra di dialogo Attrito è controllata dalla molla di traslazione del vincolo dell'asta. In questo caso particolare, questo è TranslationalConstantX per la direzione x (vedi immagine 01).