Для того, чтобы переключить активный инструмент из Т-панели в окне 3D вьюпорта нужно вызвать соответствующий оператор в параметре “name” которого нужно передать идентификатор idname требуемого инструмента.
Например для того, чтобы включить выделение окружностью Select Circle нужно вызвать оператор:
1 2 3 |
import bpy bpy.ops.wm.tool_set_by_id(name='builtin.select_circle') |
Если вы хотите вызывать оператор не из контекста рабочей области 3D вьюпорта, а например из скрипта в Text Editor, нужно вызывать оператор с переопределенным контекстом рабочей области.
1 2 3 4 5 6 7 8 9 10 11 12 |
import bpy area = [area for area in bpy.context.screen.areas if area.type == "VIEW_3D"][0] override_context = bpy.context.copy() override_context['window'] = bpy.context.window override_context['screen'] = bpy.context.screen override_context['area'] = area override_context['region'] = area.regions[-1] override_context['scene'] = bpy.context.scene override_context['space_data'] = area.spaces.active bpy.ops.wm.tool_set_by_id(override_context, name='builtin.select_circle') |