HSC B-Spline

The HSC B spline process enables users to spline the programmed contour with a parameter-definable contour deviation. The three-dimensional curve generally does not interpolate the programmed interpolation points and uses them only as checkpoints to be approximated. Contour elements that lie within the parameterized tolerance can be grouped into one single spline segment.

HSC B-Spline 1:
HSC B-Spline 2:
Figure 1- 16 : Reduction of spline segments with the tolerance by P0

Programming

The spline curve is based on the checkpoints N40 – N155, and the spline curve passes through at N20 and N150 only.

N10 #SET SLOPE PROFIL[3] 
N20 G00 X0 Y0 Z0 F10000
N30 #HSC ON [BSPLINE PATH_DEV=0.2 MERGE=1]
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 #SET SLOPE PROFIL
N180 M30

A program part that is to be smoothed in the HSC mode begins with #HSC ON and ends with #HSC OFF. Necessary settings are either directly behind #HSC ON in square brackets or in a separate program line before it. The following excerpts from NC programs show both variants:

#HSC ON [BSPLINE Settings]
...
#HSC OFF

or

#HSC [BSPLINE  Settings]
...
#HSC ON
...
#HSC OFF

Once chosen, settings are retained in further #HSC ON...OFF–sections until they are programmed again.

It is recommended to activate the HSC slope due to the optimized block-global profile planning in the case of short blocks. At the end of the HSC section it is possible to switch again back to the default slope type with#SET SLOPE PROFIL.

To find a favourable setting, three questions must be clarified:

  1. Is the machine susceptible to vibrations?
  2. Are sharp edges to remain visible?
  3. Does the NC program contain circle blocks?
HSC B-Spline 3:

Recommendation

In any case, you should run without pre-segmentation of linear blocks and you should not filter out small NC blocks, i.e. you should make sure that, in the channel parameters list, the parameters "hsc.gen.linear_segmentation", and "hsc.gen.filter_deviation "are set to zero.

Setting the spline parameters

Below, the parameters of the spline curves are described with which contours are smoothed in the HSC mode. All settings follow the key word BSPLINE. We first show what parameters define the tolerance with which the smoothed path may deviate from the programmed points. How the HSC process reacts to violation of this tolerance has to do with the question whether sharp edges are to be visible or rounded. A choice can be made between both variants.

In rare cases, overlapping of parallel paths occurs when combining NC blocks. To prevent this, a presetting must be modified. Finally, an option for smoothing rapid traversing blocks and limits for bend angles and block lengths that should only be modified in exceptional cases are described.

Contour deviation

Contours smoothed by the HSC algorithm do not lie exactly on the programmed points; the maximum deviation of the main axes follows the key word PATH_DEV, and its value ∆s is specified in millimeters. For 5-axis simultaneous milling, the tolerance of the angle axes is specified ∆φ in degrees after the key word TRACK_DEV:

#HSC ON [BSPLINE PATH_DEV =∆s, TRACK_DEV =∆φ]

HSC B-Spline 4:
Figure 1-17: - Defining the distance of the smoothed contour from the programmed path

Are sharp edges to remain visible?

At sharp edges, the spline curve threatens to depart from the tolerance limits. The HSC process counteracts this in two ways: either it inserts new points, thus pulling the spline towards the programmed path or it interrupts the spline curve at the corner point so that the smoothed contour leads exactly to the tip. In the case of the first method, corners are rounded, whereas in the case of the second one they remain visible.

Rounded edges

This mode is the default. To expressly select it, set the two parameters AUTO_OFF_PATH and AUTO_OFF_TRACK to zero:

#HSC [BSPLINE AUTO_OFF_PATH = 0, AUTO_OFF_TRACK = 0]

Main and slave axes can be set differently, which does not appear to make sense, however.

explains the method's operating principle.

HSC B-Spline 5:

If you smooth linear blocks with this method, it results in a curvature like in the case of the "Contour-Mode" command with G261 if, in the channel parameters, "hsc.gen.linear_segmentation" is set to zero.

HSC B-Spline 6:
Figure 1-18: - Adding points at sharp corners to keep to tolerance.

Sharp edges

To activate the "angular contour" mode, set theAUTO_OFF_PATH and AUTO_OFF_TRACKparameters to one:

#HSC [BSPLINE AUTO_OFF_PATH = 1, AUTO_OFF_TRACK = 1]

Here, the spline curve ends at corner points, as shown in the following figure.

HSC B-Spline 7:

Although you stop briefly at the tip, the machining time drops in this mode because the process decelerates quickly here and accelerates again, contrary to the "round corners" mode in which you travel a longer distance with a relatively small feed rate.

HSC B-Spline 8:
Figure 1-19:–Cancellation of the spline at the corner point; the sharp edge remains visible

Merging blocks

The path's curvature radius and the feed rate determine the axial acceleration perpendicular to the path direction. It may be necessary to lower the feed rate to be able to keep to all axis acceleration limits.

The spline curves generated from the NC code for free-form areas practically always have an unsettled course of the curvature, which fluctuates from one block to another. It therefore makes sense to merge NC blocks to smooth the feed rate limits. In rare cases, overlapping of parallel paths occurs, which manifests itself in unequal milling paths. Merging can be deactivated with theMERGEparameter.

#HSC [BSPLINE MERGE = 0 or 1]

MERGE = 1 Merge blocks, default

MERGE = 0 Do not merge blocks

The figure below shows how the spline merge steadies the course of the curvature; it is then possible to travel with a more even feed rate.

HSC B-Spline 9:

The merge process merges NC blocks until further merging leads to violation of the tolerance margin, which was defined with the PATH_DEV and TRACK_DEV parameters. If jerk limiting is active and the geometric jerk is monitored, a calm curvature profile also leads to higher speeds.
Finally, a setting for smoothing rapid traversing blocks and limits for bend angles and block lengths are described.

HSC B-Spline 10:
Figure 1- 20 : The spline MERGE steadies the curvature profile

Spline and rapid traversing positioning

As has been found, it is faster to travel into a corner and to wait a moment there than to round the contour and travel at a low feed rate over a longer distance. This is why it may make sense not to smooth transitions with rapid traversing blocks. If the starting motions have been programmed with rapid traversing blocks and you would not like to stop during feeding of the milling tool, AUTO_OFF_G00 must be equal to zero.

#HSC [BSPLINE AUTO_OFF_G00 = 0 or 1]

AUTO_OFF_G00 = 0 Smoothen transitions with rapid traversing blocks,
default

AUTO_OFF_G00 = 1 Implicit cancellation of the spline due to a rapid
traversing block

Threshold values of the algorithm

MAX_PATH_LENGTH<value> - Maximum path length of relevant blocks in mm. The spline is implicitly cancelled if blocks are longer than the specified length. Default: 0 mm (implicit cancellation due to block length does not take place).

MAX_ANGLE<value> - Maximum contour bend angle in degrees for transitions between two linear blocks up to which a B-spline is inserted. The B-spline is cancelled internally if the angle between the two linear blocks is greater. Default value: 0°(implicit cancellation due to the bend angle does not take place).

Smoothing over the contour in the HSC mode

In the HSC mode, prismatic parts are machined just as well as polynomial smoothing over with the "Contour-Mode" commands. This mode thus functions for both free-form areas and prismatic contours.

HSC B-Spline 11:
HSC B-Spline 12:
Figure 1-21: The HSC mode (top) smoothes linear blocks as in the case of "Contour-Mode" commands (bottom); the contours hardly deviate.