Le macro possono essere create nel codice NC per più livelli di Z di una feature fresata. Per creare queste macro, il post-processor le deve supportare e si deve attivare questa funzione per il post.
Si può anche impostare Minimizza cambio utensile nella finestra di dialogo Ordinamento. Usare le impostazioni Attributi predefiniti incluse le macro per qualsiasi parte che è stata creata.
Minimizza cambio utensile raggruppa operazioni che usano lo stesso utensile. Questo fa risparmiare tempo eliminando o riducendo cambi utensile non necessari. Si deve deselezionare questa casella di controllo se si vuole creare macro di fori nel codice NC.
Questo attributo ha effetto solo sui setup di fresatura ed è l'unica opzione di ordinamento che cambia l'ordine delle feature specificate in Explorer. Minimizza distanze rapido muove alla feature successiva più vicina che usa lo stesso utensile come ultima operazione. Si deve deselezionare questa opzione se si vogliono creare macro di fori nel codice NC.
Ora quando si crea il codice NC, si ottengono macro per le feature fresate che sono fresate a più profondità Z.
Si possono usare le macro di fresatura (anche chiamate sotto-porogrammi o sotto-routine) in pattern. Per attivare le macro di fresatura nei pattern, selezionare Macro per ogni lavorazione del pattern nella scheda Strategia della finestra di dialogo Proprietà pattern.
Programmazione incrementale significa che i movimenti nelle sotto-routine sono relativi invece che assoluti. Invece di muoversi ad una posizione assoluta specifica all'interno della macro, i movimenti sono relativi alla posizione attuale, come ad esempio muoversi di due pollici aggiuntivi in X. Un esempio di codice G è G91 della Fanuc per la programmazione relativa.
Quando si usano sistemi di coordinate locali, i sistemi di coordinate sono costantemente ridefiniti all'esterno della macro e i movimenti all'interno delle macro sono assoluti. Esempi di questo concetto sono il G92 di Fanuc, il Datum Shift di Heidenhain e il G58 di Siemens.
Il codice G effettivo creato per pattern particolari dipende dalle opzioni di programmazione macro che sono supportate dal post-processor.