Handling Turn/mill program formats



Your Ad Here

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> variable 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>

Program Start Format and Tool Change Format

For milling moves, you must enable the C-axis and orient the C-axis in both of these formats. Here is an example for the Acramatic 850 TC:

<IF><MILLING><THEN>
{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>

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. 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>
<IF><MILLING><THEN>
{X<X-COORD> }{Z<Z-COORD> }{C<ROT1-WIND> }{F<ANG-FPM>}<EOB>
<ENDIF>

For machines in which the controller performs the interpolation, make sure to set Polar interpolation done by machine tool in the General Information dialog box. 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>

Rapid Format

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>

 

Return to FeatureCAM Index


Your Ad Here