Most users stop at simple command sequences. But E3D macros support full PML logic. This is where you save hours.
Scenario: You need to add 20 evenly spaced grating plates across a walkway. aveva e3d macros
-- macro: add_grating.plate
DEFINE I 1
WHILE #I LE 20 DO
NEW PLATE
SPREF "GRATING-30"
POS E ((#I - 1) * 250) N 0 U 1200
ORI E
XSIZE 200
ZSIZE 800
CREATE
SET I = #I + 1
ENDWHILE
One macro. Twenty plates. Perfectly spaced. Zero typos. Most users stop at simple command sequences
Macros do not automatically reset the current position. If your macro assumes you are at U 0, but the user last clicked U 5000, your objects will float.
Fix: Always set an explicit origin or use BY vs TO carefully. One macro
Treat your .mac files like source code. Use Git to track who changed the macro that accidentally flipped all nozzles 180 degrees.