示例#1
0
        public void TestMethod1()
        {
            string RutaArchivo = "D:\\Desarrollo_Software\\DisenioZapata_V1\\Modelo Portico_SINpilas_V5.3_COMBO.e2k";
            string RutaFuerzas = "D:\\Desarrollo_Software\\DisenioZapata_V1\\Fuerzas_Etabs.csv";

            modelo_proyecto = new Modelo_Estructura(RutaArchivo).Modelo;
            Lector          = new Lector_Fuerzas_Etabs(RutaFuerzas);

            BuilderZapatas builder = new BuilderZapatas();

            builder.BuildZapatas(Lector.Get_Fuerzas(), ETipoZapata.Zapata_Aislada, modelo_proyecto);

            string Palabra = "dabalearrozalazorraelabad";
            var    prueba  = Palindromo(Palabra);

            Zapata zapataTest = builder.Zapatas[0];

            zapataTest.L1            = 2.0f;
            zapataTest.L2            = 2.0f;
            zapataTest.LcX           = 0.50f;
            zapataTest.LcY           = 0.50f;
            zapataTest.H             = 0.30f;
            zapataTest.R             = 0.07f;
            zapataTest.Fc            = 210f;
            zapataTest.Fy            = 4220f;
            zapataTest.GammaConcreto = 2.4f;
            zapataTest.CalcArea();
            zapataTest.CalcPesoPropio();
            zapataTest.SetCalculos();
            zapataTest.Presiones(zapataTest.L1, zapataTest.L2, zapataTest.H);
            zapataTest.SetCortanteUnidireccional();
            zapataTest.SetCortanteBidireccional();
            zapataTest.SetFlexion();
        }
示例#2
0
 private static void ImprimirPuntos(Modelo_Etabs modelo)
 {
     Printer.WriteTitle("Puntos modelo");
     foreach (var punto in modelo.Points)
     {
         WriteLine(punto);
     }
 }
示例#3
0
 private static void ImprimirMateriales(Modelo_Etabs modelo)
 {
     Printer.WriteTitle("Materiales modelo");
     foreach (var material in modelo.Materials)
     {
         WriteLine(material);
     }
 }
示例#4
0
        private static void ImpirimirPisos(Modelo_Etabs modelo)
        {
            Printer.WriteTitle("Pisos modelo");

            foreach (var piso in modelo.Stories)
            {
                WriteLine(piso);
            }
        }
示例#5
0
 private void PuntosLimite(List <string> Puntos, Modelo_Etabs modelo)
 {
     Xmax = (from pi in Puntos
             select modelo.Points.Find(x => x.Name == pi).X).Max();
     Ymax = (from pi in Puntos
             select modelo.Points.Find(x => x.Name == pi).Y).Max();
     Xmin = (from pi in Puntos
             select modelo.Points.Find(x => x.Name == pi).X).Min();
     Ymin = (from pi in Puntos
             select modelo.Points.Find(x => x.Name == pi).Y).Min();
 }
示例#6
0
 public Etabs95(string PathFile)
 {
     GetFile(PathFile);
     Modelo              = new Modelo_Etabs();
     Modelo.Stories      = GetStories();
     Modelo.Materials    = GetMaterials();
     Modelo.Sections     = GetFrameSections();
     Modelo.WallSections = GetWallSections();
     Modelo.Points       = GetPoints();
     CreateFrames();
 }
示例#7
0
        public List <ISection> GetConcreteFrameSection(string[] dummy,
                                                       string FrameName, string Temp_material, Material Material_dummy,
                                                       int inicio, int fin, ISection framei,
                                                       int indiceM, int indiceB,
                                                       Modelo_Etabs modelo, List <string> E2KFile)
        {
            var             Temp             = E2KFile.GetRange(inicio, fin - inicio).FindAll(x => x.Contains(" MATERIAL "));
            List <ISection> concreteSections = new List <ISection>();

            foreach (string Linea in Temp)
            {
                dummy         = Linea.Split();
                Temp_material = dummy[7].Replace("\"", "");

                if (modelo.Materials.Exists(x => x.Material_name == Temp_material))
                {
                    var prueba = from Material materiali in modelo.Materials
                                 where materiali.Material_name == Temp_material
                                 select materiali;

                    Material_dummy = prueba.FirstOrDefault();

                    if (Material_dummy.tipo_Material == Enum_Material.Concrete)

                    {
                        FrameName = dummy[4].Replace("\"", "");
                        var   FrameSection = dummy[indiceM].ToLower().Replace("\"", "");
                        float h, b;

                        switch (FrameSection)
                        {
                        case "rectangular":
                            h      = float.Parse(dummy[indiceB]);
                            b      = float.Parse(dummy[16]);
                            framei = new Rectangular(FrameName, b, h, Material_dummy, Enum_Seccion.Rectangular);
                            break;

                        case "circular":
                            h      = float.Parse(dummy[indiceB]);
                            framei = new Circular(FrameName, h, Material_dummy, Enum_Seccion.Circular);
                            break;

                        //No hacer nada por el momento hasta saber como lo modelan
                        case "sd":
                            break;
                        }
                        concreteSections.Add(framei);
                    }
                }
            }
            return(concreteSections);
        }
示例#8
0
        public void PruebaCortanteBidireccional()
        {
            string RutaArchivo = "D:\\Desarrollo_Software\\DisenioZapata_V2\\Modelo Portico_SINpilas_V5.3_COMBO.e2k";
            string RutaFuerzas = "D:\\Desarrollo_Software\\DisenioZapata_V1\\Fuerzas_Etabs.csv";

            modelo_proyecto = new Modelo_Estructura(RutaArchivo).Modelo;
            Lector          = new Lector_Fuerzas_Etabs(RutaFuerzas);

            BuilderZapatas builder = new BuilderZapatas();

            builder.BuildZapatas(Lector.Get_Fuerzas(), ETipoZapata.Zapata_Aislada, modelo_proyecto);

            Zapata zapataTest = builder.Zapatas[0];

            zapataTest.SetCalculos();
        }
示例#9
0
        public void BuildZapatas(List <Fuerzas_Modelo> fuerzas, ETipoZapata tipoZapata, Modelo_Etabs modelo)
        {
            Propiedades_Refuerzo = new Propiedades_Refuerzo();
            zapatas = new ObservableCollection <Zapata>();
            Zapata zapatai = null;
            var    PuntosI = fuerzas.Select(x => x.PointLabel).Distinct().ToList();

            PuntosLimite(PuntosI, modelo);

            foreach (string Label in PuntosI)
            {
                var FuerzasLabel    = fuerzas.FindAll(x => x.PointLabel == Label).ToList();
                var punto           = modelo.Points.Find(x => x.Name == Label);
                var Section         = modelo.Frames.Find(x => x.p1.Name == Label & x.Story.StoryName == modelo.Stories[1].StoryName).Section;
                var VariablesModelo = GetVbles();

                if (tipoZapata == ETipoZapata.Zapata_Aislada)
                {
                    zapatai = new Zapata_Aislada(Label, punto, FuerzasLabel, VariablesModelo.Suelo)
                    {
                        Fc  = 210f,
                        Fy  = 4220,
                        R   = 0.07f,
                        H   = 0.25f,
                        LcX = Section.B + VariablesModelo.DeltaX,
                        LcY = Section.H + VariablesModelo.DeltaY
                    };
                    zapatai.SetCalculos();
                    zapatai.Presiones(zapatai.L1, zapatai.L2, zapatai.H);
                    zapatai.SetCortanteUnidireccional();
                    zapatai.SetCortanteBidireccional();
                    zapatai.SetFlexion();
                    zapatai.Despiece = new Despiece(Propiedades_Refuerzo, zapatai.L1, zapatai.L2, zapatai.R);
                }

                DeterminarTipoColumna(zapatai);
                Zapatas.Add(zapatai);
            }
        }
        public List <Wall_Section> Get_Walls(List <string> E2KFile, int inicio, int fin, Modelo_Etabs modelo)
        {
            var Temp = E2KFile.GetRange(inicio, fin - inicio).ToList();

            string[] dummy          = { };
            var      Temp_wall      = new List <Wall_Section>();
            Material Material_dummy = null;

            foreach (string Linea in Temp)
            {
                dummy = Linea.Split();
                string WallSectionName = dummy[4].Replace("\"", "");
                string Temp_material   = dummy[11].Replace("\"", "");
                float  bw = float.Parse(dummy[17]);

                if (modelo.Materials.Exists(x => x.Material_name == Temp_material))
                {
                    var prueba = from Material materiali in modelo.Materials
                                 where materiali.Material_name == Temp_material
                                 select materiali;

                    Material_dummy = prueba.FirstOrDefault();
                }

                Wall_Section walli = new Wall_Section(WallSectionName, Material_dummy, bw);
                Temp_wall.Add(walli);
            }

            return(Temp_wall);
        }
 public Modelo_Estructura(string RutaModelo)
 {
     //Regex.IsMatch(x, "SECTION")
     Modelo = new Etabs2018(RutaModelo).Modelo;
 }