374x
002005
2020-10-28

[EN] FAQ 004797 | Как можно с помощью интерфейса COM передавать расчетные длины стержней?

Вопрос:
Как можно с помощью интерфейса COM передавать расчетные длины стержней?

Ответ:
Коэффициенты расчетных длин передаются посредством интерфейса для стержня (IMember), который называется SetEffectiveLengths (). Для считывания данных затем используйте функцию GetEffectiveLengths ():

//получить интерфейс для запуска приложения RFEM.
iApp = Marshal.GetActiveObject("RFEM5.Application") as IApplication;
iApp.LockLicense();

//получить интерфейс к активной модели RFEM.
iModel = iApp.GetActiveModel();

//получить интерфейс для данных модели.
IModelData2 iModData = iModel.GetModelData() as IModelData2;

//получить интерфейс к стержню 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;

//установка новых данных о полезной длине
iModData.PrepareModification();
iMem.SetEffectiveLengths(memEffLen);
iModData.FinishModification();

Обратите, пожалуйста, внимание также на то, что параметры расчетных длин (например, EffectiveLengthY) для конструкции MemberEffectiveLengths и параметры CriticalBucklingLoad можно только считывать.