Как создать слой Layer
Создадим новый слой:
layer = c4d.documents.LayerObject()см. LayerObject
Назначим ему цвет и дадим имя:
layer[c4d.ID_LAYER_COLOR] = c4d.Vector(0.5, 0.3, 0.9)
layer.SetName("MyLayer")Получим невидимый корневой слой и добавим в него созданный:
layerRoot = doc.GetLayerObjectRoot()
layer.InsertUnder(layerRoot)Чтобы добавить объект к созданному слою нужно:
obj[c4d.ID_LAYER_LINK] = layer #привязать объект к слоюЧтобы изменить свойства слоя, нужно обратиться к соответствующим параметрам слоя. Пример ниже выведет все свойства всех слоев в документе:
root = doc.GetLayerObjectRoot() # Gets the layer manager
LayersList = root.GetChildren() # Get Layer list
for layers in LayersList:
name = layers.GetName()
print('=========== ',name, ' =============')
print('ID_LAYER_SOLO', layers[c4d.ID_LAYER_SOLO])
print('ID_LAYER_VIEW', layers[c4d.ID_LAYER_VIEW])
print('ID_LAYER_RENDER', layers[c4d.ID_LAYER_RENDER])
print('ID_LAYER_MANAGER', layers[c4d.ID_LAYER_MANAGER])
print('ID_LAYER_LOCKED', layers[c4d.ID_LAYER_LOCKED])
print('ID_LAYER_GENERATORS', layers[c4d.ID_LAYER_GENERATORS])
print('ID_LAYER_DEFORMERS', layers[c4d.ID_LAYER_DEFORMERS])
print('ID_LAYER_EXPRESSIONS', layers[c4d.ID_LAYER_EXPRESSIONS])
print('ID_LAYER_ANIMATION', layers[c4d.ID_LAYER_ANIMATION])
print('ID_LAYER_COLOR', layers[c4d.ID_LAYER_COLOR])
print('ID_LAYER_XREF', layers[c4d.ID_LAYER_XREF])
print('BIT_ACTIVE', layers.GetBit(c4d.BIT_ACTIVE))Есть и другой синтаксис доступа к параметрам:
Last updated
Was this helpful?