public void Paint(Graphics e, List <PointF> PuntosTodosObjetos, float SX, float HeigthWindow, float Dx, float Dy, float Zoom, float XI) { CrearCoordenadasEscaladas(PuntosTodosObjetos, SX, HeigthWindow, Dx, Dy, Zoom, XI); this.SX = SX; SolidBrush BrushMoverEstribos = Recuadro_MoverBloqueEstribos.IsSelect ? BrushRecuadroMoverEstribosSelect : BrushRecuadroMoverEstribos; if (Recuadro_ModoEdicion.IsSelect) { e.DrawPolygon(PenBordeSeleccionado, Recuadro_ModoEdicion.Escaladas.ToArray()); e.DrawPolygon(PenRecuadroMoverEstribos, Recuadro_MoverBloqueEstribos.Escaladas.ToArray()); e.FillPolygon(BrushMoverEstribos, Recuadro_MoverBloqueEstribos.Escaladas.ToArray()); e.DrawPolygon(PenRecuadroMoverEstribos, Recuadro_CambiarDireccionBloqueEstribos.Escaladas.ToArray()); e.FillPolygon(BrushRecuadroMoverEstribos, Recuadro_CambiarDireccionBloqueEstribos.Escaladas.ToArray()); } ListaEstribos.ForEach(E => { e.DrawLine(PenEstribo, E.Coordenadas.Escaladas.First(), E.Coordenadas.Escaladas.Last()); }); float TamanoLetra = Zoom > 0 ? 9 * Zoom : 1; Font Font1 = new Font("Calibri", TamanoLetra, FontStyle.Bold); string Text = ToString(); SizeF MessureText = e.MeasureString(Text, Font1); float Xmin = Recuadro_ModoEdicion.Escaladas.Min(y => y.X); float Xmax = Recuadro_ModoEdicion.Escaladas.Max(y => y.X); float Ymax = Recuadro_ModoEdicion.Escaladas.Min(y => y.Y); if (Recuadro_ModoEdicion.IsSelect) { Ymax -= MessureText.Height / 2; } PointF PointString = new PointF(Xmin + (Xmax - Xmin) / 2f - MessureText.Width / 2f, Ymax - MessureText.Height / 2); e.DrawString(Text, Font1, Brushes.Black, PointString); }
private void CalcularPesoRefuerzoTransversal() { PesoTransversal = 0f; ListaEstribos.ForEach(y => PesoTransversal += y.Longitud * cDiccionarios.PesoBarras[noBarra]); Tendencia_Estribo_Origen.ActualizarRefuerzoTransversal(); }
private void CrearCoordenadasReales() { float Yi = YInicial(); float DeltaHEstribo = 0.2f; float W_Recuadro_MoverEstribos = 0.08f; float DeltaEstriboBorde = 0.1f; if (direccionEstribo == eLadoDeZona.Derecha) { xf = xi + LongitudZonaEstribos; } else { xi = xf - LongitudZonaEstribos; } Recuadro_ModoEdicion.Reales = new List <PointF>() { new PointF(xi - DeltaEstriboBorde, Yi - DeltaHEstribo - DeltaEstriboBorde), new PointF(xi + LongitudZonaEstribos + DeltaEstriboBorde, Yi - DeltaHEstribo - DeltaEstriboBorde), new PointF(xi + LongitudZonaEstribos + DeltaEstriboBorde, Yi + DeltaHEstribo + DeltaEstriboBorde), new PointF(xi - DeltaEstriboBorde, Yi + DeltaHEstribo + DeltaEstriboBorde) }; if (direccionEstribo == eLadoDeZona.Derecha) { Recuadro_MoverBloqueEstribos.Reales = new List <PointF>() { new PointF(xi - DeltaEstriboBorde - W_Recuadro_MoverEstribos / 2f, Yi - DeltaHEstribo / 2f), new PointF(xi - DeltaEstriboBorde + W_Recuadro_MoverEstribos / 2f, Yi - DeltaHEstribo / 2f), new PointF(xi - DeltaEstriboBorde + W_Recuadro_MoverEstribos / 2f, Yi + DeltaHEstribo / 2f), new PointF(xi - DeltaEstriboBorde - W_Recuadro_MoverEstribos / 2f, Yi + DeltaHEstribo / 2f) }; } else { Recuadro_MoverBloqueEstribos.Reales = new List <PointF>() { new PointF(xf + DeltaEstriboBorde + W_Recuadro_MoverEstribos / 2f, Yi - DeltaHEstribo / 2f), new PointF(xf + DeltaEstriboBorde - W_Recuadro_MoverEstribos / 2f, Yi - DeltaHEstribo / 2f), new PointF(xf + DeltaEstriboBorde - W_Recuadro_MoverEstribos / 2f, Yi + DeltaHEstribo / 2f), new PointF(xf + DeltaEstriboBorde + W_Recuadro_MoverEstribos / 2f, Yi + DeltaHEstribo / 2f) }; } if (direccionEstribo == eLadoDeZona.Derecha) { Recuadro_CambiarDireccionBloqueEstribos.Reales = new List <PointF>() { new PointF(xf + DeltaEstriboBorde - W_Recuadro_MoverEstribos / 2f, Yi - DeltaEstriboBorde / 1.5f), new PointF(xf + DeltaEstriboBorde + W_Recuadro_MoverEstribos / 1.5f, Yi), new PointF(xf + DeltaEstriboBorde - W_Recuadro_MoverEstribos / 2f, Yi + DeltaEstriboBorde / 1.5f) }; } else { Recuadro_CambiarDireccionBloqueEstribos.Reales = new List <PointF>() { new PointF(xi - DeltaEstriboBorde + W_Recuadro_MoverEstribos / 2f, Yi - DeltaEstriboBorde / 1.5f), new PointF(xi - DeltaEstriboBorde - W_Recuadro_MoverEstribos / 1.5f, Yi), new PointF(xi - DeltaEstriboBorde + W_Recuadro_MoverEstribos / 2f, Yi + DeltaEstriboBorde / 1.5f) }; } float deltaS = 0; ListaEstribos.Clear(); for (int i = 0; i < cantidad; i++) { float x = xi + deltaS; if (i + 1 == cantidad && CoordXEstriboEstriboFinal != cVariables.ValueNull && direccionEstribo == eLadoDeZona.Derecha) { x = CoordXEstriboEstriboFinal; } else if (i == 0 && CoordXEstriboEstriboFinal != cVariables.ValueNull && direccionEstribo == eLadoDeZona.Izquierda) { x = CoordXEstriboEstriboFinal; } IElemento elemento = Tendencia_Estribo_Origen.Tendencia_Refuerzo_Origen.NervioOrigen.Lista_Elementos.First(y => y.IsVisibleCoordAutoCAD(x)); cEstribo1 estribo1 = new cEstribo1(elemento, noBarra, noRamas, Tendencia_Estribo_Origen, new cCoordenadas() { Reales = new List <PointF>() { new PointF(x, Yi - DeltaHEstribo), new PointF(x, Yi + DeltaHEstribo) } }); deltaS += separacion; ListaEstribos.Add(estribo1); } AsignarLimites(); CalcularPesoRefuerzoTransversal(); }