public List <double>[] getData() { int numOfMoments = 4; int nCase = 6; List <double>[] lista = new List <double> [numOfMoments]; for (int i = 0; i < numOfMoments; i++) { lista[i] = new List <double>(); } IRobotCollection fe_col = robApp.Project.Structure.FiniteElems.GetAll(); int numberOfFe = fe_col.Count; for (int i = 1; i <= numberOfFe; i++) { RobotFeResultParams param = new RobotFeResultParams(); param.Case = nCase; param.Element = i; IRobotFeResultComplex results; results = robApp.Project.Structure.Results.FiniteElems.Complex(param); lista[0].Add(results.MXX_BOTTOM); lista[1].Add(results.MXX_TOP); lista[2].Add(results.MYY_BOTTOM); lista[3].Add(results.MYY_TOP); } return(lista); }
static void Main(string[] args) { var app = new RobotApplication(); app.Project.Open(@"C:\Users\GowthamanS\Desktop\temp\Revit Files\SlabDesign\Structure.rtd"); app.Project.CalcEngine.Calculate(); var collection = app.Project.Structure.FiniteElems.GetAll(); var loadCases = app.Project.Structure.Cases.GetAll(); for (var i = 0; i < collection.Count; i++) { var fe = collection.Get(i) as IRobotFiniteElement; if (fe != null) { var number = fe.Number; Console.WriteLine($"{number} - {fe.FeType}"); for (var j = 0; j < loadCases.Count; j++) { try { var loadCase = loadCases.Get(j);// as IRobotCaseCombination; var loadCaseId = loadCase.Number; var param = new RobotFeResultParams(); param.Element = number; param.Case = loadCaseId; param.Layer = IRobotFeLayerType.I_FLT_ARBITRARY; param.LayerArbitraryValue = 0.25; var princi = app.Project.Structure.Results.FiniteElems.Principal(param); var res_mom = princi.M1_2; var res_for = princi.NAL; var res_str = princi.S1; var res_dis = princi.UGX; Console.WriteLine($"{res_mom}_{res_for}_{res_str}_{res_dis}"); } catch { Console.WriteLine("Error Loadcase"); } } } } app.Project.Close(); app = null; Console.ReadLine(); }