Не-DWG окна в AutoCAD 2015
AutoCAD 2015 позволяет создавать Не-DWG окна и попросту окна содержащие не dwg-файлы. Не-DWG окна появляются как вкладки точно так же, как и обычные окна с чертежами.В конце этой статьи вы найдете ссылку на скачивание готового C++ проекта для создания Не-DWG окна и показа как его использовать.
Попробуйте его:
1. Постройте этот проект с помощью Visual Studio 2012 с Platform Toolset v110.
2. Запустите AutoCAD 2015 и загрузите arx модуль.
3. Запустите команду "ShowMyWnd". Эта команда создаст Не-DWG окно, которое позволит выполнить пользовательский ввод цепочки размеров как на картинке ниже:
4. Создайте другой чертеж и запустите команду "InsertLink". Эта команда создаст цепочку размеров на основе данных, введенных в Не-DWG окне.
Теперь краткое описание как создать Не-DWG окно средствами C++:
Шаг-1. Создаем класс диалога унаследованный от CDialog. Обычно MFC-диалоги создаются при помощи редактора ресурсов Visual Studio.
Шаг-2. Создаем собственный класс документа унаследованный от AcRxObject. Этот класс будет хранить данные связанные с этим окном.
Шаг-3. Создаем собственный класс окна документа унаследованный от AcApDocWindow
- Переопределяем метод "onCreate" для создания диалога, который будет показан.
- Переопределяем метод "onLoad" для ассоциирования собственного документа из шага 2 с нашим классом окна документа.
- Переопределяем метод "onDestroy" для очистки, такой как удаление диалога.
- Переопределяем метод "subRouteMessage" для возможности изменения размеров диалога при изменении размеров окна.
Шаг 4. Создаем собственный класс реактора менеджера документов унаследованного от AcApDocWindowManagerReactor
- Переопределяем метод "documentWindowActivated" чтобы иметь возможность обновлять данные документа на основе данных введенных в диалоге.
- Переопределяем метод "documentWindowCreated" чтобы получить указатель на наше собственное окно сразу после его создания.
- Переопределяем метод "documentWindowDestroyed" чтобы знать, что нашего окна документа уже нет.
В приведенном примере все шаги прокомментированы. AutoCAD 2015 в настоящий момент становится «нестабильным» если собственный документ ассоциирован с собственным окном документа. Это поведение было отмечено и передано для анализа и исправления команде инженеров. Поэтому в приведенном примере данные документа хранятся в статических переменных, к которым команда "InsertLink" имеет доступ.
А вот и сам пример:
Источник: http://adndevblog.typepad.com/autocad/2014/05/non-dwg-window-in-autocad-2015.html
Обсуждение: http://adn-cis.org/forum/index.php?topic=720
Опубликовано 06.05.2014Отредактировано 07.05.2014 в 02:17:55