There are two distinct steps in Router-CIM. The cut step and the Sequence step. As outlined above, post processing is a pretty linear step. It takes all the elements in order during Sequence and outputs them according to a set of rules defined in the system, passes them through the $pp file and then into an NC Code file.
But what gets all the bits into the drawing so that they can be output during the post processing step? The answer is Cut, and Sequence.
After your geometry is geoshaped, and all the necessary knowledge information has been filled in, such as tool number, feed, speed, depth of cut, then you press cut, and a toolpath appears on your screen in accordance with your knowledge parameters. These cuts have an abundance of data stored in them, and contain many of the pieces that the post processor will later need in order to properly generate the NC Code.
So, how does all the data get into the cut? The answer is tasks. Tasks are small programs, written in a form of Autolisp. Kind of like a macro. These tasks place text words, and sometimes geometry into a toolpath. It is necessary sometimes to make changes to tasks, so that the right words are embedded into your cut, long before you get anywhere near the post processing stage.
Each post processor is usually shipped with a set of tasks that can be modified to allow changes to the behavior of the cut, and therefore to the behavior of the NC Code that is developed later. These are the .tsk files that are named with the same name as the post in the Ncpost folder.
As important as it is to have specific words in a particular toolpath, sometimes you need words that are generic to the toolpaths, but specific to a particular machine. What I mean by that is a word that needs to be output in a program, but not necessarily in any one cut. Maybe at the beginning of the program or the end, or even in between one cut and another.
To accomplish this feat, we use the Sequencer. The Sequencer is a set of files that get run when you press the Sequence button in Router-CIM. When you do so, you are prompted to select the toolpaths that you want turned into NC Code. The Sequencer then looks up all the things it has to do, and in what order. The Sequencer then performs its functions, one of which is to run the program that steps all the words through the $pp file and turns them into NC Code.
The Sequencer can, similar to tasks, be modified on a per machine basis to change the way the code is output. It too uses Autolisp, and has several programs in its files, usually called Defuns (define function) to do its work. If you needed words or behavior to happen at the beginning of every program, you use the Defuns that run at the beginning. Similarly there are Defuns to govern what happens during a toolchange, or even what happens when you switch from one cut to another cut with the same tool.
The Sequencer files are the .seq and the .tsl. These files are in the Ncpost folder along with the rest of the files for a particular machine.