// загрузка АКР-панелей из библиотеки с попыткой расстановить их в виде фасадов если правильно расставлены монтажки 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(); } }
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(); }
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))); }