Incremental programming and local coordinate systems

You can use milling macros (also called subprograms or subroutines) in patterns. To enable milling macros in patterns, select Use macro calls for each instance in the pattern in the Strategy tab of the Pattern Properties dialog.

Incremental programming means that the moves in the subroutine are relative instead of absolute. Instead of moving to a particular absolute location inside of the macro, the moves are relative to the current position, such as move two additional inches in X. An example G-code is Fanuc's G91 for relative programming.

When using local coordinate systems, the coordinate systems are constantly being redefined outside of the macro and the moves within the macro are absolute. Examples of this concept are Fanuc's G92, Heidenhain's Datum Shift and Siemen's G58.

The actual G-code created for a particular pattern depends on the macro programming options that are supported by the post processor.