527x
004797
2020-10-28

Trasferimento dei coefficienti per le lunghezze libere d'inflessione tramite interfaccia COM

Come posso trasferire le lunghezze libere d'inflessione delle aste utilizzando l'interfaccia COM?


Risposta:

I coefficienti per le lunghezze libere d'inflessione vengono trasferiti utilizzando l'interfaccia per l'asta (IMember), chiamata SetEffectiveLengths(). Mit GetEffectiveLengths() kann man die Daten auslesen:

// get interface to running RFEM application.
iApp = Marshal.GetActiveObject("RFEM5.Application") as IApplication;
iApp.LockLicense();

// get interface to active RFEM model.
iModel = iApp.GetActiveModel();

// get interface to model data.
IModelData2 iModData = iModel.GetModelData() as IModelData2;

// get interface to member 1
IMember iMem = iModData.GetMember(1, ItemAt.AtNo);

MemberEffectiveLengths memEffLen = iMem.GetEffectiveLengths();

memEffLen.No = 1;
memEffLen.CheckBucklingLoad = true;
memEffLen.Enabled = true;
memEffLen.FactorU = 1.1;
memEffLen.FactorV = 1.2;
memEffLen.FactorY = 1.3;
memEffLen.FactorZ = 1.4;

// set new effective lengths data
iModData.PrepareModification();
iMem.SetEffectiveLengths(memEffLen);
iModData.FinishModification();

Zu beachten ist, dass die Eigenschaften für die effektiven Längen (z. B. EffectiveLengthY) der Struktur MemberEffectiveLengths sowie die Eigenschaft CriticalBucklingLoad nur gelesen werden können.


Autore

Il signor Günthel fornisce supporto tecnico per i clienti di Dlubal Software e si prende cura delle loro richieste.

Link
Download


;