CAM-generated NC programs

Application

CAM-generated NC programs are created externally of the control using CAM systems. In combination with 5-axis simultaneous machining and free-form surfaces, CAM systems provide a convenient solution, which in some cases may be the only solution possible.

Blisk_2

For CAM-generated NC programs to be able to use the full performance potential of the control and to provide you with such options as intervention and correction, certain requirements must be met.

CAM-generated NC programs must meet the same requirements as manually created NC programs. In addition, other requirements arise from the process chain.

Process steps

The process chain specifies the path from a design to the finished workpiece.

Create 3D models
(CAD)
[Object]
Define machining strategies
(CAM)
[Object]
Output NC program
(postprocessor)
[Object]
Run the NC program
(NC control)
[Object]
Execute movements
(machine)
[Object]
Workpiece
[Object]

Output formats of NC programs

Output in HEIDENHAIN Klartext format

  • If you output the NC program in Klartext, you have the following options:
  • 3-axis output
  • Output with up to five axes, without M128 or FUNCTION TCPM
  • Output with up to five axes, with M128 or FUNCTION TCPM
 
Tip
  • Requirements for 5-axis machining:
  • Machine with rotary axes
  • Advanced Functions Set 1 (option 8)
  • Advanced Functions Set 2 (option 9) for M128 or FUNCTION TCPM

If the machine kinematics and exact tool data are available to the CAM system, you can output 5-axis NC programs without M128 or FUNCTION TCPM. The programmed feed rate is calculated for all axis components per NC block, which can result in different cutting speeds.

An NC program with M128 or FUNCTION TCPM is machine-neutral and more flexible, since the control takes over the kinematics calculation and uses the tool data from the tool management. The programmed feed rate acts on the tool location point.

Compensating for the tool angle of inclination with FUNCTION TCPM (option 9)

Presets on the tool

NC programs contained in this User's Manual are suggestions for solutions. The NC programs or individual NC blocks must be adapted before being used on a machine.

  • Change the following contents as needed:
  • Tools
  • Cutting parameters
  • Feed rates
  • Clearance height or safe position
  • Machine-specific positions, e.g. with M91
  • Paths of program calls

Some NC programs depend on the machine kinematics. Adapt these NC programs to your machine kinematics before the first test run.

In addition, test the NC programs using the simulation before the actual program run.

 
Tip

With a program test you determine whether the NC program can be used with the available software options, the active machine kinematics and the current machine configuration.

Examples

11 L X+88 Y+23.5375 Z-8.3 R0 F5000

; 3-axis

NC programs contained in this User's Manual are suggestions for solutions. The NC programs or individual NC blocks must be adapted before being used on a machine.

  • Change the following contents as needed:
  • Tools
  • Cutting parameters
  • Feed rates
  • Clearance height or safe position
  • Machine-specific positions, e.g. with M91
  • Paths of program calls

Some NC programs depend on the machine kinematics. Adapt these NC programs to your machine kinematics before the first test run.

In addition, test the NC programs using the simulation before the actual program run.

 
Tip

With a program test you determine whether the NC program can be used with the available software options, the active machine kinematics and the current machine configuration.

11 L X+88 Y+23.5375 Z-8.3 A+1.5 C+45 R0 F5000

; 5-axis without M128

NC programs contained in this User's Manual are suggestions for solutions. The NC programs or individual NC blocks must be adapted before being used on a machine.

  • Change the following contents as needed:
  • Tools
  • Cutting parameters
  • Feed rates
  • Clearance height or safe position
  • Machine-specific positions, e.g. with M91
  • Paths of program calls

Some NC programs depend on the machine kinematics. Adapt these NC programs to your machine kinematics before the first test run.

In addition, test the NC programs using the simulation before the actual program run.

 
Tip

With a program test you determine whether the NC program can be used with the available software options, the active machine kinematics and the current machine configuration.

11 L X+88 Y+23.5375 Z-8.3 A+1.5 C+45 R0 F5000 M128

; 5-axis with M128

Output with vectors

NV_XYZ

From the point of view of physics and geometry, a vector is a directed variable that describes a direction and a length.

When outputting with vectors, the control requires at least one normalized vector that specifies the direction of the surface normals or the tool position. Optionally, the NC block contains both vectors.

A normalized vector is a vector with the value 1. The vector amount corresponds to the root of the sum of the squares of its components.

Normierter Vektor
 
Tip
  • Prerequisites:
  • Machine with rotary axes
  • Advanced Functions Set 1 (option 8)
  • Advanced Functions Set 2 (option 9)
 
Tip

You can only use the output with vectors in milling mode.

Switching the operating mode with FUNCTION MODE

 
Tip

Vector output with the direction of the surface normals is required for using 3D tool radius compensation depending on the tool’s contact angle (option 92).

3D radius compensation depending on the tool contact angle (option 92)

NC programs contained in this User's Manual are suggestions for solutions. The NC programs or individual NC blocks must be adapted before being used on a machine.

  • Change the following contents as needed:
  • Tools
  • Cutting parameters
  • Feed rates
  • Clearance height or safe position
  • Machine-specific positions, e.g. with M91
  • Paths of program calls

Some NC programs depend on the machine kinematics. Adapt these NC programs to your machine kinematics before the first test run.

In addition, test the NC programs using the simulation before the actual program run.

 
Tip

With a program test you determine whether the NC program can be used with the available software options, the active machine kinematics and the current machine configuration.

Examples

11 LN X0.499 Y-3.112 Z-17.105 NX0.2196165 NY-0.1369522 NZ0.9659258

; 3-axis with surface normal vector, without tool orientation

NC programs contained in this User's Manual are suggestions for solutions. The NC programs or individual NC blocks must be adapted before being used on a machine.

  • Change the following contents as needed:
  • Tools
  • Cutting parameters
  • Feed rates
  • Clearance height or safe position
  • Machine-specific positions, e.g. with M91
  • Paths of program calls

Some NC programs depend on the machine kinematics. Adapt these NC programs to your machine kinematics before the first test run.

In addition, test the NC programs using the simulation before the actual program run.

 
Tip

With a program test you determine whether the NC program can be used with the available software options, the active machine kinematics and the current machine configuration.

11 LN X0.499 Y-3.112 Z-17.105 NX0.2196165 NY-0.1369522 NZ0.9659258 TX+0.0078922 TY–0.8764339 TZ+0.2590319 M128

; 5-axis with M128, surface normal vector and tool orientation

Structure of an NC block with vectors

8H000_28
3dkorr1

Surface normal vector perpendicular to the contour

Tool direction vector

NC programs contained in this User's Manual are suggestions for solutions. The NC programs or individual NC blocks must be adapted before being used on a machine.

  • Change the following contents as needed:
  • Tools
  • Cutting parameters
  • Feed rates
  • Clearance height or safe position
  • Machine-specific positions, e.g. with M91
  • Paths of program calls

Some NC programs depend on the machine kinematics. Adapt these NC programs to your machine kinematics before the first test run.

In addition, test the NC programs using the simulation before the actual program run.

 
Tip

With a program test you determine whether the NC program can be used with the available software options, the active machine kinematics and the current machine configuration.

Example

11 LN X+0.499 Y-3.112 Z-17.105 NX0 NY0 NZ1 TX+0.0078922 TY–0.8764339 TZ+0.2590319

; Straight line LN with surface normal vector and tool orientation

Syntax element

Meaning

LN

Straight line LN with surface normal vector

X Y Z

Target coordinates

NX NY NZ

Components of the surface normal vector

TX TY TZ

Components of the tool direction vector

Types of machining according to number of axes

3-axis machining

WS_3-Achsbearbeitung

If only the linear axes X, Y and Z are required for machining a workpiece, 3-axis machining takes place.

3+2-axis machining

Fraesteil_V89

If tilting of the working plane is required for machining a workpiece, 3+2-axis machining takes place.

 
Tip
  • Prerequisites:
  • Machine with rotary axes
  • Advanced Functions Set 1 (option 8)

Inclined machining

Anw126_5Achs

For inclined machining, also referred to as inclined-tool machining, the tool is positioned at a user-defined angle to the working plane. The orientation of the working plane coordinate system WPL-CS is not changed, but only the position of the rotary axes and therefore the tool position. The control is able to compensate for the offset that is created in the linear axes.

Inclined machining is used in conjunction with undercuts and short tool clamping lengths.

 
Tip
  • Prerequisites:
  • Machine with rotary axes
  • Advanced Functions Set 1 (option 8)
  • Advanced Functions Set 2 (option 9)

5-axis machining

Fraesteil_V108_Blisk_V01

In 5-axis machining, also referred to as 5-axis simultaneous machining, the machine moves five axes at the same time. For free-form surfaces, this means that the tool can always be oriented perfectly with respect to the workpiece surface.

 
Tip
  • Prerequisites:
  • Machine with rotary axes
  • Advanced Functions Set 1 (option 8)
  • Advanced Functions Set 2 (option 9)

5-axis machining is not possible with the export version of the control.

Process steps

CAD

Application

Using CAD systems, designers create the 3D models of the required workpieces. Incorrect CAD data has a negative impact on the entire process chain, including the quality of the workpiece.

Notes

  • In 3D models, avoid open or overlapping faces and unnecessary points. If possible, use the check functions of the CAD system.
  • Design or save the 3D models based on the center of tolerance and not the nominal dimensions.
 
Tip
  • Support manufacturing with additional files:
  • Provide 3D models in STL format. The control-internal simulation can use the CAD data as blank and finished parts, for example. Additional models of tool and workholding equipment are important in conjunction with collision testing (option 40).
  • Provide drawings with the dimensions to be checked. The file type of the drawings is not important in this respect, since the control can also open files such as PDFs, and therefore supports paperless production.

Definition

Abbreviation

Definition

CAD (computer- aided design)

Computer-aided design

CAM and postprocessor

Application

Using machining strategies within the CAM systems, CAM programmers create machine-independent and control-independent NC programs based on the CAD data.

With the aid of the postprocessor, the NC programs are ultimately output specific to machine and control.

Notes on CAD data

  • Avoid quality losses due to unsuitable transfer formats. Integrated CAM systems with manufacturer-specific interfaces work in some cases without loss.
  • Take advantage of the available accuracy of the CAD data obtained. A geometry or model error of less than 1 μm is recommended for finishing large radii.

Notes on chord errors and Cycle 32 TOLERANCE

cyc_32_prozesskette
Nominal path (workpiece contour)
[Object]
Chord error
[Object]
NC data
[Object]
  • In roughing, the focus is on the processing speed.
  • The sum of the chord error and the tolerance T in Cycle 32 TOLERANCE must be smaller than the contour allowance, otherwise contour violations may occur.

    Chord error in CAM system

    0.004 mm to 0.015 mm

    Tolerance T in Cycle 32 TOLERANCE

    0.05 mm to 0.3 mm

  • When finishing with the aim of high accuracy, the values must provide the required data density.
  • Chord error in CAM system

    0.001 mm to 0.004 mm

    Tolerance T in Cycle 32 TOLERANCE

    0.002 mm to 0.006 mm

  • When finishing with the aim of a high surface quality, the values must allow smoothing of the contour.
  • Chord error in CAM system

    0.001 mm to 0.005 mm

    Tolerance T in Cycle 32 TOLERANCE

    0.010 mm to 0.020 mm

Cycle 32 TOLERANCE

Notes on control-optimized NC output

  • Prevent rounding errors by outputting axis positions with at least four decimal places. For optical components and workpieces with large radii (small curves), at least five decimal places are recommended. The output of surface normal vectors (for straight lines LN) requires at least seven decimal places.
  • You can prevent the cumulation of tolerances by outputting absolute instead of incremental coordinate values for successive positioning blocks.
  • If possible, output positioning blocks as arcs. The control calculates circles more accurately internally.
  • Avoid repetitions of identical positions, feed specifications and additional functions (e.g., M3).
  • Output Cycle 32 TOLERANCE again only when changing settings.
  • Make sure that corners (curvature transitions) are precisely defined by an NC block.
  • The feed rate fluctuates strongly if the tool path is output with strong changes in direction. If possible, round the tool paths.
  • Bahnen_nicht_verrundet
    Bahnen_verrundet

    Tool paths with strong changes in direction at transitions

    Tool paths with rounded transitions

  • Do not use intermediate or interpolation points for straight paths. These points are generated, for example, by a constant point output.
  • Prevent patterns on the workpiece surface by avoiding exactly synchronous point distribution on surfaces with even curvature.
  • Use suitable point distances for the workpiece and the machining step. Possible starting values are between 0.25 mm and 0.5 mm. Values greater than 2.5 mm are not recommended, even with high machining feed rates.
  • Prevent mispositioning by outputting the PLANE functions (option  8) with MOVE or TURN without separate positioning blocks. If you output STAY and position the rotary axes separately, use variables Q120 to Q122 instead of fixed axis values.
  • Tilting the working plane with PLANE functions (option 8)

  • Prevent strong feed breaks at the tool location point by avoiding an unfavorable relationship between linear and rotary axis motion. A significant change in the tool adjustment angle with a slight change in the position of the tool is a problem, for example. Take into account the different speeds of the axes involved.
  • If the machine moves five axes simultaneously, the kinematic errors of the axes may multiply. Use as few axes as possible simultaneously.
  • Avoid unnecessary feed rate limits that you can define within M128 or the FUNCTION TCPM (option 9) function for compensation movements.
  • Compensating for the tool angle of inclination with FUNCTION TCPM (option 9)

  • Take into account the machine-specific behavior of rotary axes.
  • Notes on software limit switches for modulo axes

Notes on tools

  • A ball-nose cutter, a CAM output to the tool center point and a high rotational axis tolerance TA (1° to 3°) in cycle 32 TOLERANCE enable uniform feed paths.
  • Ball-nose or toroidal milling cutter and a CAM output relative to the tool tip require low rotational axis tolerances TA (approx. 0.1°) in Cycle 32 TOLERANCE. Contour violations are more likely to occur at higher values. The extent of the contour violations depends on factors such as the tool position, the tool radius and the depth of engagement.

Presets on the tool

Notes on user-friendly NC outputs

  • Facilitate the easy adaptation of NC programs by using the machining and touch probe cycles of the control.
  • Facilitate both the adaptation options and the overview by defining feed rates centrally using variables. It is preferable to use freely usable variables (e.g., QL parameters).
  • Variables: Q, QL, QR and QS parameters

  • Provide a better overview by structuring the NC programs. One method is to use subprograms within the NC programs. If possible, divide larger projects into multiple separate NC programs.
  • Programming Techniques

  • Support correction options by outputting contours with tool radius correction.
  • Tool radius compensation

  • Use structure items to enable fast navigation within the NC programs.
  • Structuring of NC programs

  • Use comments to communicate important information about the NC program.
  • Adding comments

NC control and machine

Application

The control uses the points defined in the NC program to calculate the motions of each machine axis as well as the required velocity profiles. Control-internal filter functions then process and smooth the contour so that the control does not exceed the maximum permissible path deviation.

The motions and velocity profiles calculated are implemented as movements of the tool by the machine's drive system.

You can use various intervention and correction options to optimize machining.

Notes on the use of CAM-generated NC programs

Notes on software limit switches for modulo axes

 
Tip

The following information on software limit switches for modulo axes also applies to traversing limits.

Traverse limits

The following general conditions apply to software limit switches for modulo axes:

  • The lower limit is greater than –360° and less than +360°.
  • The upper limit is not negative and less than +360°.
  • The lower limit is not greater than the upper limit.
  • The lower and upper limits are less than 360° apart.

If the general conditions are not met, the control cannot move the modulo axis and issues an error message.

If the target position or a position equivalent to it is within the permitted range, movement is permitted with active modulo limit switches. The direction of motion is determined automatically, as only one of the positions can be approached at any one time. Please note the following examples!

Equivalent positions differ by an offset of n x 360° from the target position. The factor n corresponds to any integer.

NC programs contained in this User's Manual are suggestions for solutions. The NC programs or individual NC blocks must be adapted before being used on a machine.

  • Change the following contents as needed:
  • Tools
  • Cutting parameters
  • Feed rates
  • Clearance height or safe position
  • Machine-specific positions, e.g. with M91
  • Paths of program calls

Some NC programs depend on the machine kinematics. Adapt these NC programs to your machine kinematics before the first test run.

In addition, test the NC programs using the simulation before the actual program run.

 
Tip

With a program test you determine whether the NC program can be used with the available software options, the active machine kinematics and the current machine configuration.

Example

11 L C+0 R0 F5000

; Limit switches –80° and +80°

12 L C+320

; Target position –40°

The control positions the modulo axis between the active limit switches to the position –40°, which is equivalent to 320°.

NC programs contained in this User's Manual are suggestions for solutions. The NC programs or individual NC blocks must be adapted before being used on a machine.

  • Change the following contents as needed:
  • Tools
  • Cutting parameters
  • Feed rates
  • Clearance height or safe position
  • Machine-specific positions, e.g. with M91
  • Paths of program calls

Some NC programs depend on the machine kinematics. Adapt these NC programs to your machine kinematics before the first test run.

In addition, test the NC programs using the simulation before the actual program run.

 
Tip

With a program test you determine whether the NC program can be used with the available software options, the active machine kinematics and the current machine configuration.

Example

11 L C-100 R0 F5000

; Limit switches –90° and +90°

12 L IC+15

; Target position –85°

The control executes the traversing motion because the target position lies within the permitted range. The control positions the axis in the direction of the nearest limit switch.

NC programs contained in this User's Manual are suggestions for solutions. The NC programs or individual NC blocks must be adapted before being used on a machine.

  • Change the following contents as needed:
  • Tools
  • Cutting parameters
  • Feed rates
  • Clearance height or safe position
  • Machine-specific positions, e.g. with M91
  • Paths of program calls

Some NC programs depend on the machine kinematics. Adapt these NC programs to your machine kinematics before the first test run.

In addition, test the NC programs using the simulation before the actual program run.

 
Tip

With a program test you determine whether the NC program can be used with the available software options, the active machine kinematics and the current machine configuration.

Example

11 L C-100 R0 F5000

; Limit switches –90° and +90°

12 L IC-15

; Error message

The control issues an error message because the target position is outside the permitted range.

NC programs contained in this User's Manual are suggestions for solutions. The NC programs or individual NC blocks must be adapted before being used on a machine.

  • Change the following contents as needed:
  • Tools
  • Cutting parameters
  • Feed rates
  • Clearance height or safe position
  • Machine-specific positions, e.g. with M91
  • Paths of program calls

Some NC programs depend on the machine kinematics. Adapt these NC programs to your machine kinematics before the first test run.

In addition, test the NC programs using the simulation before the actual program run.

 
Tip

With a program test you determine whether the NC program can be used with the available software options, the active machine kinematics and the current machine configuration.

Examples

11 L C+180 R0 F5000

; Limit switches –90° and +90°

12 L C-360

; Target position 0°: Also applies for a multiple of 360°, e.g. 720°

NC programs contained in this User's Manual are suggestions for solutions. The NC programs or individual NC blocks must be adapted before being used on a machine.

  • Change the following contents as needed:
  • Tools
  • Cutting parameters
  • Feed rates
  • Clearance height or safe position
  • Machine-specific positions, e.g. with M91
  • Paths of program calls

Some NC programs depend on the machine kinematics. Adapt these NC programs to your machine kinematics before the first test run.

In addition, test the NC programs using the simulation before the actual program run.

 
Tip

With a program test you determine whether the NC program can be used with the available software options, the active machine kinematics and the current machine configuration.

11 L C+180 R0 F5000

; Limit switches –90° and +90°

12 L C+360

; Target position 360°: Also applies for a multiple of 360°, e.g. 720°

If the axis is exactly in the middle of the prohibited area, the distance to both limit switches is identical. In this case, the control can move the axis in both directions.

If the positioning block results in two equivalent target positions in the permitted range, the control positions itself along the shorter path. If both equivalent target positions are 180° away, the control selects the direction of motion according to the programmed algebraic sign.

Definitions

Modulo axis
Modulo axes are axes whose encoder only returns values between 0° and 359.9999°. If an axis is used as a spindle, then the machine manufacturer must configure this axis as a modulo axis.

Rollover axis
Rollover axes are rotary axes that can perform several or any number of revolutions. The machine manufacturer must configure a rollover axis as a modulo axis.

Modulo counting method
The position display of a rotary axis with the modulo counting method is between 0° and 359.9999°. If the value exceeds 359.9999°, the display starts over at 0°.

Functions and function packages

ADP motion control

Punkteverteilung

Distribution of points

ADP

Comparison without and with ADP

CAM-generated NC programs with an insufficient resolution and variable point density in adjacent paths can lead to feed rate fluctuations and errors on the workpiece surface.

The Advanced Dynamic Prediction (ADP) function extends the prediction of the permissible maximum feed rate profile and optimizes the motion control of the axes involved during milling. This means that you can achieve a high surface quality with a short machining time and reduce the reworking effort.

  • The most important benefits of ADP at a glance:
  • With bidirectional milling, the forward and reverse paths have symmetrical feed behavior.
  • Tool paths adjacent to one another have uniform feed paths.
  • Negative effects associated with typical problems of CAM-generated NC programs are compensated for or mitigated, e.g.:
    • Short stair-like steps
    • Rough chord tolerances
    • Strong rounded block end point coordinates
  • Even under difficult conditions, the control precisely complies with the dynamic parameters.

Dynamic Efficiency

Anw245_V03_Schwerzerspanung_de_office

The Dynamic Efficiency package of functions enables you to increase process reliability in heavy machining and roughing in order to improve efficiency.

  • Dynamic Efficiency includes the following software features:
  • Active Chatter Control (ACC, option 145)
  • Adaptive Feed Control (AFC, option 45)
  • Cycles for trochoidal milling (option 167)
  • Using Dynamic Efficiency offers the following advantages:
  • ACC, AFC and trochoidal milling reduce machining time by increasing the material removal rate.
  • AFC enables tool monitoring and thus increases process reliability.
  • ACC and trochoidal milling extend the tool life.
 
Manual

You can find more information in the brochure titled Options and Accessories.

Dynamic Precision

Fraesteil_V100_CTC_V01_1_de_office

The Dynamic Precision package of functions enables you to machine quickly and accurately, and with high surface quality.

  • Dynamic Precision includes the following software functions:
  • Cross Talk Compensation (CTC, option 141)
  • Position Adaptive Control (PAC, option 142)
  • Load Adaptive Control (LAC, option 143)
  • Motion Adaptive Control (MAC, option 144)
  • Active Vibration Damping (AVD, option 146)
  • The functions each provide decisive improvements. They can be combined and also mutually complement each other:
  • CTC increases the accuracy in the acceleration phases.
  • AVD enables better surfaces.
  • CTC and AVD result in fast and accurate processing.
  • PAC leads to increased contour constancy.
  • LAC keeps accuracy constant, even with variable load.
  • MAC reduces vibrations and increases the maximum acceleration for rapid traverse movements.
 
Manual

You can find more information in the brochure titled Options and Accessories.