Добрый день, уважаемые форумчане!
Написал небольшой плагин, который должен выделить все объекты чертежа, а затем отправит в консоль ещё одну операцию, которая вызовет некий плагин. Плагин arx загружается автоматически, с ним проблем никаких нет.
Добавил запись в реестр, чтобы dll автоматически загружалась при запуске Акада, всё отрабатывает как нужно, но команда выделения объектов и вызова нужного мне плагина происходит до того, пока чертеж успел загрузиться.. То есть, сначала появляется окошечко плагина, а затем уже загружается чертёж.
Следовательно, мне нужно сначала подписаться на событие EndDwgOpen, и затем уже выполнять свои команды. Вот код:
- public class Program : IExtensionApplication 
-     {         
-         public void Initialize() 
-         { 
-             Application.DocumentManager.DocumentCreateStarted += DocumentManager_DocumentCreateStarted; 
-         } 
-   
-         public void DocumentManager_DocumentCreateStarted(object sender, DocumentCollectionEventArgs e) 
-         {             
-             e.Document.EndDwgOpen += Document_EndDwgOpen; 
-         } 
-   
-         private void Document_EndDwgOpen(object sender, DrawingOpenEventArgs e) 
-         { 
-             Application.ShowAlertDialog("DocumentIsOpen"); 
-   
-             Document acDoc = Application.DocumentManager.MdiActiveDocument; 
-             acDoc.SendStringToExecute("AI_SELALL ", true, false, false); 
-             acDoc.SendStringToExecute("запуск_некоторого_плагина", true, false, false); 
-         } 
-   
-         public void Terminate() 
-         { 
-   
-         } 
-     } 
Но в таком случае не происходит ни выделения всех объектов, ни запуска моего плагина.. Но событие отлавливается, поскольку ShowAlertDialog всплывает! Почему такое может быть? У кого-нибудь есть предположения?
P.S. Извините, не нашёл тэг с подсветкой синтаксиса для кода.