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.modelSet model = GetObject(, "RFEM5.Model")model.GetApplication.LockLicense
On Error GoTo e
Dim data As IModelDataImposta data = model.GetModelData
Dim hinge (da 0 a 0) come RFEM5.MemberHinge
cerniera (0) .No = 1cerniera (0) .Costante rotazionaleX = 1cerniera (0) .Costanza rotazionale = 2cerniera (0) .Costante rotazionaleZ = 3cerniera (0) .Costante traduzioneX = 4cerniera (0) .Costanza traduzione = 5cerniera (0) .TranslationalConstantZ = 6cerniera (0) .Comment = "Cerniera dell'asta 1" cerniera (0) .TranslationalNonlinearityX = FrictionAType
data.PrepareModificationdata.SetMemberHinges cernieradata.FinishModification 'ottieni l'interfaccia per il vincolo dell'astaDim imemhing come IMemberHingeImposta imemhing = data.GetMemberHinge (1, AtNo) 'ottieni l'interfaccia per la non linearità "attrito"Dim iFric come IFrictionImposta iFric = imemhing.GetNonlinearity (AlongAxisX) 'ottieni dati sull'attritoAttrito debole come attritofric = iFric.GetData fric.Coefficient1 = 0,3 'imposta i dati di attritodata.PrepareModificationiFric.SetData fricdata.FinishModification e: If Err.Number <> 0 Then MsgBox Err.Description`` Err.Source
Imposta dati = Nientemodel.GetApplication.UnlockLicenseSet 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).