New Flexium Function – G164

When running a CAD generated part program, every CNC system faces a dilemma: whether to strictly follow the programmed path or to optimize it to smooth the transitions. From the outset, NUM’s philosophy has been the former: to strictly go through each set of coordinates of the programmed path. After all, if a point has been programmed there is a reason for it!

This of course assures the best compliance to the design, but there is a drawback: when two segments are not collinear (and they are not), then by definition they form an angle which is responsible for some micro orthogonal accelerations – and if those accelerations exceed a certain value, then the CNC will have to slow down the speed in order to pass the point without a shock. Of course, there are parameters to dictate what is acceptable and what is not, but as life is not perfect and the physics has immutable rules, it is always necessary to find a compromise between speed and accuracy.

Flexium+ is well known for its flexibility. Now, in order to maximize customers’ possibilities – and still complying with its first priority which is accuracy – the CNC system offers several means of finding better compromises, each with specific advantages or for best-case use. Spline interpolation, polynomial interpolation and NUMcoss are now joined by the latest development in this matter: a corner smoothing function, known as G164. As it is a G function it can be invoked and revoked at several points of the program and remains modal in between.

The general principle can be seen in the following drawing. An exit and an entry point are calculated in the vicinity of the intersection of the two adjacent blocks, and then those two points are linked by a polynomial curve. They are calculated in such a way that no interference can be created and the polynomial curve can be either a cubic B-Spline or a quintic B-Spline (5th order). There is no limit to the number of blocks in which G164 is active and the function works with blocks as small as 100 µm.

The syntax is quite simple G164 [Hfile] Nbegin Nend ER.. [EQ..]* [ES..]* [ET..]* 

  • Hfile, Nbegin, Nend specify the portion of trajectory on which the corner smoothing function is applied
  • ER defines the maximum permitted error (in respect to the programmed point)
  • EQ is the type of polynomial
  • ES specifies smooth or segmented polynomial interpolation
  • ET is the engagement trajectory : tangential or linear

An interesting point to notice about this function is that it has been developed as a custom G code and not strictly embedded in the firmware. This gives additional flexibility but also demonstrates the power of the custom G codes feature. One could fear that these functions require too much system resource. This example shows that it is not the case; they are preprocessed and work directly on the firmware variables. Of course the computing power of Flexium+ is there, but a custom G code will be as efficient as an embedded function – and offer greater possibilities of adaptation. For more information on G164 or the custom G codes you can refer to the documentation or get in touch with your local NUM NTC, which will be glad to provide suggestions, examples and training if necessary.


Please contact us for further information:

NUM AG
Battenhusstrasse 16
CH - 9053 Teufen

Phone: +41 71 335 04 11
Email: sales.ch@dont-want-spamnum.com