Перейти к содержимому

Макросы в автокаде что это

  • автор:

Sorry, you have been blocked

This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.

What can I do to resolve this?

You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.

Cloudflare Ray ID: 7c81df226a7678a0 • Your IP: Click to reveal 138.199.34.31 • Performance & security by Cloudflare

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

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

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

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

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

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

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

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

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

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

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

Адаптация команд

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

Адаптация команд

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

Окно адаптации команд

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

AutoCAD редактор команд

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

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

^C^C_audit;_y;

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

AutoCAD создание своей команды

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

AutoCAD Создание иконки для кнопки

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

Перетаскивание команды на панель быстрого доступа

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

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

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

Своя кнопка

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

AutoCAD исправление ошибок в файле

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

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

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

палитры в AutoCAD

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

создание палитры

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

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

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

адаптация команд

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

перетаскивание инструмента на палитру

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

свойства объекта

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

настройка свойств объекта палитры

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

выбор изображения инструмента на палитре

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

копирование инструментов палитры

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

пример палитры

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

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

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

Первое, что необходимо сделать — это понять из каких элементов состоит команда. Набираем в командной строке «-ОЧИСТИТЬ». При таком вызове команды диалоговые окна не появляются, а все субопции выбираются из командной строки. Напомню, что мы рассматриваем команду удаления всех неиспользуемых элементов чертежа. Поэтому я выберу субопцию «Все». Далее нас просят ввести имена удаляемых элементов, нажмем enter, чтобы удалились все. Запрашивать подтверждение на удаление каждого элемента — «Нет».

После такой чистки обычно файлы заметно уменьшаются в размере и не тормозят.

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

Вкладка «Управление» — панель «Адаптация» — инструмент «Пользов.ательский интерфейс». Появляется окно «Адаптация пользовательского интерфейса». Здесь выбираем кнопку «Создание новой команды».

Даем новой команде Автокад имя. Я назову «Очистить все». Можете заполнить описание, чтобы в дальнейшем понять что это за команда.

Самое главное — это поле «макросы». В данном поле по умолчанию стоит: «^С^С». Это означает 2 нажатия клавиши Esc. Т.е. при вызове команды предыдущую команду необходимо закончить. Далее ставим вызов команды без диалогового окна «-очистить». Далее мы нажимали «Enter», в коде он обозначается пробелом. Затем мы выбирали субопцию «все», в коде ставим ключ вызова субопции «в». Далее опять «Enter», а в коде ставим пробел. После нас просили ввести имена элементов, которые хотим удалить, и мы нажимали «Enter», поэтому в коде я еще раз ставлю пробел. И на запрос подтверждать ли удаление каждого элемента, мы выбирали «нет», в коде поэтому я ставлю букву «н». И в конце кода макроса еще раз пробел, чтобы вызвать завершение команды. Вот что получилось.

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

Далее нажимаем Экспорт и даем название иконке. Иконка сохранена, а в данном редакторе я нажимаю закрыть и не сохранять.

Теперь меняем изображение для команды. Малое и большое изображения — выбираем новую иконку.

И теперь мы можем применить изменения в диалоговом окне «Адаптация пользовательского интерфейса».

Вывод новой команды Автокад на панель быстрого доступа.

Находим новую команду в списке. Она называется «Очистить все». И далее перетаскиваем ее зажатой кнопкой мыши на панель быстрого доступа.

Нажимаем «Применить» — «Ок». Проверьте, команда Автокад работает.

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

Что такое vba в автокаде?

Visual Basic для приложений (VBA) — это среда программирования, позволяющая автоматизировать задачи с помощью языка программирования Visual Basic. … Вы учитесь работать с данными, манипулировать программными объектами AutoCAD, получать ввод от пользователя, сохранять значения, работать с основными условными выражениями и другими концепциями программирования.

Как написать код VBA в AutoCAD?

  1. В меню Сервис выберите Макрос > Редактор Visual Basic.
  2. В редакторе Visual Basic в меню «Вставка» выберите «Модуль».
  3. В окне редактирования модуля вставьте код VBA, который вы хотите использовать. …
  4. В меню «Файл» выберите «Сохранить глобально».
  5. В диалоговом окне «Сохранить как» введите имя проекта VBA; имя по умолчанию — проект.

Что такое VBA и его применение?

Visual Basic для приложений — это язык программирования, разработанный и принадлежащий Microsoft. С помощью VBA вы можете создавать макросы для автоматизации повторяющихся функций обработки текстов и данных, а также создавать настраиваемые формы, графики и отчеты. Функции VBA в приложениях MS Office; это не самостоятельный продукт.

Что такое макрос в AutoCAD?

Макросы действий — это последовательность действий (команд), которые вы записываете и можете воспроизводить на активном чертеже. Вы используете регистратор действий для сохранения команд в виде макроса действия (. … Использование макроса действия аналогично вводу команды AutoCAD, которую вы определяете, и вводу имени в командной строке.

Является ли VBA мертвым языком?

VBA никогда не исчезнет полностью, потому что слишком много компаний инвестировали в него. Microsoft продолжит продвигать API-интерфейсы JavaScript в качестве новой замены VBA на всех своих платформах (ПК, Mac, планшеты, браузеры). VBA по-прежнему требует изучения и может легко отличить вас от других пользователей Excel.5 мая 2019 г.

Как открыть VBA в AutoCAD?

Следующие шаги показывают, как это достигается:

  1. В AutoCAD выберите «Инструменты» > «Макрос» > «Диспетчер VBA». Отображается диалоговое окно диспетчера VBA.
  2. Выберите файл проекта для загрузки и нажмите кнопку Embed.
  3. Закройте диалоговое окно и вернитесь в окно AutoCAD.

Что такое программирование AutoCAD?

AutoLISP — это диалект языка программирования Lisp, созданный специально для использования с полной версией AutoCAD и его производными, включая AutoCAD Map 3D, AutoCAD Architecture и AutoCAD Mechanical.

VBA все еще полезен?

VBA не так мертв, как вы думаете.

Учитывая, что его так презирают, он должен быть заметно менее популярным, чем второй по популярности язык. … В 2020 году интерес к VBA по-прежнему в два раза выше, чем к популярному языку программирования, который можно использовать для автоматизации Excel. (Самый любимый язык программирования — Rust.

Почему VBA важен?

VBA — это язык программирования Microsoft. Это помогает в выполнении утомительной и сложной офисной задачи. Это помогает в создании электронной таблицы и для расчета большого количества данных. Мы все знаем, что Microsoft Excel — это основной инструмент, который обычно используется в личных и профессиональных целях.

В чем разница между макросом и VBA?

Макрос — это набор инструкций/кодов для автоматизации вашей работы, тогда как vba — это интерфейс, в котором записывается или сохраняется макрос.

Как включить макросы в AutoCAD?

выберите «Инструменты» > «Макрос» > «Макросы» (предыдущие версии AutoCAD или когда AutoCAD 2009 находится в классическом режиме AutoCAD). нажмите ALT+F8. Откроется диалоговое окно макроса.

Как написать скрипт в AutoCAD?

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

  1. Установите для системной переменной FILEDIA значение 0, чтобы диалоговые окна, которые обращаются к файлам, не открывались.
  2. Выполните шаги, которые вы хотите автоматизировать, используя только командную строку. …
  3. Нажимайте Enter в конце каждой команды или используйте пробел, что эквивалентно нажатию Enter.

Python лучше, чем VBA?

В отличие от языка VBA, используемого в Excel, анализ данных с помощью Python более четкий и обеспечивает лучший контроль версий. Еще лучше Python последовательность и точность в выполнении кода. Другие пользователи могут воспроизвести исходный код и по-прежнему получать плавное выполнение на том же уровне, что и исходный код.

Стоит ли изучать VBA в 2020 году?

Полезность и сложность: изучение VBA не так уж и полезно. Гораздо проще (и полезнее) развивать свои способности в использовании Excel. Изучение VBA требует времени, потому что вам также необходимо освоить API Excel (т.

Есть ли будущее у VBA?

Определенно, VBA — это не будущее. Но поддержка VBA будет продолжаться до тех пор, пока не будет продолжена работа Excel/Office. Существуют сотни миллионов строк кода VBA, поддерживающие очень важные процессы.

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

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