Example #1
0
        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);
        }
Example #2
0
        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();
        }