375x
002005
2020-10-28

[EN] FAQ 004797 | Como é que posso transferir os comprimentos efetivos das barras utilizando a interface COM?

Pergunta:
Como é que posso transferir os comprimentos efetivos das barras utilizando a interface COM?

Resposta:
Os fatores para os comprimentos efetivos são transferidos utilizando a interface para a barra (IMember), nomeadamente a SetEffectiveLengths(). Utilize GetEffectiveLengths() para ler os dados:

//obtenha interface para a aplicação do RFEM em execução.
iApp = Marshal.GetActiveObject("RFEM5.Application") as IApplication;
iApp.LockLicense();

//obtém interface para o modelo ativo do RFEM.
iModel = iApp.GetActiveModel();

//obtém interface para os dados do modelo.
IModelData2 iModData = iModel.GetModelData() as IModelData2;

//obtém interface para o membro 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;

//definir novos dados de comprimentos efetivos
iModData.PrepareModification();
iMem.SetEffectiveLengths(memEffLen);
iModData.FinishModification();

Tenha em atenção que apenas é possível ler as propriedades para os comprimentos efetivos (por exemplo, EffectiveLengthY) da estrutura MemberEffectiveLengths e as propriedades CriticalBucklingLoad.