public GraphicsPath Add_Estribos(double EscalaX, double EscalaY, float rec, float Dx, float Dy) { GraphicsPath path = new GraphicsPath(); CCirculo circulo1, circulo2; double r1 = (radio - rec) * 100; double r2 = (r1 + FunctionsProject.Find_Diametro(Estribo.NoEstribo)); double[] pCentro = new double[] { Centro[0] + Dx, Centro[1] + Dy }; MAT_CONCRETE material = new MAT_CONCRETE { FC = 4220, Name = "FY4220" }; circulo1 = new CCirculo("Refuerzo", r1, pCentro, material, TipodeSeccion.Circle, pCoord: null); circulo1.Set_puntos(50, r1 * EscalaX); circulo2 = new CCirculo("Refuerzo", r2, pCentro, material, TipodeSeccion.Circle, pCoord: null); circulo2.Set_puntos(50, r2 * EscalaX); path.AddClosedCurve(circulo1.Puntos.ToArray()); path.AddClosedCurve(circulo2.Puntos.ToArray()); return(path); }
public CCirculo(string Nombre, double pradio, double[] pCentro, MAT_CONCRETE Material_, TipodeSeccion Shape_, List <float[]> pCoord) { Name = Nombre; Material = Material_; Shape = Shape_; radio = pradio; Centro = pCentro; CoordenadasSeccion = pCoord; CalcularArea(); }
public void Add_Ref_graph(double EscalaX, double EscalaY, double EscalaR, float Dx, float Dy) { GraphicsPath path; double r = 0; double[] pcentro; double xc, yc; CCirculo circulo; if (Shapes_ref != null) { Shapes_ref.Clear(); } else { Shapes_ref = new List <GraphicsPath>(); } foreach (CRefuerzo refuerzoi in Refuerzos) { path = new GraphicsPath(); r = FunctionsProject.Find_Diametro(Convert.ToInt32(refuerzoi.Diametro.Substring(1))) / 2; r = r * EscalaR; xc = Dx + refuerzoi.Coord[0] * EscalaX; yc = Dy - refuerzoi.Coord[1] * EscalaY; pcentro = new double[] { xc, yc }; MAT_CONCRETE material = new MAT_CONCRETE { FC = 4220, Name = "FY4220" }; circulo = new CCirculo("Refuerzo", r, pcentro, material, TipodeSeccion.Circle, pCoord: null); circulo.Set_puntos(10, r); path.AddClosedCurve(circulo.Puntos.ToArray()); Shapes_ref.Add(path); } }
private void Crear_Seccion(string Tipo_Seccion, float b, float h, float tw, float tf, float r) { ISeccion N_Seccion = null; string Nombre_Seccion = ""; GDE gde = GDE.DMO; List <float[]> Vertices_Temp = new List <float[]>(); List <float[]> Vertices = new List <float[]>(); double Xc, Yc; double Numerador, Denominador; MAT_CONCRETE material = new MAT_CONCRETE() { Name = "H" + tbFc.Text, FC = Convert.ToSingle(tbFc.Text) }; if (Radio_Dmo.Checked) { gde = GDE.DMO; } if (Radio_Des.Checked) { gde = GDE.DES; } if (Tipo_Seccion == TipodeSeccion.Rectangular.ToString()) { Nombre_Seccion = $"C{b}X{h}{material.Name}"; N_Seccion = new CRectangulo(Nombre_Seccion, b / 100, h / 100, material, TipodeSeccion.Rectangular, null); N_Seccion.Calc_vol_inex(r / 100, 4220, gde); N_Seccion.Refuerzo_Base(r); } if (Tipo_Seccion == TipodeSeccion.Circle.ToString()) { Nombre_Seccion = $"C{b}{material.Name}"; N_Seccion = new CCirculo(Nombre_Seccion, b / 200, new double[] { 0, 0 }, material, TipodeSeccion.Circle, null); N_Seccion.Calc_vol_inex(r / 100, 4220, gde); N_Seccion.Refuerzo_Base(r); } if (Tipo_Seccion == TipodeSeccion.Tee.ToString() | Tipo_Seccion == TipodeSeccion.L.ToString()) { Nombre_Seccion = $"C{b}X{h}X{tw}X{tf}{Tipo_Seccion}{material.Name}"; if (Tipo_Seccion == TipodeSeccion.Tee.ToString()) { Vertices_Temp.Add(new float[] { 0, h / 200 }); Vertices_Temp.Add(new float[] { 0, (h - tw) / 200 }); Vertices_Temp.Add(new float[] { (b - tf) / 400, (h - tw) / 200 }); Vertices_Temp.Add(new float[] { (b - tf) / 400, 0 }); Vertices_Temp.Add(new float[] { (b + tf) / 400, 0 }); Vertices_Temp.Add(new float[] { (b + tf) / 400, (h - tw) / 200 }); Vertices_Temp.Add(new float[] { b / 200, (h - tw) / 200 }); Vertices_Temp.Add(new float[] { b / 200, h / 200 }); Numerador = ((b / 2) * b * tw) + ((b / 2) * (tf * (h - tw))); Denominador = (b * tw) + (tf * (h - tw)); Xc = b / 200; double y1 = (h - tw) * (h - tw) * tf / 2; double y2 = (h - (tw / 2)) * b * tw; Numerador = y1 + y2; Denominador = (b * tw) + (tf * (h - tw)); Yc = h / 200; for (int i = 0; i < Vertices_Temp.Count; i++) { var Aux = B_Operaciones_Matricialesl.Operaciones.Traslacion(Vertices_Temp[i][0] - Xc, Vertices_Temp[i][1] - Yc, Vertices_Temp[i][0], Vertices_Temp[i][1]); Vertices.Add(new float[] { (float)Aux[0], (float)Aux[1] }); } N_Seccion = new CSD(Nombre_Seccion, b / 100, h / 100, tw / 100, tf / 100, material, TipodeSeccion.Tee, Vertices); } if (Tipo_Seccion == TipodeSeccion.L.ToString()) { Vertices_Temp.Add(new float[] { 0, 0 }); Vertices_Temp.Add(new float[] { b / 200, 0 }); Vertices_Temp.Add(new float[] { b / 200, tw / 200 }); Vertices_Temp.Add(new float[] { tf / 200, tw / 200 }); Vertices_Temp.Add(new float[] { tf / 200, h / 200 }); Vertices_Temp.Add(new float[] { 0, h / 200 }); Numerador = ((b / 2) * b * tw) + ((tf / 2) * (tf * (h - tw))); Denominador = (b * tw) + (tf * (h - tw)); Xc = b / 200; Numerador = ((tw / 2) * b * tw) + ((h + tf / 2) * (tf * (h - tw))); Denominador = (b * tw) + (tf * (h - tw)); Yc = h / 200; for (int i = 0; i < Vertices_Temp.Count; i++) { var Aux = B_Operaciones_Matricialesl.Operaciones.Traslacion(Vertices_Temp[i][0] - Xc, Vertices_Temp[i][1] - Yc, Vertices_Temp[i][0], Vertices_Temp[i][1]); Vertices.Add(new float[] { (float)Aux[0], (float)Aux[1] }); } N_Seccion = new CSD(Nombre_Seccion, b / 100, h / 100, tw / 100, tf / 100, material, TipodeSeccion.L, Vertices); } N_Seccion.Calc_vol_inex(r / 100, 4220, gde); N_Seccion.Refuerzo_Base(r); } if (N_Seccion != null) { if (Radio_Dmo.Checked) { if (Form1.secciones_predef.Secciones_DMO.Exists(x => x.Equals(N_Seccion)) == false) { Form1.secciones_predef.Secciones_DMO.Add(N_Seccion); } } if (Radio_Des.Checked) { if (Form1.secciones_predef.Secciones_DES.Exists(x => x.Equals(N_Seccion)) == false) { Form1.secciones_predef.Secciones_DES.Add(N_Seccion); } } } }
public static void Crear_Secciones() { string Nombre_Seccion = ""; int[] Diametros_seccion; int CapasX, CapasY, CapasXw, CapasYw; ISeccion seccioni; List <MAT_CONCRETE> Lista_materiales = new List <MAT_CONCRETE>(); MAT_CONCRETE Material1 = new MAT_CONCRETE { Name = "H210", FC = 210 }; MAT_CONCRETE Material2 = new MAT_CONCRETE { Name = "H280", FC = 280 }; MAT_CONCRETE Material4 = new MAT_CONCRETE { Name = "H420", FC = 420 }; MAT_CONCRETE Material3 = new MAT_CONCRETE { Name = "H350", FC = 350 }; MAT_CONCRETE Material5 = new MAT_CONCRETE { Name = "H490", FC = 490 }; Lista_materiales.AddRange(new MAT_CONCRETE[] { Material1, Material2, Material3, Material4, Material5 }); foreach (MAT_CONCRETE material in Lista_materiales) { #region Seccion30X30 Nombre_Seccion = "C30x30" + material.Name; Diametros_seccion = new int[] { 4, 4, 4, 4, 4, 4, 4, 4 }; CapasX = 3; CapasY = 3; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 30F, 30F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 30F, 30F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion30X30 #region Seccion30X40 Nombre_Seccion = "C30x40" + material.Name; Diametros_seccion = new int[] { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }; CapasX = 3; CapasY = 4; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 30F, 40F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 30F, 40F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion30X40 #region Seccion30X50 Nombre_Seccion = "C30x50" + material.Name; Diametros_seccion = new int[] { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }; CapasX = 3; CapasY = 5; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 30F, 50F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 30F, 50F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion30X50 #region Seccion 30X60 Nombre_Seccion = "C30x60" + material.Name; Diametros_seccion = new int[] { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }; CapasX = 3; CapasY = 6; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 30F, 60F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 30F, 60F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion 30X60 #region Seccion30X70 Nombre_Seccion = "C30x70" + material.Name; Diametros_seccion = new int[] { 5, 5, 4, 4, 5, 5, 5, 5, 4, 4, 5, 5 }; CapasX = 2; CapasY = 6; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 30F, 70F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 30F, 70F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion30X70 #region Seccion30X80 Nombre_Seccion = "C30x80" + material.Name; Diametros_seccion = new int[] { 5, 5, 4, 5, 4, 5, 5, 5, 5, 4, 5, 4, 5, 5 }; CapasX = 2; CapasY = 7; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 30F, 80F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 30F, 80F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion30X80 #region Seccion30X100 Nombre_Seccion = "C30x100" + material.Name; Diametros_seccion = new int[] { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }; CapasX = 2; CapasY = 8; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 30F, 100F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 30F, 100F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion30X100 #region Seccion30X120 Nombre_Seccion = "C30x120" + material.Name; Diametros_seccion = new int[] { 5, 5, 5, 4, 5, 4, 5, 4, 5, 5, 5, 5, 4, 5, 4, 5, 4, 5, 5, 5 }; CapasX = 2; CapasY = 10; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 30F, 120F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 30F, 100F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion30X120 #region Seccion35X35 Nombre_Seccion = "C35x35" + material.Name; Diametros_seccion = new int[] { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }; CapasX = 4; CapasY = 4; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 35F, 35F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 35F, 35F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion35X35 #region Seccion35X40 Nombre_Seccion = "C35x40" + material.Name; Diametros_seccion = new int[] { 4, 4, 4, 4, 5, 5, 4, 4, 4, 4 }; CapasX = 3; CapasY = 4; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 35F, 40F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 35F, 40F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion35X40 #region Seccion35X50 Nombre_Seccion = "C35x50" + material.Name; Diametros_seccion = new int[] { 4, 4, 5, 4, 4, 5, 5, 4, 4, 5, 4, 4 }; CapasX = 3; CapasY = 5; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 35F, 50F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 35F, 50F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion35X50 #region Seccion35X60 Nombre_Seccion = "C35x60" + material.Name; Diametros_seccion = new int[] { 4, 4, 5, 5, 4, 4, 5, 5, 4, 4, 5, 5, 4, 4 }; CapasX = 3; CapasY = 6; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 35F, 60F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 35F, 60F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion35X60 #region Seccion35X80 Nombre_Seccion = "C35x80" + material.Name; Diametros_seccion = new int[] { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }; CapasX = 3; CapasY = 6; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 35F, 80F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 35F, 80F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion35X80 #region Seccion40X40 Nombre_Seccion = "C40x40" + material.Name; Diametros_seccion = new int[] { 5, 5, 5, 5, 5, 5, 5, 5 }; CapasX = 3; CapasY = 3; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 40F, 40F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 40F, 40F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion40X40 #region Seccion40X50 Nombre_Seccion = "C40x50" + material.Name; Diametros_seccion = new int[] { 5, 4, 5, 4, 5, 4, 4, 5, 4, 5, 4, 5 }; CapasX = 3; CapasY = 5; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 40F, 50F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 40F, 50F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion40X50 #region Seccion40X60 Nombre_Seccion = "C40x60" + material.Name; Diametros_seccion = new int[] { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }; CapasX = 3; CapasY = 5; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 40F, 60F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 40F, 60F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion40X60 #region Seccion40X70 Nombre_Seccion = "C40x70" + material.Name; Diametros_seccion = new int[] { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }; CapasX = 3; CapasY = 6; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 40F, 70F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 40F, 70F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion40X70 #region Seccion40X80 Nombre_Seccion = "C40x80" + material.Name; Diametros_seccion = new int[] { 5, 5, 6, 6, 5, 5, 6, 6, 5, 5, 6, 6, 5, 5 }; CapasX = 3; CapasY = 6; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 40F, 80F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 40F, 80F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion40X80 #region Seccion40X90 Nombre_Seccion = "C40x90" + material.Name; Diametros_seccion = new int[] { 5, 5, 6, 6, 6, 5, 5, 5, 5, 5, 5, 6, 6, 6, 5, 5 }; CapasX = 3; CapasY = 7; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 40F, 90F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 40F, 90F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion40X90 #region Seccion40X120 Nombre_Seccion = "C40x120" + material.Name; Diametros_seccion = new int[] { 6, 6, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 6, 6 }; CapasX = 3; CapasY = 9; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 40F, 120F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 40F, 120F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion40X120 #region Seccion40X140 Nombre_Seccion = "C40x140" + material.Name; Diametros_seccion = new int[] { 6, 6, 6, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 6, 6, 6 }; CapasX = 3; CapasY = 10; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 40F, 140F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 40F, 140F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion40X140 #region Seccion45X110 Nombre_Seccion = "C45x110" + material.Name; Diametros_seccion = new int[] { 6, 6, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 6, 6 }; CapasX = 4; CapasY = 8; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 45F, 110F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 45F, 110F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion45X110 #region Seccion50X60 Nombre_Seccion = "C50x60" + material.Name; Diametros_seccion = new int[] { 5, 5, 4, 4, 5, 5, 4, 4, 5, 5, 4, 4, 5, 5, 4, 4, 5, 5 }; CapasX = 5; CapasY = 6; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 50F, 60F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 50F, 60F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion50X60 #region Seccion50X70 Nombre_Seccion = "C50x70" + material.Name; Diametros_seccion = new int[] { 6, 5, 5, 5, 6, 6, 6, 6, 6, 6, 5, 5, 5, 6 }; CapasX = 4; CapasY = 5; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 50F, 70F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 50F, 70F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion50X70 #region Seccion50X80 Nombre_Seccion = "C50x80" + material.Name; Diametros_seccion = new int[] { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }; CapasX = 5; CapasY = 7; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 50F, 80F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 50F, 80F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion50X80 #region Seccion50X100 Nombre_Seccion = "C50x100" + material.Name; Diametros_seccion = new int[] { 6, 6, 5, 5, 5, 6, 6, 6, 6, 5, 5, 6, 6, 6, 6, 5, 5, 5, 6, 6 }; CapasX = 5; CapasY = 7; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 50F, 100F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 50F, 100F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion50X100 #region Seccion50X120 Nombre_Seccion = "C50x120" + material.Name; Diametros_seccion = new int[] { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }; CapasX = 5; CapasY = 8; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 50F, 120F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 50F, 120F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion50X120 #region Seccion60X60 Nombre_Seccion = "C60x60" + material.Name; Diametros_seccion = new int[] { 5, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 5 }; CapasX = 5; CapasY = 5; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 60F, 60F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 60F, 60F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion60X60 #region Seccion60X90 Nombre_Seccion = "C60x90" + material.Name; Diametros_seccion = new int[] { 6, 6, 6, 5, 6, 6, 6, 6, 6, 5, 5, 6, 6, 6, 6, 6, 5, 6, 6, 6 }; CapasX = 5; CapasY = 7; CapasXw = 0; CapasYw = 0; seccioni = FunctionsProject.DeepClone(Crear_Seccion_DMO(Nombre_Seccion, 60F, 90F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DMO.Add(seccioni); seccioni = FunctionsProject.DeepClone(Crear_Seccion_DES(Nombre_Seccion, 60F, 90F, 0, 0, material, Diametros_seccion, CapasX, CapasY, CapasXw, CapasYw)); Lista_Secciones.Secciones_DES.Add(seccioni); #endregion Seccion60X90 } }
public static CRectangulo Crear_Seccion_DES(string Nombre_seccion, float b, float h, float tw, float tf, MAT_CONCRETE material, int[] Diametros_Seccion, int CapasX, int CapasY, int CapasXw, int CapasYw) { CRectangulo temp = new CRectangulo(Nombre_seccion, b / 100, h / 100, material, TipodeSeccion.Rectangular, new List <float[]>()); temp.Refuerzos = Set_Refuerzo_Seccion(Diametros_Seccion, CapasX, CapasY, CapasXw, CapasYw, b, h, tw, tf); temp.Acero_Long = temp.Refuerzos.Sum(X => X.As_Long); temp.Estribo = new Estribo(3) { NoRamasH1 = CapasY, NoRamasV1 = CapasX }; temp.Calc_vol_inex(r: 0.04f, FY: 4220, gDE: GDE.DES); return(temp); }