Найти в Дзене
Логово Инженеров

Собственная панель с кнопками для запуска макросов в AutoCAD

AutoCAD — мощная система автоматизированного проектирования, позволяющая не только чертить и моделировать, но и расширять свои функции с помощью программирования. Одним из способов повышения эффективности работы является создание пользовательских панелей инструментов с кнопками для запуска макросов. Создание собственной панели с кнопками — не просто удобство, а возможность адаптировать AutoCAD под себя. Это позволяет персонализировать рабочее пространство так, как вам удобно. Добавление на панель картинок для кнопок (иконок) и группировка команд по смыслу помогают визуально разнообразить интерфейс, делая его не только более приятным, но и интуитивно понятным. В этой статье на примере версии AutoCAD2021 мы пошагово рассмотрим, как это можно сделать; какие есть нюансы при создании кнопок, как через кнопки запускать разные виды макросов (LISP, VBA, .NET). Шаг 1: Подготовьте макросы Перед тем как создавать панель инструментов, необходимо подготовить сами макросы. Самый простой случай – с м

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

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

В этой статье на примере версии AutoCAD2021 мы пошагово рассмотрим, как это можно сделать; какие есть нюансы при создании кнопок, как через кнопки запускать разные виды макросов (LISP, VBA, .NET).

Шаг 1: Подготовьте макросы

Перед тем как создавать панель инструментов, необходимо подготовить сами макросы. Самый простой случай – с макросами LISP. Достаточно просто добавить их в автозагрузку автокада:

  • Вкладка [Управление] → [Загрузить приложение] → [Приложения] → [Добавить] → указываем файл(-ы) с расширением .lsp

Впоследствии нам лишь понадобится прописать названия LISP-команд в соответствующих полях при создании кнопок.

С другими видами макросов (в данной статье рассматриваем только VBA, .NET) ситуация обстоит чуть сложнее. Наиболее оптимальный способ интеграции таких макросов в создаваемую панель – с помощью файла LISP, в котором записаны скрипты загрузки в автокад данных макросов. Более подробно со способом загрузки через LISP можно ознакомиться в другой моей статье - Загрузка и запуск макросов в AutoCAD.

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

Для макросов VBA необходимо прописать в LISP-файле не только скрипт загрузки в автокад, но и скрипт запуска этих макросов.

Пример кода для загрузки макроса VBA в автокад:

(vl-vbaload "C:/Users/user/Desktop/MyVBA/Test1.dvb")

Пример кода для запуска макроса VBA под названием Test1 через аббревиатуру tt:

(defun c:tt ()
(command "-vbarun" "Test1")
(princ)
)

Итак, после создания файла LISP со всеми необходимыми командами загрузки и запуска макросов VBA и/или .NET, файл нужно добавить в автозагрузку автокада (точно так же, как и другие макросы LISP):

  • Вкладка [Управление] → [Загрузить приложение] → [Приложения] → [Добавить] → указываем файл(-ы) с расширением .lsp

Шаг 2: Настройки пользовательского интерфейса (CUI)

Перейдем на вкладку [Управление] → [Пользовательский интерфейс]. Также это можно сделать, вводя в командную строку автокада команду «НПИ» либо «_CUI».

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

Адаптация пользовательского интерфейса. Часть 1
Адаптация пользовательского интерфейса. Часть 1

Для этого необходимо перейти на вкладку [Перевести] и нажать на кнопку создания файла адаптации. Далее необходимо указать место его сохранения (при необходимости в дальнейшем его можно будет его перенести в более удобное месторасположение).

Адаптация пользовательского интерфейса. Часть 2
Адаптация пользовательского интерфейса. Часть 2

Возвращаемся на вкладку [Адаптация] → Наводим курсор на раздел [Файлы частичной адаптации] и нажимаем [Загрузить файл частичной адаптации] → Указываем ранее созданный файл с расширением .cuix

Адаптация пользовательского интерфейса. Часть 3
Адаптация пользовательского интерфейса. Часть 3

Если все действия были выполнены корректно, то в разделе [Файлы частичной адаптации] должна появиться наша «заготовка» с указанным ранее названием при сохранении.

Обратите внимание: у файла адаптации имеются категории «Панели» сразу в двух местах – нас интересует только Панель, располагающаяся внутри раздела «Лента». Раздел «Панели» ниже – является панелью для «классического» автокада, и в данной статье не рассматривается. Принцип создания кнопок для нее будет полностью аналогичным. При необходимости можно, конечно, создать панель с кнопками для обоих случаев.

Адаптация пользовательского интерфейса. Часть 4
Адаптация пользовательского интерфейса. Часть 4

Шаг 3: Создание новой команды

В окне пользовательского интерфейса нажимаем на кнопку создания новой команды – перед нами появится справа форма для заполнения с разделами «Значок» и «Свойства». Графу «Макросы» необходимо заполнить следующим образом: после символов ^C^C необходимо добавить имя вызова команды с символом подчеркивания (примеры: ^C^C_namelispcomand; ^C^C_tt). Далее необходимо выбрать изображение для кнопки для малого изображения (16x16) и большого изображения (32x32). Изображение можно выбрать из предлагаемого списка изображений по умолчанию, либо загрузить собственное изображение (см. Шаг 5). Далее необходимо нажать [Применить] – команда сохранится в общем списке команд.

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

Шаг 4: Добавление кнопок на панель

Перед тем, как добавить созданную команду (кнопку) на панель, необходимо в подразделе «Панели», в разделе «Лента», создать новую панель и назначить ей имя. Затем в поле для поиска команд под разделом «Список команд» необходимо найти ранее созданную команду и, зажав правую кнопку мыши, перетянуть команду в созданную панель, далее нажать [Применить]. По аналогии можно создавать и перетаскивать другие команды, новые панели, менять их расположение местами и пр.

Добавление кнопок на панель. Часть 1
Добавление кнопок на панель. Часть 1
Добавление кнопок на панель. Часть 2
Добавление кнопок на панель. Часть 2

Шаг 5: Особенности редактирования кнопок

При выделении добавленной на панель кнопки теперь мы видим больше параметров для заполнения в Свойствах – здесь можно настроить стиль кнопки, задать описание, подсказу и др.

Редактирование кнопок
Редактирование кнопок

При желании можно изменить символ значка в редакторе кнопок (нажимаем на кнопку [Изменить]). Однако более оптимальным и удобным решением будет использование сторонних редакторов иконок с расширенным функционалом – например, таких приложений как Greenfish Icon Editor или IcoFX. Для малых изображений кнопок подойдут картинки с расширением 16x16, для больших – 32x32 (64x64). Картинки должны быть сохранены с расширением .BMP – затем их можно загрузить по кнопке [Импорт] в редакторе кнопок.

Важно! Картинки кнопок с расширением .BMP должны храниться в специальном каталоге для пользовательских настроек AutoCAD (соответствующей версии):

C:\Users\Admin(UserName)\AppData\Roaming\Autodesk\AutoCAD 20xx\R24.3\rus\Support\Icons

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

Я пробовал повторять процедуру импорта кнопок в различных версиях автокада (2017, 2019, 2021…) и из раза в раз сталкивался с ситуацией, когда загруженное изображение значка кнопки оказывалось заметно искаженным относительно исходного изображения без каких-либо явных на то причин. Это баг на стороне AutoCAD, который мне удалось методом множества проб и ошибок «вылечить». Ниже опишу порядок действий, который позволяет исправить эту неприятную ситуацию.

1. Если при импорте изображение загрузилось искаженным, то необходимо закрыть окно редактора кнопок по кнопке внизу. При этом при закрытии всплывает окно с вопросом «Сохранить изменения для кнопки?» - необходимо ответить ДА и указать название картинки.

Редактор кнопок. Часть 1
Редактор кнопок. Часть 1

2. Следом необходимо нажать на кнопку [Изменить] и снова оказаться в редакторе кнопок.

Редактор кнопок. Часть 2
Редактор кнопок. Часть 2

3. Затем нужно закрыть редактор кнопок нажатием «крестика» вверху справа и без сохранения.

Редактор кнопок. Часть 3
Редактор кнопок. Часть 3

4. После выполнения пунктов 1-3 изображение автоматически скорректируется под исходное. И, наконец, нужно будет нажать на кнопку "Сохранить...", тогда изображение картинки зафиксируется. Такой вот парадокс :)

Редактор кнопок. Часть 4
Редактор кнопок. Часть 4

5. Дополнительно отмечу еще одну проблему, которая связана с отображением кнопок. Бывает, что вместо нужной картинки по какой-то причине отображается облачко с вопросом. Это связано с тем, что автокад не нашел путь к картинкам кнопок. Внимательно проверьте расположение картинок, они должны располагаться, как было описано ранее, по пути: C:\Users\Admin(UserName)\AppData\Roaming\Autodesk\AutoCAD 20xx\R24.3\rus\Support\Icons
Проверьте, может быть на ПК установлено несколько версий автокада, а картинки по невнимательности были скопированы в каталог другой версии. Либо в каталог другого пользователя. Если вы не можете найти папку
AppData – то это потому, что она является скрытой (в таком случае необходимо разрешить Windows показывать скрытые папки и файлы в настройках видимости).

Пример неподгрузившейся картинки кнопки
Пример неподгрузившейся картинки кнопки

Если у вас нет большого желания использовать собственные картинки кнопок, то имеет смысл использовать картинки из списка AutoCAD по умолчанию – с ними таких проблем не возникает :)

Заключение

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

Приходилось ли вам сталкиваться с багами при импорте картинок кнопок в автокад?

Больше полезной информации о приемах работы в AutoCAD можно найти в Телеграм!
База данных плагинов и макросов канала "Логово Инженеров":
https://engineerslair.tilda.ws