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

Необходимость использования синтаксиса вида модуль.макрос обусловлена тем, что различные модули могут содержать макросы с одинаковыми именами.

Автоматическая загрузка и выполнение проектов VBA

Можно автоматически загружать ранее созданные проекты VBA при каждом запуске AutoCAD. При этом содержащиеся в таких проектах макросы стразу же становятся доступными. Кроме того, для автоматической загрузки нужных приложений может использоваться команда ЗАГПРИЛ.

acvba.arx — Автоматическая загрузка VBA

Работа с VBA возможна только после загрузки arx-модуля VBA в память, что происходит при первом выполнении любой из команд AutoCAD VBA. Для того, чтобы arx-модуль VBA автоматически загружался при запуске AutoCAD, следующую строку нужно добавить в файл acad.rx:

acvba.arx

Для автоматического выполнения макроса его следует добавить в файл acad.dvb и назвать AcadStartup. Макрос с именем AcadStartup из файла acad.dvb выполняется автоматически при загрузке модуля VBA.

acad.dvb — Автоматическая загрузка проекта VBA

Файл acad.dvb удобно использовать для загрузки отдельных объектов VBA при каждом запуске AutoCAD. При каждом запуске нового сеанса AutoCAD производится поиск и загрузка файла acad.dvb.

Если какой-либо макрос файла acad.dvb должен выполняться при создании нового или открытии имеющегося чертежа, в файл acaddoc.lsp следует добавить приведенный ниже код:

(defun S::STARTUP ( )

(command "_-vbarun" "updatetitleblock")

)

Имя проекта в данном примере - updatetitleblock.

AutoLISP и Visual LISP

AutoLISP основан на языке программирования LISP, который является простым и в то же время достаточно мощным. В AutoCAD имеется встроенный интерпретатор LISP, который позволяет вводить коды AutoLISP в командной строке или загружать

AutoLISP и Visual LISP | 207

их из внешних файлов. Интегрированная среда разработки Visual LISP (VLISP) предназначена для ускорения процесса создания программ на AutoLISP.

Коротко об AutoLISP и Visual LISP

Врезультате совершенствования AutoLISP появилась интегрированная среда разработки Visual LISP (VLISP), которая включает в себя компилятор, отладчик и ряд других средств, повышающих производительность. В языке появились новые возможности, которые позволяют взаимодействовать с объектами с использованием интерфейса ActiveX. Кроме того, на VLISP с помощью реакторов объектов можно обрабатывать различные события.

Вотличие от ObjectARX или VBA, в Visual LISP для каждого чертежа, открытого в многодокументной среде AutoCAD, имеется свое пространство имен и собственная среда. Пространство имен каждого чертежа является изолированным, что позволяет избегать конфликтов имен переменных, процедур AutoLISP среди одновременно открытых чертежей. Например, следующее выражение по-разному устанавливает значение переменной а для различных документов.

(setq a (getvar "DWGNAME"))

В Visual LISP имеется механизм загрузки символов и переменных из одного пространства имен в другое. Дополнительную информацию о пространствах имен см. в документации Руководство разработчика AutoLISP ( в меню AutoCAD "Справка" выберите "Дополнительные ресурсы" " Документация для разработчиков").

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

Приложения Visual LISP могут загружаться из файлов трех форматов:

LSP-файлы (с расширением .lsp)—Текстовый файл ASCII, содержащий код программы AutoLISP.

FAS-файлы (с расширением .fas)—двоичная скомпилированная версия одного файла программы LSP.

VLX-файлы (с расширением .vlx)—скомпилированный набор одного или нескольких файлов LSP или DCL-файлов.

ПРИМЕЧАНИЕ Если существует несколько приложений AutoLISP с одинаковыми именами, загружается то из них, которое имеет наиболее

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

позднюю дату изменения. То же самое происходит при загрузке файлов с расширениями LSP, FAS или VLX, если не указано полное имя файла, включая его расширение.

Поскольку AutoCAD может выполнять код AutoLISP непосредственно, его компиляция не требуется. Несмотря на то, что в Visual LISP имеется интегрированная среда разработки, для ознакомления с AutoLISP можно использовать командную строку: вводя в ней выражения, можно сразу же видеть результаты их выполнения. Это делает AutoLISP удобным языком для экспериментирования как для новичков, так и для опытных программистов.

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

ПРИМЕЧАНИЕ Если вызов команды производится с помощью функции command языка AutoLISP, подразумевается, что системные переменные PICKADD и PICKAUTO имеют значения 1 и 0, соответственно. Это обеспечивает совместимость с предыдущими версиями AutoCAD и упрощает настройку, так как пропадает необходимость проверки параметров этих переменных.

Дополнительную информацию о программировании на AutoLISP см. в документации

Руководство разработчика AutoLISP , а о функциях AutoLISP и Visual LISP - в

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

Работа с приложениями AutoLISP

AutoLISP-приложения хранятся в текстовых ASCII-файлах с расширением .lsp. Каждый такой файл обычно начинается с заголовка, в котором описываются все процедуры файла и порядок их использования, а также приводятся дополнительные специальные указания. В заголовке также могут быть приведены данные об авторе и условиях использования программы, оформленные в виде комментариев. Строки комментариев начинаются с символа точки с запятой (;). Для просмотра и редактирования таких файлов можно использовать любой текстовый редактор или текстовый процессор, который сохраняет тексты в формате ASCII.

AutoLISP и Visual LISP | 209

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