Создание макросов
 
 
 

С помощью макроса меню описывается действие, которое будет выполнено при выборе какого-либо элемента интерфейса. Макрос реализует задачу построения, для выполнения которой пользователю потребовалось бы произвести несколько операций. Макрос может содержать команды, специальные символы, а также программные коды на языке DIESEL (Direct Interpretively Evaluated String Expression Language) или AutoLISP.

ПримечаниеПо мере появления новых версий AutoCAD может измениться последовательность запросов для некоторых команд (а иногда даже имена команд). Поэтому после обновления версии AutoCAD, возможно, потребуется внести некоторые изменения в пользовательские макросы.

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

Основные сведения о макросах

Макрос, описывающий элемент интерфейса, может состоять даже из одной команды (например, круг) и специальных символов (например, ^C^C).

Например, макрос ^C^C_круг \1 строит окружность с радиусом, равным 1 единице. Компоненты, определяющие этот макрос, описаны в следующей таблице.

Компоненты макроса CIRCLE

Компонент

Тип компонента

Результат

^C^C

Специальный управляющий символ

Отменяет все команды, выполняющиеся в текущий момент времени

_

Специальный управляющий символ

Автоматически переводит следующую за ним команду на нужный язык

КРУГ

Команда

Запускает команду КРУГ

\

Специальный управляющий символ

Создает паузу для ввода пользователем точки центра

1

Специальный управляющий символ

Задает радиус окружности (1)

Список специальных символов для макросов см. в разделе Использование в макросах специальных управляющих символов.

Отмена выполняющихся команд

Прежде чем выполнить макрос, убедитесь, что ни одна из программ AutoCAD не запущена. Чтобы автоматически отменить команду перед выполнением макроса, введите ^C^C в начале тела макроса, что соответствует двойному нажатию клавиши ESC. Для отмены большинства команд достаточно ввести ^C один раз; для возврата к командной строке из команды простановки размеров необходимо ввести ^C^C; в зависимости от текущего параметра команды СЛОЙ может потребоваться ввести ^C^C^C. Ввод последовательности ^C^C обеспечивает отмену большинства последовательностей команд, поэтому для обеспечения отсутствия активных команд перед запуском макрокоманды рекомендуется ввести эту последовательность.

Проверка символов макроса

При написании макросов значимым является каждый символ, даже пробел.

Если в конце тела макроса поставить пробел, AutoCAD выполнит макрос так, как если бы пользователь ввел команду (например, круг) а затем нажал ПРОБЕЛ для ее завершения.

Завершение макроса

Для завершения некоторых макросов требуются специальные символы. Чтобы завершить некоторые команды (например, ТЕКСТ), требуется нажать клавишу ENTER, а не ПРОБЕЛ. Кроме того, иногда для завершения команды необходимо несколько пробелов (или ENTER), но некоторые текстовые редакторы не позволяют создавать строки, завершающиеся пробелами.

Для решения этих проблем приняты два специальных соглашения.

Запись, заканчивающаяся символом обратной косой черты (\), переводит макрос в состояние ожидания пользовательского ввода.

Сравним следующие макросы:

ucs 
ucs ; 

В первом примере в командной строке вводится команда пск с последующим пробелом. Далее появляется подсказка:

Начало ПСК или [Грань/Именованная/Объект/Предыдущая/Вид/Мир/X/Y/Z/Z ось] <Мир>:

Во втором случае в командной строке вводится команда пск, ПРОБЕЛ и точка с запятой, которая воспринимается как ENTER и подтверждает значение, предлагаемое по умолчанию ("Мир").

Подавление эхо-вывода и запросов в макросах

Символы макроса дублируются в командной строке, как если бы они были введены с клавиатуры. Они также отображаются в элементе интерфейса пользователя Дублирование на экране называется “эхо-выводом“. “Эхо-вывод“ можно подавить с помощью системной переменной MENUECHO . Если эхо-вывод и запросы для пункта меню включены, их можно отключить в макросе с помощью последовательности ^P.

Создание длинных макросов

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