/// <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); }
public PileNumberingOptions PromptOptions() { PileNumberingOptions resVal = this; //Запрос начальных значений FormNumbering formNum = new FormNumbering((PileNumberingOptions)resVal.MemberwiseClone()); if (Application.ShowModalDialog(formNum) != System.Windows.Forms.DialogResult.OK) { throw new System.Exception(AcadLib.General.CanceledByUser); } try { resVal = formNum.Options; resVal.Save();// Save(resVal); } catch (Exception ex) { Logger.Log.Error(ex, "Не удалось сохранить стартовые параметры."); } return(resVal); }
public FormNumbering(PileNumberingOptions options) { InitializeComponent(); propertyGrid1.SelectedObject = options; Options = options; }