Оператор для переключения чекбоксов

Оператор wm.context_toggle предназначен для переключения состояния чекбоксов в интерфейсе Blender. С его помощью можно настроить быстрое переключение любых чекбоксов в любых окнах и панелях.

Для примера настроим включение/выключение отображения сетки (wireframe) во вьюпорте.

Оператор “wm.context_toggle” принимает в качестве первого аргумента текстовый указатель на свойство, описываемое чекбоксом, в Blender Python API.

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

Обращение к нему при помощи оператора wm.context_toggle:

Оператор контекстный, поэтому для правильной работы с чекбоксом окна 3D Viewport, он должен вызываться только из окна 3D Viewport. Также поэтому в пути к свойству нет необходимости указывать полный путь с контекстом bpy.context.space_data.overlay.show_wireframes, а достаточно указать лишь часть, после указания контекста.

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

Для того, чтобы связать включение/выключение сетки с нажатием клавиши на клавиатуре, в окне “Preferences” в разделе “KeyMap” в списке “3D View – Object Mode – Object Mode(Global)” создайте новый шорткод на подходящую комбинацию клавиш.

В поле “Identifier” нужно указать вызов самого оператора “wm.context_toggle”, а в появившемся поле для аргумента “Context Attribute” ввести API-путь к нужному свойству “space_data.overlay.show_wireframes”.

Теперь при нажатии указанной клавиши в окне вьюпорта будет включаться/выключаться отображение сетки на объектах.

5 1 голос
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии