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.
The operations in FeatureCAM are mapped to the following canned cycle formats:
|
Operation |
Canned Cycle Format |
|
Chamfer |
SPOT FACE |
|
Countersink |
SPOT FACE |
|
Counterbore |
SPOT FACE |
|
Drill |
DRILL |
|
Ream |
BORE(F-F) |
|
Tap |
TAP |
|
Peck Drilling |
DEEP HOLE and CHIP BREAK |
The following FeatureCAM parameters contain corresponding Reserved Words in XBuild:
|
FeatureCAM |
XBUILD
|
TYPE
|
|
Tool No.(from Operations Sheet)
|
<TOOL> |
Numeric |
|
Fixture ID |
<FIXTURE> |
Numeric |
|
Tool Change Location X (from Post Options dialog box) |
<X-CHANGE> |
Numeric |
|
Tool Change Location Y (from Post Options dialog box) |
<Y-CHANGE> |
Numeric |
|
Tool Change Location Z (from Post Options dialog box) |
<Z-COORD> |
Numeric |
|
Coolant Manufacturing Attribute (Default Attribute or Feature Attribute) |
<COOLANT> |
String |
Some CNC machines require the previous Tool # and Fixture #. In this case, use the $symbol to represent the previous number. Tool parameter lines are formatted in PROGRAM START, TOOL CHANGE and PROGRAM END program formats.
Coolant parameters (Off, Mist and Flood) are defined in XBuild, and are output by Post whenever the Reserved Word, <COOLANT> appears in a program format block.
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 |
BUILD |
TYPE |
|
Z Rapid Plane |
<ZRAPID> |
Numeric |
|
Plunge Clearance |
<ZCLEAR> |
Numeric |
Cutter compensation is handled by XBuild and can be configured several ways, depending upon the CNC requirements. The most common configuration is to turn compensation On in the first X-Y feed move of the cutter path, and turn compensation Off in the last X-Y feed move. If the aforementioned configuration is utilized, then define the LINEAR MOVE program format as follows:
LINEAR MOVE BLOCK
{N<SEQ>}{<COMP-STAT>}{<MOTION>}{X<X-COORD>}{Y<Y-COORD>}{Z<Z-COORD>}{F<FEED>}<EOB>
If it is necessary to output the vector direction of the next move (for Cincinnati Milacron controls only), use the <X-VECTOR> and <Y-VECTOR> Reserved Words.
Other configurations may require the X and Y coordinates to be repeated as compensation is turned On. In that case, establish a conditional statement so that these repeated coordinates do not appear in every linear move of the cutter path. A conditional statement for a LINEAR MOVE program format is as follows:
LINEAR MOVE BLOCK
<IF><COMP-ON><THEN>
{N<SEQ>}<COMP-STAT>X<$X-COORD>Y<$Y-COORD><EOB>
<ENDIF>
{N<SEQ>}{<COMP-STAT>}{<MOTION>}{X<X-COORD>}{Y<Y-COORD>}{Z<Z-COORD>}{F<FEED>}<EOB>
The $ symbol is a Reserved Word modifier to generate the previous values of X and Y (to represent the current position of the tool). The <X-COORD> and <Y-COORD> Reserved Words always represent the next point in the cutter path.
To use the multiple fixture document capability of FeatureCAM, the reserved word <FIXTURE> or <MCSID> must be placed in the program start, tool change and segment start program formats prior to any <MOTION> statements. Your choice of <FIXTURE> or <MCSID> depends on your programming preference and the type of controller being used. Generally one or the other reserved word is used, not both. When the reserved word <FIXTURE> is used, it is preceded by the controller’s fixture offset letter (e.g. ‘D’, ‘E’, ‘F’, ‘G’ or ‘H’) in the appropriate program formats. Remember that the reserved word <FIXTURE> is obtained from the Fixture ID of the setup in FeatureCAM.
For example, the following build line is the last line of the program start format of the 850sxm.cnc post.
{N<SEQ>}G0X<X-COORD>Y<Y-COORD>Z<ABS-ZRAPID><COOLANT><EOB>
Adding an ‘H’ command using the <FIXTURE> reserved word prior to the motion command would look like this,
{N<SEQ>}H<FIXTURE>G0X<X-COORD>Y<Y-COORD>Z<ABS-ZRAPID><COOLANT><EOB>
A similar modification to the tool change and segment start program formats would complete the necessary changes to the post.
When using the reserved word <MCSID>, recall that this word is the name of the setup in FeatureCAM. This reserved word has more flexibility than the <FIXTURE> reserved word since it is a string. The only requirement is that the setup name in FeatureCAM uses the appropriate G-code command for your post. The placement of the <MCSID> reserved word in the block is identical to that of the <FIXTURE> reserved word only it does not need a preceding command letter. Using the above example, the modification would be,
{N<SEQ>}<MCSID>G0X<X-COORD>Y<Y-COORD>Z<ABS-ZRAPID><COOLANT><EOB>
The setup name in this particular example must be of the form "Hx" where x is a number. In controllers that accept specific commands to indicate particular fixture offsets, such as "G54", or "G55", using the <MCSID> reserved word may lessen confusion during the design process.
By placing the reserved word <FIXTURE> or <MCSID> in the program start, tool change, and segment start program formats, the fixture offset is called immediately prior to any motion commands.
When a fixture offset is changed, it is recommended that the <FIXTURE> or <MCSID> reserved word not be surrounded by modal brackets such that the fixture offset is repeated at each tool change or segment start line. This allows the tool change and segment start lines (under appropriate conditions) to used as a possible restart line.
Pecking applies to Deep Hole, Chip Break and Tap operations. The first step to handling pecking in a CNC file is to 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. The second step is to 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
The NC code specifies the first depth, a reducing value and a minimum depth. The first step pecks at the first depth. Each subsequent step is reduced by the reducing value until the minimum depth is reached. To use the FeatureCAM attributes consistently with the other pecking methods, it is recommended that the reducing value be calculated with the expression, [<STEP1>-<STEP2>] as shown in the deep hole drilling cycle for the Fadal control below:
{N<SEQ>}<CYCLE>{X<X-COORD>}{Y<Y-COORD>}R<ABS-ZCLEAR>Z<ABS-DEPTH>I<INC-STEP>
J<[<STEP1>-<STEP2>]K<MIN-STEP>F<FEED><EOB>
Factor reduction
The NC code specifies the first depth, a reducing factor and a minimum depth. The first step pecks at the first depth. Each subsequent step is reduced by the reducing factor until the minimum depth is reached. To use the FeatureCAM attributes consistently with the other pecking methods, it is recommended that the reducing value be calculated with the expression, [<STEP2>/<STEP1>] as shown in the deep hole drilling cycle for the GE2000 control below:
{N<SEQ>}<CYCLE>Z<ABS-DEPTH>R<ABS-ZCLEAR>D<TOOL>F<FEED> P1=<INC-STEP1>
P2=[<STEP2>/<STEP1>]P5=<MIN-STEP>F<FEED><EOB>
{N<SEQ>} X<X-COORD>Y<Y-COORD><EOB>
3-axis techniques that produce toolpaths in the principle planes can approximate the them with 3D lines and arcs. To activate this option, check the Arc/line approx milling attribute. To output the proper g-codes, the post must support 3D arcs. The proper g-codes for each circular plane must be entered in the NC Codes dialog box. These g-codes are stored in the <PLANE> reserved word. The Circular Move format must also be augmented to support arcs in each plane. The logical variables <XY-PLANE>, <ZX-PLANE>, and <YZ_PLANE> distinguish the plane of the current arc. The following is a Circular Move format for 3D arcs. The major purpose of the various cases is to output the correct arc centers.
{N<SEQ>}{<PLANE>}<MOTION>
<IF><XY-PLANE><THEN>
X<X-COORD>Y<Y-COORD>{Z<Z-COORD>}I<X-CEN>J<Y-CEN>
<ENDIF>
<IF><ZX-PLANE><THEN>
Z<Z-COORD>X<X-COORD>{Y<Y-COORD>}K<Z-CEN>I<X-CEN>
<ENDIF>
<IF><YZ-PLANE><THEN>
Y<Y-COORD>Z<Z-COORD>{X<X-COORD>}J<Y-CEN>K<Z-CEN>
<ENDIF>
{F<FEED>}<EOB>
Handling retract planes in canned cycles
If the control allows the changing of retract planes during a canned cycle you must adjust the post with the following steps:
Enter the G-codes for each rapid plane under Z rapid retract (this is the higher plane, G98 on a Fanuc) and R plane retract (this is the lower plane, G99 on a Fanuc).
In the Canned Move and all the Drilling canned cycles, the keyword, <CYCLE-RTRCT> must be included.
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>
Many Fanuc control users do not want line numbers, except they want to sequentially number the tool changes. This is accomplished with the following steps:
Either remove all the occurrence of N<SEQ> in the post or make sure that all occurrences are modal and set the Block Increment in FeatureCAM to 0.
Use the following line as the tool change in the Start Format. This line sets a variable, tc, to 1 and outputs it in the format for <SEQ>
N[<SEQ>:tc=1] T<TOOL> M6 ( TOOL <TOOL> [uppercase(<TOOL-NAME>)] )<EOB>
Use the following line as the tool change in the Tool Change Format
N[<SEQ>:tc=tc+1] T<TOOL> M6 ( TOOL <TOOL> [uppercase(<TOOL-NAME>)] )<EOB>
This section explains how the parameters that are defined in FeatureCAM correspond to XBuild Reserved Words, and how these are handled when NC is pressed.