/// <summary> /// Нумерация свай /// </summary> public void Numbering() { // Форма настроек нумерации свай - порядок нумерации, имя блока сваи, имя атрибута номера сваи. PileOptions = PileOptions.Load(); Options = new PileNumberingOptions(); Options.LoadDefault(); Options = Options.PromptOptions(); // Выбор свай для нумерации var selblocks = Ed.SelectBlRefs("Выбор блоков свай для нумерации"); // фильтр блоков свай var piles = PileFilter.Filter(selblocks, PileOptions, false); // Сброс положения атрибута номера сваи если задано в настройках ResetPos(ref piles); // Определения стороны сваи и проверка ее одинаковости Options.PileSide = GetPileSides(ref piles); // Проверка дубликатов AcadLib.Blocks.Dublicate.CheckDublicateBlocks.Check(piles.Select(p => p.IdBlRef)); // Проверка сваи и расстояний между ними. CheckPiles(piles); // Сортировка var pilesSort = Sort(piles); // Перенумерация Num(pilesSort); }
private static List <ObjectId> GetSelection() { var sel = Ed.SelectImplied(); if (sel.Status == PromptStatus.OK) { return(sel.Value.GetObjectIds().ToList()); } return(Ed.SelectBlRefs("Выбор блоков")); }