Example #1
0
        public bool IsContieneBloqueEstribos(cBloqueEstribos bloqueEstribos)
        {
            float xi = Lista_SubTramos.First().Vistas.Perfil_AutoCAD.Reales.First().X;
            float xf = Lista_SubTramos.Last().Vistas.Perfil_AutoCAD.Reales.Max(y => y.X);

            return(xi <= bloqueEstribos.XI && xf >= bloqueEstribos.XF);
        }
        private void CopiarBloqueEstribos()
        {
            var bloqueSelect = F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.Tendencia_Refuerzos.TEstriboSelect.BloqueEstribos.Find(y => y.Recuadro_ModoEdicion.IsSelect);

            if (bloqueSelect != null)
            {
                F_Base.EnviarEstado_Nervio(F_Base.Proyecto.Edificio.PisoSelect.NervioSelect);
                int             IDMax         = F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.Tendencia_Refuerzos.TEstriboSelect.BloqueEstribos.Max(y => y.ID);
                cBloqueEstribos bloqueEstribo = cFunctionsProgram.DeepCloneFast(bloqueSelect);
                bloqueEstribo.ID = IDMax + 1;
                bloqueEstribo.Tendencia_Estribo_Origen = F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.Tendencia_Refuerzos.TEstriboSelect.BloqueEstribos.Last(y => y.ID == IDMax).Tendencia_Estribo_Origen;
                F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.Tendencia_Refuerzos.TEstriboSelect.AgregarBloqueEstribos(bloqueEstribo, false);

                F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.SimilitudNervioCompleto.NerviosSimilares.ForEach(N =>
                {
                    cBloqueEstribos bloqueEstriboClonada          = cFunctionsProgram.DeepCloneFast(bloqueEstribo);
                    bloqueEstriboClonada.Tendencia_Estribo_Origen = N.Tendencia_Refuerzos.TEstriboSelect;
                    N.Tendencia_Refuerzos.TEstriboSelect.AgregarBloqueEstribos(bloqueEstriboClonada, false);
                });



                PB_VistaPerfilLongitudinalDiseno.Invalidate();
            }
        }
        private static bool SaberSiBloqueEstribosEstaPorFuera(cBloqueEstribos bloqueEstribos, cNervio nervio)
        {
            IElemento ElementoFirst = nervio.Lista_Elementos.First();
            IElemento ElementoLast  = nervio.Lista_Elementos.Last();
            float     Izquierda     = ElementoFirst.Vistas.Perfil_AutoCAD.Reales.Min(y => y.X) + cVariables.d_CaraApoyo;
            float     Derecha       = ElementoLast.Vistas.Perfil_AutoCAD.Reales.Max(z => z.X) - cVariables.d_CaraApoyo;

            return(Izquierda <= (float)Math.Round(bloqueEstribos.XI, cVariables.CifrasDeciLongBarra) && (float)Math.Round(bloqueEstribos.XF, cVariables.CifrasDeciLongBarra) <= Derecha);
        }
 private void PB_VistaPerfilLongitudinalDiseno_MouseMove(object sender, MouseEventArgs e)
 {
     if (e.Button == MouseButtons.Left)
     {
         F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.Tendencia_Refuerzos.TInfeSelect.Barras.ForEach(x => x.MouseMove(e.Location));
         F_Base.F_ModificadorDeRefuerzos.BarraSelect = BarraSelect;
         BloqueEstribos = F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.Tendencia_Refuerzos.TEstriboSelect.BloqueEstribos.Find(y => y.Recuadro_ModoEdicion.IsSelect);
         F_Base.F_ModificadorDeRefuerzos.BloqueEstribosSelect = BloqueEstribos;
         PB_VistaPerfilLongitudinalDiseno.Invalidate();
     }
 }
        private void ElimnarBloqueEstribos()
        {
            var bloqueSelect = F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.Tendencia_Refuerzos.TEstriboSelect.BloqueEstribos.Find(y => y.Recuadro_ModoEdicion.IsSelect);

            if (bloqueSelect != null)
            {
                F_Base.EnviarEstado_Nervio(F_Base.Proyecto.Edificio.PisoSelect.NervioSelect);
                F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.Tendencia_Refuerzos.TEstriboSelect.ElminarBloqueEstribos(bloqueSelect);

                F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.SimilitudNervioCompleto.NerviosSimilares.ForEach(N =>
                {
                    cBloqueEstribos bloqueEstribos2 = N.Tendencia_Refuerzos.TEstriboSelect.BloqueEstribos.Find(y => y.ID == bloqueSelect.ID);
                    if (bloqueEstribos2 != null)
                    {
                        bloqueEstribos2.Tendencia_Estribo_Origen = N.Tendencia_Refuerzos.TEstriboSelect;
                        N.Tendencia_Refuerzos.TEstriboSelect.ElminarBloqueEstribos(bloqueEstribos2);
                    }
                });

                PB_VistaPerfilLongitudinalDiseno.Invalidate();
            }
        }
        private void AgregarBloqueEstribos()
        {
            F_Base.EnviarEstado_Nervio(F_Base.Proyecto.Edificio.PisoSelect.NervioSelect);
            if (F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.Tendencia_Refuerzos.TEstriboSelect.BloqueEstribos.Count == 0)
            {
                F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.Tendencia_Refuerzos.TEstriboSelect.AgregarBloqueEstribos(cFunctionsProgram.CrearGrupoEstribosDefault(F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.Tendencia_Refuerzos.TEstriboSelect), false);
            }
            else
            {
                int             IDMax         = F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.Tendencia_Refuerzos.TEstriboSelect.BloqueEstribos.Max(y => y.ID);
                cBloqueEstribos bloqueEstribo = cFunctionsProgram.DeepCloneFast(F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.Tendencia_Refuerzos.TEstriboSelect.BloqueEstribos.Last(y => y.ID == IDMax));
                bloqueEstribo.ID += 1;
                bloqueEstribo.Tendencia_Estribo_Origen = F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.Tendencia_Refuerzos.TEstriboSelect.BloqueEstribos.Last(y => y.ID == IDMax).Tendencia_Estribo_Origen;
                F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.Tendencia_Refuerzos.TEstriboSelect.AgregarBloqueEstribos(bloqueEstribo, false);

                F_Base.Proyecto.Edificio.PisoSelect.NervioSelect.SimilitudNervioCompleto.NerviosSimilares.ForEach(N =>
                {
                    cBloqueEstribos bloqueEstribosClonar          = cFunctionsProgram.DeepCloneFast(bloqueEstribo);
                    bloqueEstribosClonar.Tendencia_Estribo_Origen = N.Tendencia_Refuerzos.TEstriboSelect;
                    N.Tendencia_Refuerzos.TEstriboSelect.AgregarBloqueEstribos(bloqueEstribosClonar, false);
                });
            }
            PB_VistaPerfilLongitudinalDiseno.Invalidate();
        }