ConfigPost Manual 2016
ConfigPost Manual 2016
User Manual
User Guide/PartMaker ConfigPost
Important User Notices
Delcam Ltd has no control over the use made of the software described in this
manual and cannot accept responsibility for any loss or damage howsoever
caused as a result of using the software. Users are advised that all the results
from the software should be checked by a competent person, in accordance
with good quality control procedures.
The functionality and user interface in this manual is subject to change without
notice in future revisions of software.
The software described in this manual is furnished under licence agreement and
may be used or copied solely in accordance with the terms of such licence.
Delcam Ltd grants permission for licensed users to print copies of this manual or
portions of this manual for personal use only. Schools, colleges and universities
that are licensed to use the software may make copies of this manual or
portions of this manual for students currently registered for classes where the
software is used.
Acknowledgements
This documentation references a number of registered trademarks and these
are the property of their respective owners. For example, Microsoft and
Windows are either registered trademarks or trademarks of Microsoft
Corporation in the United States.
Patents
PartMaker software is subject to the following patents:
Patent granted: US 6, 112, 133 Visual system and method for generating a CNC
program for machining parts with planar and curvilinear surfaces
Patent granted: US 6, 741, 905 Visual system for programming of simultaneous
and synchronous machining operations on lathes
Introduction to ConfigPost
The process of generating an NC Program for a specific CNC machine is called Post
Processing.
Many CAM systems generate what is known as a CL file (Cutter Location file). Such
CAM systems convert this CL file into a G-code program for a selected CNC machine
by running a collection of computer programs called "Post Processors".
PartMaker bypasses the intermediate step of generating CL-Data; it generates CNC
programs when the user chooses the "Generate NC Program" command from
PartMaker’s Job Optimizer menu. Since formats of CNC programs vary from
machine to machine PartMaker needs to know the program format structure for
every specific machine.
The CNC machine specific program structure is described using the ConfigPost
application and its description is stored in a file that the ConfigPost application
produces. Such a file is called "Post Processor Configuration File", usually
abbreviated as "Post Config File", "Post Processor", or most commonly, to "Post
File".
Pro Lite
Creating New post processors X
Entering data into unused formats X
Using the Import WRI, Advanced
X
Customization, and Channels features.
Creating new variables X
Creating new procedures X
Creating new user data X
Modifying previously used formats X X
Using reserved words and previously
X X
created variables/procedures
Assigning Variables X X
Figure 1-4 shows how PartMaker extracts all coordinate data from the Process Table
and the format of the line from the Post file, and then the corresponding values are
substituted to generate each line in the resulting part program.
Note: When modality delimiters are used with the {<seq>} reserved
word, PartMaker will strip all sequence numbers from the part program
during program generation. This is accomplished by specifying 0 for the
"Block Increment" number in PartMaker’s Post Options dialog for
PartMaker/Mill, PartMaker/Turn and PartMaker/EDM.
Note: Some turning processes fall into category of Material Control Processes
and they are handled as described in the section Handling Material Control
Processes.
{<coolant>X<x-coord>} is wrong!
{<coolant>}{X<x-coord>}
Important! The Tool Change format is output only if there is a tool change
between processes. If there is not a change in tool number, the Process
Start format is output.
Turn
The information in this section provides the rules or cases that apply to Program
Header formats for Turning.
The following rules apply to program formats you define in a Post file.
The reserved words, <x-coord> and <z-coord> are assigned the values of
the first path point and must appear in all program formats to provide the
first positioning move to the start of the path.
Important! The Tool Change format is output only if there is a change in tool
number between processes. If there is not a change in tool number, the
Process Start format is output.
WireEDM
The information in this section provides the rules or cases that apply to Program
Header formats for EDM.
The following rules apply to program formats you define in a Post file.
The reserved words, <x-coord> and <y-coord> are assigned the values of
the first path point and must appear in all program formats to provide the
first positioning move to the start of the path.
The example below shows how to set the reserved word <tool-num> to 10:
~<tool-num>10<eob>
Another example shows how to assign a value of one reserved word to another:
~<tool-num><tool-offset><eob>
Explanation Lines
ConfigPost allows to put explanations into any program format. An explanation line
has to start with ; (semicolon) and it has to end with <eob>.
During Post Processing PartMaker ignores explanations if the check box "Strip
Explanation Lines" is checked in the General Information,Mill or General
Information,Turn or General Information,WireEDM Dialog.
If "Strip Explanation Lines" is not checked then during Post Processing PartMaker
puts all explanations lines into a G-Code file.
The four lines shown above must be placed in the File Start section of your Post file.
The MACHINE NAME can be any name that you choose.
Each argument, separated by a blank space, represents a valid file name that will
be created during post processing. The names may be user-defined, without path
statements; the only required name is OUT_NAME.TXT that is used for special
purposes as described later in this section.
<PROG-NAME >.TXT is the name of the file initially created by ConfigPost
as entered by the user.
<PROG-NAME >.TXT is a text file.
FILE1.EXT is the first file to be created from the split. This file may have any
legal file name (such as FILENAME.TXT or NAME.XXX (it does not have to be a
.TXT extension).
Note: As with FILE1.EXT, the file name does not require a .TXT extension.
OUT_NAME.TXT is a special file name that must be created any time the
split/merge function is used.
&1 Put this line in the first file defined Inserting &1 is optional
&1&2 Put this line in the first and second file defined
The only rule is that the &# characters must be the first characters on the
line in which they appear. If no &# character appears, the line will be output
to the first file (represented by &1) by default.
<if><first-tool-use><then>
&2(T<tool-num> <tool-name><tool-note>)<eob>
<endif>
In this example, OUT_NAME.TXT is the last of three new files being created
during the #split operation, the appearance &3 tells PartMaker to place data
into the file OUT_NAME.TXT.
To view a post processed JOB file that outputs the two files constructed above:
1 In ConfigPost, save the Post file you just modified by choosing File menu,
Save As, then name the file TOOLLIST.PST or a similar name when
prompted.
2 In PartMaker, load the Post file you just modified by choosing Job Optimizer,
Post Config File=?.
3 In PartMaker, open a completed .JOB file and choose Job Optimizer menu,
Generate NC Program.
4 When prompted, name your program TOOLLIST.TXT, and then click<OK>.
5 You should see the contents of the OUT_NAME.TXT file as in Fig. 3-1.
6 Click the View Program button and you should see the Tool List as in Fig. 3-
3.
Each time <include> is found in a part program format in a Post file, PartMaker will
display the current process number, corresponding tool name, and a prompt to
enter additional process information.
%<eob>
:<prog-num1><eob>
{Please enter your name: <include> Programmer}<eob>
(TOTAL MACHINING TIME: <time-total>)<eob>
(MACHINING <face-name> FACE)<eob>
(MACHINING PROCESS <process-id>)<eob>
{N<seq> }G80 G40 G17<eob>
{N<seq> }G30 G91 Z0<eob>
{N<seq> }T<tool-num> M6<eob>
(<tool-name> <tool-note>)<eob>
(TIME FOR THIS TOOL: <time-process>)<eob>
{N<seq> }G90 <work-offset> <motion> X<x-coord> Y<y-coord> S<speed-rpm> <spindle-
on><eob>
{N<seq> }G43 Z<rapid-abs> H<tool-offset> <coolant><eob>
5 In PartMaker, with existing .JOB, .TDB and .CDB files open (you can use
DEMO.JOB or another job file), choose Job Optimizer, Post Config File= to
display a dialog.
6 Locate and open DEMO.PST or another Post file you want to use.
8 Make sure the Stop to Include User Input check box is turned on as shown in
the previous illustration, then click <OK>.
9 Choose Generate NC Program from the Job Optimizer Menu.
As post processing is being carried out, the Include User Input dialog will be
displayed:
10 Enter your name in the text box to replace the default name (Programmer),
then click <OK>.
Notice how the name will be inserted into the output file instead of the
entire line containing the <include> statement. The value assigned to
the <include> reserved word will be promptly “forgotten” by the Post file
after this line has been passed over during the post processing session.
[<z-coord>/2.0]
<if><smaller>(<z-coord>,[4.0 / 2.0])<then>
THE TOOL IS LESS THAN 2 INCHES ABOVE THE PART<eob>
<endif>
<if><smaller>(<z-coord>,4.0 / 2.0)<then>
THE TOOL IS LESS THAN 2 INCHES ABOVE THE PART<eob>
<endif>
~<var-3>[SIN(30)]<eob>
~<var-4>[SQRT((<x-coord>)*(<x-coord>)+(<y-coord>)*(<y-coord>))]<eob>
Note1: Angle measured in degrees must be used with SIN, COS, TAN.
Note2: Upper case letters only must be used in function names: SIN, COS,
TAN, SQRT.
[(<x-coord>) *(-1.0)]<eob>
Using this construction, you will be prompted with the dialog below when generating
an NC Program with a Post file including this construction:
If you enter 1 at the prompt, you will see the following in your G-code output:
TOOL-IS-ONE
If you input something other than 1 at the prompt, you will see the following in your
G-code output:
TOOL-IS-LARGER-THAN-ONE
Example 2: Using <prompt>:
This example is a construction used to configure a bar puller. Notice how the
value given to <prompt> is passed to a variable that is then used later in a
mathematical calculation.
Important! You can only create, delete and modify variables in the Variable
Names Dialog if you have licensed ConfigPost/Pro.
This dialog appears when you choose Variables Names... command from the
Settings Menu.
This command displays the Variables Names dialog where you can enter the names
of user defined variables. For Turn-Mill and SwissCAM Post files the same variables
can be used in either the Milling or the Turning section of ConfigPost.
Using Variables
ConfigPost provides you with 125 variables that can be assigned string or numeric
values. These variables can be found with the string reserved words and are labeled
<var-0> through <var-125>. Once variables are assigned values they will retain
those values until they are reassigned other values.
Example: Let's assume var-12 in Variables Names Dialog was given a name
"FACE-CLEAR". This variable can be assigned in the following manner:
<IF><metric-post><THEN>
~<v12-FACE-CLEAR>2.<eob>
<ENDIF>
<IFNOT><metric-post><THEN>
~<v12-FACE-CLEAR>0.05<eob>
<ENDIF>
Inserting Variables
Variables can be inserted into a Post file in the same manner as any other reserved
word can be.
Using Procedures
Procedures in ConfigPost allow the user to simplify a post processor by making it
modular. Using Procedures enables the user to decrease the size of a post
configuration file by allowing him to call sections of machine code with a single
reserved word instead of repeating code in every program format that might require
it. This is done by placing all the required ConfigPost reserved words and literals in a
procedure format and calling the procedure when needed. Procedures can be very
helpful for such programming exercises as activating an auxiliary device like a bar
puller, which can be called during any number of different program formats.
The steps involved in creating and using procedures are described below. The
example shown below is a bar feeding sequence taken from a Hardinge TT-65 Post
Processor. You can follow these same steps to implement new procedures or modify
existing procedures post processors for your machines.
Note: This dialog is taken from the Hardinge TT-65 post processor and
may appear different from the user’s screen.
Note: This dialog is taken from the Hardinge TT-65 post processor and
may appear differently on the user’s screen.
Calling Procedures
Inserting a procedure can be done in the same manner as inserting any other
reserved word.
1 Using the mouse, scroll down to the Procedure Calls list located after the
Procedures Words.
2 Double click on the desired procedure. It will automatically be inserted in the
program.
3 Below is an example of calling a procedure depending on a user condition:
;--BARFEED<EOB>
<IF><UC2-BARFEED><THEN>
<p04-BAR_PUSH/PULL><EOB>
<ENDIF
<IF><mat-control-process> <THEN>
<IF><eq-string>(<mcp-
function>,BF)<THEN>
...
<ENDIF>
<ENDIF>
The chart below shows how PartMaker outputs an NC program for a Material
Control Process that uses a turret tool. The first step is to output a Process
Header Format as following: the Program Start Format is output if a given process is
the first process in the Process Table, otherwise if a tool used in a given process
needs to be activated (i.e. brought into position to begin cutting) the Tool Change
Format is output, otherwise the Process Start Format is output.
2> MCP-Action
Note 1: Tool positioning rules in Process Header Formats for MCP are
similar to the rules for tool positioning in turning cutting processes, that is
<x-coord>, <z-coord> of the first position point have to be used.
However, because MCP has no toolpath, this first point (called "Position
Point") is either calculated by PartMaker or entered by the user in
PartMaker's Material Control Process Parameters dialog.
<IF><eq-string>(<mcp-function>,PSG)<THEN>
<p02-BARPULL-FINGER><eob>
<ENDIF>
<IF><eq-string>(<mcp-function>,PFG)<THEN>
<p03-BARPULL-BUSH><eob>
<ENDIF>
<IF><eq-string>(<mcp-function>,BF)<THEN>
<p04-BARFEED><eob>
<ENDIF>
<IF><eq-string>(<mcp-function>,TF)<THEN>
<32><32><eob>
(TAILSTOCK FORWARD)<eob>
M84<eob>
<ENDIF>
<IF><eq-string>(<mcp-function>,TR)<THEN>
<32><32><eob>
(TAILSTOCK RETRACT)<eob>
M85<eob>
<ENDIF>
<IF><eq-string>(<mcp-function>,PSS)<THEN>
<p13-SET-TURN>
<IFNOT><eq-string>(<mode-sub-sp-next>,SF)<THEN>
<p21-M0SN-RECHUCK>
<ENDIF>
<IF><eq-string>(<mode-sub-sp-next>,SF)<THEN>
<p22-M0SF-RECHUCK>
<ENDIF>
~<v18-RECHUCK-ZR><z-coord><eob>
~<v37-PREV-MOVE-TOOL>0<eob>
~<v22-PRE-STCK-Z-POS>0<eob>
<ENDIF>
Important! If you have not licensed ConfigPost/Pro, you will NOT be able to
import WRI files.
![1][1]---Tool Change,Turn-----------------------------
According to the table above, 2D positioning and cutting moves are in the YZ plane
and the plunge-in axis is the X-axis.
The situation is very similar for X-oriented tools for Faces Windows of machining
functions Mill Diam, Index and Mill Cylinder, however, 2D coordinates are defined in
terms of Z and C coordinates instead of Z and Y coordinates. To differentiate
between these two cases, each plane will be referred to as ZC Plane and ZY Plane,
respectively.
X-oriented tools are also used for Face Windows of Machining Function Mill Diam,
Polar and Mill Polygon. The type of motion required is solely 2D and plunge-in is not
required.
For ZY Plane:
{n<seq> }{<motion> }Y<y-coord>Z<z-coord><eob>
For ZC Plane:
{n<seq> }{<motion> }C<c-angle>Z<z-coord><eob>
Important! The Tool Change format is output only if there is a change in tool
number between processes. If there is not a change in tool number, the
Process Start format is output.
3 To load the post configuration for sub-spindle click on the Tm-demo.sub file
and then click on Open button.
4 Notice that the only major difference between Tm-demo.pst and Tm-demo.sub
is in the Process Start formats found under both the Configure Mill and
Configure Turn menus. When you view Program Start for *.SUB files you
might see the following warning:
Program Start
DO NOT START PROGRAMS ON THE SUB SPINDLE WITH THIS POST PROCESSOR<EOB>
Note: When working with post processors which consist of both *.PST and
*.SUB components in ConfigPost, you can launch two instances of
ConfigPost simultaneously in order two work with both main and sub
spindle configuration files at once.
;=====================<eob>
<IF><eq-string>(<header>,PGS)<THEN>
PROGRAM START DATA HERE<eob>
<ENDIF>
;=====================<eob>
<IF><eq-string>(<header>,TCH)<THEN>
TOOL CHANGE DATA HERE<eob>
<ENDIF>
;=====================<eob>
<IF><eq-string>(<header>,PRS)<THEN>
PROCESS START DATA HERE<eob>
<ENDIF>
;=====================<eob>
<IF><eq-string>(<header>,PRE)<THEN>
PROCESS END DATA HERE<eob>
<ENDIF>
Note: This step may only be necessary for PartMaker Turn-Mill and Swiss
CAM and some PartMaker Mill users. If you are customizing a library post
processor for the PartMaker Mill, Turn or Wire EDM applications, please
proceed to Using the “Auto-Reload Post Config File” Feature.
Once you have enabled the ‘Config-by-Click’® feature, it may be necessary to
create a Non-Distribution Post File before proceeding with the customization
process. All Post Processors initially supplied with the PartMaker Turn-Mill and
SwissCAM modules are referred to as “Distribution Post Files.” Distribution Post Files
are post processors that are distributed to the PartMaker user community at large
and maintained directly by PartMaker Inc.’s Applications Department. Distribution
Post Files can only be modified by PartMaker Inc. Once you have created a Non-
Distribution Post File, you can modify that post file as often as you wish going
forward.
The Distribution Post Files that you have licensed can be viewed by choosing
License Info from the Help menu as shown in Figure 3 below.
Note: If you are not sure of your customer PIN, please contact PartMaker’s
customer support ([email protected])
The dialog box shown in Figure 6 lets you specify a directory in which to save the
new post files. The post files may also be renamed in this dialog. Click <OK> to
finalize creating a non-distribution post file.
Note: The “Auto-Reload Post Config File” will only reload the post that is
currently loaded in Job Optimizer under the Post Config File=. If you
save the post file by a different file name in the ConfigPost Application, then
you will have to reload the post file manually.
4 Using ‘Config-by-Click’® to modify a post file:
If you had to create a Non-Distribution Post file from (2) Creating a non-
distribution Post File, please load the Non-Distribution Post file at this time and
repeat the steps described in (1) Enabling ‘Config-by-Click’ before continuing.
Upon loading a post file and enabling the ‘Config-by-Click’® feature, PartMaker’s NC
Viewer will display both the NC code output from the post processor file (left
column), as well as the location of the program format in the Post File (right
column) as shown in Figure 8.
Figure 9: ConfigPost window highlighting a formatting line #21 as indicated in the lower left corner of the
window. A corresponding G-code line is highlighted in the background
The ‘Config-by-Click’® feature has been designed to locate the program format in
the post processor where the output is formatted. It is advised that after making a
change to the post file, you should reload the post file and verify the changes to the
output by regenerating the NC program before clicking to modify the post file in a
new location. This will prevent any mismatches between the G-code line and the
location highlighted in ConfigPost.
0 1 2 3 4 5 6 7 8 9
20 \024 \025 \026 \027 \030 \031 \032 \033 \034 \035
40 ( ) * + , - . / 0 1
50 2 3 4 5 6 7 8 9 : ;
60 < = > ? @ A B C D E
70 F G H I J K L M N O
80 P Q R S T U V W X Y
90 Z [ \ ] ^ _ ` a b c
100 d e f g h i j k l m
110 n o p q r s t u v w
120 x y z { | } ~ \177