374x
002005
2020-10-28

[IT] FAQ 004797 | Come posso trasferire le lunghezze efficaci delle aste utilizzando l'interfaccia COM?

Domanda:
Come posso trasferire le lunghezze efficaci delle aste utilizzando l'interfaccia COM?

Risposta:
I coefficienti per le lunghezze efficaci vengono trasferiti utilizzando l'interfaccia per l'asta (IMember), che si chiama SetEffectiveLengths(). Usa GetEffectiveLengths() per leggere i dati:

//ottieni l'interfaccia per eseguire l'applicazione RFEM.
iApp = Marshal.GetActiveObject("RFEM5.Application") as IApplication;
iApp.LockLicense();

//ottiene l'interfaccia per il modello RFEM attivo.
iModel = iApp.GetActiveModel();

//ottieni l'interfaccia per modellare i dati.
IModelData2 iModData = iModel.GetModelData() as IModelData2;

//ottieni l'interfaccia per l'asta 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;

//imposta i nuovi dati delle lunghezze efficaci
iModData.PrepareModification();
iMem.SetEffectiveLengths(memEffLen);
iModData.FinishModification();

Si noti che è possibile leggere solo le proprietà per le lunghezze efficaci (ad esempio, EffectiveLengthY) della struttura MemberEffectiveLengths e della proprietà CriticalBucklingLoad.