ScriptSpot

Forum topic · General Scripting

How to get the layers in a layer?

By JensSchmidt · 2017-05-05

Description

I just can't figure out how to see if a layer have layers in it OR if a layer is a sublayer to another layer.

This lists each layer and its node content but no layers appears as nodes, only objects!?

for i=0 to LayerManager.count-1 do
(
layer = LayerManager.getLayer i
print("Layer: " + layer.name)
layer.nodes &layerNodes
for j=1 to layerNodes.count do
(
print("Object: " + layerNodes[j])
)
)

Comments (1)

.

miauu · 2017-05-12


(
	scene_layers = #()
	struct layer_data (name="", childlayers=#())

	fn recursiveStoreLayerFn layer parentStruct:undefined =
	(
		curSt = layer_data()
		curSt.name = layer.name
		if parentStruct != undefined then append parentStruct.childlayers curSt else append scene_layers curSt
		for i = 1 to layer.getNumChildren() do recursiveStoreLayerFn (layer.getChild i) parentStruct:curSt
	)

	for i = 0 to layerManager.count-1 do
	(
		curLayer = layerManager.getLayer i
		if curLayer.getParent() == undefined do recursiveStoreLayerFn curLayer
	)
	
	print scene_layers
)