Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: RevitTormentor от 25-11-2017, 09:32:35

Название: Загрузка документа пустого чертежа из шаблона
Отправлено: RevitTormentor от 25-11-2017, 09:32:35
Загружаю автокад. Хочу активный  документ в переменную определить. И работает если что-то нарисовано, или загружаю пустой чертеж после загрузки автокада. Если же по умолчанию из шаблона грузится то документ не определяется.
Код - C# [Выбрать]
  1.         private void DocumentManager_DocumentActivated(object sender, DocumentCollectionEventArgs e)
  2.         {
  3.             acDoc = AcAp.Application.DocumentManager.MdiActiveDocument;
  4.             MessageBox.Show(acDoc.ToString() );
  5.             if (acDoc == null)
  6.                 return;
  7.         }
  8.  
Как сделать тоже самое при загрузке автокада с шаблоном по умолчанию? Спасибо
Название: Re: Загрузка документа пустого чертежа из шаблона
Отправлено: Владимир Шу от 25-11-2017, 10:06:16
Слова вроде русские, но я ничего не понял.
Можно еще раз, но уже внятно и человеческим языком?

ЗЫ.
Вы хотите автоматическое выполнение кода при загрузке плагина?
ЗЫЫ
В Вашем коде Вы строчки 4 и 5 перепутали местами, вызывать MessageBox.Show() и передавать ему null не лучшая идея.
Название: Re: Загрузка документа пустого чертежа из шаблона
Отправлено: RevitTormentor от 25-11-2017, 10:25:39
 :) Построчно:
Код - C# [Выбрать]
  1. private void DocumentManager_DocumentActivated(object sender, DocumentCollectionEventArgs e)
  2.        

Я так понимаю событие активации документа

Код - C# [Выбрать]
  1.             acDoc = AcAp.Application.DocumentManager.MdiActiveDocument;            
  2.  
Присваиваю переменной активный документ (пытаюсь)

Код - C# [Выбрать]
  1.             MessageBox.Show(acDoc.ToString() );
  2.  

Визуально (в ed.WriteMessage плохо вижу) отображаю в окошке, чем на  данный момент является acDoc

Код - C# [Выбрать]
  1. if (acDoc == null)
  2.                 return;
  3.         }

Тут просто проверка null выходим.

Вопрос. Такая конструкция но без MessageBox.Show(acDoc.ToString() );
не работает при загрузке автокада с шаблоном прописанным по умолчанию.
Например при открытии даже пустого чертежа, но не в момент запуска автокада, а из автокада нажать кнопку белую "New" на панели. То переменная acDoc получает то что должна.
Просто при запуске автокада с шаблоном по умолчанию не хочет
Название: Re: Загрузка документа пустого чертежа из шаблона
Отправлено: Владимир Шу от 25-11-2017, 10:35:39
Все равно не понял что Вы хотите, но попробуйте посмотреть в сторону события DocumentManager_DocumentCreated, там вроде документ не активируется, а создается.