Numeryx Home > User/Programmer

Upgrading 4.2 to 6.02

An-105a, Copyright © by Gil Hagiz
Last updated Jun-19-2006



New Files
Program line display
Set Home
Incremental jog
100% RPM in manual
Tool table


User programs
Drilling canned cycles
Pocket milling
G53, g54-g59.3
Positioning, G8
5-axis TCP
Canceled Commands


What's in it for you

Common mistakes made by numatix technicians that have been identified so far and fixed.


New Files

Editor improvements

Sluggish long Find & Replace has been fixed.
Editor capacity tripled to 3-4 million lines.

Esc role:
Usually ESC is used as Cancel while waiting for user input.
In long process like Find, File R/W, ESC aborts the process.

All control characters used as cursor commands have been canceled.

Alt-F3 is Close (Abandon), instead of Alt-F2
Ctrl-F3 is add window, instead of F4
Alt-F2 is Save As, instead of ^KN.
F4 is reserved.
Resume original line is done by Alt-Backspace (single level)


Compiled system files are saved in c:\rr\cnx\bin but compiled user programs are saved in c:\rr\bin.
It is safe to delete the entire user bin dir.
The user bin dir is a sub-dir to the dir where ncplus.exe is located.
The system bin dir is a sub-dir to the dir where the INI file is located.

Program lines display while running

While in Auto mode press F9. A blank window is open. F9 toggles this feature on and off.
Compile your program.
Upon M2, Reset, or CS the display starts from the first line.
While running, the display runs concurrently with the program.
Note that the displayed line is the one in the look-ahead buffer.
When in Single the display is exactly the current position.
In Single the display can be scrolled by the up/down arrow keys.
When program is resumed it will be resumed from the correct line.

This feature increases the size of the compiled program by 4 bytes per line, so don't use if length is a problem.
Note that if you enter the editor you must make a change in order to recompile.


Set-home mode can be selected by pressing <Home>.

Incremental jog, MPG selection

These selections can be done with the up/down arrows.


Projection of Y on A.
In graphic mode, XA is displayed instead of XY.
Two bugs from version 4.2 have been fixed.


RTCP programming for 5-axis machines requires additional files that are defined in the INI file.
The following geometries are supported:
Head:   CA, CB, BA, Gimbal and Nutating.
Rotary: AB, AC.

In addition to TCP programming the new features are:

100% RPM

To set the 100% RPM in Manual, press F7 when the mode is already Manual and the spindle is at the desired RPM.
A menu lets you set the current RPM as 100%.

Tool table

Ball and Bull Nose 3D Cutter Radius Comp.

This function requires a post-processor generated contouring file of g1 moves with the normal vector given in each block under IJK.
The tool table has been expanded to hold the bull nose smaller radius (TS).
For a ball nose enter tool radius in that column.

T     H     R/D         I/M   Z     I/M     Ball
1     0      R   10.0000 M  12.3400  M      10.0000

While reading tool data, the Bull/Ball radius is copied to variable TS, along with TL and TR.
3D tool radius compensation is done by g41.1 and g42.1. G42.1 uses negative IJK vector, same as using negative TR & TS.
The Ball column is also used for tool length calculations when inserting tool length with the Insert command.

Reading either TR or TL

To ignore tool radius or length, enter / instead of I or M. The associated value is erased automatically.

T     H     R/D         I/M   Z     I/M     Ball
1     0      R    5.0000 M    .      /        .
Now using g40/41/42 with tool#1 will not affect tool length that was read from another tool before.
This function is used for mixing actual tool data with modified data in the same table.


G0 Override

G0 feed can be overridden (25-50-75-100%). This override applies to G0 only and can be changed any time. The regular feed override affects all motions.

Running Time

Program running time is displayed constantly in HH:MM:SS format. The time stops upon feed hold or Single/M0.

Optional Virtual W axis

If set, virtual W is displayed and behaves like a real axis, but it moves Z instead, keeping it within its limits.
The real value of Z is the sum of Z and W.
With g53 (machine coordinates), W is ignored (but preserved).
W can also be used On-the-fly instead of the previous on-the-fly function that had a limited traverse and didn't check the soft limits. Virtual W is limited to the Z soft limits or zero if Jog-zero is on.
If attempted to move beyond these limits it stops smoothly w/o error, but if a program tries to move Z beyond the limits an error occurs.

Optional Power-off on M2

If set, pressing power-on when it's already on toggles this function. When active the power-on led blinks, and upon M2 the power is turned off.


See also Plain NC Programming

User programs

For new programs or to modify current user programs to version 6:
For upgrade from version 4.xx:
Note: old cnx files must be modified by the installer.


To run version 5 or earlier user-programs add in the INI file:
The current version number is displayed in the info window after compilation.
With this setting G-codes 20 to 25 and 51 are recognized (as well as their new replacements 10.1 to 15.1 and 5.1).
Note: old G53 and drilling cycles must be modified even with the compatibility mode.

Drilling canned cycles

For detailed information see application notes in the user/programmer area.

The standard format is [square brackets denote optional]:

n1 g x.. y.. z.. f... g81 r...z... [f...] [q...] [d...] [g90|g91] [g98|g99]

R - Reference plane - Z at beginning of drill
Z - Z at bottom
F - Feed for drilling or pitch for tapping
Q - Step for peck drilling
D - Dwell at bottom

The previous Za, Zb, Zz are not used.

With g98 (default), the tool retracts to the initial Z.
With g99, the tool retracts to the R-plane.

With g90 (default), R (R-plane) and Z at the bottom of the hole are given as absolute positions.
With g91, R is the relative distance from the initial Z to the reference plane and Z is the depth of the drilling from R-plane.
In this case both R and Z are expected to be negative for normal drilling.

Pocket Milling cw/ccw

For detailed information see application notes in the user/programmer area.

G202/203 hole milling g203 r_ f_
G202.1/203.1 deep hole milling 203.1 r_ z_ k_ f_
G213/213 circular pocket g213 r_ n_ k_ f_
G214/215 rectangular pocket g215 i_ j_ n_ k_ r_ f_
r = radius or fillet
i,j = half width and height
n = percentage of tool diameter per cut
k= finish cut, step down for deep hole

G53, g54-g59.3

3 more offsets are available to the user: 10 to 12; they are called by g59.1 to g59.3, and can be selected from the keyboard by alt-A to alt-C.
This group of codes can now be programmed with other g-codes in the same block.
G53 is the standard machine-zero code.
G53, as well as offset #0 use xyz data in current unit (inch-mm).
G53 may be used by users for leadscrew measurement; however, this must be done in metric.
The letter address O is not used anymore.

Offsets g54 and above can be set from within a program. For example, to set offset #5 at x10 y20 from the machine zero write in one line:
g92 g55 x10 y20

Positioning, G8

All positioning moves now end with exact stop.
G8 can override the exact stop to avoid deceleration at the end of current block.
G8 is intended for a positioning move that should be divided into two consecutive g0's, to avoid an obstacle in the way. The motion will be smooth, same as in interpolation.
This code complements g9. Both g8 and g9 are one shot.

Upon changing from positioning to interpolation and back there is always exact stop.
When switching to positioning the g64 mode is saved and resumed upon returning to interpolation.
Both g61 and g64 can be used in positioning but if used the last one stays active when interpolation is resumed.

Plane select g16..g19

These codes can be written with other g-codes in the same block.
Plane select is ignored if there is no change, but the Tilt command is always canceled.
Plane cannot be changed while tool radius comp is active.
Plane change sets IJK to zero and calls Rotate(0).
It also sets R-scale to same value as the first axis:


Plane select can be written alone or in the same block with other g-codes.
However, after polar\spherical coordinates (g10..g14, g20..g24) change of plane may cause motion to the new polar system.
To avoid undesired motion, write g-zer0 as well:

g11 ...
g0 g17

There is no such problem with Cartesian coordinates.

G91 with tool comp

When g40-g42 are executed while g91 is active, current programmed xyz are used for the next incremental move, not current position.
If current position is desired for the next incremental move, use g90 in the g40 block, then resume g91 or use X+...Y+....

5-axis TCP

For detailed information see application notes in the user/programmer area.

H5 is the TCP mode. It can be programmed in any block or selected in Manual by F5.
g100 lets you program in tool coordinates while in TCP.
g100 is a single shot and ignored if H=0;
g100 uses the xyz data as incremental, since the absolute coordinates are not known while using TCP.

Kinch (Ki)

This is a read only parameter that is set according to the current unit:

Ki = 1 for metric
Ki = 25.4 for inch

Canceled Commands

Projection, Jig, Virtual, Magnify, Loctable, Location.
L and O addresses are not used (may be used for passing data to subroutines, like n).
Teach-box support, Location-Table, and 3D correction have been canceled.