Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 700152.doc
Скачиваний:
6
Добавлен:
01.05.2022
Размер:
881.95 Кб
Скачать

Макросы команд

Макросы команд могут содержать команды, специальные символы, выражения DIESEL, или программные коды AutoLISP.

Можно определить и затем назначить макрос для команды путем изменения свойства макроса в редакторе НПИ.

Примечание AutoLISP не поддерживается в AutoCAD LT.

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

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

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

Таблица 2. Компоненты макроса.

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

Компонент

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

Результат

^C^C

Последовательность специальных управляющих символов

Эта последовательность аналогична двойному нажатию клавиши ESC.

_

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

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

.

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

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

КРУГ

Команда

Запуск команды КРУГ.

 

Специальный символ

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

\

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

Формирование паузы для ввода данных пользователем; в данном примере это пауза для центра окружности.

Отмена активной команды

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

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

При написании макросов значимым является каждый символ, даже пробел. Размещение пространства в конце макроса интерпретируется как нажатие клавиши ПРОБЕЛ или ENTER для завершения команды.

Использование в макросах встроенных команд

Команды, которые являются частью AutoCAD или программ на ее основе, должны начинаться с точки (.). Пробел позволяет использовать стандартные команды даже в том случае, если определение команды аннулировано с помощью команды НЕТКОМ. Эти меры предосторожности позволяют избежать непредвиденных результатов при работе макроса, когда он используется на других компьютерах, использующих тот же файл адаптации (CUIx).

Использование режима выбора одного объекта

Метод выбора объектов "Единственный" отменяет повторение запроса о выборе объектов в командной строке. После выбора одного объекта и ответа на другие запросы команда завершается.

Рассмотрим следующий пример:

^C^C._erasesingle

Этот макрос прерывает текущую команду и вызывает команду СТЕРЕТЬ в режиме выбора одного объекта. После запуска макроса, можно либо выбрать единичный объект, либо щелкнуть в пустой области чертежа и указать секущую рамку/рамку выбора. Все объекты, выбранные с помощью следующих методов стираются.

Повторение команд в макросах

После создания макроса, возможно, потребуется использовать его несколько раз перед использованием другой команды. В макросе можно поставить символ звездочки (*), указывающий на то, что команда макроса должна повторяться до тех пор, пока не будет нажата клавиша ESC или использовать другой макрос, который начинается с ^C.

Приведенный ниже пример иллюстрирует повторный вызов команд в макросе:

*^C^C._move Single

*^C^C._copy Single

*^C^C._erase Single

*^C^C._stretch Single Crossing

*^C^C._rotate Single

*^C^C._scale Single

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]