예제 #1
0
        private void DrawLine_AutoCAD(cLine Line, string layer, float X, float Y)
        {
            var point1  = ConvertcPointToPointF(Line.ConfigLinea.Point1P);
            var point2  = ConvertcPointToPointF(Line.ConfigLinea.Point2P);
            var puntos1 = new List <PointF> {
                point1, point2
            };
            var puntos2 = B_Operaciones_Matricialesl.Operaciones.OffSetLine(point1, point2, Line.Seccion.B * cConversiones.Dimension_cm_to_m).ToList();

            FunctionsAutoCAD.AddPolyline2D(B_Operaciones_Matricialesl.Operaciones.Traslacion(puntos1, X, Y).ToArray(), layer, false);
            FunctionsAutoCAD.AddPolyline2D(B_Operaciones_Matricialesl.Operaciones.Traslacion(puntos2, X, Y).ToArray(), layer, false);
        }
예제 #2
0
        private void CrearEstaciones()
        {
            float Delta = 0;

            for (int i = 0; i < Lista_Lineas.Count; i++)
            {
                cLine LineaAnterior = null;
                cLine LineActual    = Lista_Lineas[i];
                if (i - 1 >= 0)
                {
                    LineaAnterior = Lista_Lineas[i - 1];
                    Delta         = LineaAnterior.Estaciones.Last().CoordX;
                }
                LineActual.Estaciones.ForEach(x => x.CoordX = Delta + x.Localizacion - LineActual.Estaciones.First().Localizacion);
            }
            Estaciones = new List <cEstacion>();
            Lista_Lineas.ForEach(x => Estaciones.AddRange(x.Estaciones));
            Estaciones.ForEach(X => X.SubTramoOrigen = this);
        }
예제 #3
0
        private void CambiosTimer()
        {
            if (F_Base.Proyecto.DatosEtabs.PisoSelect == null)
            {
                F_Base.Proyecto.DatosEtabs.PisoSelect = F_Base.Proyecto.DatosEtabs.Lista_Pisos[F_Base.Proyecto.DatosEtabs.Lista_Pisos.Count - 1];
            }

            if (ContainsFocus)
            {
                Text = $"Enumeración de Elementos | {F_Base.Proyecto.DatosEtabs.PisoSelect.Nombre}";
                cLine ElementSelect = F_Base.Proyecto.DatosEtabs.PisoSelect.Lista_Lines.Find(x => x.Select == true);
                if (ElementSelect != null)
                {
                    TB_Prefijo.Enabled  = true;
                    BT_Enumerar.Enabled = true;
                    TB_Nombre.Enabled   = true;
                }
                else
                {
                    TB_Prefijo.Enabled  = false;
                    BT_Enumerar.Enabled = false;
                    TB_Nombre.Enabled   = false;
                }
                if (F_Base.Proyecto.Edificio.PisoSelect.Nervios != null)
                {
                    cNervio NervioSelect = F_Base.Proyecto.Edificio.PisoSelect.Nervios.Find(x => x.SelectPlantaEnumeracion == true);

                    if (NervioSelect != null)
                    {
                        BT_Regresar.Enabled = true;
                    }
                    else
                    {
                        BT_Regresar.Enabled = false;
                    }
                }
                else
                {
                    BT_Regresar.Enabled = false;
                }
            }
        }
예제 #4
0
        private void PB_ElementosNoEnumerados_MouseDown2(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                int IndiceMaximo = F_Base.Proyecto.DatosEtabs.PisoSelect.Lista_Lines.Max(x => x.IndexSelect);
                F_Base.Proyecto.DatosEtabs.PisoSelect.Lista_Lines.ForEach(y => { if (y.Type == eType.Beam)
                                                                                 {
                                                                                     y.MouseDownSelectLineEtabs(e, IndiceMaximo);
                                                                                 }
                                                                          });
                int   MaximoIndice = F_Base.Proyecto.DatosEtabs.PisoSelect.Lista_Lines.Max(x => x.IndexSelect);
                cLine UltimaSelect = F_Base.Proyecto.DatosEtabs.PisoSelect.Lista_Lines.Find(x => x.MouseInLineEtabs(e.Location));

                if (UltimaSelect != null && SeleccionInteligente)
                {
                    cFunctionsProgram.SeleccionInteligente(UltimaSelect, F_Base.Proyecto.DatosEtabs.PisoSelect.Lista_Lines.FindAll(x => x.Type == eType.Beam).ToList(), UltimaSelect.IndexSelect, UltimaSelect.Select);
                }
            }
            PB_ElementosNoEnumerados.Invalidate();
        }
예제 #5
0
 public cObjeto(cLine Line, eSoporte Soporte)
 {
     this.Line    = Line;
     this.Soporte = Soporte;
 }