Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Reference Manual
Post Processing for Milling, Turning & Wire EDM
By Delcam plc
Release Issue 1
Disclaimer
Delcam plc 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.
Information contained in this manual is subject to change without notice
and does not represent a commitment by Delcam plc. The software
described in this manual is furnished under licence agreement and may be
used or copied in accordance with the terms of such licence. No part of
this manual may be reproduced or transmitted in any form or by any
means, electronic or mechanical, including photocopying and recording,
for any purpose without the express permission of Delcam plc.
Copyright 1995-2008 Delcam plc. All rights reserved
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 and/or other countries.
Restricted Rights Legend
The Program and Program Materials are provided with Restricted
RIGHTS. Use, duplication, or disclosure by the United States
Government is subject to restrictions as set forth in subparagraph
(c)(1)(ii) of the Rights in Technical Data and Computer Software Clause
at DFARS 252.227-7013, Manufacturer is the Licensor: Delcam plc.
Permission to Copy for Licensed Users
Delcam plc grants permission for licensed users to print copies of this
manual or portions of this manual for personal use only. Schools that are
licensed to use FeatureCAM may make copies of this manual or portions
of this manual for students currently registered for classes where
FeatureCAM is used.
Xbuild Version: 8.0 Date: 07/10/2008 17:37
Contents
Xbuild overview
Mill posts
28
Contents i
Turn posts
95
ii Contents
Turn/mill posts
132
Contents iii
156
161
Tutorials
183
Index
iv Contents
191
Xbuild overview
This section describes how to use the Xbuild post processor.
Template concept
The CNC data file created in Xbuild is used by Post as a 'template' to
format the part program data file created in FeatureCAM.
The template consists of program formats (for example, Linear Move,
Rapid Move) that determine the structure of a part program for a
specific CNC. Each format uses address characters (for example X, Y...)
and reserved words (for example <X-COORD>, <Z-COORD> ...) to
indicate the sequence of data in program blocks.
Program formats are sequentially filled. This means that reserved words
are substituted by their corresponding values, G and M codes (machine
tool codes) when the part program data file is post processed.
Xbuild overview 1
Post extracts the coordinate data from the FeatureCAM part program data
file, as well as the line format from the Xbuild CNC information file.
Then, the appropriate values are substituted to generate the line of code.
Letter addresses N, Z, X and F are typed as literals, and appear in the
output CNC file as they appear in the format block. The reserved words,
such as <SEQ>, <MOTION> and so on, identify placement of
corresponding values (or strings) in the block.
Codes (or control characters) can be embedded in a program format.
To enter them, type the decimal value equivalent of the ASCII code,
delimited by angular brackets < >.
2 Xbuild overview
To open the dialog, select CNC-Info - General from the Menu bar.
Xbuild overview 3
File menu
The Xbuild File menu is the same for all post processor types:
Open CNC - loads an Xbuild post file. The Open dialog is displayed
allowing user to browse computer directory for a post processor. Post
processors have a .cnc file extension, and are kept in the folders MLBRY, T-LBRY and E-LBRY within the FeatureCAM folder. Mill post
files are in M-LBRY, Turn posts are in T-LBRY, and Wire EDM posts
are in E-LBRY.
Save CNC - saves new or updated CNC file.
The use of post processors in FeatureCAM is restricted by the
particular version of Xbuild / FeatureCAM it was created or
modified in. A post created or modified in a newer version of Xbuild
will not be backward compatible with an older version. Post
processors are forward compatible with newer versions of
FeatureCAM. A warning message will be displayed when saving a
post that was modified in a newer version than the one it was
created in. This is not a problem unless the post needs to be used in
an older version of FeatureCAM.
Save As CNC - saves file with user-defined name and location.
Document CNC - CNC files are binary files and cannot be directly
printed. Use this option to create a text file from the current CNC data
file.This file has a .cnx extension, and can be edited and printed with any
text editor.
Compare CNC (see page 5) - lets you compare CNC posts.
Edit in Text Editor (see page 6) - lets you edit formats in a text editor.
Export Formats - lets you export all formats to a text file on the disk.
When you click Export Formats in the menu, a Save As dialog opens
where you specify the name and path for the file. After the file is saved,
you can open it and edit it in a text editor.
Import Formats - lets you import all the formats from a text file on the
disk. When you click Import Formats in the menu, you are given the
option to import the last exported file, if a file was exported during the
current XBUILD session. If you click Yes, the file is imported silently. If
you click No, an Open dialog displays where you specify the path and
name of the file. After you select the file, the CNC formats written in the
file are read and imported.
4 Xbuild overview
Compare CNC
You can compare CNC posts using File > Compare CNC:
Compare CNC allows a CNC author to compare the currently open post
to another post on the disk. If the second CNC is from a newer version, an
error is displayed. You must install DiffMerge (or other merge program
capable of command prompt input) on your computer and add the path of
the executable to the 'XBUILDDIFF' environment variable.
To add an environment variable in Windows XP:
1. Go to Start > Control Panel > System.
The System Properties dialog opens.
2. On the Advanced tab, click the Environment Variables
button.
The Environment Variables dialog opens.
3. In the User variables... section, click the New button.
The New User Variable dialog opens,
4. For the Variable name, enter XBUILDDIFF.
Xbuild overview 5
For the Variable value, enter the path to the executable, for example
C:\Program Files\SourceGear\DiffMerge\DiffMerge.exe.
When you click Edit In Text Editor in the menu, a text editor opens
with a text file containing all the formats, which you can modify. After
saving the file and closing the text editor, XBUILD resumes control. The
default editor is Windows Notepad, however you can use a different
editor by adding the path of the executable to the XBUILDEXTEDIT
environment variable.
To add an environment variable in Windows XP:
1. Go to Start > Control Panel > System.
The System Properties dialog opens.
2. On the Advanced tab, click the Environment Variables
button.
The Environment Variables dialog opens.
3. In the User variables... section, click the New button.
The New User Variable dialog opens,
4. For the Variable name, enter XBUILDEXTEDIT.
For the Variable value, enter the path to the executable. For example,
the path to Notepad++ executable can be C:\Program
Files\Notepad++\notepad++.exe.
6 Xbuild overview
Sim-Info menu
Set .md - opens the Simulation Information dialog.
Reserved words
Reserved words are specific words that are used in writing the post in
Xbuild. These words are 'reserved' because they have a special meaning
in FeatureCAM, and cannot be used for anything else. They are place
holders that will later be replaced with values provided by FeatureCAM
when it generates the NC code.
Reserved words are referenced in formats (see page 11) by enclosing
each word with angular brackets < >. Additional ASCII characters (for
example X, Z and F) are used to specify the letter for each word address.
In Xbuild, the reserved words can be viewed from:
the CNC-Info - Words-N menu.
the File - WordList menu in the Formats editor.
In Xbuild, there are four types of reserved words:
Numeric (see page 7).
String (see page 8).
Logical and System (see page 8).
Numeric
Numeric reserved words are replaced by their numeric values when Post
is executed. For example, the numeric reserved word <X-COORD> is
replaced by the current X axis coordinate position. The output format of
numeric reserved words is configured via the Words Info dialog (CNCInfo - Words option).
Xbuild overview 7
String
String reserved words provide a set of characters that were previously
defined in the NC Codes dialog (to open it, select CNC-Info - NC
codes from the Menu bar).
For example, G01, G02, or M03 could be strings that were previously
defined as <MOTION> and <SPINDLE>.
8 Xbuild overview
Xbuild overview 9
The three buttons at the bottom of the dialog, labelled OK, Cancel and
Next, can be used to preserve the changes made, exit the table without
saving any changes, and advance to the next Words Info dialog
respectively.
The words tables contain the format (symbolic name, numeric parameters
and factors) for each numeric reserved word.
The LD_ZR, TRL_ZR, DEC_PT, UNS_V, and +SIGN fields for each
reserved word all toggle On/Off. To change an item in the table, click the
mouse on the check box in the appropriate column for that item.
To select the Format or Factor field for any of the reserved words,
move the cursor to the appropriate box and double-click the mouse there;
the selection is highlighted. To change the format or factor, type the new
value, then press Enter.
The first column (far left side) in the tables identifies the symbolic name
(sometimes abbreviated) of each numeric reserved word.
All of the words in the table that apply to the NC machine must be
configured.
LD_ZR - Leading Zeros are output if this option is toggled On. Zeros
are output in all leading positions of the value, excluding significant digit
locations (for example, 1" with a 3.4 format would output two leading
zeros: 001).
TRL_ZR - Trailing Zeros are output when this option is set to On.
Zeros are output in all trailing positions of each value output for the
designated reserved word, excluding significant digit locations (for
example, 10" with a 3.4 format would be output with four trailing zeros
as 100000).
DEC_PT - is used to turn the Decimal Point Character On/Off (for
example, when DEC_PT is toggled ON, 100" is output as 100.0).
The decimal character (either a , representing the European
decimal, or a . representing the U.S. decimal) is specified in the
General Info dialog. To open it, select CNC-Info - General from
the Menu bar.
UNS_V - when the Unsigned Value option is on, the number is output
without its sign. This is often useful for distances.
+SIGN - when the Plus Sign is toggled ON, the plus sign (+) is output
for positive integers.
10 Xbuild overview
Formats menu
The Xbuild Formats menu enters specific program formats for the
various blocks which can appear in a part program. Each format is made
up of combinations of reserved words, literals, comments, and userdefined variables.
The Formats menu lists a number of general groups of formats:
Program - formats that are used in almost every part program,
and include commonly used formats (for example Program
Start, Tool Change , Segment Start, Program End).
Move - formats include the rapid and feed moves which make up
the largest portion of any part program (for example Rapid,
Linear, Circular). These program formats must be carefully
defined.
Macro - formats include Open Macro, Close Macro, Macro
Call, In-Macro Linear, and In-Macro Circular.
The Macro formats are not available for turn posts.
Cycle - formats include most of the canned cycles which are
found in many controls (for example Deep Hole, Tap).
Custom - a custom format is used as a place holder for a block of
code that may be used in several different formats. The system
reserved word <INCLUDE:> is placed into the appropriate section
of a format that uses the block of code from the custom format. The
name of custom format should be inserted after colon:
<INCLUDE: Custom Format Name>.
Xbuild overview 11
Each of these groups contains specific formats which, when selected, are
displayed in the Formats editor (see page 12).
The formats use specific reserved words, which are discussed
separately for each post type. For example, milling reserved words
can be found under the Mill Post section, turning reserved words
can be found under the Turn Post section and so on.
Formats editor
When a format is selected from the Formats menu, the Xbuild program
opens the Formats editor with the selected format on the screen.
The Formats editor has two menus (File and Edit), which are used in
editing the selected format; however, these menus do not change from
one format to another. All formats are edited in the same manner.
File menu
The File menu contains commands related to reserved words and
formats:
WordList - displays a list of the reserved words (see page 13).
Save Format - saves changes made to current format.
Previous Format - moves to format preceding the current format. The
Ctrl + P keys may be used as a shortcut to move backwards through the
various formats.
12 Xbuild overview
Next Format - moves to format following the current format. The Ctrl
+ N keys may be used as a shortcut to advance through the various
formats.
Save & Test CNC - saves changes made to post and updates NC code
without having to exit Xbuild.
Quit - exits the Formats editor and saves the modified format in
memory. If any changes have been made to the selected format when the
Quit command is selected, the user is prompted to save (Yes or No) the
changes that were made, or to cancel the Quit command. If Cancel is
selected, the Formats editor remains active.
Reserved Words dialog
When WordList command is selected from the File menu in the
Formats editor, the Reserved Words dialog is displayed with a list of
reserved words specific to the type of post you are writing.
For turn/mill posts, Xbuild uses color-coding. The words specific to
milling are blue, and the words specific to turning are green.
The list can be scrolled up and down by means of the scroll bar at the
right side of the window. Moving the bar to the arrow at the top of the
scroll bar and clicking the mouse there causes the list to scroll up, while
the arrow at the bottom of the scroll bar causes the list to scroll
downwards. The reserved words are grouped into four categories
described earlier: numeric (see page 7), string (see page 8), logical and
system (see page 8).
Xbuild overview 13
To place a reserved word into the format (displayed in the main part of
the screen), scroll the list to the desired word, and then click on it. The
word is placed in the program format at the point where the test insertion
bar was last placed.
The test insertion bar is a blinking vertical bar which shows where
text will be entered. If it is not visible, move the mouse to the format
window and click the mouse.
To place reserved words inside modality brackets, select the Modal
Delimiters check box:
14 Xbuild overview
Reserved words can be removed from the program format by using the
backspace key on the keyboard. The text editing functions in the
Formats editor are similar to those of any Windows word processor.
The Reserved Words dialog can be closed by clicking the close
icon, or by selecting the WordList command a second time in the File
menu.
Edit menu
This menu contains five commands found in most Windows programs.
These are briefly described here.
Undo - can be used to undo the last action. For example, if a
reserved word was placed incorrectly, the Undo command
removes it.
Cut - removes the selected text, and places it on the clipboard
where it can be recalled with the Paste command.
Copy - places the selected text on the clipboard in the same way
as the Cut command does, except that the selected text is not
removed from its selected location.
Paste - places the contents of the clipboard at the text insertion
point.
Delete - removes the selected text without copying it to the
clipboard.
For more details, refer to the "Using the Clipboard" section in the
Windows User's Manual.
Xbuild overview 15
[# Set x = 3, y = 5, z = 0.0001]
X[<X-COORD>=3]Y[<Y-COORD>=5]Z[<Z-COORD>=0.0001]<EOB>
[# Calc (x + 3)*2]
[(<X-COORD>+3)*2]<EOB>
[# Calc sqrt(pow(x, 2) + pow(y, 2))]
[sqrt(pow(<X-COORD>,2)+pow(<Y-COORD>,2))]<EOB>
[# Calc atan2d(y, x)]
[atan2d(<Y-COORD>,<X-COORD>)]<EOB>
[# Is z = 0 within +-0.001? If so, print Yes]
<IF>[apxeq(<Z-COORD>,0,0.001)]<THEN>
Yes<EOB>
<ENDIF>
[# Print special charcters]
<91><93><EOB>
[# Format x using tool's format]
[<TOOL>:<X-COORD>]<EOB>
[# Format -x as LTDUP|2.2|2]
[LTDUP|2.2|2:-<X-COORD>]<EOB>
[# Set x = 1 without printing anything]
[:<X-COORD>=1]<EOB>
[# Is x != 0 and y != 0?]
<IF>[and(not(apxeq(<X-COORD>,0)),
not(apxeq(<Y-COORD>,0)))]<THEN>
Yes<EOB>
<ENDIF>
16 Xbuild overview
[# Set variable a = x]
[a=<X-COORD>]<EOB>
[# Calc a + 5]
[a+5]<EOB>
Xbuild overview 17
Numeric operators
Xbuild accepts the following numeric operators:
Operator
Description
Operator
Description
addition,
adds two
numbers.
anglexy(x,y)
string
concatenati
on, joins
two strings.
if given a
string and a
number, the
string is
converted
into a
number and
then the two
numbers are
added.
-
subtraction,
subtracts two
numbers
acosd(num)
Computes the
arccosine (in
degrees) of a
number.
multiplication,
multiplies two
numbers
atand(num)
Computes the
arctangent (in
degrees) of a
number.
division,
divides two
numbers
atan2d(num)
Computes the
arctangent (in
degrees) of a
number.
18 Xbuild overview
Operator
Description
Operator
Description
Modulo
operation.
Performs an
integer division
and returns the
remainder.
ceil(num)
tan(num)
Computes the
tangent of an
angle (given in
radians).
sqrt(num)
sind(num)
Computes the
sine of an angle
(given in
degrees).
mm2in(millim
eters)
Converts from
milliliters to inches.
cosd(num)
Computes the
cosine of an
angle (given in
degrees).
exp(num)
tand(num)
Computes the
tangent of an
angle (given in
degrees).
log(num)
Returns ln(x)
where ln is the
natural logarithm.
asin(num)
Computes the
arcsine (in
radians) of a
number.
log10(num)
acos(num)
Computes the
arccosine (in
radians) of a
number.
pow(base,po
wer)
Returns a base
number raised to a
power.
atan(num)
Computes the
arctangent (in
radians) of a
number.
degtorad(num
)
Returns an angle in
radians as
converted from
degrees.
Xbuild overview 19
Operator
Description
Operator
Description
atan2(num)
Computes the
arctangent (in
radians) of a
number.
radtodeg(num
)
Returns an angle in
degrees as
converted from
radians.
asind(num)
Computes the
arcsine (in
degrees) of a
number.
pi
The mathematical
value of pi to ten
decimal places.
in2mm(num)
Computes the
distance from the
origin to XY.
Example
Let's say b = 12
The following line
[:a=b%10]
will result in a = 2
The operation performed by the modulo operator is to return the
remainder of a division. So a 12 divided by 10 will result in a remainder
of 2. This can be used to restrict the angles between 0 and 360 on
machines that require this limitation.
Logical operators
Operator
Function
Example
Explanation
eq
Equal
[eq(<TOOL>, 0)]
True if <TOOL>
0
Also works for
strings.
neq
Not Equal
[neq(<TOOL>, 0)]
True if <TOOL>
0
Also works for
strings.
20 Xbuild overview
Operator
Function
Example
Explanation
lt
Less Than
[lt(<TOOL>, 0)]
True if <TOOL>
<0
Also works for
strings.
gt
Greater Than
[gt(<TOOL>, 0)]
True if <TOOL>
>0
Also works for
strings.
le
Less Than or
Equal
[le(<TOOL>, 0)]
True if <TOOL>
0
Also works for
strings.
ge
Greater Than or
Equal
[ge(<TOOL>, 0)]
True if <TOOL>
0
Also works for
strings.
and
And
[and(<Z-UP>,
<INDEX>)]
True if both
<Z UP> and
<INDEX> are
true.
or
Or
[or(<Z-UP>,
<INDEX>)]
True if either
<Z UP> or
<INDEX> is true.
not
Not
[not(<ZCHANGED>)]
True if <Z
CHANGE>
is false.
apxeq
Approximately
Equal
[apxeq(<Z-COORD>,
0)]
[apxeq(<Z-COORD>,
0, 1e-6)]
True if <Z
COORD> 0
within 1e-6.
Xbuild overview 21
String operators
Operator
Function
Example
Explanation
uppercase
Convert string
to all upper-case
characters
[uppercase("ab
c")]
Prints ABC.
["abc" + "def"]
Prints abcdef.
If used with a
string and a
number the
number is
converted to a
string and then
they are added.
["0.5" +0.0]
22 Xbuild overview
Assignment
The result of any operation can be assigned to another reserved word or to
a variable. In Xbuild, variable names can consist of one more characters
and are not case sensitive. The first character must be alphabetic and the
rest can be any combination of alphanumeric characters and the
underscore character, for example ABC, X23, CENTER_PT.
The result of an assignment operation is the value of the reserved
word or variable being assigned. For example, for [x = 5] the result
is 5.
Strings can contain numeric, logical and string values.
Examples
To increase the current value of the reserved word <Z-COORD>
by 10:
[<Z-COORD> = <Z-COORD> + 10]
To set the variable XVAR to the current value of <X-COORD>,
and then double XVAR:
[x_var = <X-COORD>]
[x_var = x_var * 2]
These statements do not change the value of <X-COORD>.
To set the variable feature to the string hole, then add the string
top to the variable feature, and set the new string to the variable
name:
[feature="hole"]
[name= "top" + feature]
Formatting expressions
The format for an expression can be customized by preceding the
expression with an optional format specification. The format specification
is separated from the expression by a colon :.
Xbuild overview 23
LTDUP|Format|Factor
where:
L stands for Leading Zeros.
T stands for Trailing Zeros.
D stands for decimal point.
U stands for unsigned value.
P stands for plus sign.
Format specifies the number of
digits, for example 3.4.
Factor specifies the multiplier, for
example 1.0.
Result
[D|3.4|1.0:10]
10.0
[D|5.4|1.0:10]
10.0
[LD|3.4|1.0:10]
010.0
[LP|3.0|1.0:10]
+010
[PT|3.1|1.0:10]
+100
24 Xbuild overview
[:x_var=<X-COORD>+1]
[:<Y-COORD>*2]
Modality delimiters
In some cases, the CNC machine can use the concept of modality to
avoid redundant data and reduce the length of the program. When using
modality, repeated coordinates or commands are 'stripped' from the part
program.
String and Numeric reserved words may be surrounded by modality
delimiters { }, to signify to Post to remove redundant data. The modality
delimiter prevents a repetitive occurrence of a reserved word as long as
its value remains the same as the previous occurrence of it.
For example, when modality delimiters are used in {<SEQ>}, you have
an option of 'stripping' all sequence numbers from the program during
post processing. This is done by specifying 0 for the start and sequence
step numbers in Post. This forces the sequence numbering to remain the
same.
Modality brackets may be used on expressions containing reserved
words, for example: {X[<ABS-DEPTH>*2]}.
To place reserved words inside modality brackets, select the Modal
Delimiters check box:
Xbuild overview 25
3. Click OK.
4. Choose Words-1 from the CNC-Info menu.
26 Xbuild overview
6. Your post type may contain several pages of the numeric words.
Click Next to display the next set of Words Info. Repeat steps 4
through 5 to change all the linear positional words for your post
type.
7. When you have finished, click OK to close the dialog.
8. Select Formats - Program - Program Start to check for any
preparatory code denoting units (G20/G21, G70/G71).
Fanuc style controls may use G20 for inch and G21 for metric
units. If this code is present, remove it.
Heidenhain controls must have the units set in the first line of
the program:
<SEQ> BEGIN PGM [uppercase (<PROG-NAME>)]
INCH<EOB>
Edit the code so the units here match the units chosen in Step 2.
9. Save the format.
Xbuild overview 27
Mill posts
This section describes how to use Xbuild for writing mill posts.
CNC-Info menu
The CNC Info options are used to set up the basic parameters for a CNC
program:
General - specifies the output program format.
NC Codes - defines the exact character string for different NC
commands.
Feeds & Speeds - changes the minimum and maximum spindle
speeds and feed rates in a CNC program.
Fixture ID - this is a list with valid fixture IDs.
Words-N - configures the format of numeric reserved words.
Five-Axis - selects the five-axis machine type, and configures its
dimensions.
28 Mill posts
CNC-Info - General
Allows you to specify the output program format. The General
Information dialog appears.
Mill posts 29
30 Mill posts
Mill posts 31
To properly include the first move in a macro, you will need to use a
combination of this check box and the logical variable <CYCLEMACRO> to suppress actually performing the canned cycle on the
canned cycle line.
For a Fanuc 0M, if a canned cycle line ends with K0 then the machine
goes into canned cycle mode, but the actual canned cycle is not
performed. Here is the drilling format for the Fanuc 0M.
{N<SEQ>}<CYCLE>{X<X-COORD>}{Y<Y-COORD>}
R<ABS-ZCLEAR>Z<ABS-DEPTH>F<FEED>
<IF><CYCLE-MACRO><THEN>
K0
<ENDIF>
<EOB>
The Include first canned cycle move in macro check box
must be selected so that the initial location is output in the macro.
Post supports local coordinates - post that redefines the coordinate
system using datum shifts should have this option selected.
Post supports incremental macros - posts that program milling
macros in an incremental fashion should have this option selected.
Seq max - this is the maximum value for sequence numbers.
After reaching this number, the sequence numbers start over. If the Seq
max radio button is not selected, then no limit is set.
NC file extension - the default file extension for you CNC programs.
For example if it is set to .txt, and your part is called 'bracket', then the
G-code file will be called bracket.cnc.
2-axis machine - removes ramping moves and ensures that the plunge
move is performed in a single move.
Overall, this setting eliminates unnecessary Z moves that cannot be
handled by a 2-axis machine.
This check box is only available for milling posts.
32 Mill posts
CNC-Info - NC Codes
Specifies the exact character strings for different NC commands. The NC
Codes dialog appears.
The character strings entered in the dialog must match the required
strings specified for the NC control. This information is usually
found in the programmer's manual for the NC control.
You can set the following parameters:
Motions - the options in this frame describe motion types required by
the NC machine. All of these codes must be specified.
For example, Linear is generally defined as G1, but may be changed to
G01, or any other string (up to 11 characters). All motion commands are
passed to Post via the string reserved word <MOTION>.
The following options are available:
Rapid - rapid move.
Linear - feed move.
Circ. CW - circular interpolation, clockwise.
Circ. CCW - circular interpolation, counter-clockwise.
Mill posts 33
34 Mill posts
Mill posts 35
CNC-Info - Fixture ID
Records the various G codes that are valid fixture ID's. The Fixture ID
dialog opens. You can type the appropriate IDs directly into the list, and
click OK.
36 Mill posts
54
55
FeatureCAM will automatically look in the current post processor and
will assign the next available fixture ID to a new setup and to the numeric
reserved word <FIXTURE>.
Mill posts 37
38 Mill posts
Mill posts 39
5-axis simultaneous on machines with tilting head the machine only needs to have automatic correction of
tool length offset. FeatureCAM outputs the toolpath in the
machine's coordinate system so no need for 3D coordinate
transformation. However, automatic correction of tool
length offset is still needed because of the tilting of the tool.
Generic
Coordinates are outputted relative to their own setups (no
transformations). This is useful for outputting code that is going to
be further processed.
For machines with tilting heads, the specific machine architectures
supported are as follows:
C rotary table and B tilting head - these machines rotate about
Z with a table, and then the head rotates around the Y-axis.
40 Mill posts
Mill posts 41
42 Mill posts
Mill posts 43
44 Mill posts
C rotary table and 45 Degree angled A tilting head rotates about C using a table, then rotates about X with a head that
is angled by 45 degrees.
C rotary table and 45 degree angled B tilting head - rotates
about C using a table, then rotates about Y with a head that is
angled by 45 degrees.
B rotary table and A tilting head - rotates about Y using a
table and then X in the head.
Machine dimensions
Table on table machines
The Rotary Center Offset values are contained in the post
processor files.
Mill posts 45
46 Mill posts
You need to understand three axes and a face to characterise the machine:
first rotary axis
second rotary axis
spindle centreline
gauge face
These are labeled on the model of a B and A tilting head shown below:
The first rotary axis for this configuration is the B axis and it is aligned
with the Y axis.
The second rotary axis is the A axis and it is aligned with the X axis.
The first rotary axis carries the second rotary axis. In other words, when
the first rotary axis is moved, the second rotary axis moves with it. If the
second rotary axis (A) is moved, the first rotary axis (B) does not
necessarily move.
The spindle centreline is the axis that passes through the center of the
spindle. The gauge face is the gauge line or face of the spindle taper.
The three axes are orthogonal or perpendicular to each other and
are aligned with the machine axis.
We will step through each field and describe what distance each field
should contain:
Mill posts 47
48 Mill posts
Formats menu
The Xbuild Formats menu enters specific program formats for the
various blocks which can appear in a part program. Each format is made
up of combinations of reserved words, literals, comments, and userdefined variables.
The Formats menu lists a number of general groups of formats:
Program - formats that are used in almost every part program,
and include commonly used formats (for example Program
Start, Tool Change , Segment Start, Program End).
Move - formats include the rapid and feed moves which make up
the largest portion of any part program (for example Rapid,
Linear, Circular). These program formats must be carefully
defined.
Macro - formats include Open Macro, Close Macro, Macro
Call, In-Macro Linear, and In-Macro Circular.
The Macro formats are not available for turn posts.
Cycle - formats include most of the canned cycles which are
found in many controls (for example Deep Hole, Tap).
Mill posts 49
Rules
General rules
The reserved words <X-COORD> and <Y-COORD> are the
assigned 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.
It is mandatory that the reserved word <Z-COORD> be used for
the Segment Start program format. It is calculated as the largest
Z Rapid value of the current and previous segments, thereby
allowing for the tool to be retracted from the part to a safe plane.
Use of the <Z-COORD> reserved word is optional for the
Program Start and Tool Change program formats. It is
calculated in the following manner:
<Z-COORD> = TL CHG (Z)
TL CHG (Z) is programmed in FeatureCAM.
50 Mill posts
Form
<X-CHANGE>
<@X-CHANGE>
<Y-CHANGE>
<@Y-CHANGE>
<X-COORD>
<@X-COORD>
<Y-COORD>
<@Y-COORD>
<Z-COORD>
<@Z-COORD>
The Program Start format may not contain any of the following
reserved words: <@X-CHANGE>, <@Y-CHANGE>, or <@ZCOORD>. This is assuming that the first tool has been positioned
at the start point (the first segment's tool change position) by the
operator before starting the NC part program.
The Program End format must contain the reserved words <@XCHANGE> and <@Y-CHANGE> to reposition the tool back to
the start point.
Program formats
As Post reads each segment from the part data file, it determines if it's the
first segment of the program, a tool change, or a non-tool changing
segment. Based upon this information, Post outputs the appropriate block
(that is, Program Start, Tool Change, or Segment Start) prior to
executing segment data. Only one of these three program formats is used
at the beginning of any one segment.
Each definition can include multiple lines, and each line must end
with <EOB>.
Mill posts 51
Program start
The Program Start format is called once at the beginning of each
program. This format must contain instructions for doing the following:
Setup the initial conditions of the machine such as the program
dimensions, absolute versus incremental positioning.
Perform the first tool change and position the tool at the Z rapid
plane.
Turn on the spindle, set its initial speed, and set up the coolant.
Functions such as <SPEED>, <SPINDLE> and <COOLANT> status
can be passed to the Post output with the first positioning move via <XCOORD> and <Y-COORD>.
If the target machine tool uses fixture offsets (G54, G55/E1, E2), the
reserved word <FIXTURE> should be positioned before the <MOTION>
<X COORD> and <YCOORD> words.
Tool change
A Tool Change block is output between segments that require a
tool change.
This block is only output if the Tool # specification (FeatureCAM)
differs from the previous one.
Functions such as <SPEED>, <SPINDLE> and <COOLANT>
status can be passed to the Post output with the first positioning
move via the <X-COORD> and <Y-COORD> reserved words.
If the target machine tool uses fixture offsets (G54, G55/E1, E2),
the reserved word <FIXTURE> should be positioned before the
<MOTION> <X COORD> and <YCOORD> words.
Segment start
Segment Start is only output between non-tool changing
segments. This typically occurs when there is a change in fixture
offset or spindle speed.
Segment Start should contain any commands that may change
between segments, for example <SPEED>, <COOLANT>, and so
on.
The reserved words <X-COORD>, <Y-COORD> and <ZCOORD> must be included in Segment Start.
52 Mill posts
If the target machine tool uses fixture offsets (G54, G55/E1, E2),
the reserved word <FIXTURE> should be positioned before the
<MOTION> <X COORD> and <YCOORD> words.
It is recommended that any coordinates not be output with
modality brackets, since there may be a change of coordinate
systems.
File end
File End specifies the format of the line(s) to be placed at the end of a
file. This is generally used with the End of Prog specification (selected
in the Macro Type field in the General Information dialog).
Move formats
Depending on the control, one of two cases is true for these program
formats.
If the CNC requires X, Y and Z axes motion to be programmed in
the same rapid line, then all three reserved words (X, Y and Z)
must be included in the X,Y Rapid Move program format. The Z
Rapid Move format must remain empty.
If the CNC does not allow for X, Y and Z axes motion to be
programmed in the same rapid line, then use both formats (the X,Y
Rapid Move and Z Rapid Move).
The order in which moves are generated depends upon whether the
current Z position is greater, or less than the previous Z position.
Rapid move
The Rapid Move format defines the output format for rapid positioning
moves.
Generally, modality delimiters { } are placed around the <X-COORD>
and <Y-COORD> reserved words. This allows the post processor to
'strip' X, or Y from the line when a coordinate is redundant. If the first
case is true (see two preceding cases in Move formats (see page 53)), then
the <Z-COORD> reserved word must be included.
Mill posts 53
Z rapid move
Z Rapid Move format is used to rapid to the plunge clearance plane in
Z. If the first case is true, then the Z Rapid Move format must remain
empty. If the second case is true, then the <Z-COORD> reserved word
must be included.
Linear move
The Linear Move format defines the output format for linear moves.
The following reserved words must be defined in this block:
<X-COORD>;
<Y-COORD>;
<Z-COORD>;
<FEED>;
<MOTION>.
Cutter diameter compensation can be turned ON/OFF in this format line
via the <COMP-START> reserved word.
Some CNC machines may require the use of the vector reserved words
<X-VECTOR> and <Y-VECTOR>.
Circular move
The method of specifying arc definition is defined in a Circular Move
block.
The following reserved words are provided as arc modifiers for I, K, or R
values:
<ARC-X>;
<ARC-Y>;
<RADIUS>;
<S-RAD>;
<X-CEN>;
<Z-CEN>.
Spindle
This format is not currently used.
54 Mill posts
Dwell
Format for dwell code output, that is G04U<DWELL><EOB>.
UDF text
Returns code/comment from a user-defined feature (UDF). <UDFTEXT> and <UDF-COMMENT> are reserved words that receive text
passed from the UDF.
Cycle formats
Format
Description
Drill cycle
Tap cycle
Cycle cancel
Canned move
Mill posts 55
Macro formats
Format
Description
In-Macro Linear
In-Macro Circular
Open Macro
Close Macro
Macro Call
56 Mill posts
Definition
<ABS-DEPTH>
<ABS-SHIFTX>
<ABS-SHIFTY>
<ABS-SHIFTZ>
<ABS-STEP1>
<ABS-ZCLEAR>
<ABS-ZRAPID>
<ANG-CFEED>
<ANG-DPM>
<ANG-DPM-NOFR>
<ANG-FPM>
<ANG-INVTIME>
<ARC-X>
<ARC-Y>
Mill posts 57
Reserved word
Definition
<ARC-Z>
<BOT-LALLOW>
<COMP-NUM>
<COMP-VAL>
<DEPTH>
<DWELL>
<EXP-LENGTH>
<FEED>
<FINI-ALLOW>
<FIXTURE>
<FSHIFTX>
<FSHIFTX>
<FSHIFTX>
<HELIX-PITCH>
<HLDR-LENGTH>
<INC-DEPTH>
<INC-MACX>
58 Mill posts
Reserved word
Definition
<INC-MACY>
<INC-MACZ>
<INC-STEP1>
<MACRO#>
<MIN-STEP>
<NO-DRAG-X>
<NO-DRAG-Y>
<NEXT-TL>
<NOSE-RAD>
<OFFSET#>
<OV-LENGTH>
<PITCH>
<RADIUS>
<ROT1-ANSI>
<ROT1-ANSI-R>
<ROT1-MATH>
<ROT1-MATH-R>
Mill posts 59
Reserved word
Definition
<ROT1-WIND>
<ROT2-ANSI-R>
<ROT2-ANSI>
<ROT2-MATH>
<ROT2-MATH-R>
<ROT2-WIND>
<S-RAD>
<SEQ>
<SHIFTX>
<SHIFTY>
<SHIFTZ>
<SIDE-LALLOW>
<SPEED>
<STATR-ANG>
<STEP1>
<STEP2>
<STEPOVER>
<STOCK-ID>
60 Mill posts
Reserved word
Definition
<STOCK-OD>
Outer diameter of the stock - for round stock only 0 for other types of stock.
<STOCK-TYPE>
Type of stock: 1.0 for block, 2.0 for round, 3.0 for
N-sided, 4.0 for user-defined.
<STOCK-XMAX>
<STOCK-XMIN>
<STOCK-YMAX>
<STOCK-YMIN>
<STOCK-ZMAX>
<STOCK-ZMIN>
<TOOL>
<TOOL-DIAM>
<TOOL_LENGTH>
<TOOL-LENGTH>
<TOTAL-ANG>
<TPI-PITCH>
The TPI value for the Tap cycle in an inch CNC file
or the pitch value for the Tap cycle in a millimeter
CNC file.
<UCS-X>
Mill posts 61
Reserved word
Definition
<UCS-Y>
<UCS-Z>
<X-CEN>
<X-CHANGE>
<X-COORD>
<X-SURFNORM>
<X-TOOLVEC>
<X-VECTOR>
<Y-CEN>
<Y-CHANGE>
<Y-COORD>
<Y-SURFNORM>
<Y-TOOLVEC>
<Y-VECTOR>
<ZCEN>
<Z-CHANGE>
62 Mill posts
Reserved word
Definition
<ZCLEAR>
<Z-COORD>
<Z-INC>
<Z-INDEX-CLR>
<ZRAPID>
<ZSURF>
<Z-SURFNORM>
<Z-TOOLVEC>
Definition
<4-AXIS-OPER>
<5-AXIS-OPER>
<CHIP-TAP>
<COMP-3D-ON>
<COMP-END>
<COMP-ON>
Mill posts 63
Reserved word
Definition
<COMP-MID>
<COMP-START>
<CW-SPINDLE>
<CYCLE-DONE>
<CYCLE-MACRO>
<DEEP-TAP>
<DRILL-CPTED>
<DRILLING>
<FLOAT-TAP>
<INDEX>
<INDEXING>
<IS-INC-MACRO>
<IS-MULTIPLEFIXTURE>
<IS-SYNCED>
<IS-WORLD>
<IS-ZINDXCLR>
64 Mill posts
Reserved word
Definition
<LAST-TOOL>
<OFFSET-CH>
<RIGID-TAP>
<USE-FIXTURE>
<USE-ROTFEED>
<WAS-WORLD>
<WRAP>
<WRAP-Z-DOWN>
<WRAP-Z-UP>
<X-WRAP>
<XY-PLANE>
<Y-WRAP>
<YZ-PLANE>
<Z-CHANGED>
<Z-DOWN>
<ZX-PLANE>
Mill posts 65
Reserved word
Definition
<Z-UP>
Definition
<BOL>
<COMP-STAT>
Returns the appropriate code from the CNC-Info NC Codes dialog for cutter diameter
compensation.
<COOLANT>
Returns the proper coolant code from the CNCInfo - NC Codes dialog.
<COOLANT-3>
<COOLANT-4>
<COOLANT-MST>
<COOLANT-OFF>
<COOLANT-ON>
<CYCLE>
<CYCLE-RTRCT>
<DATE>
<EOB>
66 Mill posts
Reserved word
Definition
<FIXTURE>
<FM-NAME>
<HOLDER-NAME>
<MACH-TIME>
<MCSID>
<MOTION>
<OP-PASS>
<OP-TYPE>
<P1>
<PGM-STOP>
<PLANE>
<PROG-NAME>
<REGION-DATE>
<SEG-CMT>
<SEGM-ID>
Mill posts 67
Reserved word
Definition
<SPINDLE>
<TIME>
<TOOL-CMT>
<TOOL-ID>
<TOOL-NAME>
<UDF-COMMENT>
<UDF-TEXT>
<UNITS>
Returns the proper unit code from the CNC-Info NC Codes dialog.
68 Mill posts
Desired cycle
Alternate cycle
Drill
Spotface
Spotface
Drill
Deep hole
Chip break
Tap
No alternate
Chip break
Deep hole
Bore FDF
Bore FF
Bore FF
Bore FDF
Bore FSR
Bore FF
Bore No-drag
Bore FF
If you do not want to output any drilling canned cycles, just blank out all
the cycles in the NC Codes dialog of Xbuild.
For turn or turn/mill posts, the variable Enable hole canned
cycle in the Post Options dialog controls the outputting of
canned cycles.
For computed cycles to work correctly, the Spindle and Dwell
formats and the Spindle codes in Xbuild have to be completed.
The <SPINDLE> reserved word also needs to be added to the
Linear format.
Example Spindle format:
{N<SEQ>}<SPINDLE><EOB>
Example Dwell format:
{N<SEQ>}G4 <DWELL><EOB>
Example Linear format:
{N<SEQ>}{<MOTION>}{<COMP-STAT>}
{X<X-COORD>}{Y<Y-COORD>}{Z<Z-COORD>}
{F<FEED>}{<SPINDLE>}<EOB>
Also refer to Include first canned cycle move in macro (see page 29).
Mill posts 69
Input dimension
If the units of your part and the post processor are different, a conversion
factor is automatically applied to them at the time the program is posted.
Cycle types
The operations in FeatureCAM are mapped to the following canned cycle
formats:
Operation
Chamfer
Spot Face
Countersink
Spot Face
Counterbore
Spot Face
Drill
Drill
Ream
Bore(F-F)
Tap
Tap
Peck Drilling
70 Mill posts
FeatureCAM
parameter
Xbuild reserved
word
Type
Tool No.(from
Operations sheet)
<TOOL>
Numeric
Fixture ID
<FIXTURE>
Numeric
FeatureCAM
parameter
Xbuild reserved
word
Type
<X-CHANGE>
Numeric
<Y-CHANGE>
Numeric
<Z-COORD>
Numeric
Coolant Manufacturing
Attribute (Default
Attribute or Feature
Attribute)
<COOLANT>
String
Z data
Xbuild has a reserved word for each Z parameter in FeatureCAM. Xbuild
also provides words that signal Post to perform arithmetic operations to
accommodate the different ways that machines handle the Z axis.
The following manufacturing attributes in FeatureCAM contain
corresponding reserved words in Xbuild:
FeatureCAM attribute
Xbuild reserved
word
Type
Z Rapid Plane
<ZRAPID>
Numeric
Plunge Clearance
<ZCLEAR>
Numeric
Mill posts 71
72 Mill posts
Mill posts 73
74 Mill posts
Handling pecking
Pecking applies to Deep Hole, Chip Break and Tap operations.
To handle pecking in a CNC file:
1. Set the type of pecking that will be used for drilling and tapping on
the NC Codes page. FeatureCAM checks the pecking type in the
currently loaded post processor to duplicate canned cycles when
simulating toolpaths.
2. Create the appropriate program formats for the canned cycles based
on the pecking type:
fixed steps
The NC code specifies one depth and all the steps peck at that
depth. An example would be the deep hole cycle of the Fanuc 0m:
{N<SEQ>}<CYCLE>{X<X-COORD>}
{Y<Y-COORD>}R<ABS-ZCLEAR>Z
<ABS-DEPTH>Q<STEP1>F<FEED><EOB>
two steps
The NC code specifies two depths. The first step pecks at the first
depth and all the subsequent steps peck at the second depth. The
Bridgeport Machines Boss9I control deep hole cycle is an example
.{N<SEQ>}<CYCLE>Z<INC-DEPTH>
Z<INC-STEP1>Z<STEP2>F<FEED><EOB>
{N<SEQ>X<X-COORD><EOB>
value reduction
Mill posts 75
Handling 3D arcs
3-axis techniques that produce toolpaths in the principle planes can
approximate them with 3D lines and arcs.
76 Mill posts
Mill posts 77
For example, for Fanuc, the G98 and G99 G-codes are entered in the NC
Codes dialog, and a sample drilling cycle would be:
{N<SEQ> }<CYCLE> <CYCLE-RTRCT> Z
<ABS-DEPTH> R <ABS-ZCLEAR> F <FEED><EOB>
{N<SEQ> }{X<X-COORD>}{ Y<Y-COORD>}<EOB>
78 Mill posts
No
No
Code created
.fm
Pattern instances
are cut with
absolute
coordinates
relative to the
current setup.
.mf with
multiple
fixture
Each FM part is
cut with absolute
coordinates
relative to the
global fixture.
Pattern instances
in each FM part
are cut with
absolute
coordinates
relative to the
global fixture.
.mf with
global fixture
Each FM part is
cut with absolute
coordinates
relative to its local
fixture (G54).
Pattern instances
in each FM part
are cut with
absolute
coordinates
relative to the
part's local fixture
(G54).
Mill posts 79
Incremental
Yes
No
80 Mill posts
Code created
.fm
Each pattern
instance calls a
macro with
incremental
coordinates
relative to the
pattern instance
location.
.mf with
multiple
fixture
Each FM part is
cut with absolute
coordinates
relative to the
global fixture.
Pattern instances
in each FM part
are cut with
incremental
coordinates
relative to the
pattern instance
location based on
the global fixture.
.mf with
global fixture
Each FM part is
cut with absolute
coordinates
relative to its local
fixture (G54).
Pattern instances
in each FM part
are cut with
incremental
coordinates
relative to the
pattern instance
location based on
the part's local
fixture (G54).
Incremental
No
Yes
Code created
.fm
A local coordinate
system is
established for
each pattern
instance. A macro
is called with
absolute
coordinates
relative to the
pattern instance
location.
.mf with
multiple
fixture
A local coordinate
system is
established for
each FM part. A
local coordinate
system is
established for
each pattern
instance. A macro
is called with
absolute
coordinates
relative to the
pattern instance
location which is
based on the
global fixture.
Mill posts 81
Incremental
Yes
82 Mill posts
Yes
Code created
.mf with
global fixture
Each FM part is
cut with absolute
coordinates
relative to its local
fixture (G54). A
local coordinate
system is
established for
each pattern
instance. A macro
is called with
absolute
coordinates
relative to the
pattern instance
location which is
based on the local
fixture (G54).
.fm
Local coordinates
are not used.
.mf with
multiple
fixture
A local coordinate
system is
established for
each FM part.
pattern instances in
each FM part are
cut with
incremental
coordinates
relative to the
pattern instance
location based on
the part's local
coordinate system.
.mf with
global fixture
Local coordinates
are not used.
Mill posts 83
<IFNOT>[ eq(<$FIXTURE>,<FIXTURE>)]<THEN>
[#]{N<SEQ>}<MOTION>X-<$FSHIFTX>Y-<$FSHIFTY>Z[<$FSHIFTZ>+<ABS-ZRAPID>]<EOB>
[#]{N<SEQ>}G92 X0 Y0 Z<ABS-ZRAPID><EOB>
[#]<IFNOT>[ and( and( eq(<FSHIFTX>,0), eq(<FSHIFTY>,0)),
eq(<FSHIFTZ>,0))]
<THEN>
[#]{N<SEQ>}<MOTION>G<FIXTURE>X<FSHIFTX>Y<FSHIFTY>Z
[<FSHIFTZ>+
<ABS-ZRAPID>]<EOB>
[#]{N<SEQ>}G92 X0 Y0 Z<ABS-ZRAPID><EOB>
[#]<ENDIF>
<ENDIF>
[#]
[# if same fixture, set new G92 location]
<IF>[ eq(<$FIXTURE>,<FIXTURE>)]<THEN>
[# ]<IFNOT>[ and( and( eq(<@FSHIFTX>,0), eq(<@FSHIFTY>,0)),
eq(<@FSHIFTZ>,0))]<THEN>
[#]{N<SEQ>}<MOTION>G<FIXTURE>X<@FSHIFTX>Y<@FSHIFT
Y>
Z[<@FSHIFTZ>+<ABS-ZRAPID>]<EOB>
[#]{N<SEQ>}G92 X0 Y0 Z<ABS-ZRAPID><EOB>
[#]<ENDIF>
<ENDIF>
{N<SEQ>}<MOTION>G<FIXTURE>G90X<X-COORD>Y
<Y-COORD>S<SPEED><SPINDLE><EOB>
{N<SEQ>}G43H<TOOL>Z<Z-COORD>T<NEXT-TL><EOB>
{N<SEQ>}<COOLANT><EOB>
Segment start format
{N<SEQ>}{<MOTION>}Z<Z-COORD><EOB>
[#]
[# if fixture change, reset G92 to current fixture home before changing to
new fixture]
<IFNOT>[ eq(<$FIXTURE>,<FIXTURE>)]<THEN>
84 Mill posts
[#]{N<SEQ>}<MOTION>X-<$FSHIFTX>Y-<$FSHIFTY>Z[<$FSHIFTZ>+<ABS-ZRAPID>]<EOB>
[#]{N<SEQ>}G92 X0 Y0 Z<ABS-ZRAPID><EOB>
[#]<IFNOT>[ and( and( eq(<FSHIFTX>,0), eq(<FSHIFTY>,0)),
eq(<FSHIFTZ>,0))]<THEN>
[#]{N<SEQ>}<MOTION>G<FIXTURE>X<FSHIFTX>Y<FSHIFTY>Z
[<FSHIFTZ>+<ABS-ZRAPID>]<EOB>
[#]{N<SEQ>}G92 X0 Y0 Z<ABS-ZRAPID><EOB>
[#]<ENDIF>
[#]{N<SEQ>}{<MOTION>}G<FIXTURE>X<X-COORD>Y
<Y-COORD>{S<SPEED>}{<COOLANT>}<EOB>
<ENDIF>
[#]
[# if same fixture, set new G92 location]
<IF>[ eq(<$FIXTURE>,<FIXTURE>)]<THEN>
[#]<IFNOT>[ and( and( eq(<@FSHIFTX>,0), eq(<@FSHIFTY>,0)),
eq(<@FSHIFTZ>,0))]<THEN>
[#]{N<SEQ>}<MOTION>G<FIXTURE>X<@FSHIFTX>Y<@FSHIFT
Y>Z[<@FSHIFTZ>+<ABS-ZRAPID>]<EOB>
[#]{N<SEQ>}G92 X0 Y0 Z<ABS-ZRAPID><EOB>
[#]{N<SEQ>}{<MOTION>}X<X-COORD>Y
<Y-COORD>{S<SPEED>}{<COOLANT>}<EOB>
[#]<ENDIF>
[#]<IF>[ and( and( eq(<@FSHIFTX>,0), eq(<@FSHIFTY>,0)),
eq(<@FSHIFTZ>,0))]<THEN>
[#]{N<SEQ>}{<MOTION>}G<FIXTURE>{X<X-COORD>}{Y<YCOORD>}{S<SPEED>}{<COOLANT>}<EOB>
[#]<ENDIF>
<ENDIF>
Program end format
<IFNOT>[ and( and( eq(<FSHIFTX>,0), eq(<FSHIFTY>,0)),
eq(<FSHIFTZ>,0))]<THEN>
[#]{N<SEQ>}<MOTION>G<FIXTURE>X-<FSHIFTX>Y-<FSHIFTY>
Z[-<FSHIFTZ>+<ABS-ZRAPID>]<EOB>
[#]{N<SEQ>}G92 X0 Y0 Z<ABS-ZRAPID><EOB>
Mill posts 85
<ENDIF>
{N<SEQ>}M09<EOB>
{N<SEQ>}G30G91Z0.M19<EOB>
{N<SEQ>}G28G90X<X-CHANGE>Y<Y-CHANGE><EOB>
{N<SEQ>}M30<EOB>
86 Mill posts
{N<SEQ>}{<PLANE>}{<MOTION>
<IF><XY-PLANE><THEN>
[#]<IF><IS-INC-MAC><THEN>
[#]X<@X-COORD>Y<@Y-COORD>{Z<@Z-COORD>}I<ARCX>J<ARC-Y>
[#]<ENDIF>
[#]<IFNOT><IS-INC-MAC><THEN>
[#]X<X-COORD>Y<Y-COORD>{Z<Z-COORD>}I<ARC-X>J<ARCY>
[#]<ENDIF>
<ENDIF>
<IF><ZX-PLANE><THEN>
[#]<IF><IS-INC-MAC><THEN>
[#]Z<@Z-COORD>X<@X-COORD>{Y<@Y-COORD>}K<ARCZ>I<ARC-X>
[#]<ENDIF>
[#]<IFNOT><IS-INC-MAC><THEN>
[#]Z<Z-COORD>X<X-COORD>{Y<Y-COORD>}K<ARC-Z>I<ARCX>
[#]<ENDIF>
<ENDIF>
<IF><YZ-PLANE><THEN>
[#]<IF><IS-INC-MAC><THEN>
[#]Y<@Y-COORD>Z<@Z-COORD>{X<@X-COORD>}J<ARCY>K<ARC-Z>
[#]<ENDIF>
[#]<IFNOT><IS-INC-MAC><THEN>
[#]Y<Y-COORD>Z<Z-COORD>{X<X-COORD>}J<ARC-Y>K<ARCZ>
[#]<ENDIF>
<ENDIF>
{F<FEED>}<EOB>
Open macro format
Mill posts 87
:<PROG-NAME><MACRO#><EOB>
<IF><IS-INC-MAC><THEN>
[#]{N<SEQ>}G91<EOB>
<ENDIF>
Close macro format
<IF><IS-INC-MAC><THEN>
[#]{N<SEQ>}G90<EOB>
<ENDIF>
{N<SEQ>}M99<EOB>
Z rapid move format
<IF><IS-INC-MAC><THEN>
[#]{N<SEQ>}{<MOTION>}{Z<@Z-COORD>}<EOB>
<ENDIF>
<IFNOT><IS-INC-MAC><THEN>
[#]{N<SEQ>}{<MOTION>}{Z<Z-COORD>}<EOB>
<ENDIF>
Rotation styles
FeatureCAM supports four different styles of specifying rotation angles.
These styles along with their reserved words are shown below:
88 Mill posts
Style
Primary axis
Secondary axis
ANSI/EIA RS-274-D
<ROT1-ANSI>
<ROT2-ANSI>
Mathematical
<ROT1-MATH>
<ROT2-MATH>
Relative
<@ROT1-WIND>
<@ROT2-WIND>
Winding and
Unwinding
<ROT1-WIND>
<ROT2-WIND>
ANSI/EIA RS-274-D
In this style, the value of the angle specifies the angular position
measured from zero in the positive direction. The sign of the angle
indicates the direction of rotation. For example:
Mathematical
In this style, the value of the angle specifies the angular position
measured from zero and the sign indicates the direction of measurement.
The sign of the angle also indicates the direction of rotation. For example:
Mill posts 89
Relative
In this style, the value of the angle specifies the angular distance
measured from the current position and the sign indicates the direction of
measurement. The sign of the angle also indicates the direction of
rotation. For example:
90 Mill posts
The logical reserved word <INDEX> specifies indexing (either 4th or 5th
axis) has been activated for the current setup. For Segment Start
formats, <INDEXING> is true only if indexing is enabled in
FeatureCAM and the machine tool is performing the actual indexing
move.
This example is the Segment Start format from the a Bridgeport
control that supports 4th axis. The <Z-INDEX-CLR> is a Z clearance
value calculated from the maximum Z coordinate of the part (or parts if
using Tombstone machining) plus the Z Index Clearance default
attribute.
'<SEGM-ID>'<EOB>
{'COMMENT:<SEG-CMT>'}<EOB>
{N<SEQ>}F<FEED><EOB>
{N<SEQ>}{<MOTION>}{Z<Z-COORD>}<COOLANT><EOB>
{N<SEQ>}{S<SPEED>}{<SPINDLE>}<EOB>
{N<SEQ>G97}{X<SHIFTX>}{Y<SHIFTY>}{Z<SHIFTZ>}{<EOB>}
<IF><INDEX><THEN>
{N<SEQ>}Z<Z-INDEX-CLR><EOB>
{N<SEQ>}M51; INDEX <ROT1-MATH><EOB>
<ENDIF>
{N<SEQ>}<MOTION>X<X-COORD>Y<Y-COORD>
{Z<Z-COORD>}<COOLANT><EOB>
Mill posts 91
<IF><COMP-START><THEN>
{N<SEQ>}<COMP-STAT>X<$X-COORD>Y<$Y-COORD><EOB>
<ENDIF>
<IF><WRAP><THEN>
{N<SEQ>}{<MOTION>}{X<X-COORD>}{C<ROT1-MATH>}{Z<ZCOORD>}
{F<ANG-FEED>}<EOB>
<ENDIF>
<IFNOT><WRAP><THEN>
{N<SEQ>}{<MOTION>}{<COMP-STAT>}{X<X-COORD>}{Y<YCOORD>}
{Z<Z-COORD>}{F<FEED>}<EOB>
<ENDIF>
Wrapping requires special consideration in the Rapid Move format. To
prevent a collision between the tool and part during rotation, the tool must
be withdrawn from the part before the rotation takes placed. Since the
control does not normally test for this case, Xbuild includes two logical
reserved words which are used only to test for the wrap setting and the
rapid move condition. The Rapid Move format then includes both of
these words <WRAP-Z-UP> and <WRAP-Z-DOWN>, and is
implemented in the following way.
<IF><WRAP-Z-DOWN><THEN>
{N<SEQ>}{<MOTION>}{C<ROT1-MATH>}<EOB>
{N<SEQ>}{X<X-COORD>}{<COOLANT>}<EOB>
{N<SEQ>}{Z<Z-COORD>}<EOB>
<ENDIF>
<IF><WRAP-Z-UP><THEN>
{N<SEQ>}{<MOTION>}{Z<Z-COORD>}<EOB>
{N<SEQ>}{C<ROT1-MATH>}<EOB>
{N<SEQ>}{X<X-COORD>}{<COOLANT>}<EOB>
<ENDIF>
<IFNOT><WRAP><THEN>
{N<SEQ>}{<MOTION>}{X<X-COORD>}{Y<Y-COORD>}
{Z<Z-COORD>}{<COOLANT>}<EOB>
92 Mill posts
<ENDIF>
Mill posts 93
<ENDIF>
{N<SEQ>}S<SPEED>F<FEED><EOB>
94 Mill posts
Turn posts
This section describes how to use Xbuild for writing turn posts.
CNC-Info menu
The CNC Info options are used to set up the basic parameters for a CNC
program:
General - specifies the output program format.
NC Codes - defines the exact character string for different NC
commands.
Feeds & Speeds - changes the minimum and maximum spindle
speeds and feed rates in a CNC program.
Fixture ID - this is a list with valid fixture IDs.
Words-N - configures the format of numeric reserved words.
Turrets - describes all of the turrets on a lathe.
Spindles - contains the M codes for selecting the spindles.
Cycles - specifies the manner in which drilling, threading and
grooving cycles are handled.
Turn posts 95
96 Turn posts
Post uses the selection to convert the dimensions that affect X and Y
coordinates as well as feed rate. The setting in the CNC Data file takes
precedence over the assumed inch unit in FeatureCAM. If a part program
is written in inch units, and is processed with a metric CNC data file, the
resulting part program is converted (using standard conversion constants)
into metric units.
Circ. interpol. - selects the programming format on the CNC for which
the post processor is being built.
You can choose Multi-Quadrant, Single Quadrant, or Not
Supported option, as appropriate. For example, if the Numerical
Control cannot drive an arc across a quadrant line (plus or minus X and Y
axes), then select Single Quadrant circular interpolation. When circular
interpolation is turned off in post, then wrap tolerance is used to control
fineness of toolpath.
EOB - defines the end of block character(s), or <EOB>.
We recommended that you use the default characters, that is, <13>
(carriage return) and <10> (line feed).
Decimal point - defines the decimal point character.
This character is usually a period '.' for United States controls, and
a comma ',' for European controls.
Dogleg rapid moves - affects simulation only.
If this option is selected, then during a rapid move from point A to point
B both simulated axes will move at the maximum rate until one of the
axes moves is completed, and then the machine will proceed to B with
only the other axis continuing in a straight line.
If this option is not selected, then the simulation shows all rapid moves
from point A to point B as straight lines. In general, rapid moves on
machines are not straight lines.
Tool Line Comp - allows for the compensation of tool length by
subtracting the tool's X and Z length from the coordinate data at post
processing time.
Using Tool Ln Comp allows the user to shift or compensate for
different tool lengths without presetting the origin for each tool. For
Japanese machines such as FANUC, this selection should be turned Off.
If the output is to be incremental, Tool Ln Comp must be turned On.
Seq max - this is the maximum value for sequence numbers.
Turn posts 97
After reaching this number, the sequence numbers start over. If the Seq
max radio button is not selected, then no limit is set.
NC file extension - the default file extension for you CNC programs.
For example if it is set to .txt, and your part is called 'bracket', then the
G-code file will be called bracket.cnc.
The character strings entered in the dialog must match the required
strings specified for the NC control. This information is usually
found in the programmer's manual for the NC control.
You can set the following parameters:
Motions - the options in this frame describe motion types required by
the NC machine. All of these codes must be specified.
For example, Linear is generally defined as G1, but may be changed to
G01, or any other string (up to 11 characters). All motion commands are
passed to Post via the string reserved word <MOTION>.
The following options are available:
Rapid - rapid move.
Linear - feed move.
Circ. CW - circular interpolation, clockwise.
Circ. CCW - circular interpolation, counter-clockwise.
98 Turn posts
Turn posts 99
Formats menu
The Xbuild Formats menu enters specific program formats for the
various blocks which can appear in a part program. Each format is made
up of combinations of reserved words, literals, comments, and userdefined variables.
The Formats menu lists a number of general groups of formats:
Program - formats that are used in almost every part program,
and include commonly used formats (for example Program
Start, Tool Change , Segment Start, Program End).
Move - formats include the rapid and feed moves which make up
the largest portion of any part program (for example Rapid,
Linear, Circular). These program formats must be carefully
defined.
Macro - formats include Open Macro, Close Macro, Macro
Call, In-Macro Linear, and In-Macro Circular.
The Macro formats are not available for turn posts.
Cycle - formats include most of the canned cycles which are
found in many controls (for example Deep Hole, Tap).
Custom - a custom format is used as a place holder for a block of
code that may be used in several different formats. The system
reserved word <INCLUDE:> is placed into the appropriate section
of a format that uses the block of code from the custom format. The
name of custom format should be inserted after colon:
<INCLUDE: Custom Format Name>.
Each of these groups contains specific formats which, when selected, are
(see page 12)displayed in the Formats editor.
The formats use specific reserved words, which are discussed
separately for each post type. For example, milling reserved words
can be found under the Mill Post section, turning reserved words
can be found under the Turn Post section and so on.
Rules
The reserved words <Z-COORD> and <X-COORD> are the assigned
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.
Program formats
As Post reads each segment from the part data file, it determines if it's the
first segment of the program, a tool change, or a non-tool changing
segment. Based upon this information, Post outputs the appropriate block
(that is, Program Start, Tool Change, or Segment Start) prior to
executing segment data. Only one of these three program formats is used
at the beginning of any one segment.
Each definition can include multiple lines, and each line must end
with <EOB>.
Program start
Post outputs lines that are defined in the Program Start format at the
beginning of a program. In the Program Start format, general
preparatory codes (for example absolute, incremental, and so on) are
placed to define the dimension system. The first tool change must also
be defined. Functions such as <SPEED>, <SPINDLE> and
<COOLANT> status, as well as the first positioning move can be passed
to the Post output via <Z-COORD> and <X-COORD> reserved words.
Spindle change
Used when operation switches from one spindle to another.
Tool change
A Tool Change block is output between segments that require a
tool change.
This block is only output if the Tool # specification, or Turret
selection in FeatureTURN differs from the previous one.
The tool should be positioned to a safe location (index position),
before indexing tools.
Functions such as <SPEED>, <SPINDLE> and <COOLANT>
status can be passed to the Post output with the first positioning
move via the <Z-COORD> and <X-COORD> reserved words.
Segment start
Segment Start is only output between non-tool changing
segments. This typically occurs when there is a change in fixture
offset or spindle speed.
Move formats
Rapid move
The Rapid Move format defines the output format for rapid positioning
moves.
Generally, modality delimiters { } are placed around the <X-COORD>
and <Z-COORD> reserved words. This allows the post processor to
'strip' X, or Z from the line when a coordinate is redundant. In motion
blocks (rapid, linear and circular), the reserved word <MOTION>
receives the path definition parameter from FeatureTURN (Rapid,
Linear, Arc CW, Arc CCW, or the Thread command).
Linear move
The Linear Move format defines the output format for linear moves.
The following reserved words must be defined in this block:
<MOTION>;
<X-COORD>;
<Z-COORD>;
<FEED>.
Tool tip compensation must be turned ON in this format line via the
<COMP-STAT> reserved word.
Some CNC machines may require the use of the vector reserved words
<Z-VECTOR> and <X-VECTOR>.
Circular move
The method of specifying arc definition is defined in a Circular Move
block.
The following reserved words are provided as arc modifiers for I, K, or R
values:
<ARC-X>;
<ARC-Z>;
<RADIUS>;
<S-RAD>;
<X-CEN>;
<Z-CEN>.
Spindle
This format gets called when you turn off the spindle or change spindle
directions.
Dwell
Format for dwell code output, that is G04U<DWELL><EOB>.
Bar feed
This block contains the necessary codes for opening and closing the
spindle and also the bar feed code.
Catcher in
This block would contain the M-code for retracting the parts catcher.
Catcher out
This block contains the M-code for extending the parts catcher.
Rough cycle start
This block contains the code for starting the roughing canned cycle.
Refer to the Numeric turning canned cycle block words (see page 119)
table for applicable reserved words.
Cycle formats
Drill cycle
This block contains the canned cycle for twist drill operations including
the support of peck drilling.
For drilling, the following reserved words have the following values:
<DEPTH> - the calculated depth of the drilling operation
including compensation for tool tip.
<STEP1> - pecking depth. This value is calculated by dividing
<DEPTH> by the Number of Pecks.
This is an example drilling cycle format:
{N<SEQ>}G83X0Z<DEPTH>Q<STEP1>F<FEED><EOB>
Refer to the Numeric drilling and threading type cycle words (see page
120) table for applicable reserved words.
If simple canned cycles are being used (that is the simple canned cycle is
turned on in the Cycles Information dialog, and you've filled in the
Groove Simple/Computed format), then the system computes the
diagonal bottom point of the groove slot as the target point.
Definition
<BAXIS-ROT>
<CALC-SPEED>
<CLEARANCE>
<CLR-DEPTH>
<CLEARANCE> + <DEPTH>
<COMP-NUM>
<CSS-SPEED>
<DWELL>
<ENG-ANGLE90>
Reserved word
Definition
<FEED>
FEED-UPM
FEED-UPR
<INC-MACX>
<INC-MACZ>
<LIFT-OFF>
<NEXT-TL>
<NOSE-RAD>
<OFFSET#>
<OP-ORDERNUM>
<R-CSS>
<RTR-ANGLE-P>
<RTR-FEED>
Reserved word
Definition
<SEQ>
<SPEED>
<SP-MAX>
<SPINDLE-POS>
Subspindle position.
<STEPOVER>
<STOCK-ID>
<STOCK-OD>
Outer diameter of the stock - for round stock only 0 for other types of stock.
<STOCK-TYPE>
Type of stock: 1.0 for block, 2.0 for round, 3.0 for
N-sided, 4.0 for user-defined.
<STOCK-XMAX>
<STOCK-XMIN>
<STOCK -YMAX>
<STOCK-YMIN>
<STOCK-ZMAX>
Reserved word
Definition
<STOCK-ZMIN>
<SYNC-NUM1>
Returns sync number from the CNC-Info Turrets dialog. Used to synchronize multiple
turrets.
<SYNC-SPEED>
<TL-WIDTH>
<TOOL>
<TURRET-NUM>
<X-CHANGE>
<X-COORD>
<X-INDEX>
<X-PRESET>
Reserved word
Definition
<X-RETURN>
<X-VECTOR>
<Z-COORD>
<Z-CHANGE>
<Z-INDEX>
<Z-PRESET>
<Z-RETURN>
<Z-VECTOR>
Definition
<ENG-FEED>
<NEW-ID>
Turning, ezpath canned cycle. Forces the <PATHID> reserved word to be incremented.
<PATH-ID>
<PRO-FEED>
<RTR-LENGTH>
<SEQ-END>
<SEQ-START>
<X-ALLOW>
Reserved word
Definition
<Z-ALLOW>
Definition
<ARC-Z>
<ARC-X>
<RADIUS>
<S-RAD>
<Z-CEN>
<X-CEN>
Reserved word
Definition
<DEPTH>
<END-X>
<END-Z>
<ENG-ANGLE>
<LEADX>
<LEADZ>
<MIN-INFEED>
<NUM-SPRING>
<RTR-ANGLE>
<RTR-ANGLE90>
<START-X>
<START-Z>
<STEP1>
Reserved word
Definition
<STEP2>
<TAPER-DEPTH>
<THRD-DEPTH>
<TIP-ANGLE>
Definition
<AUTO-ROUND>
<BAR-FEED>
<BAR-PULL>
<COMP-END>
<COMP-MID>
<COMP-ON>
<COMP-START>
<CSS-ON>
Reserved word
Definition
<EJECT-CHECK>
<FACE-BFACE>
<FINISH>
<FLOAT-TAP>
<HAS-SP-CTRL>
<HAS-TOOL>
<ID>
<IDOD-GROV>
<IS-FOLLOW>
Reserved word
Definition
<IS-INC-MAC>
<IS-PINCH>
<IS-SYNCED>
<LAST-TOOL>
<LEFT-HANDED>
<MAIN-SPCMD>
<MAIN-SPNDLE>
<OD>
<OFFSET-CH>
<POS-DIR>
<POST-RCAN>
<PRE-GCAN>
<PRE-PCAN>
<PRE-RCAN>
<RANGE-CH>
Reserved word
Definition
<REUSE-PATH>
<RIGID-TAP>
<SPNDLEPRESS>
<TAPER>
<TCAN-CYCLE>
<TCAN-END>
<TCAN-START>
<TH-ATSUBPOS>
<TH-ATTOOLCH>
<TOOL-LEFT>
<UNDER-CHECK>
Definition
<AIR-BLAST>
Returns the proper air-blast codes from the CNCInfo - NC Codes dialog according to selections
from the Misc. feature creation page.
<BOL>
<CANCEL-COOL>
<COMP-STAT>
Returns the applicable code from the CNC-Info NC Codes dialog, when tool nose radius
compensation is selected in the Turn Properties
dialog (for example G41, G42).
Turns On at the first feed move of the profile path.
<COOLANT>
<COOLANT-3>
<COOLANT-4>
<COOLANT-MST>
<COOLANT-OFF>
<COOLANT-ON>
<DATE>
<EOB>
<FM-NAME>
Reserved word
Definition
<F-UNITS>
<FIXTURE>
<MACH-TIME>
<MCSID>
<MOTION>
<OP-PASS>
<OP-TYPE>
<P1>...<P9>
<PGM-STOP>
<PRO-COMP>
<PRO-FUNITS>
Reserved word
Definition
<PROG-NAME>
<REGION-DATE>
<SEG-CMT>
<SEGM-ID>
<SPINDLE>
<SPNDLE-SEL>
<SPDL-SYNCRN>
<SP-RANGE>
<TIME>
<TOOL-CMT>
<TOOL-ID>
<TOOL-NAME>
<TOOL-ORIENT>
<TRT-TURN>
Reserved word
Definition
<TURRET>
<UDF-COMMENT>
<UDF-TEXT>
<UNITS>
Returns the proper unit code from the CNC-Info NC Codes dialog.
Start/end points
If start or endpoints have been defined in FeatureTURN, they become
part of the path's definition. Post generates a rapid move from a start point
to the first part of the machining operation, and a rapid move from the last
move of the operation to the endpoint is also generated.
Turn/mill posts
This section describes how to use Xbuild for writing turn/mill posts.
CNC-Info menu
The CNC Info options are used to set up the basic parameters for a CNC
program:
General - specifies the output program format.
NC Codes - defines the exact character string for different NC
commands.
Feeds & Speeds - changes the minimum and maximum spindle
speeds and feed rates in a CNC program.
Fixture ID - this is a list with valid fixture IDs.
Words-N - configures the format of numeric reserved words.
Turrets - describes all of the turrets on a lathe.
Spindles - contains the M codes for selecting the spindles.
Cycles - specifies the manner in which drilling, threading and
grooving cycles are handled.
CNC-Info - NC Codes
Specifies the exact character strings for different NC commands. The NC
Codes dialog appears.
The character strings entered in the dialog must match the required
strings specified for the NC control. This information is usually
found in the programmer's manual for the NC control.
You can set the following parameters:
Motions - the options in this frame describe motion types required by
the NC machine. All of these codes must be specified.
General structure
For Program Start, Tool Change, Rapid and Z Rapid formats the
general logical flow is to handle turning and milling in separate sections.
For milling, use the <ROTARYX> reserved word to distinguish between
face milling and OD milling.
<IF><TURNING><THEN>
[* Do turning tasks]
<ENDIF>
<IF><MILLING><THEN>
<IF><ROTARYX><THEN>
[* Do OD milling tasks]
<ENDIF>
<IFNOT><ROTARYX><THEN>
[* Do Face milling tasks]
<ENDIF>
<ENDIF>
{N<SEQ>}M21<EOB>
{N<SEQ>}S<SPEED><SPINDLE> <EOB>
{N<SEQ>}C<ROT1-WIND><EOB>
<ENDIF>
Rapid move
Rapid moves should include the C axis move as shown below:
{N<SEQ>}{<MOTION> }{X<X-COORD>}
{Z<Z-COORD>}
<IF><MILLING><THEN>
{C<ROT1-WIND>}
<ENDIF>
For posts where the machine tool is performing the polar interpolation,
the post will still have to perform the polar interpolation for positioning.
In the example below, the C and X coordinates are calculated using the
anglexy and radiusxy functions.
<IF><MILLING><THEN>
<IFNOT><ROTARYX><THEN>
{<MOTION>}C[anglexy(<X-COORD>,<Y-COORD>)]
X[radiusxy(<X-COORD>, <Y-COORD>)*2]
{Z<Z-COORD>}<EOB>
<ENDIF>
Also refer to Fourth and fifth axis support (see page 88).
Linear move
For machines in which FeatureCAM is doing the interpolation the
formats must be conditional on whether it is a turning or milling move.
Case 1
In the milling case, the C-axis rotation and the angular feedrate must be
output. The following is an example from the Acramatic 850TC:
<IF><TURNING><THEN>
{X<X-COORD>}{Z<Z-COORD>}F<FEED><EOB>
<ENDIF>From
Subject
Received
Size
Chris Murray
11:26 15 KB
<IF><MILLING><THEN>
{X<X-COORD>}{Z<Z-COORD> }{C<ROT1-WIND>}
{F<ANG-FPM>}<EOB>
<ENDIF>
Case 2
For machines in which the controller performs the interpolation, make
sure to select the Polar interpolation done by machine tool check
box in the General Information dialog. This changes the toolpaths as
they are output from FeatureCAM into the post. Here is an example for a
Fanuc 16, 18 or 21:
<IF><TURNING><THEN>
{X<X-COORD>}{Z<Z-COORD>}F<FEED><EOB>
<ENDIF>
<IF><MILLING><THEN>
{X<X-COORD>}{C<Y-Coord>}{Z<Z-COORD>}
{F<FEED>}<EOB>
<ENDIF>
Definition
<ANG-DPMNOFR>
<ANGLEXY>
Returns the angle of the point <X-COORD>,<YCOORD> on the front face of the part. Replaces
anglexy() function. Used to determine the angular
position of holes on the Z face of the part. The X
axis of the part is 0 degrees.
<BAXIS-ROT>
<RADIUSXY>
Returns the distance or radius of the point <XCOORD>,<Y-COORD> from the center of the
part. Replaces the radiusxy() function. Used to
determine the angular position of holes on the Z
face of the part.
<SYNC-NEXT>
Definition
<4-AXIS-OPER>
<5-AXIS-OPER>
<COMP-3D-ON>
Reserved word
Definition
<HAS-TOOL>
<IS-FOLLOW>
<IS-MFDOC>
<IS-PINCH>
<IS-SYNCED>
<MILLING>
<ROTARY-OD>
<SPINDLEPRESS>
<TURNING>
Reserved word
Definition
<USE-ROTFEED>
<ZFACE-POLAR>
<ZFACE-YAXIS>
Definition
<AIR-BLAST>
Returns the proper air-blast codes from the CNCInfo - NC Codes dialog according to selections
from the Misc. feature creation page.
<CANCEL-COOL>
<CLAMP-ON>
<CLAMP-OFF>
<MAIN-BK-OFF>
<MAIN-BK-ON>
Reserved word
Definition
<MAIN-CL-OFF>
<MAIN-CL-ON>
<SUB-BK-OFF>
<SUB-BK-ON>
<SUB-CL-OFF>
<SUB-CL-ON>
Multi-turret turning
posts
This section describes how to use Xbuild for writing multi-turret turning
posts.
Type
Definition
<SYNC-NUM1>
Numeric
through
<SYNC-NUM5>
<SYNC-SPEED>
Numeric
<TURRET-NUM>
Numeric
2. Choose the CNC Info-Turrets from the Menu bar, and use the
Turret Information dialog to set the controls appropriately.
3. Open the Program Start format in the Formats editor, and add
the following sync code lines:
{M<SYNC-NUM1>}<EOB>
{M<SYNC-NUM2>}<EOB>
{M<SYNC-NUM3>}<EOB>
{M<SYNC-NUM4>}<EOB>
{M<SYNC-NUM5>}<EOB>
These reserved words are specially programmed so that they
are not output if the reserved word is blank.
4. Repeat the previous step for the Tool Change, Segment Start,
Program End,and all of the sub spindle formats.
5. If you are using turning canned cycles, add the sync code line
below to the all of the turning canned cycle formats:
{M<SYNC-NUM1>}<EOB>
CNC-Info menu
The CNC Info options are used to set up the basic parameters for a CNC
program:
General - specifies the output program format.
NC Codes - defines the exact character string for different NC
commands.
Machine Constants - configures the machine constants in a
CNC program.
Words-N - configures the format of numeric reserved words.
Turn/Mill - use this type of post for lathe with powered rotary
tools.
Wire EDM - use this type of post for Wire EDM machines.
This distinction controls type of reserved words and program formats that
are available in the post.
Dimension - toggles between Inch and Metric output.
Post uses the selection to convert the dimensions that affect X and Y
coordinates as well as feed rate. The setting in the CNC Data file takes
precedence over the assumed inch unit in FeatureCAM. If a part program
is written in inch units, and is processed with a metric CNC data file, the
resulting part program is converted (using standard conversion constants)
into metric units.
Circ. interpol. - selects the programming format on the CNC for which
the post processor is being built.
You can choose Multi-Quadrant, Single Quadrant, or Not
Supported option, as appropriate. For example, if the Numerical
Control cannot drive an arc across a quadrant line (plus or minus X and Y
axes), then select Single Quadrant circular interpolation. When circular
interpolation is turned off in post, then wrap tolerance is used to control
fineness of toolpath.
EOB - defines the end of block character(s), or <EOB>.
We recommended that you use the default characters, that is, <13>
(carriage return) and <10> (line feed).
Decimal point - defines the decimal point character.
This character is usually a period '.' for United States controls, and
a comma ',' for European controls.
ISO Taper Arc - controls the output of arcs for tapered corners in the
ISO-style.
The options are:
Omit arc - in this case, line of G-code for the arc is left out.
Instead a modifier is added to the end of the linear move indicating
that a fillet should be added. This is primarily used for Sodick
machines.
Keep arc - this is the normal case where G-code is output for the
arc move.
Max. macros - specifies the maximum number of macros (subprograms) available on the control.
If macros are not available, set this value to zero, and select Not
Available in the Macro Type parameter.
Macro type - specifies how macros are formatted when the part program
requires them.
Choose from the following options:
Local - places macro definitions within the main NC part
program.
End of Prog. - places macro definitions at the end of the main
part program (for example, Heidenhain controls). The PROGRAM
END program format should be specified for output at the end of
the main program and the FILE END program format should be
specified for output at the end of these macro definitions.
Not Available - signals Post that macros are not available.
Indiv. Files - places macro definition in a separate file (for
example, FANUC and GE MC 2000 controls). The name of each
macro file consists of the assigned name that was specified in Post
and the system-assigned macro number The internal sub-program
name is automatically added to the main program name as the
external file name.
One File - places all macro definitions in one file. Post generates
two files, the main part program and a file containing all macros.
This option can output to Bridgeport controls via the EZ-Utils
module, CNCCOMMUNICATION option (Heidenhain DNC
utility).
The name of the macro file consists of the assigned name specified in
Post, MA (representing the macro specification) and the .TXT file
extension. For example, SAMPLEMA.TXT (macro file) and
SAMPLE.TXT.
NC file extension - the default file extension for you CNC programs.
For example if it is set to .txt, and your part is called 'bracket', then the
G-code file will be called bracket.cnc.
The character strings entered in the dialog must match the required
strings specified for the NC control. This information is usually
found in the programmer's manual for the NC control.
You can set the following parameters:
Motions - the options in this frame describe motion types required by
the NC machine. All of these codes must be specified.
For example, Linear is generally defined as G1, but may be changed to
G01, or any other string (up to 11 characters). All motion commands are
passed to Post via the string reserved word <MOTION>.
The following options are available:
Rapid - rapid move.
Linear - feed move.
Circ. CW - circular interpolation, clockwise.
Circ. CCW - circular interpolation, counter-clockwise.
XY, UV - refers to Wire EDM 4-axis movements using an upper
and a lower curve. Typically, XY represents the curve at the
bottom of the part, and UV represents the curve at the top of the
part.
This option is only available for wire EDM posts.
Compensation - generates cutter diameter compensation in the output
when turned On in FeatureWIRE, and if it is built into the CNC data file.
Compensation selections use the string reserved word <COMPSTAT> for one of the below options, or an empty string is assigned if
Compensation was not turned On in corresponding program (for
example, FeatureCAM, FEATUREWIRE and so on).
The Compensation frame has these options:
Cancel - compensation off.
Left - compensation on cutter, applied to left in direction of travel.
Right - compensation on cutter, applied to the right in the
direction of travel.
3D - code for turning 3D cutter compensation on. Linear X, Y , Z
motions have a vector component of the tool diameter added
according to the direction vector defined by I, J, K.
This applies to finishing moves only.
This code does not apply to Wire EDM.
Cancel 3D - turns off 3D cutter compensation.
This code does not apply to Wire EDM.
Taper - generates wire taper in the output when Left or Right is
selected in FeatureWIRE, and built into the CNC build file.
The reserved word <TAP-STAT> is assigned to one of these strings. The
most common commands for taper cutting are assigned below. Of course
there may be other strings as well, depending on the type of control.
Cancel - G50.
Left - G51.
Right - G52.
Program formats
As Post reads each segment from the part data file, it determines if it's the
first segment of the program, a tool change, or a non-tool changing
segment. Based upon this information, Post outputs the appropriate block
(that is, Program Start, Tool Change, or Segment Start) prior to
executing segment data. Only one of these three program formats is used
at the beginning of any one segment.
Each definition can include multiple lines, and each line must end
with <EOB>.
Program start
Post outputs the lines defined in the Program Start format at the
beginning of the program. In Program Start, general preparatory
functions are placed to define the dimensional system, absolute, or
incremental modes, and so on. In this block X and Y start locations(G92)
must also be preset. Other functions, such as machine constants can be
passed to the Post output as well as the first positioning move using the
<X-COORD> and <Y-COORD> reserved words.
Segment start
A Segment Start is output between segments. Segment Start should
contain any commands that may change between segments such as
UPPER ARM POS, AD TABLE HT, and parameters P1 through P9,
for example:
N<SEQ>{E<ARM-POS>Z01}<EOB>
N<SEQ>{E<AWTH>Z02}<EOB>
or
<IF><STOP><THEN>M00
<ENDIF
( = output of program stop command between segments)
The following reserved words should not be used in the
Segment Start format:
<X-COORD>;
<Y-COORD>;
<TAP-REG>;
<TAP-VAL>;
<TAP-ANG>;
<COMP-STAT>;
<COMP-REG>;
<COMP-VAL>;
<SUFFIX>.
Program end
This block is normally used to output the rewind command and to reset
the control to some standard settings after program completion.
File end
File End specifies the format of the line(s) to be placed at the end of a
file. This is generally used with the End of Prog specification (selected
in the Macro Type field in the General Information dialog).
Move formats
Rapid move
The Rapid Move format defines the output format for rapid positioning
moves.
XY UV start move
This section is output before the first XY,UV move and normally used
to activate special machine settings which maybe necessary for the
control to machine a four axis part.
XY UV end move
This section is output after the last XY,UV move and normally used to
deactivate or reset special machine settings which may have been
necessary for the control to machine a four axis part.
UDF text
Returns code/comment from a user-defined feature (UDF). <UDFTEXT> and <UDF-COMMENT> are reserved words that receive text
passed from the UDF.
Macro formats
Format
Description
In-Macro Linear
Format
Description
In-Macro Circular
Open Macro
Close Macro
Macro Call
Type
Definition
<ARC-U>
Numeric
<ARC-V>
Numeric
<ARC-X>
Numeric
<ARC-Y>
Numeric
<ARM-POS>
Numeric
<ARM-STR>
Numeric
<AWTH>
Numeric
<COMP-END>
Logical
<COMP-ON>
Logical
<COMP-MID>
Logical
<COMP-NUM>
Numeric
<COMP-NUMCH>
Logical
Reserved
words
Type
Definition
<COMP-START>
Logical
<COMP-STAT>
String
<COMP-VAL>
Numeric
<CONT-END>
Logical
<CONT-START>
Logical
<CURVID>
String
<CUTNUMBER>
Numeric
<DATE>
String
<DWELL>
Numeric
<DWELL+>
Logical
<ENDIF>
System
<EOB>
Other
<FEED>
Numeric
<FIRST-ANG>
Numeric
<FIRST-CUT>
Logical
Reserved
words
Type
Definition
<G-SPAN>
Numeric
<IF>
System
<IFNOT>
System
<IS-DIE>
Logical
<IS-PUNCH>
Logical
<IS-TAPER>
Logical
<IS-XYUV>
Logical
<ISO-ON>
Logical
<ISO-RAD>
Numeric
<LOWER-LEN>
Numeric
<MACRO#>
Numeric
<MCSID>
String
<MOTION>
String
Reserved
words
Type
Definition
<PROG-NAME>
String
<Q-ANGLE>
Numeric
<R-ANGLE>
Numeric
<RADIUS>
Numeric
<S-RAD>
Numeric
<SEG-CMT>
String
<SEGM-ID>
String
<SEQ>
Numeric
<STOP>
Logical
<SUFFIX>
String
<TAB-HT>
Numeric
<TAP-ANG>
Numeric
<TAP-REG>
Numeric
Reserved
words
Type
Definition
<TAP-REG-CH>
Logical
<TAP-STAT>
String
<TAP-VAL>
Numeric
<THEN>
System
<TOTALLOWER>
Numeric
<TOTALUPPER>
Numeric
<U-CEN>
Numeric
<U-CENRELAT>
Numeric
<U-COORD>
Numeric
<U-RELAT>
Numeric
<UPPER-LEN>
Numeric
<V-CEN>
Numeric
<V-CENRELAT>
Numeric
<V-COORD>
Numeric
<V-RELAT>
Numeric
<WATER>
Numeric
Reserved
words
Type
Definition
<WIRE-CUT>
Logical
<WIRE-THRD>
Logical
<X-ANGLE>
Numeric
<X-CEN>
Numeric
<X-COORD>
Numeric
<XYUV-ARC>
Logical
<Y-ANGLE>
Numeric
<Y-CEN>
Numeric
<Y-COORD>
Numeric
Input dimension
The coordinate data dimension system is defined during an FeatureWIRE
programming session (View menu - Setup dialog). The Inch or Metric
dimension system is saved as a 'flag' in the CNC data file.
When Post is executed, it compares the input dimension system that was
saved in the part program with the output dimension system that was
selected in Xbuild (CNC-Info menu - General Information dialog). If
they differ, a conversion factor is automatically applied. Therefore, a
CNC data file that was created in Xbuild must be built in accordance with
the desired output dimension system.
Path definition
Motion commands in Xbuild are used to define appropriate command
strings, for example G0, G1, G2, G3. Each type of motion block is
formatted in program formats using the <MOTION> reserved word.
Coordinate data is formatted using the following reserved words:
<X-COORD>;
<Y-COORD>;
<Z-COORD>;
<ARC-X>;
<ARC-Y>;
<X-CEN>;
<Y-CEN>.
Arc specifications are established in the Circular Move program format.
Handling macros
Macros (sub-programs) that were previously defined inside, or outside of
the main program can be 'called' to reproduce a set of operations. Calling
these macros saves CNC memory when duplicated, or repeated.
Handling tapers
Taper is handled by Xbuild and can be configured several ways,
depending upon the CNC control's requirements.
The reserved words <FIRST-ANG> , <TAP-ANG>, and <TAP VAL>
are available to represent the various possible taper settings that might be
used by the controls.
Use:
<FIRST-ANG> - to represent the taper angle at the beginning of
the move;
<TAP-ANG> - to represent the taper angle at the end of the move.
<TAP-VAL> - to output a taper register.
All these words are defined in the Curves Contour manager, or in case
of a continuous taper on the Toolpath Options page in the Segment
Data dialog.
The following example of a linear move block is used for Fanuc controls:
{N<SEQ>} {T<FIRST-ANG >}<EOB>
{N<SEQ>} {<COMP-STAT>} {<MOTION>}
{X<X-COORD>} {Y<Y-COORD>} {T<TAP-ANG>}
<EOB>
Handling XY UV
The XYUV selection in FeatureWIRE is used to define part programs for
independent XYUV cutting. The two curves, defined for upper and lower
contour in FeatureWIRE, are translated into XY and UV moves, which
are output using the corresponding EPOST sections. In Xbuild, the G
code for XYUV cutting is specified using the XY, UV option in the NC
Codes dialog.
The following formats control the XYUV ouput :
XY UV start move (see page 170);
Cycle type
POST calculates the wire path based on the type of cycle. These
calculations are accomplished by applying the offset and other cycle data
parameters appropriate to the current cycle.
Tutorials
This section contains tutorials to get you started with Xbuild.
Tutorials 183
184 Tutorials
Linear_Move
Linear_Move
Z_Rapid
Tool_Change
Z_Rapid
Linear_Move
Linear_Move
Z_Rapid
Program_End
File_End
8. Tool_change is the new program format. This format changes
the tool and rapids to the next location in X and Y.
9. Edit slot2 to return the width to 5mm, and change its speed to
1000 rpm. Regenerate the NC code. The Tool_Change segment
has been replaced by the Segment_Start format. If there is a
change in fixture IDs or a change in speed this format is called
instead of the Tool_Change format.
Summary of new formats in this tutorial
Format
Description
Rapid Move
Tool Change
Segment Start
Tutorials 185
Specific Instructions
1. Open 001.fm from the training CD. This is just a simple hole that
is spot-drilled and drilled.
2. Generate toolpaths, and single step through the program. You will
notice that this simple program spot drills in a single move,
changes tools and peck drills the hole. The spot drilling is
performed by the Drill_Cycle format, and the peck drilling is
performed by the Deep_Hole cycle.
Program_Start
Z_Rapid
Drill_Cycle
Cycle_Cancel
Z_Rapid
Tool_Change
Z_Rapid
Deep_Hole
Cycle_Cancel
Z_Rapid
Program_End
File_End
3. Edit the hole. Click the hole operation, and change the Drill
Cycle to Chip Break on the Cycle tab.
4. Regenerate the code. You will see that the call to the Deep_Hole
cycle has been changed to a call to the Chip_Break cycle.
5. If the .CNC file does not contain NC codes for drilling cycles, then
FeatureCAM will create explicit moves. Open the post
textnodrillcycles.CNC, and create the code. The following code
(without canned cycles) is created.
Program_Start
Z_Rapid
Linear_Move
Z_Rapid
Tool_Change
Z_Rapid
186 Tutorials
Linear_Move
Z_Rapid
Linear_Move
Z_Rapid
Linear_Move
Z_Rapid
Program_End
File_End
Tutorials 187
9. Find <SEQ> in the Reserved List dialog, and click on it. The
string {<SEQ>} will be inserted into the format.
10.Insert the <MOTION>, <X-COORD>, <Y-COORD>, <ZCOORD>, <FEED> and <EOB> reserved words to get the string
shown below:
{<SEQ>}{<MOTION>}{<X-COORD>}{<Y-COORD>}
{<Z-COORD>}{<FEED>}{<EOB>}
11.Now type N before the <SEQ> reserved word:
{N<SEQ>}
12.Enter the X, Y, Z and F literals to result in the following strings:
{<MOTION>}{X<X-COORD>}{Y<Y-COORD>}
{Z<Z-COORD>}{F<FEED>}<EOB>
13.Select File - Quit from the Menu bar, and click Yes to confirm
your action. The Formats editor will close.
14.Select File - Save from the Menu bar, and click Yes to confirm
your action.
15.In FeatureCAM, generate toolpaths for slot1.
16.Now the following lines of real G-code have replaced the
Linear_Move strings:
N25G1Z-5.0F105.
N35X52.5F209.
17.Now use the Formats editor to modify the following program
formats:
Program Start
%<EOB>
:<PROG-NAME><EOB>
{N<SEQ>}G17G21G40G49G80G90G94<EOB>
{N<SEQ>}T<TOOL>M6<EOB>
{N<SEQ>}<MOTION>G90G<FIXTURE>
X<X-COORD>Y<Y-COORD>S<SPEED>
<SPINDLE><EOB>
{N<SEQ>}G43Z<Z-COORD>H<TOOL>
<COOLANT><EOB>
188 Tutorials
Rapid
{N<SEQ>}{<MOTION>}{X<X-COORD>}
{Y<Y-COORD>}<EOB>
Z Rapid
{N<SEQ>}{<MOTION>}{Z<Z-COORD>}<EOB>
Program End
{N<SEQ>}G28G91Y0Z0M9<EOB>
{N<SEQ>}M30<EOB>
File End
%<EOB>
18.Save your changes to the post, and regenerate the NC code to
create the following program:
%
:001
N25G17G21G40G49G80G90G94
N35T1M6
N45G0G90G54X32.5Y0.S5200M3
N55G43Z15.862H1M8
N65Z2.54
N75G1Z-5.0F105.
N85X52.5F209.
N95G0Z15.862
N105G28G91Y0Z0M9
N115M30
%%
Tutorials 189
190 Tutorials
Index
B
Bar feed 109
C
Catcher in 109
Catcher out 109
Changing post units 26
Circular move 54, 109
Computer tapping cycles 131
Conditional statements 8
Configuring reserved words 9
Control characters 26
Converting post 189
Creating program formats 187
Custom format See Formats menu
Cycle formats
Milling cycle formats 55
Turning cycle formats 111
Drill cycle 111
Groove cycle 112
Tapped canned cycle 112
Thread cycle 112
D
Defining formats
Mill posts
Cycle formats 55
Macro formats 56
Move formats 53
Program formats 51
Rules 50
Multi-turret posts
Making a multi-turret post 158
Pinch and follow turning 158
Syncronizing spindle speed 157
Turn posts
Cycle formats 111
Move formats 108
Program formats 107
Rules 106
Turn/mill posts
General structure 147
Linear move 148
Program start and tool change
formats 147
Rapid move 148
Wire EDM posts
Macro formats 56
Move formats 168
Program formats 107
Dialogs
Cycles 104
Feeds and Speeds 36, 103
Five-Axis 37, 146
Fixture ID 36, 105
General 29, 96, 133, 162
Machine Constants 166
Index 191
Edit menu 15
Expressions
Assignment 23
Formatting 23
Logical operators 20
Numeric operators 18
Square brackets 17
String operators 22
Suppressing printing of 24
F
FeatureCAM 1, 70
FeatureTURN 130
FeatureWIRE 177
File menu 4, 12
Finish cycle end 110
Finish cycle start 110
Five axis machine types 37
Formats editor
Edit menu 15
File menu 12
Reserved Words dialog 13
Formats menu 11
Formatting expressions 23
Four axis wire EDM arc moves 181
Fourth and fifth axis support
Fifth axis indexing 93
Fourth axis indexing 90
Fourth axis wrapping 91
Rotation styles 88
192 Index
H
Hole canned cycles 68, 77
M
Machine dimensions 37
Macro formats
Milling macro formats 56
Wire EDM macro formats 56
Making a multi-turret post 158
Making reserved words modal See
Modality delimiters
Menus
Edit menu 15
File menu 4, 12
Formats menu 11
Milling CNC-Info menu
Feeds and Speeds 36
Five-Axis 37
Fixture ID 36
General 29
NC Codes 33
Sim-Info menu 7
Turn/mill CNC-Info menu
Cycles 104
Feeds and Speeds 103
Five-Axis 146
Fixture ID 105
General 133
NC Codes 137
Spindles 102
Turrets 100
Turning CNC-Info menu
Cycles 104
Feeds and Speeds 103
Fixture ID 105
General 96
NC Codes 98
Spindles 102
Turrets 100
Wire EDM CNC-Info menu
General 162
Machine Constants 166
NC Codes 165
Milling formats 183
Milling posts
3D arcs 76
CNC-Info menu 28
Cutter compensation 72
Cycle types 70
Defining formats 50
Fanuc line numbering 78
Formats menu 11
Fourth and fifth axis support 88
Input dimension 70
Milling macros 78
Expected G-code 79
Implementing local coordinate
systems 83
Incremental macros 86
Multiple fixture documents 73
Pecking 75
Reserved words
Logical reserved words 63
Numeric reserved words 57
String reserved words 66
Z data 71
Modality delimiters 25
Move formats
Milling
Circular move 54
Dwell 55
Linear move 54
Rapid move 53
Spindle 54
UDF text 55
Z-rapid move 54
Turning
Bar feed 109
Catcher in 109
Catcher out 109
Circular move 109
Dwell 109
Finish cycle end 110
Finish cycle start 110
Linear move 108
Rapid move 108
Rough cycle end 110
Rough cycle start 109
Spindle 109
Spindle close 110
Spindle open 110
Spindle orient 111
Spindle position 110
Spindle postion feed 111
Spindle start/stop 111
Turret home 111
UDF text 111
Wire EDM
Circular move 169
Linear move 169
Rapid move 168
UDF text 170
XY UV end move 170
XY UV move 169, 170
Multi-turret turn posts
Defining formats 157
Muti-turret reserved words 156
N
Numeric operators 18
Numeric reserved words 7
Milling 57
Turn/mill 150
Turning
Index 193
O
Operators
Logical operators 20
Numeric operators 18
String operators 22
P
Pinch and follow turning 158
Program formats
Milling
File end 53
Program start 52
Segment start 52
Tool change 52
Turning
Program end 108
Program start 107
Segment start 107
Spindle change 107
Tool change 107
Wire EDM
File end 53
Program end 168
Program start 167
Segment start 167
Program start and tool change formats
147
R
Rapid move 53, 108, 148
Reserved words
Conditional statements 8
Configuring 9
Logical 8
Milling
194 Index
S
Sim-Info menu 7
Spindle 54, 109
Spindle close 110
Spindle open 110
Spindle orient 111
Spindle position 110
Spindle postion feed 111
Spindle start/stop 111
Square brackets 17
String operators 22
String reserved words 8
Milling 66
Turn/mill 152
Turning 127
Syncronizing spindle speed 157
System reserved words 8
T
Table on table machines 37
U
UDF text 55, 111, 170
Units 26
W
Wire EDM posts
CNC-Info menu 161
Cycle type 181
Defining formats 107
Four axis wire EDM arc moves
181
X
Xbuild
Control characters 26
Expressions 15
File menu 4
Formats editor 12
Formats menu 11
Mill posts
Cycle formats 55
Macro formats 56
Move formats 53
Program formats 51
Rules 50
Modality delimiters 25
Multi-turret posts
Making a multi-turret post 158
Pinch and follow turning 158
Syncronizing spindle speed 157
Overview 1
Post type 2, 3
Reserved words 7
Sim-Info menu 7
Turn posts
Cycle formats 111
Move formats 108
Program formats 107
Rules 106
Turn/mill posts
General structure 147
Linear move 148
Program start and tool change
formats 147
Index 195
Z
Z-rapid move 54
196 Index