Surface machining with Surface Optimiser (method 3)

The HSC Surface Optimiser was developed to achieve consistent machining results regardless of the point distribution by the CAM system. In particular, the density of interpolation points on neighbouring machining paths can fluctuate with some CAM systems, which would lead to an uneven machining result. The figure below shows a machining result of this kind. The two points marked in red are missing on one of the neighbouring machining paths. This results in a different tool path (blue) in contrast to the neighbouring paths if the smoothing process is not optimised.

Surface machining with Surface Optimiser (method 3) 1:
Problems in workpiece quality due to uneven distribution caused by the CAM system.

In addition to uniform machining paths, the HSC Surface Optimiser ensures a high feedrate that is as constant as possible. Due to the necessary calculations, the use of the Surface Optimiser requires high-performance control hardware.

Programming

Syntax:

#HSC [ON | OFF] [[ SURFACE [PATH_DEV=..] [PATH_DEV_G00=..] [TRACK_DEV=..] [TRACK_DEV_G00=..]

                               [MAX_ANGLE=..] [CHECK_JERK=..] [AUTO_OFF_G00=..] [CIR_MODE=..]

                               [CIR_MIN_ANGLE=..] [CIR_MIN_RADIUS=..] [MERGE=..] [LENGTH_LONG_CIR=..] ] ]

ON

Enable HSC programming.

OFF

Disable HSC programming.

SURFACE

Keyword for HSC machining with surface optimiser. Must always be programmed as first keyword.

PATH_DEV=..

Define maximum contour error.

> 0.0: Maximum path deviation in [mm, inch *]

Default value: 0.2 mm

Empirically, the contour error should be set 2 or 3 times larger than the secant error which is defined when the NC program is generated in the CAM system.

The tool is not in contact with the workpiece in G0 motions. As a result, the tolerance can be set significantly larger than PATH_DEF without changing the precision of the workpiece.

PATH_DEV_G00=..

Define maximum contour error for G0-G0 transitions.

> 0.0: Maximum path deviation in [mm, inch *]

Default value: The value of PATH_DEV applies

TRACK_DEV=..

Define the maximum orientation error.

>= 0.0: Maximum path deviation in [°]

Default value: 2 °

TRACK_DEV_G00=..

Define the maximum orientation error for G0-G0 transitions.

>= 0.0: Maximum path deviation in [°]

Default value: The value of TRACK_DEV applies

If a ball milling cutter is used, the value can be set significantly larger than PATH_DEV (e.g. 10 times).

The tool is not in contact with the workpiece in G0 motions. As a result, the tolerance can be set significantly larger than TRACK_DEV without influencing the precision of the workpiece.

MAX_ANGLE=..

Define the maximum contour knee angle in degrees for transitions between two linear blocks up to which this method can be applied. If the angle between the two linear blocks exceeds this limit, the mode is deselected internally.

>= 0.0: Maximum knee angle in [°]

Default value: 160 °

Surface machining with Surface Optimiser (method 3) 2:

CHECK_JERK=..

Jerk monitoring caused by curvature of the polynomial (cf. P-CHAN-00110). This parameter overwrites the initial state defined in the channel parameter list by P-CHAN-00110 (check_jerk_on_poly_path).

0: No jerk monitoring

1: Jerk monitoring based on the geometric ramp time P-AXIS-00199. This may reduce path velocity.

2: Jerk monitoring based on ramp times P-AXIS-00195 up to P-AXIS-00198 of the non-linear velocity profile.

AUTO_OFF_G00=..

Automatic deselection of optimisation with G00 blocks

0: No implicit deselection due to rapid traverse block (default)

1: Implicit deselection due to a rapid traverse block

CIR_MODE=..

Define contouring of circular motions:

0 :  No contouring of circular motions G02/G03

1 : Circular block contouring. (default)

2 : Contour circular blocks and optimise long circular blocks
     Available as of V3.1.3075.01

CIR_MIN_ANGLE=..

Define minimum circle angle

Valid values: >= 0.0 : Minimum circle angle in degrees

The minimum circle angle at which circular motions can be traversed by the method using exact interpolation. Circular blocks with small swept angles are approximated by a spline curve for faster processing. (Default value = 30°)

CIR_MIN_RADIUS=..

Define minimum circle radius

Valid values: >= 0.0 : Maximum circle radius in [mm, inch *]

The minimum circle radius defines the circle radius from which circular motions can be traversed by the method using exact interpolation. Circular blocks with a small radius or with the magnitude of PATH_DEV are approximated by a spline curve.

Available as of V3.1.3075.01

MERGE=..

Merge blocks. The maximum deviation is determined depending on the values taken from PATH_DEV and TRACK_DEV.

0: No block merging (default)

1: Merge blocks

LENGTH_LONG_CIR=..

Minimum length of segments for long circular blocks when
CIR_MODE= 2 in [mm, inch *] is used
(default value= 2)

Available as of V3.1.3075.01

 

*with active P-CHAN-00439

Default values of free-form surface machining

PATH_DEV

0.2 mm (default value of PATH_DEV)

TRACK_DEV

2° (default value of TRACK_DEV)

PATH_DEV_G00

PATH_DEV

TRACK_DEV_G00

TRACK_DEV

CIR_MODE

1

MAX_ANGLE

160 °

CHECK_JERK

The valid channel parameter is P-CHAN-00110

(check_jerk_on_poly_path, default value = 1)

AUTO_OFF_G00

0

CIR_MIN_ANGLE

30 °

CIR_MIN_RADIUS

0.0

LENGTH_LONG_CIR

2 mm

The parameters may also be specified in several steps. For example, this means it is possible to first define the maximum contour deviation ("PATH_DEV "). Then in a second command, jerk monitoring ("CHECK_JERK") and the selection of HSC surface interpolation ("ON") are defined.

When #HSC[SURFACE] is used, you are advised to use #SLOPE[TYPE=HSC] at the same time for path velocity planning.

Notice

Parameterisation cannot be changed while smoothing is active.

One condition to use this function is that it should be parameterised in the start-up list for each channel in which the function is to be used.

Programming Example

Surface machining with Surface Optimiser

N20 G00 X0 Y0 Z0 F10000
;Parametrisation + selection
N30 #HSC ON [SURFACE PATH_DEV=0.02 CHECK_JERK=0]
N40   X3     Y25
N50   15     Y15
N60   23     Y12
N70   X25    Y25
N80   X30    Y35
N90   X50    Y37.5
N100  X55    Y32.5
N110  X58    Y12
N120  X70    Y12
N130  X77.5  Y10
N140  X90    Y35
N150  X100   Y37.5
N160 #HSC OFF
N170 M30

Alternative programming:

N20 G00  X0    Y0    Z0 F10000
N25 #HSC [SURFACE PATH_DEV=0.02 CHECK_JERK=0] ;Parameterisation
N30 #HSC ON ;Select
N40   X3     Y25
N50   15     Y15
N60   23     Y12
N70   X25    Y25
N80   X30    Y35
N90   X50    Y37.5
N100  X55    Y32.5
N110  X58    Y12
N120  X70    Y12
N130  X77.5  Y10
N140  X90    Y35
N150  X100   Y37.5
N160 #HSC OFF
N170 M30