Create Layers with python

How to create layers with python?

CreateLayersWithPython CreateLayersWithPython CreateLayersWithPython CreateLayersWithPython

2D layers

In order to create layers, you need the name of its generator class; check the Layers Class names list for information:

  • Instantiate your layer
  • Define the type
  • Change it’s parameters
  • Place it in the Element tree

Example with a simple 2d compo layer:

comp = Oil.createObject("Compo") #Create the compo generator
myLayer = Oil.createObject("TextureLayer") #create the Layer for the compo
myLayer.generator = comp #assign the Compo to the Layer
myLayer.label = "myCompo" #change the label of the compo (can be done for every parameter of the layer or compo)
script.rootElement.layers.append(myLayer) #add the layer to the tree

3D Layers

Here is an example of a simple 3d layer with a box and an additional modifier:

box = Oil.createObject("BoxGeometryGenerator")
modifier = Oil.createObject("ColorizeGeometryModifier")
modifier.color = Oil.HsvColor(red = 1.0, alpha= 1.0)

renderer = Oil.createObject("SurfaceGeometryRenderer")
myLayer = Oil.createObject("GeometryLayer")
box.modifiers.append(modifier)
myLayer.generator = box
myLayer.renderer = renderer
script.parentElement.layers.append(myLayer)

Shapes

Here is an example of a shape layer drawing a simple circle:

circle = Oil.createObject("CircleShapeGenerator")
renderer = Oil.createObject("DefaultShapeRenderer")
layer = Oil.createObject("ShapeLayer")
layer.generator = circle
layer.renderer = renderer
script.parentElement.layers.append(layer)