예제 #1
0
        public static void CreateTable(bool isNew)
        {
            Doc = Application.DocumentManager.MdiActiveDocument;
            Db  = Doc.Database;
            Ed  = Doc.Editor;

            OptionsKPBS.PromptOptions();

            // Выбор блоков блок-секций
            var blocks = SelectBlocksection(isNew, false);

            // Определение точных контуров ГНС - с учетом стыковки блок-секций
            if (isNew)
            {
                try
                {
                    DefineHouses(blocks, false);
                }
                catch (Exception ex)
                {
                    Inspector.AddError($"Ошибка определения точного контура ГНС Блок-Секций - {ex}");
                }
            }

            // Подсчет блок-секций
            var dataSec = new DataSection(blocks, OptionsKPBS.Instance);

            dataSec.Calc();

            // Создание таблицы и вставка
            var tableSec = new TableSection(dataSec);

            tableSec.Create();
        }
예제 #2
0
        /// <summary>
        /// Показ настроек пользователю для просмотра и редактирования.
        /// </summary>
        public static void PromptOptions()
        {
            //Запрос начальных значений
            AcadLib.UI.FormProperties formProp = new AcadLib.UI.FormProperties();
            OptionsKPBS newOptions             = (OptionsKPBS)Instance.MemberwiseClone();

            formProp.propertyGrid1.SelectedObject = newOptions;
            if (Autodesk.AutoCAD.ApplicationServices.Application.ShowModalDialog(formProp) != System.Windows.Forms.DialogResult.OK)
            {
                throw new Exception(General.CanceledByUser);
            }
            try
            {
                _instance = newOptions;
                _instance.Save();
            }
            catch (Exception ex)
            {
                Logger.Log.Error(ex, "Не удалось сохранить стартовые параметры.");
            }
        }
예제 #3
0
        static OptionsKPBS Load()
        {
            OptionsKPBS options = new OptionsKPBS();

            options.LoadFromNOD();
            //Options options = null;
            //if (File.Exists(FileXml))
            //{
            //try
            //{
            //// Загрузка настроек таблицы из файла XML
            //options = Options.LoadFromXml();
            // Загрузка начтроек чертежа
            //options.LoadFromNOD();
            //}
            //catch (Exception ex)
            //{
            //    Logger.Log.Error(ex, $"Ошибка при попытке загрузки настроек таблицы из XML файла {FileXml}");
            //}
            //}

            //if (options == null)
            //{
            //    // Создать дефолтные
            //    options = new Options();
            //    options.SetDefault();
            //    // Сохранение дефолтных настроек
            //    try
            //    {
            //        options.Save();
            //    }
            //    catch (Exception exSave)
            //    {
            //        Logger.Log.Error(exSave, $"Попытка сохранение настроек в файл {FileXml}");
            //    }
            //}
            return(options);
        }
예제 #4
0
 public DataSection(List <BlockSectionKP> blocks, OptionsKPBS options)
 {
     this.blocks  = blocks;
     this.options = options;
 }