Pregunta:
¿Cómo puedo transferir las longitudes eficaces de las barras utilizando la interfaz COM?
Respuesta:
Los factores para las longitudes eficaces se transfieren utilizando la interfaz para la barra (IMember), que se llama SetEffectiveLengths (). Use GetEffectiveLengths () para leer los datos:
//obtener la interfaz para ejecutar la aplicación RFEM.
iApp = Marshal.GetActiveObject ("RFEM5.Application") como IApplication;
iApp.LockLicense();
//Obtiene la interfaz para el modelo de RFEM activo.
iModel = iApp.GetActiveModel ();
//obtener la interfaz para los datos del modelo.
IModelData2 iModData = iModel.GetModelData () como IModelData2;
//obtener la interfaz para el miembro 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;
//establecer nuevos datos de longitudes eficaces
iModData.PrepareModification ();
iMem.SetEffectiveLengths (memEffLen);
iModData.FinishModification ();
Tenga en cuenta que solo es posible leer las propiedades para las longitudes eficaces (por ejemplo, EffectiveLengthY) de la estructura MemberEffectiveLengths y la propiedad CriticalBucklingLoad.