From an instance node, I’m trying to move up the tree up to the
componentSetNode, then to each
componentNode so I can grab every valid combination of component properties (sometimes components have unused combinations).
When I run
. componentPropertyReferences on the
componentNode, I’m getting an empty object back.
Is there another way to tackle this?
Here is how the
componentPropertyReferences property is described in the documentation:
All component properties that are attached on this node. A node can only have
componentPropertyReferences if it is a component sublayer or an instance sublayer. It will be
null otherwise. The value in the key-value pair refers to the component property name as returned by
componentPropertyDefinitions on the containing component, component set or main component (for instances).
Therefore, to get the
componentPropertyReferences, you need to traverse the tree of children, its children’s children, etc.
Traversing the tree doesn’t show anything under
componentPropertyReferences for components under a componentSet. And
componentPropertyDefinitions isn’t what I’m looking for.
Have you traversed the children tree inside the
Yes I have, i went from instance → componentNode → componentSetNode → componentNode
InstanceNode.mainComponent.parent.children.children // etc.
Why would I go through each element inside a component node? Thats extremely inefficient.
Only there you can get a non-null
componentPropertyReferences. I wrote about this from the very beginning.