6.1.9 Level number
The level number can be used as a suffix on many commands that
output information about the current element: it causes them to act instead on
the current element in an outer loop. E.g. properties of non-properties in the
containing loops can be accessed by immediately following the property statement
with a level number and a semicolon:
:property local name;levelNumber
E.g.
:Documentation;1 refers to the
Documentation property of the object in the loop immediately containing the
current loop.
If no level number is specified the default is 0, the
current loop. Note that outside of all the loops the current element is the
element (normally a graph) the generator is being run on. Negative level numbers
can also be used: –1 is the element (normally a graph) the topmost
generator is being run on, –2 the element within its outermost loop, etc.
In generators in symbols, the stack is pre-loaded with the graph and the element
whose symbol is being displayed. If the symbol is being displayed as a subsymbol
of a template, the stack includes the parent object(s). In identifier
generators
, the stack is pre-loaded with the element
whose identifier is being generated.
When used in a chain clause or chain output command, the
level number should come after the first element of the chain:
:Target;1:Intermediate:Trigger