374x
002005
28.10.2020

[EN] FAQ 004797 | Jak je možné pomocí rozhraní COM předávat vzpěrné délky prutů?

Dotaz:
Jak je možné pomocí rozhraní COM předávat vzpěrné délky prutů?

Odpověď:
Předávání faktorů pro účinné délky se provádí pomocí rozhraní pro prut (IMember), jmenuje se SetEffectiveLengths(). Pomocí GetEffectiveLengths() je možné načíst data:

//získání rozhraní ke spuštěné aplikaci RFEM.
iApp = Marshal.GetActiveObject("RFEM5.Application") as IApplication;
iApp.LockLicense();

////vyvolá rozhraní k aktivnímu modelu v RFEMu.
iModel = iApp.GetActiveModel();

////rozhraní k datům modelu.
IModelData2 iModData = iModel.GetModelData() as IModelData2;

////vyvolá rozhraní na prut 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;

//nastavení nových vzpěrných délek
iModData.PrepareModification();
iMem.SetEffectiveLengths(memEffLen);
iModData.FinishModification();

Je třeba vzít do úvahy, že vlastnosti pro účinné délky (např. EffectiveLengthY) konstrukce MembersEffectiveLengths a vlastnost CriticalBucklingLoad je možné pouze načíst.