Загрузка документа пустого чертежа из шаблона

Автор Тема: Загрузка документа пустого чертежа из шаблона  (Прочитано 2630 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн RevitTormentorАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 162
  • Карма: 6
Загружаю автокад. Хочу активный  документ в переменную определить. И работает если что-то нарисовано, или загружаю пустой чертеж после загрузки автокада. Если же по умолчанию из шаблона грузится то документ не определяется.
Код - 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.  
Как сделать тоже самое при загрузке автокада с шаблоном по умолчанию? Спасибо

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 611
  • Карма: 155
    • ПГСу Бложик
Слова вроде русские, но я ничего не понял.
Можно еще раз, но уже внятно и человеческим языком?

ЗЫ.
Вы хотите автоматическое выполнение кода при загрузке плагина?
ЗЫЫ
В Вашем коде Вы строчки 4 и 5 перепутали местами, вызывать MessageBox.Show() и передавать ему null не лучшая идея.

Оффлайн RevitTormentorАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 162
  • Карма: 6
 :) Построчно:
Код - 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 получает то что должна.
Просто при запуске автокада с шаблоном по умолчанию не хочет

Отмечено как Решение RevitTormentor 25-11-2017, 10:45:34

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 611
  • Карма: 155
    • ПГСу Бложик
Все равно не понял что Вы хотите, но попробуйте посмотреть в сторону события DocumentManager_DocumentCreated, там вроде документ не активируется, а создается.