doc.GetActiveObjects

Метод doc.GetActiveObjects() возвращает список активных объектов. Аргументом принимает один из флагов:

  • GETACTIVEOBJECTFLAGS_NONE (Добавляется только самый верхний родительский элемент каждой цепочки)

  • GETACTIVEOBJECTFLAGS_CHILDREN(Дочерние объекты также добавляются в выделение, если они выбраны)

  • GETACTIVEOBJECTFLAGS_SELECTIONORDER (Массив выбора сортируется в порядке выбора, например, первый выбранный объект является первым элементом массива)

Например, если вы хотите изменить положение активного объекта, вы можете сделать это следующим образом:

import c4d
from c4d import documents

def main():
    # Получаем активный документ
    doc = documents.GetActiveDocument()

    # Получаем активный объект в документе
    obj = doc.GetActiveObjects()[0]

    # Изменяем положение объекта
    obj.SetRelPos(c4d.Vector(100, 0, 0))

    # Обновляем документ
    c4d.EventAdd()

# Выполняем функцию main
if __name__=='__main__':
    main()

В этом примере мы получаем первый активный объект и устанавливаем его относительное положение в (100, 0, 0) см. GetActiveDocument и GetActiveObjects

Last updated