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

Оператор 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 Комментарий
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии