- Артикул:00-01028297
- Автор: Н. Н. Полещук
- ISBN: 978-5-97060-066-5
- Тираж: 200 экз.
- Обложка: Мягкая обложка
- Издательство: ДМК пресс (все книги издательства)
- Город: Москва
- Страниц: 462
- Формат: 70x100 1/16
- Год: 2015
- Вес: 1154 г
Данная книга рассказывает об особенностях программирования для новых версий AutoCAD (2013–2015). В ней разъясняется процесс написания программного кода на четырех языках: C++, C#, LISP, VBA. Рассмотрены среды разработки Microsoft Visual Studio 2010–2013, Microsoft Visual Basic 7.1, а также библиотеки ObjectARX 2013–2015, AutoCAD .NET API 2013–2015. Описан механизм проектирования интеллектуальных объектов (custom objects), которые становятся новыми примитивами AutoCAD. Методически книга может использоваться и при работе с предыдущими версиями AutoCAD. Издание предназначено для опытных пользователей AutoCAD, желающих автоматизировать свою работу, студентов, а также для программистов, занимающихся разработкой плагинов и внешних модулей.
Содержание
Предисловие
Глава 1. Языки программирования и объектная модель
Обзор средств разработки
Об объектной модели AutoCAD
Объекты и коллекции
Интерфейсы
Свойства
Методы
События
Простой пример использования объектной модели
Особенности программирования для AutoCAD 2015
Доверенные каталоги
О совместимости
Глава 2. C++ и ObjectARX
Структура пакета ObjectARX
Интеграция справочной системы ObjectARX с Visual Studio
Настройка проекта в среде Visual Studio
Создание проекта в Visual Studio 2010 (AutoCAD 2013–2014)
Настройка свойств проекта
Создание проекта в Visual Studio 2012 (AutoCAD 2015)
Пример простого приложения
Мастера ObjectARX
Установка мастеров ObjectARX
Виды ARX-приложений, создаваемых с помощью мастера ObjectARX
Поддержка разных версий AutoCAD
Создание команд и функций
Структура файла acrxEntryPoint.cpp
Пример создания команды USERMSG
Пример создания LISP-функции callmymsg
Контекст
Загрузка и выгрузка ARX-приложений
Библиотеки
Поставляемые примеры
Использование отладчика
Выполнение команд AutoCAD
Примеры использования acedCommand и acedCmd
Особенности AutoCAD 2015
Пример использования acedCommandS
Пример использования acedCommandC
Структура resbuf и буфер результатов
Построение примитивов
Использование DXF-кодов
Доступ к базе чертежа
Использование классов примитивов
Передача данных между ARX и LISP
Геометрические вычисления
Работа с Windows API
Окно MessageBox
Пояснение к использованию acedGetArgs
Использование MFC
Индикатор в строке состояния
Модальные диалоговые окна
Немодальные диалоговые окна
Отступление о DCL-окнах
ObjectDBX
.NET и управляемый код
Поддержка управляемого кода
Глава 3. Интеллектуальные объекты
Особенности DBX-приложений
Прокси-объекты
Заготовка DBX-приложения с помощью мастера
Структура файла acrxEntryPoint.cpp
Заготовка класса нового объекта
Некоторые особенности заготовки класса объекта
Доработка проекта Custdbx
Новый вариант файла Ship.h
Конструкторы
Метод storePoints
Метод subWorldDraw
Метод subExplode
Метод subTransformBy
Метод dwgOutFields
Метод dwgInFields
Метод dxfOutFields
Метод dxfInFields
Метод subGetGripPoints
Метод subMoveGripPointsAt
Метод subList
Настройки Custdbx перед построением
ARX-проект Custarx
Команда CSHIP
Класс ShipJig
Глава 4. .NET и плагины (C#)
Платформа .NET Framework
.NET-приложения
Операции с реестром
Конфигурационный файл acad.exe.config
Документация к AutoCAD .NET API
Каркас приложения с использованием мастера Autodesk
Новый проект
Шаблоны команд и LISP-функций
Прежде чем приступить к написанию плагина «с нуля», без мастера
Создание проекта «с нуля» без использования мастера Autodesk
Создание проекта
Ресурсы для локализации
Написание кода
Результаты
Локальная и удаленная отладка
Общая идея
Настройка
Запуск
Единый код для разных версий
Работа с Database: с использованием транзакций и без них
Редактирование базы данных чертежа без использования
транзакции
Редактирование базы данных чертежа с использованием транзакции
О блокировке документа
Интерфейс IDisposable
Работа со стилями
Размерный стиль
Стиль мультивыносок
Стиль мультилиний
Стиль точек
Стиль таблиц
Текстовый стиль
Особенности программного запуска команд в AutoCAD 2015
Пример использования Command
Пример использования CommandAsync
Графический интерфейс. Windows Forms и WPF
Windows Forms
Модальное окно
Немодальное окно
«Прозрачное» добавление стандартным классам AutoCAD недостающего им функционала
Размещение плагинов. Доверенные каталоги
Программная загрузка и выгрузка плагинов AutoCAD
Использование AcCoreConsole
Глава 5. AutoLISP и DCL
Интерпретатор LISP
Программа и комментарии
Символы
Загрузка программы
Перечень основных функций
Зарезервированные символы
Примеры программ
Среда разработки приложений
Обзор меню
Панели инструментов Visual LISP
Написание и проверка синтаксиса программ в текстовом редакторе среды Visual LISP
Разработка приложений на языке LISP
Средства отладки программ
Сообщения о неверном типе
Проекты и FAS-приложения
VLX-приложения
Выполнение команд AutoCAD из программы пользователя
Программа рисования штампа чертежа
Особенности программного выполнения команд в AutoCAD 2015
Оформление функций пользователя в виде новых команд AutoCAD
Работа с примитивами
Доступ к табличным данным и неграфическим объектам
Расширенные данные
Другие способы хранения данных
ActiveX
Функции, реализующие ActiveX
Новые типы данных
Работа с документами и примитивами
Работа с меню
Реакторы
Применение COM
Создание документа Word
Пример формирования документа
Язык DCL
Директивы
Директива описания диалога
Элементы диалога
Типы элементов
Элементы с кнопкой выхода
Атрибуты элементов
Открытие и закрытие диалоговых окон
Функция load_dialog
Функция unload_dialog
Функция new_dialog
Функция start_dialog
Функция done_dialog
Функция term_dialog
Пример вызова диалогового окна
Функции, работающие с элементами диалога
Функция action_tile
Функция mode_tile
Функция set_tile
Функция get_tile
Функция get_attr
Функция client_data_tile
Переменные действия
Функции, работающие со списками
Функция start_list
Функция add_list
Функция end_list
Функции, работающие с графическими элементами
Функция start_image
Функция end_image
Функция fill_image
Функция slide_image
Функция vector_image
Функция dimx_tile
Функция dimy_tile
Дополнительные приемы программирования диалоговых окон
Временный выход из диалогового окна
Вложенные диалоговые окна
Применение паролей
Интеграция приложений
Глава 6. VBA
Выполнение отдельных выражений VBA
Использование ActiveX
Среда VBA
Меню
Панели инструментов
Проекты и их элементы
Макросы
Модули и процедуры
Формы
Типы данных
Обычные типы
Массивы
Специальные типы
Область видимости
Константы и перечисления
Простой макрос
Выполнение команд AutoCAD
Создание формы
Элементы управления
Отображение и скрытие диалогового окна
Пример приложения с модальным диалоговым окном
Модуль программного кода
Типы процедур
Добавление программного кода работы с формой
Сжатие приложения
Защита приложения
Автоматическая загрузка приложений
Обработка ошибок
Оператор On Error
Объект Err
Отладка
Передача данных между VBA и LISP-средой
Работа с документами
Имена открытых чертежей
Доступ к неактивному документу
Расширенные данные и словари
Работа с меню
Получение наименований меню
Динамическое изменение контекстного меню
Применение Windows API
Литература
Алфавитный указатель