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(); }