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

07/05/2014

Не-DWG окна в AutoCAD 2015 с использованием .NET

AutoCAD 2015 позволяет создавать Не-DWG окна документов.  Такие Не-DWG окна документов появляются как вкладки наряду с другими окнами документов чертежей.

В конце этой статьи я приложил  готовый C# проект для создания Не-DWG окна документа и демонстрации его использования.

Попробуйте :

1. Постройте проект используя Visual Studio 2012 с  .NET framework установленным в 4.5.

2. Запустите AutoCAD 2015 и загрузите (команда netload) созданный dll файл.

3. Выполните команду "MyWnd". Эта команда создаст Не-DWG окно документа, которое позволяет пользователю указать радиус смайлика.

 

4. Создайте другой чертеж и запустите команду "InsertSmiley". Эта команда создаст смайлик того радиуса, который был указан в окне Не-DWG документа.

Теперь краткое описание шагов для создания окна Не-DWG документа средствами .Net :

Шаг-1. Создаем WPF пользовательский элемент управления и  настраиваем  его как обычно.

Шаг-2. Создаем собственный класс документа, который будет хранить данные этого документа.

Шаг-3. Создаем собственный класс окна документа, унаследованный от WPFDocumentWindow.

- Переопределяем  метод "OnCreate" чтобы знать, когда документ будет создан.

- Переопределяем метод "OnLoad" чтобы ассоциировать собственный документ с нашим классом окна документа.

- Переопределяем метод "OnActivate" чтобы узнать когда окно документа станет активным.

Шаг-4. Создаем экземпляр класса собственного окна документа и добавляем его к коллекции DocumentWindowCollection используя метод Application.DocumentWindowCollection.AddDocumentWindow.

В приложенном примере все шаги прокомментированы. AutoCAD 2015 в настоящий момент становится «нестабильным» если собственный документ ассоциирован с собственным окном документа. Это поведение было отмечено и передано для анализа и исправления  команде инженеров.

Поэтому в приведенном примере данные документа получаются непосредственно из пользовательского элемента управления, к которому команда "InsertSmiley" имеет доступ.

Вот и сам проект: Загрузить NonDwgDocWindow_Net

Источник: http://adndevblog.typepad.com/autocad/2014/05/non-dwg-window-in-autocad-2015-using-net.html

Обсуждение: http://adn-cis.org/forum/index.php?topic=723

Опубликовано 07.05.2014