The postprocessor contains many hard coded keywords that usually are not changed. These words are referenced by the program and have specific behavior which is described in this section.
These keywords are used to indicate geometry definitions in the $PP file. The 1 left of the '.' stands for group 1, the 1 to the right of the '.' indicates the first line to be output to the NC file. Used in conjunction with text statements and the ;G switch, this allows for different types of output for geometry. See the section on group definitions for more information.
There may be more than one of each of these depending on the output necessary when each of these groups are called. For instance there may be a $ARC1.1 and a $ARC2.1 depending on the behavior necessary for the machine.
This is a post entry that allows for blank lines to be produced. Normally, all blank lines are suppressed by the postprocessor.
Will allow the post to output blank lines.
Normally the postprocessor will remove commas from text statements as per the APT standard.
would generate G88X10.R3P7 in the NC file.
However, some machine tools need commas in the NC file to separate parameters.
would generate G88X10.,R3,P7 in the NC file.
This line (which is commented out in GENERIC) controls the generation of the first index line. This is a line which is developed from the machine tool home position (usually 0,0,0) to the startpoint of the first geometric element.
Would suppress the generation of the first index line.
This is a word in the $PP file that indicates a code to be processed on startup of CPOSTII. This code will NOT generate NC code, it is specifically designed to establish the default state of the machine tool. The '1' following the word is used to indicate multiple header codes. The software will process $HEADER.1, $HEADER.2, and so on.
This keyword controls the index line match tolerance between geometric entities. If two consecutive entities are greater than 0.0001 unit apart, an index line will be developed. Note that this constant also applies to index line development during validation.
This line sets the default resolution used during post processing and computation of block transforms to eight decimal places. In order to obtain higher accuracy this value can be set as high as 16 decimal places, but at the expense of slower operation.
These keywords are used to switch the output mode of the postprocessor to absolute or incremental. In a $HEADER line these keywords establish the default state of the machine tool (i.e. GENERIC assumes the machine is in absolute mode when powered on).
Would cause the postprocessor to startup in incremental mode.
These keywords can also be entered into the AutoCAD drawing as text statements to allow switching between incremental and absolute mode during a NC program.
This represents the number of the lines to drop if an arc is equal to 90 degrees. It can be used on multi-line arc definitions to drop the remainder of the definition.
Will drop the $ARC1.2 and $ARC1.3 from the output if the arc is equal to 90 degrees.
This is the smallest arc (chordal) that can be represented by the machine tool. If the delta X or the delta Y from the start point to the end point of the arc is less than this value, the arc is converted to a straight line.
Will turn all arcs whose delta X or delta Y is less than 0.001 into lines.
This line defines the string to be output at the beginning of the NC file. This string typically defines the start of a program to the machine tool controller.
If not 0, circular interpolation is turned on and all arcs are converted to straight line segments.
Will turn on interpolation for all arcs.
This is related to arc interpolation. If the arc length is greater than this value, circular interpolation is turned on for this arc only.
Will turn on arc interpolation for any arc whose arc length greater than 99.999.
CIRCUL/CLW and CIRCUL/CCLW
These keywords are reserved because they are automatically executed when an arc is processed. If a clockwise arc is processed by the postprocessor, "CIRCUL/CLW" definition in the $PP file will be evaluated. If a counterclockwise arc is processed, the "CIRCUL/CCLW" definition will be evaluated. This results in all switches being processed and allows disable/enable of codes depending on arc direction. It also allows the ;G switch which allows totally different group definitions that automatically switch based on arc direction.
This is related to arc interpolation. If the arc radius is greater than this value, circular interpolation is turned on for this arc only.
Will turn on arc interpolation for any arc whose radius is greater than 9.999.
This line defines the string to be output at the end of the NC file. This string typically defines the end of a program to the machine tool controller.
When the .NC file is converted to the .OUT file, this line determines what the '$' character at the end of each line will be translated to. The default in GENERIC is to output a carriage-return line-feed at the end of each block of NC code.
Would cause all lines or blocks of NC code to be separated only by the '$' character in the .OUT file. No carriage-returns or line-feeds would be present in the .OUT file.
This is a post entry that will turn on error correction for incremental machines. The error is accumulated and added to the next linear motion. If set to 1, only lines are error corrected. If set to 2, both lines and arcs are error corrected.
Will turn on error correction for both lines and arcs.
This line defines the string to be output at the beginning of the .OUT or final output file. This is only used when there is a non-printable string needed at the start of a program.
Would place an ASCII 7 or control-G at the start of the .OUT file.
When this text statement is processed by the postprocessor, all pending text statements that are in buffers will be flushed out to the NC file. This is accomplished by the post executing the $TEXT definition. Normally text statements are flushed out on geometry, but sometimes it is easier to collect text statements and then FLUSH them out.
This line controls the output mode of the postprocessor. GENERIC is set up to output ASCII code to the final output file (the .OUT file).
Would cause the postprocessor to generate EIA code to the final output file. Note that the .NC file is still ASCII and can be hand edited and then converted to EIA using menu selection 2 of the CPOSTII main menu.
A 3d polyline on layer NC_HELIX will be considered a helix if the $PP entry $HELIX is set.
Will generate code for a helix if a polyline is on layer NC_HELIX. The start and endpoint are the same as the polyline. The radius and direction are computed from the polyline.
Will generate for a helix with the resulting output change in degrees per unit.
The postprocessor needs to know where the machine tool is positioned at the start of the program. This line initializes the machine tool position at startup to X0.0Y0.0Z0.0.
Would set the postprocessor so that the initial position of the machine tool is at X-20.0Y-10.0Z10.0.
This is the group number that will be switched to when a line on a layer named NC_INDEX is processed. The lines layer only need start with NC_INDEX to be counted as an index line. NC_INDEX_FR,NC_INDEX,NC_INDEX_TO are all valid index layer names.
Will cause the postprocessor to switch to group number 4 when an index line is encountered. The post will then switch back to the previous group after the line is processed.
This is the value used to compute the arc deviation for arc interpolation. The smaller the value, the more line segments and accuracy is obtained.
;I#0.001=INTOL (good for inch machines)
;I#0.01=INTOL (good for metric machines)
This keyword will result in a line of NC code at the top of the program with a job identification number. If this line is present in the $PP, the postprocessor will output a JOBID typically with a number following the characters specified in this line.
This line defines the string to be output at the end of the .OUT or final output file. This is only used when there is a non-printable string needed at the end of a program.
Would place an ASCII 7 or control-G at the end of the .OUT file.
This line represents the default state of the machine tool in terms of cutting verses non-cutting motion. GENERIC assumes that the machine tool is in non-cutting or RAPID mode. You should note that when this code is evaluated at startup, it disables the LINEAR code with the ;D switch.
Would cause the post to assume that the machine tool starts up in cut or LINEAR mode.
These keywords can be entered as text statements to switch between LINEAR and RAPID mode during an NC program.
This keyword will cause the postprocessor to use the secondary or metric formats on all quantities.
This is the first code to be executed in GENERIC.$PP and sets the origin of coordinates. These three values are subtracted from each X,Y, and Z value when it is output to the NC file.
Would result in 40 being added to each X value and 30 added to each Y value on output to the NC file.
This is a post entry that defines an offset for coordinate output. This offset is in addition to the OFFSET $PP entry.
Will result in a net offset for coordinate output of 3,3,0.
This word specifies the increment amount that SEQNO is increased by. The default in GENERIC is 1, but can be anything.
Would set sequence numbers to increment by 10.
This keyword is used to indicate an incrementing variable used to generate sequence numbers. Note that sequences numbers can be reset by a text statement in the drawing.
"SEQNO/1000" (text statement in a drawing)
Would set the current sequence number to 1000.
These keywords are identical and provide a way for the user to enter Z coordinate values with text statements. If the current mode of the postprocessor is absolute, then all Z text is considered to be absolute Z values. However, if the post is in incremental mode, then all Z values entered via text statements will be considered relative or incremental values.