Обычно, когда в 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

.blend file on Patreon