Hi Ger21
Thanks again for the quick reply. A practical example is where a complex profile is being cut. The program runs through various cutting profiles at various depths etc. and at an appropriate point it tests the value of parameter #100. #100 is a function of the thickness of the workpiece and the depth of cut. Progressive cuts reduce #100, until when the tool breaks through the value of #100 reaches zero. At this point the tool motion stops, or carries on in the program and does something else. My intention is to use a Z axis height probe to derive the depths (surface and base) which will be built into the opening part of the program. I wish to avoid simply using loops which will usually result in substantial over-travel into the material supporting the workpiece.
Example:
N1 {Piece of G code which carries out a number of actions, progressively reducing N
#100 from, say, 5 down to 0 at which point the program jumps in accordance with the IF statement}
N10
.
.
.
.
IF [#100 EQ 0] GOTO 110
GOTO 200
N110 {Another part of the program. Arrives here if #100=0}
N200 {A different part of the program. Arrives here is #100 is not equal to 0}
I know that IF...THEN...ELSE and GOTO are available in Fanuc, but clearly not in Mach3. However, there have been a number of posts that state that these functions can be implemented in Mach3 using a macro. I have seen some examples of macros, but these use expressions that I have yet to learn. The macros that come with Mach3 are similar - impenetrable without a primer. There have been suggestions that I learn by looking at a few examples - although this rather like being advised to learn French by reading a few works by Proust in the original language.

If you can give me an example for the above program I would be grateful.
Regards