Nesting macros

Macros may be used on the right side of the assignment (called nesting) in combination with the NC code. The maximum nesting depth is fixed [6]-6.40.

Nesting is displayed by a '\' character that precedes the delimiting quotation marks. A macro should always represent complete expressions of an NC block (NC command, mathematical expression, term). This excludes the possibility of a macro only represented by the address letter of an NC command without the related mathematical expression. This connection will be discussed in the next sections.

Syntax of Nesting macros

"<macro_name>" = "<NC_code> \"< macro_name_i> \" <NC_code>"

Notice

A macro may not be called by its own nested macro name. Only nesting of other macro names is permitted.

Programming Example

Nesting macros

Example 1:
N10 "POS_1" = "X500 Y200"            (Macro definition)
N20 "MOVE1" = "G01 \"POS_1 \"F1000"  (Macro definition with nesting)
N30 "MOVE1"                          (Macro call)
M30
Example 2:
N10 " STRING_1 " = " 5*12 "          (Macro definitions)
N20 " STRING_2 " = " G \"STRING_1\" + 5 "
N30 " STRING_3 " = " M \" STRING_1\ " \" STRING_2 \" "
:
N200 " STRING_3 "                    (Call the nested macro)
:                                    (Corresponds to: N200 M60 G65        )