From a really old post:
Parametric programming is useful when used as an extension of the programmer. For instance, let’s say that you have arcs and straight lines in your program. It can be useful to control feed-rate based on formulas that calculate chip load in a turn verses chipload on a straight line move.
Instead of programming different feed-rates, it is possible to have the control calculate feed on the fly. At the top of the program there is a list of variables for feed and rpm. Make subprogram to calculate feed-rate based on size of arc. If move is straight then make feed a specific sfm (surface feed per min). Tool companies list formulas for their tools. Remember that imagination is the key. See it and then sketch your point of logic path you want to accomplish and finally program it.
Example; #100=85;sfm
#101=.005;chipload per tooth
#102=4;number of flutes
#103=.375;tool diameter
#104=(85*3.82/#103);rpm
#105=(#104*#101*#102);feed
This program becomes fun to the operator if he wants to experiment with tool life. Also these macros can be installed in posts to solve tool changer problems etc. I have even installed a macro in a post that automatically inserted tool comp and had a line of code that the operator could edit so he never had to go to his off-set page.
So, the question is, in a program that has lots of starts and stops, does it make sense to vary the RPM to keep the chipload constant or am I just chasing rainbows?