Как сделать макрос автокад

Добавил пользователь Евгений Кузнецов
Обновлено: 04.10.2024

Форумы CADUser → Программирование → LISP → Возможно ли автоматическое создание макроса.

Тема: Возможно ли автоматическое создание макроса.

Здравствуйте! Бьюсь с ЛИСПом. Нелегко(только не надо реплик из задних рядов типа "а кому щас легко?")А существует ли способ создания макроса в AutoCAD таким же образом, как, например, в Excel: Жмешь кнопку "Включить запись макроса", рисуешь в модели нужные примитивы, создаешь тексты и т.д., в конце жмешь кнопку "Остановить запись макроса". А потом уже спокойно ползаешь по коду и анализируешь, чего это там ЛИСП накарякал, т.е. как он отобразил мое художество своим кодом. Так будет легче изучать.
VBA в Excel я таким образом и освоила.
Спасибо.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Точка с запятой (;) в макрокоманде соответствует нажатию клавиши ENTER в командной строке.
  • После строк, заканчивающихся каким-либо специальным символом, обратной косой чертой (\), знаком плюс (+) или точкой с запятой (;) AutoCAD не добавляет символ пробела.

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

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

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

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

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

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

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

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

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

Темы в этом разделе

В макросах можно использовать специальные символы, включая управляющие символы. Символ крышки (^) в макросе имитирует нажатие клавиши CTRL на клавиатуре. Комбинируя его с алфавитными символами, можно из макросов меню производить, например, включение/отключение сетки ( ^G ) или прерывание команды ( ^C ).

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

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

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

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

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

Можно заменить назначения активных меню, кнопок мыши, кнопок планшета, меню планшета или экранных меню. Можно подставлять как элемент интерфейса пользователя того же типа, определенный в основном файле НПИ, так и элемент из частичного файла НПИ.

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

Создание команд, использующих AutoLISP, является более совершенным способом использования функции настройки AutoCAD.

Здесь вы можете скачать документацию и программы для САПР AutoCAD, PCAD, 3DS, Inventor, Pro/E, Solidworks и других CAD CAM CAE EDA GIS


AutoCAD 2009: команда Action Recorder

Средство для записи макросов в AutoCAD было в списке улучшений AutoCAD, которые я бы желала увидеть, поэтому я была сильно взволнована тем, что AutoCAD 2009 наконец-то реализовал мои мечты о сохранении выполненных операций для использования в будущем. Я знаю, что эта возможность должна быть хорошей, так как она была написана теми же разработчиками, которые написали Express Tools для AutoCAD.

Концепция Action Recorder проста. Мы часто выполняем над чертежом одни и те же утомительные операции. В принципе, их можно автоматизировать, написав подпрограмму на AutoLisp или сделать меню с макрокомандами, но не у всех есть время, чтобы разбираться с этим. Новая команда Action Recorder позволяет сохранить последовательность выполняемых вами операций один раз, чтобы неоднократно воспроизвести их в будущем. Никаких навыков программирования не требуется. Вам нужно просто нажать кнопку Record.

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

Action Recorder расположен в закладке Tools новой ленты-интерфейса, а так же в падающем меню Tools Я предпочитаю версию с ленты.



Панель Action Recorder
в закладке Tool ленты.

Сам процесс очень прост:

  1. Нажмите на кнопку Record.
  2. Выполните те команды AutoCAD, которые вы желаете записать.
  3. Остановите запись и дайте имя макросу.

После того как вы сохраните ваш макрос, вы можете воспроизводить его столько раз, сколько желаете.

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

  1. Создание нового слоя под названием Test, присвоение ему красного цвета и назначение его текущим.
  2. Черчение окружности.
  3. Создание четырех копий окружности
  4. Удаление первой окружности.

Как уже я говорила, для начала записи нажмите кнопку Record. Вы будите знать, что происходит запись, так как рядом с вашим курсором будет находиться красная точка. Спешить при записи никакого смысла нет, так как AutoCAD делает только запись действий, что не зависит от времени.



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

Ниже перечислена последовательность действий для нашего примера:

  1. Нажмите на кнопку Record, чтобы начать запись макроса.
  2. Активизируйте Layer Properties manager чтобы создать слой Test, назначьте ему цвет Red, и сделайте его текущим.
  3. Войдите в команду Circle, укажите центр окружности и ее радиус.
  4. Войдите в команду Copy и сделайте четыре копии.
  5. С помощью команды Erase удалите исходную окружность.
  6. Нажмите на кнопку Stop.
  7. Дайте макросу имя.



После нажатия кнопки Stop у вас будет запрошено имя для вашего макроса.

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

Macro Action Tree

Вы можете видеть все шаги вашего макроса сохраненные в Action Tree.



Action Tree отображает все шаги в вашем макросе.

Вы можете сделать ваши макросы еще более мощным, если добавите опции для ввода пользователем. Например, возможно я хочу позволить пользователю определять, где будет нарисована первая окружность. Кликните правой кнопкой мыши в том месте Action Tree, где сохранены координаты центра окружности, и выберите Request User Input в отобразившемся контекстном меню.



Сделайте ваш макрос еще более мощным, используя опцию Request User Input.

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

Я могу также кликнуть правой кнопкой мыши на радиусе 5.4543 и выбрать Edit , чтобы изменить значение на какое-нибудь другое, к примеру округлить его до 5.

Обратите внимание, что команда Copy в макросе копирует относительно первой начерченной окружности. Это видно по символу @ перед всеми координатами. Что нужно сделать, если мы, к примеру, хотим, чтобы копии были относительно первой окружности, но были бы в абсолютных координатах чертежа? Никаких проблем, просто кликните правой кнопкой мыши на координатах и укажите опцию Relative to Previous в отобразившемся контекстном меню.



Конвертирование относительных координат в абсолютные из контекстного меню.

Вам наверно интересно, где сохраняются файлы макросов? Это зависит от того, что вы установили в диалоговом окне Options (оно расположено во вкладке Files). По умолчанию ваши макросы (которые, кстати, имеют расширение ACTM) будут сохраняться в стандартное местоположение в папке Documents and Settings. Вы можете указать ваше собственное местоположение для сохранения макросов, что упростит предоставление их в общий доступ вашим сотрудникам.

Все макросы в каталоге, указанном в Options можно найти в списке макросов в панели Action Recorder. Чтобы выполнить макрос необходимо раскрыть список макросов, выбрать нужный и нажать на кнопку Play. Вы так же можете исполнять эти макросы в командной строке. Если я наберу слово Test в командной строке, то это повлечет за собой выполнение описанной выше макрокоманды.

Замечание: AutoCAD не позволит вам создавать макрокоманду с тем же самым именем как существующая команда AutoCAD по очевидным причинам. Однако он позволяет вам создавать макросы с такими же именами как псевдонимы команд, так что будьте внимательны, когда будете давать команде имя! Например, если вы создадите макрокоманду с именем E, то больше не сможете использовать эту букву как псевдоним для команды Erase. Конечно, если вы сделали это случайно, вы можете переименовать или просто удалить макрос. Если вы программируете на AutoLISP, то обратите внимание на то, что макросы так же делают недоступным вызов подпрограмм на LISP с такими же названиями.

И наконец, вы можете управлять некоторыми персональными настройками ваших макросов (они так же доступны в панели Action Macro). Вы можете управлять, хотите ли Вы, чтобы Action Tree отображалось при воспроизведении или записи макроса, а так же, нужен ли вам запрос об имени макрокоманды. Если вы выключите его, то имена для макросов будут назначаться автоматически, начиная с ActMacro001 по возрастанию.



Установите Action Recorder для работы в соответствии с вашими предпочтениями с помощью Preferences.

Action Recorder - моя любимая новая возможность в AutoCAD 2009. С его помощью вы сможете автоматизировать множество утомительных задач в вашем каждодневном черчении, что даст вам больше времени для себя лично.

Запись и изменение макросов операций в AutoCAD .

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

Обзор макросов операций

Для записи макроса операций используется рекордер операций. После записи макроса операции и команды, и данные ввода записываются в файл макроса операции с расширением ACTM.


Рекордер операций представляет собой панель на ленте и содержит инструменты записи, воспроизведения и изменения макросов операции. Задать параметры рекордера операций также можно в диалоговом окне "Установки рекордера операций". Во время воспроизведения, редактирования или записи макроса операций можно развернуть панель рекордера операций для доступа к отдельным операциям текущего макроса в дереве операций.

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

■ Воспроизведение макроса операции

Изменение настроек рекордера операций


1. На ленте выберите вкладку "Управление" >- панель "Рекордер операций" >-
"Установки".



2. В диалоговом окне "Установки рекордера операций" выполните следующие действия:

■ Установите флажок "Развернуть при воспроизведении" для открытия панели рекордера операций при воспроизведении макроса операции.

■ Установите флажок "Развернуть при записи" для открытия панели рекордера операций при записи макроса операции.

■ Установите флажок "Запрос имени макроса операции" для вызова диалогового окна "Макрос операции" при остановке записи макроса. Если этот флажок не установлен, при сохранении записанному макросу операции будет присвоено имя по умолчанию.

3. Нажмите "ОК".

Краткий справочник


Запуск рекордера операций.

Останов рекордера операций и предоставление возможности сохранения записанных операций в файле макроса операции.


Пауза для обеспечения ввода пользователя в макрос операции.

Вставка базовой точки в макрос операции.

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

Открытие окна ленты.

Системные переменные

Задание дополнительных путей поиска макросов операций для воспроизведения.

Задание текущего состояния рекордера операций.

Задание пути для сохранения новых макросов операций.

Управление поведением панели рекордера операций при записи и воспроизведении макросов.

Материал этого урока взят из электронной книги

"Руководство по адаптации" ,

Прямо Сейчас Подпишитесь На Рассылку!

И Получайте Бесплатные

Обучающие Видео Уроки

По AutoCAD На Ваш E-mail!

Просто Введите Ваши Данные В Форму!

Внимание!

Как активировать рассылку?

Если вы не знаете как правильно активировать рассылку, пройдите по этой ссылке . Там Вы найдёте подробную инструкцию.

P.S. Уважаемый подписчик, если Вы хотите:

То Вы всегда можете:

Желаю вам удачи и успешного изучения программы AutoCAD !

До новых встреч!

Дмитрий Лапин.

Видеокурс по Revit

Архитектурно - строительное проектирование в программе Revit.


AutoCAD обучение

Подпишитесь на бесплатную рассылку : " Эффективная работа в AutoCAD" .


№ 41001478398734

ИЛИ

W eb M oney
RU: R243691155431

Более 5-ти часов живого видео!

Коллекция Видеоуроков

" Эффективная работа в AutoCAD"

ПОДАРОК .

Уважаемый посетитель , предлагаю Вам получить абсолютно бесплатно 14 видеоуроков по 2 d черчению и 3 d моделированию в программе AutoCAD . Чтобы получить доступ к видео материалам заполните форму подписки. Впишите ваше имя и e-mail адрес в поля формы ниже и нажмите кнопку " Получить видеоуроки " .

ПОДАРОК .

Уважаемый посетитель , предлагаю Вам получить абсолютно бесплатно 14 видеоуроков по 2 d черчению и 3 d моделированию в программе AutoCAD . Чтобы получить доступ к видео материалам заполните форму подписки. Впишите ваше имя и e-mail адрес в поля формы ниже и нажмите кнопку " Получить видеоуроки " .

Читайте также: