Создание точек отката UNDOTYPE
В Cinema 4D Python API, методы StartUndo
, AddUndo
, и EndUndo
используются для создания точек отката (undo points) при изменении документа сцены. Это позволяет пользователям отменять и повторять изменения, сделанные скриптом.
Смотреть в документации StartUndo
Вот как эти методы и типы можно использовать в скрипте:
Пример: Изменение позиции объекта с точками отката
Пример: Удаление объекта с точками отката
Пример: Изменение выбора объекта с точками отката
Пример: Изменение иерархии и PSR объекта с точками отката
Ниже перечислены типы которые можно использовать для фиксации точек отката:
UNDOTYPE_CHANGE Любое изменение объекта, включая модификации иерархии; изменение позиционирования (объект был перемещен из A в B), подструктур и т. д. (Необходимо вызвать перед изменением.)
UNDOTYPE_CHANGE_NOCHILDREN То же, что UNDOTYPE_CHANGE, но без дочерних изменений. (Необходимо вызвать перед изменением.)
UNDOTYPE_CHANGE_SMALL Изменяете только локальные данные (например, контейнер данных), без подструктур (например, без тегов на объекте) и без дочерних элементов. (Необходимо вызвать перед изменением.)
UNDOTYPE_CHANGE_SELECTION Измените выбор только на точку/полигон/ребро. (Необходимо вызвать перед изменением.)
UNDOTYPE_NEWOBJ Был создан новый объект/узел/тег и т. д. (Необходимо вызвать после изменения.)
UNDOTYPE_DELETEOBJ Объект/узел/тег и т. д., подлежащий удалению. (Необходимо вызвать перед изменением.)
UNDOTYPE_ACTIVATE Автоматически управляется с помощью BaseDocument.SetActiveObject()/SetActiveTag()/SetActiveMaterial() и т. д. Нет необходимости использовать вручную.
UNDOTYPE_DEACTIVATE Автоматически управляется с помощью BaseDocument.SetActiveObject()/SetActiveTag()/SetActiveMaterial() и т. д. Нет необходимости использовать вручную.
UNDOTYPE_BITS Изменение битов объекта, например, статуса выбора. (Необходимо вызвать перед изменением.)
UNDOTYPE_HIERARCHY_PSR Изменение иерархического размещения и значений PSR. (Необходимо вызвать перед изменением.)
Last updated