示例#1
0
 // загрузка АКР-панелей из библиотеки с попыткой расстановить их в виде фасадов если правильно расставлены монтажки
 public void LoadPanels()
 {
     Inspector.Clear();
     // Попытка определить фасады по монтажкам
     Facades = FacadeMounting.GetFacadesFromMountingPlans(this);
     if (Inspector.HasErrors)
     {
         Inspector.Show();
         return;
     }
     if (Facades.Count > 0)
     {
         // загрузка АКР-панелей из библиотеки
         MountingPanel.LoadBtrPanels(Facades);
         // удаление АКР-Панелей старых фасадов
         FacadeMounting.DeleteOldAkrPanels(Facades);
         // расстановка АКР-Панелей по фасадам
         FacadeMounting.CreateFacades(Facades);
     }
     else
     {
         Inspector.AddError("Не удалось определить фасады по монтажным планам.", icon: System.Drawing.SystemIcons.Error);
     }
     if (Inspector.HasErrors)
     {
         // Показать ошибки.
         Inspector.Show();
     }
 }
示例#2
0
 private void GetAllPanels()
 {
     // Получение всех блоков панелей СБ из блока монтажки
     using (var btr = this.IdBtrMounting.GetObject(OpenMode.ForRead) as BlockTableRecord)
     {
         AllPanelsSbInFloor = MountingPanel.GetPanels(btr, PosBlMounting, Transform, LibLoadServ, this);
         RemainingPanels    = AllPanelsSbInFloor.ToList();
     }
     XMin = getXMinFloor();
     XMax = getXMaxFloor();
 }
示例#3
0
 private static PanelAKR findAkrPanelFromPanelSb(MountingPanel panelSb, List <PanelAKR> panelsAkrInLib)
 {
     return(panelsAkrInLib.Find(
                p => string.Equals(p.MarkAkr, panelSb.MarkSbWithoutElectric, StringComparison.CurrentCultureIgnoreCase) &&
                string.Equals(p.WindowSuffix, panelSb.WindowSuffix, StringComparison.CurrentCultureIgnoreCase)));
 }