Меню

Макросы в автокаде настройка



Макросы в автокаде настройка

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

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

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

Макрос, описывающий элемент интерфейса, может состоять даже из одной команды (например, круг) и специальных символов (например, ^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 .

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

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

Читайте также:  Настройка wi fi ком комп

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

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

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

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

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

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

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

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

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

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

Источник

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

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

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

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

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

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

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

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

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

Читайте также:  Настройка текстур в варфейсе

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

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

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

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

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

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

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

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

^C^C_audit;_y;

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

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

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

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

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

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

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

Читайте также:  Tw 7010 настройка брелка

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

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

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

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

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

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

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

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

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

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

Нажимаем Ок, и макросом можно пользоваться! Для удобства можно нажать правой кнопкой на картинку инструмента и выбрать другое изображение. Я заранее нарисовал в графическом редакторе .png картинку размером 64×64 пикселя с крестиком. Но можно поставить туда все что угодно, хоть свое фото.

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

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

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

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

Источник

Adblock
detector