Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
274
Добавлен:
29.05.2015
Размер:
3.15 Mб
Скачать

помощью AutoLISP можно вызывать различные приложения в зависимости от значения тех или иных параметров.

Запуск приложения из меню или с помощью панели инструментов

Создав новую команду для запуска внешнего приложения, ее можно вызывать из меню или панели инструментов.

Этот макрос можно вызвать из элемента интерфейса в файле настройки (НПИ). Если планируется использовать только одно или два приложения, пункты меню для их вызова можно добавить в одно из стандартных раскрывающихся меню. Если требуется использовать несколько приложений, для них можно создать свое раскрывающееся меню или панель инструментов. Подробнее о создании, редактировании и загрузке файлов настройки см. раздел “Настройка интерфейса пользователя” на стр.35.

AutoCAD VBA

Microsoft Visual Basic for Applications (VBA) является объектно-ориентированным языком программирования с собственной средой разработки и обладает широкими возможностями. Основное отличие VBA от VB (Visual Basic) состоит в том, что VBA работает одновременно с AutoCAD, предоставляя быструю среду для программного управления AutoCAD.

Основные сведения о AutoCAD VBA

VBA может служить средством интеграции различных приложений, в которые встроена поддержка VBA. Таким образом, AutoCAD, может управлять другими приложениями, например, Microsoft Word или Excel, используя их библиотеки объектов.

Чтобы дополнить AutoCAD VBA такими компонентами, как модуль работы с внешними базами данных или средство подготовки отчетов, можно отдельно приобрести пакет Visual Basic 6, являющийся самостоятельным продуктом.

Процесс разработки с помощью AutoCAD VBA

Передача сообщений от VBA к AutoCAD осуществляется с помощью интерфейса

AutoCAD ActiveX Automation Interface. С помощью макроса AutoCAD VBA среда

Visual Basic может работать одновременно с AutoCAD и осуществлять программный контроль AutoCAD через интерфейс ActiveX Automation. Связка AutoCAD, ActiveX Automation и VBA является очень мощным средством программирования. Оно позволяет не только управлять объектами AutoCAD, но и обмениваться данными с другими приложениями.

204 | Глава 7 Введение в интерфейсы программирования

Результатом интеграции VBA и AutoCAD является легкое в использовании средство визуального программирования, которое можно использовать для настройки AutoCAD. С его помощью можно, например, разработать приложение, которое автоматически извлекает значения атрибутов, вставляет результаты в книгу Excel и выполняет другие требуемые манипуляции с данными.

Принципы программирования на VBA для AutoCAD основываются на трех базовых составляющих. Первой составляющей является сама программа AutoCAD, которая обладает большим набором объектов, различных данных и команд. AutoCAD является приложением с открытой архитектурой и имеет интерфейсы различных уровней.

Для эффективного использования VBA желательно иметь навыки программирования под AutoCAD. Однако следует отметить, что положенный в основу VBA объектно-ориентированный подход к программированию существенно отличается от используемого в AutoLISP.

Второй составляющей является интерфейс ActiveX Automation, который определяет порядок передачи сообщений (взаимодействия) с объектами AutoCAD. Программирование на VBA требует понимания принципов организации интерфейса

ActiveX Automation. Описание интерфейса ActiveX Automation применительно к

AutoCAD приводится в документации Руководство разработчика ActiveX и VBA (в меню AutoCAD "Справка" нажмите "Дополнительные ресурсы" "Документация для разработчиков").

Третьей составляющей является, собственно, сама среда VBA. VBA имеет свой собственный набор объектов, ключевых слов, констант и т.д., которые используются при написании, отладке и выполнении программ. В комплект поставки AutoCAD входит обширная справочная система по VBA от Microsoft.

Управление AutoCAD с помощью интерфейса ActiveX/VBA по сравнению с использованием средств API обладает рядом преимуществ.

Скорость. Приложения ActiveX работают быстрее программ AutoLISP.

Простота в использовании. Язык и среда разработки VBA легки в освоении и использовании. Установка VBA производится вместе с AutoCAD.

Взаимодействие с приложениями Windows. ActiveX и VBA разработаны для использования в приложениях Windows и предоставляют прекрасные возможности для организации взаимодействия и обмена данными между различными приложениями.

Быстрота разработки. Благодаря быстроте проектирования интерфейса приложений с помощью VBA, данная среда может служить прекрасным средством для создания приложений-прототипов, даже если окончательная реализация планируется на другом языке программирования.

Распространенность. Во всем мире миллионы программистов пользуются языком Visual Basic. Наличие AutoCAD ActiveX/VBA дает возможность выполнять

AutoCAD VBA | 205

настройку AutoCAD и разрабатывать для него приложения программистам, уже владеющим языком Visual Basic 6 или собирающимся его изучать.

Использование приложений AutoCAD VBA

Загрузка VBA-проекта осуществляется командой VBALOAD. После загрузки модули и макросы проекта становятся доступными в диалоговом окне «Макросы».

В отличие от приложений Microsoft, которые используют для хранения проектов, макросов и программ VBA непосредственно документы, AutoCAD для этих целей использует специальные файлы с расширением .dvb. Это обеспечивает возможность взаимодействия интерфейсов VBA с AutoCAD аналогично тому, как это делается в AutoLISP и ObjectARX. Благодаря тому, что проекты VBA хранятся в отдельных файлах, в одном сеансе AutoCAD приложения VBA могут открывать и закрывать различные чертежи.

ПРИМЕЧАНИЕ Двоичный формат файлов проектов VBA в AutoCAD не совместим с форматом проектов Visual Basic 6 (файлами VBP). Однако из интегрированной среды разработки IDE (integrated development environment) VBA можно экспортировать и импортировать формы, модули и классы, используя для этого команды ИМПОРТ и ЭКСПОРТ.

Загрузка VBA-проекта осуществляется командой VBALOAD. После загрузки модули и макросы проекта становятся доступными в диалоговом окне "Макросы". Для выполнения модуля VBA служит команда VBARUN. Если не загружено ни одного проекта VBA, данные опции недоступны. При выводе процедур в списке с именами макросов используется следующий синтаксис:

ожзсфя.онвржм

В диалоговом окне "Макросы" перечнем отображаемых в списке модулей можно управлять с помощью списка "Макросы из".

Использование командной строки для запуска макросов VBA

Для выполнения макросов из командной строки AutoCAD следует вызвать команду -VBARUN (дефис перед именем команды VBARUN означает вызов варианта команды, использующего интерфейс командной строки). Макросы VBA можно вызывать из командной строки, сценариев, а также из других средств программирования AutoCAD. Единственным аргументом команды должно быть имя модуля и макроса VBA, отделенные точкой (модуль.макрос). Образец вызова выглядит следующим образом:

-vbarun <модуль. макрос>

206 | Глава 7 Введение в интерфейсы программирования

Соседние файлы в папке Справочные материалы