Что такое макросы в автокаде

Примеры создания своих команд и меню в AutoCAD

Первая часть этой статьи уже была опубликована на сайте под заголовком «В AutoCAD LT можно программировать». Когда статья писалась, последней была версия AutoCAD 2005. AutoCAD 2006 еще не получил широкого распространения. А между тем в новой версии появились значительные изменения, касающиеся разработки своих команд и создания собственного меню. В данной статье автор сделал попытку, оттолкнувшись от предыдущей публикации, продолжить тему, сделав упор на работу в диалоговом окне CUI и создание здесь собственного меню. Поэтому сейчас перед вами комбинированная статья, первая половина которой повторяет старую публикацию, а продолжение отражает изменения, произошедшие в новых версиях AutoCAD. В первой части даны макросы некоторых команд общего назначения и показаны принципы их создания и записи в диалоговые окна AutoCAD 2005 или более ранних версий. Во второй части показано, как создать свое меню в новых версиях, от AutoCAD 2006 и загрузить его командами, на примере некоторых команд из первой части.

Внимание! Все, что написано в 1-ой части (с упором на AutoCAD LT) может быть применено и в полной версии AutoCAD.

Часть 1

(Опубликовано в журнале AUTOCAD MAGAZIN № 4/05, Германия. перевод Dr. Heinz-Joachim Schulc)

Пусть наша первая новая команда за одно действие создаст копию готового текста, перенесет ее на новое место и там вызовет редактор текста. Но сначала надо создать кнопку, в которую мы заложим макрос, позволяющий выполнить указанные действия. Это можно сделать при открытом диалоговом окне Customize (Адаптация). Здесь, в поле, которое называется Macro associated with this button (Макрос для данной кнопки) напишите следующее выражение:

Это и есть макрос.
На рисунке показано диалоговое окно Customize с этим макросом.

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

Опрбуйте его.Для этого напишите строку любого текста, возьмите новую команду и укажите текст. Далее можно редактировать копию этого текста на новом месте и таким образом быстро получать новые тексты с готовыми настройками.

Можно написать множество макросов, которые значительно облегчат и ускорят рутинную работу. Вот несколько примеров:

Можно вставлять блоки как из данного чертежа, так и из библиотеки блоков, для этого используется команда _-Insert (с минусом). Комбинируя вставки блоков и различные команды рисования и редактирования, можно создать довольно сложные макросы для полуавтоматического вычерчивания отдельных фигур.

, то их можно использовать как кнопки задания масштаба 1:100, 1:50, 1:20 и так далее. Нажатие на такую кнопку назначит системной переменной Useri1 значение, например, 100, которое далее функцией Getvar можно вывести, например, при вставке блока, когда AutoCAD запросит масштаб по оси Х. При этом вставляемый блок увеличится в 100 раз относительно его библиотечной величины. Следовательно, в библиотеке блоков вместо серии блоков, предназначенных для разных масштабов, достаточно иметь всего один, расчитанный на масштаб 1:1. При помощи команды Modemacro и выражения DIESEL можно разместить в статусной строке сведения о состоянии некоторых системных переменных, например, отслеживать имя текущего текстового или размерного стиля. Кроме упомянутой выше функции Getvar у DIESEL есть еще 26 функций, при помощи которых можно создавать различные программы.

Есть еще один язык программирования. Это Script. С его помощью можно создать слайд-фильм, можно запускать AutoCAD с заранее заданными настройками, со своим Prifile, например. Script может загрузить в AutoCAD серию размерных стилей, что является альтернативой шаблонам.

Кроме программных путей ускорения работы есть и другие способы, чисто чертежные, или комбинированные: макрос + специальный блок. Например, можно сделать так, чтобы вставляемый блок разрывал под собой линию. Или наоборот, не разрезая ее, скрывал участок линии своим телом. Подобные могли-бы в некоторых случаях значительно ускорить черчение.

Ищущий чертежник может так настроить свой AutoCAD, что работать станет несравненно легче и быстрее. В первую очередь следует правильно расположить панели инструментов. Затем надо составить алиасы (сокращение имен) наиболее употребимих команд и подобрать удобные сочетания горячих клавиш (Hot keys). Для новых кнопок следует создать собственное меню. Надо правильно подобрать и систематизировать свою библиотеку блоков и шаблонов. Надо читать специальную литературу и обязательно участвовать в форумах по AutoCAD, которые есть на интернете, вероятно, во всех странах.

Многим пользователям хотелось бы, чтобы текст размещался в специализированном слое без переключения в него. Другими словами, текущим должен оставаться тот рабочий слой, в котором в данный момент рисуются объекты. Но если понадобилось ввести текст, то последний автоматически попадал бы в предназначенный для него слой.
Будем считать; что слой с именем «Текст» в вашем чертеже уже создан. Таким образом, напрашиваются два пути решения задачи.

Примечание:
В AutoCAD много команд. Не все из них выведены на кнопки или в падающие меню. Даже в казалось бы, полном перечне команд, который можно увидеть в диалоговом окне Customize (см. вкладку Commands, пункт All Commands), перечислены далеко не все команды.
Составляя макросы, вы часто будете заглядывать в HELP. Постепенно вы узнаете много новых, ранее неизвестных команд и системных переменных.

Сейчас мы опробуем команду CHANGE. Предварительно создайте новый слой, имя которого «Текст», но не делайте его текущим. Пусть цвет слоя для объектов, размещенных в нем, будет отличным от цвета текущего слоя.
В текущем слое (любом другом) командой MTEXT напишите любое слово или предложение. (Как уже говорилось в первой части, если AutoCAD локализован, перед именем команды, если она вводится на английском языке, должен стоять знак подчеркивания. Впрочем; можно вводить команды и составлять макросы и на русском языке.)

тем самим мы даем понять AutoCAD, что хотим изменить последний, сделанный до ввода команды CHANGE, объект, то есть MTEXT.

Вводим опцию _Properties, или сокращенно, _P

Одной из самых привлекательных команд была-бы такая, которая сможет создавать размеры в специализированном слое. Давайте ее сделаем. Скопируйте на новую кнопку созданный выше макрос для многострочного текста. Замените _Мтехт на _Dimlinear и добавьте еще одну обратную косую черту (ведь для простановки линейного размера требуется трижды щелкнуть левой кнопкой мышки). Замените имя слоя на «Размеры»

Кнопка готова. Остается нарисовать на ней красивую картинку и определить в нужную панель.

Специальные символы, применяемые для записи макрокоманд

Часть 2
Меню CUI в версиях AutoCAD 2006 и последующих

Первый шаг

Прежде всего следует запомнить конфигурацию своего рабочего пространства (Work Space). Это действие позволит застраховать ваш AutoCAD если в результате ошибочных действий собъется состав и местоположение панелей. Вызовите панель инструментов WorkSpaces (Рабочие пространства). В выпадающем списке выберите Save Current As и в появившемся окне задайте имя, например, MyWorkspace-1. Затем нажмите кнопку Workspace Setting, передвиньте строку с именем рабочего пространства наверх и в выпадающем списке выставьте это-же имя в качестве своего (MyWorkspace-1) фирменного рабочего пространства. Теперь при потере привычного вида экрана достаточно нажать на кнопку My Workspace (мое рабочее пространство), и внешний вид экрана восстановится.

Создание меню

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

Заменить цифру цвета (2) на необходимую в диалоговом окне CUI не очень удобно из-за длительного времени его открытия и закрытия. Такого рода макросы лучше распологать в Tool Palettes (инструменральные палитры). Доступ к макросу здесь чрезвычайно простой: правая кнопка по имиджу команды и вызов свойств. Очень кратко, в паре фраз, команда на инструментальныю палитру загружается так (вернее, это один из способов): откройте новую палитру и скопируйте в нее (через clipboard) любой отрезок. Образуется серия команд из панели инструментов Draw (Чертить). Надо теперь отредактировать ряд строк в окне Properties (свойства). Замените в строке Use flyout (используй вылетающие (перевод может быть не точным)) Yes На No. Замените макрос команды Line (отрезок) на вышеприведенный замены цвета атрибута. Остальные строки замените по необходимости. Замените рисунок, выбрав его из своей коллекции, путь к которой должен быть вам известен, см п.№8 выше.

Таким образом можно создавать и отрабатывать новые команды и затем переносить их в меню CUI, либо оставлять на инструментальной палитре.

Владимир Свет
New York, май 2008

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

Источник

AutoCAD LT

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

Не удалось извлечь оглавление

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

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

Можно определить и затем назначить макросы команде, изменив свойство «Макрос» команды в редакторе адаптации пользовательского интерфейса (Windows) или диалоговом окне «Адаптация» (Mac OS).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ответ на запрос радиуса круга; в данном примере это значение 1.

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

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

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

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

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

Международная поддержка для макросов

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

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

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

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

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

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

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

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

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

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

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

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

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

Второй пример начинается с команды ПСК, имитируется нажатие клавиши ПРОБЕЛ, а затем нажатие клавиши ВВОД, принимается значение по умолчанию («Мир»).

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

Источник

AutoCAD. Макросы команд. Часть 1: Создаем свою кнопку

[Общие слова об автоматизации]

Когда об AutoCAD говорят как о «САПР», мне всегда хочется внести уточнение: «голый» AutoCAD это еще не САПР (система автоматизированного проектирования), а универсальная платформа (можно даже сказать «заготовка») для создания САПР под свои нужды. Ведь именно автоматизации в свежеустановленной программе как раз и нет, но зато есть колоссальные возможности по ее внедрению!

И большинство пользователей рано или поздно начинают потихоньку упрощать себе жизнь: создают свои шаблоны, осваивают поля, динамические блоки, наполняют ими палитры, запоминают псевдонимы команд и т.д. Это, можно сказать, «начальный уровень» автоматизации. По другую сторону лежит программирование в чистом виде: код в AutoCAD можно писать на встроенном LISP или VBA, или же вообще создавать внешние плагины и расширения (add-ons) под свои узкоспециализированные нужды. Возможности тут открываются поистине фантастические, но разобраться в этом уже сложнее, все-таки, программирование — это отдельная профессия. И туда мы (пока что) не полезем.

Кстати, стоит отметить, что писать код с нуля нужно далеко не всегда — в сети есть огромное количество различных LISP-ов и аддонов (как платных, так и бесплатных) для решения практически любых задач, главное, хорошо поискать.

[Собственно, о макросах]

Но если до программирования вы пока не доросли, а автоматизировать свою рутину ну очень хочется, советую обратить внимание на макросы. Чтобы не было путаницы, уточним, речь в статье пойдет о макросах (макрокомандах), набранных пользователем в текстовом виде.

Просто еще в программе есть возможность записывать действия пользователя через рекордер операций, и это тоже будет называться «макросом». Но о рекордере операций мы (может быть) напишем отдельную статью, а еще есть «сценарии» и это отдельная тема. В общем, писать и писать мне. =)

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

Перед тем как записать макрос, нужно понять где же мы его разместим? — Речь о той самой кнопке, по нажатию на которую и будет происходить вся магия. Вариантов тут несколько. Я предлагаю рассмотреть два самых популярных — кнопка на панели быстрого доступа и кнопка на палитре. В общем-то именно созданию кнопок и посвящен данный материал. Это вводная статья небольшого цикла о макросах. А учиться писать сами макросы мы будем уже во второй части.

[Создаем кнопку. Способ первый: кнопка на панели быстрого доступа]

Справа на панели быстрого доступа есть маленькая стрелка, нажмем на нее и выберем в выпадающем списке пункт Другие команды:

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

Другой способ сделать тоже самое, это перейти в ленте на вкладку Управление и нажать на кнопку Пользовательский интерфейс:

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

В любом случае откроется подобное окно:

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

Не забудьте нажать на стрелку внизу справа, чтобы оно приобрело более полный вид. Слева мы видим список всех команд. Когда видишь его в первый раз, приходит осознание, что команд в программе намного больше, чем выведено кнопок на панелях. Над списком расположена строка поиска, которая помогает не потеряться. Если поставить курсор на конкретную команду, мы увидим более подробную информацию о ней:

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

Если внимательно все рассмотреть, становиться понятно, что любая кнопка в ленте это просто ярлычок для соответствующего макроса. Теоретически, можно даже переопределить работу штатных кнопок. Но мы этого делать не будем. А создадим свою команду.

Для этого, нажмем на «звезду с солнышком», заполним поле имя команды и поле макроса. В качестве «теста», сделаем макрос, который запускает команду _audit (ПРОВЕРИТЬ) и сразу исправляет системные ошибки в документе. Название команде можете дать любое, а код макроса будет следующий:

^C^C_audit;_y;

Лучше скопировать его прямо отсюда. Во второй части мы подробно разберем данную строку и вам станет понятно, что именно там записано.

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

Также, можно сделать какую-то красивую (или не очень) иконку для нашей команды. За основу возьмите любую существующую иконку, затем нажмите Изменить. Откроется довольно примитивный редактор, в котором можно дорисовать что-то к выбранному изображению, или же очистить все и создать свой шедевр с нуля. Не забудьте его сохранить (вас спросят про имя файла, задайте любое). А затем закройте редактор. Картинка в помощь:

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

Наша команда готова, теперь находим ее в левой части окна адаптации и с зажатой левой клавишей мыши тащим ее на панель быстрого доступа:

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

Будьте внимательны, после этого в окне адаптации обязательно нужно нажать Ок или Применить. Если просто закрыть окно, изменения не сохранятся!

Кстати, так можно вытащить на панель абсолютно любую команду, которая изначально отсутствует на ленте. Например, здесь мы вытаскивали кнопку регенерации. В ролике по ссылке можно увидеть весь процесс вытаскивания кнопки (начиная с 1:42 по таймкоду). Посмотрите его, если данная статья вызывает затруднения.

Все, кнопка готова, можно пользоваться.

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

Для пробы откройте какой-нибудь старый (а лучше очень старый) dwg файл и проверьте его на ошибки. Их может 0, а может быть очень много — отчет будет выведен в командной строке.

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

От штатной команды наш макрос отличается тем, что сразу исправляет ошибки, без дополнительных запросов и действий со стороны пользователя. Советую регулярно выполнять данную команду — она поддерживает «здоровье» вашего файла и по моим наблюдениям снижает количество «глюков», «вылетов» и зависаний программы. Ошибки в процессе работы появляются сами по себе, обычно в процессе копирования больших объемов данных через буфер обмена. Отмечу, что речь идет именно о внутренних системных ошибках файла, а не об ошибках в том, что вы нарисовали =)

[Создаем кнопку. Способ второй: кнопка на палитре]

Инструментальные палитры используются для организации пользовательских панелей инструментов: на них можно размещать блоки, таблицы, выносить стандартные инструменты с дополнительными свойствами, создавать кнопки для вызова LISP приложений и макросов (это-то нам и нужно) и т.д. Вообще, палитры — очень обширная тема, заслуживающая отдельной статьи. Здесь же мы пройдемся по самым «верхам». Итак, открываются палитры сочетанием клавиш CTRL+3

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

Стандартные палитры нам не особо интересны, поэтому сразу создадим свою. Для этого щелкнем правой кнопкой мыши на левом «корешке» палитры и выберем пункт Создать палитру

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

Сразу зададим ей имя (например, «Моя первая палитра»).

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

Теперь нужно добавить на палитру красок, т.е кнопок, на которых мы сможем размещать наши макросы. Для этого снова зайдем в адаптацию команд (как мы делали в начале статьи), но для разнообразия сделаем это другим (уже третьим по счету) способом. Нажмем правой кнопкой мыши в пустом месте нашей палитры, и выберем пункт Адаптация команд:

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

Откроется уже знакомое нам окно. В нем берем абсолютно любую команду, и удерживая левую кнопку мыши перетаскиваем ее на палитру, после чего отпускам кнопку, закрываем окно адаптации.

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

На палитру можно поместить любую команду, а потом «переделать» ее до неузнаваемости под собственные нужды. Нам просто была нужна донорская кнопка. Нажмем на ней правой кнопкой мыши и выберем пункт Свойства объекта:

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

В открывшемся окне изменим название команды, описание (это по желанию) и главное, вставим наш макрос ^C^C_audit;_y; в поле Командная строка:

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

Самое классное в способе с палитрами, это возможность копировать/вставлять инструменты через контекстное меню. Останется лишь изменить название инструмента, текст макроса и изображение

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

Это способ позволяет очень быстро создавать свои кнопки, формируя из них целые панели со своими инструментами. Например так выглядит одна из моих палитр с LISP приложениями (название инструментов можно скрывать, оставляя только картинки):

Что такое макросы в автокаде. Смотреть фото Что такое макросы в автокаде. Смотреть картинку Что такое макросы в автокаде. Картинка про Что такое макросы в автокаде. Фото Что такое макросы в автокаде

[Чему мы научились]

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

Источник

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

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

Можно определить и затем назначить макросы команде, изменив свойство «Макрос» команды в редакторе адаптации пользовательского интерфейса (Windows) или диалоговом окне «Адаптация» (Mac OS).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ответ на запрос радиуса круга; в данном примере это значение 1.

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

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

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

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

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

Международная поддержка для макросов

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

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

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

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

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

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

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

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

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

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

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

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

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

Второй пример начинается с команды ПСК, имитируется нажатие клавиши ПРОБЕЛ, а затем нажатие клавиши ВВОД, принимается значение по умолчанию («Мир»).

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *