Обычно, когда в Blender пользователем выполняется какой-либо оператор, это событие автоматически заносится в “историю отмены” для того чтобы в дальнейшем можно было быстро отменить выполнение оператора (ctrl + z) или же выполнить его опять – отменить отмену (ctrl + shift + z). Однако этот механизм срабатывает не всегда.
Автор исследования: Andrej.
Если выполнить в Python Console простейший оператор добавления в сцену куба:
1 |
bpy.ops.mesh.primitive_cube_add() |
После чего проверить список операций отмены – в главном меню выбрать Edit – Undo History, мы увидим что выполнение собственно оператора в список отмены не попало, а только общий пункт действия в консоли “Console Execute”.
Для того чтобы сам оператор также попал в список отмены, нужно выполнить его, передав в его первый неявный параметр значение True:
1 |
bpy.ops.mesh.primitive_cube_add(True) |
Теперь вызов самого оператора так же записывается в список отмены Undo History