CNC Services Northwest

Centroid M-Series CNC Mill Control


  1. Set up tools and measure tool lengths (F1/Setup, F2/Tool, F1/Offsets)
  2. Get the part program
  3. Set part zero position (F1/Setup, F1/Part)
  4. Preview part on graphic screen (F8/Graph)
  5. Run (CYCLE START)


It is not strictly necessary to set up the tools before you program the part, but it is a good way to be sure you have the necessary tools and holders.

You must measure the tool lengths before setting part zero, so the control will know the correct length of the tool you use to set the Z axis part zero.

You need to measure every tool in the job, using the F2/Measure or F3/Auto key on the tool offset library screen.

You only have to set the Z axis part zero with one tool. It can be any of the tools you measured, but you must enter the tool number to tell the control which one you are using.

On the graph screen use F2/View to switch to a side view, or F1/3D to switch to the isometric view, so you can see Z axis moves. A rapid (red) move below the part surface usually indicates a crash. However, rapid moves may be displayed below the part surface immediately before a tool change or at the end of the program. This is a normal consequence of canceling tool length compensation, and in this case does not necessarily indicate a crash.

Cutter Compensation Overview

Cutter Compensation is the process of moving the cutter away from the part by its radius, so that the part is cut to the intended size instead of being overcut by the cutter radius.

Compensation can be done in advance, by writing G codes that place the cutter center one radius away from the part. This is called precompensating.

Alternately, compensation can be done as the job runs, by including the G41 and/or G42 codes in the G code program. This is G code cutter compensation.

If a program is precompensated, and you find that the actual cutter size is not what you expected, then you must rewrite the G codes to precompensate them with the correct cutter size, then run the new G codes.

If a program uses G code cutter compensation, and you find that the actual cutter size is not what you expected, then you need only change the cutter size listed in the Tool Offset Library, then rerun the same G code program you ran before.

Use compensation Left (G41) when you are climb milling.

Use compensation Right (G42) when you are conventional milling.

Cutter Compensation Strategies

If you are programming your part as a series of line and arc moves, either in straight G codes or through the Intercon conversational programming, you will probably want to use G code cutter compensation (G41 or G42). Turning cutter compensation on and off at appropriate times is critical to success.

As a rule, turn it on just before cutting a feature, and turn it off immediately after the feature is done. Do not leave cutter compensation active as you move from feature to feature, or as you move off to a tool change position. The control will apply compensation to rapid moves just like it does to linear (feedrate) moves, stopping short of inside corners and swinging arcs around outside corners.

If you need to plunge into the material from above:

  1. Do a rapid move to a clearance height, above the plunge point.
  2. Turn on cutter compensation (G41/Left or G42/Right as needed)
  3. Do another rapid move, to the same coordinates (a "zero-length" move). The cutter will step over by its radius in this move.
  4. Do the plunge cut.
  5. Cut around the part.
  6. Rapid back to a clearance height above the part
  7. Cancel cutter compensation (G40/Off).

If you can approach the material from the outside (or from inside a cavity) at cutting depth:

  1. Pick a starting point on the profile. Measure over and out by the radius of the cutter. This will be the beginning of the lead-in arc. E.g., if you plan to start in the middle of a straight wall on the back of the part, which goes from X0Y2 to X2Y2, then the starting point is X1Y2. If you are climb milling (left to right) with a ½" cutter, then go left and back ½" on each axis, to X0.5Y2.5. This is the start of the lead-in arc. Rapid to this position, and to cutting depth.
  2. Turn on cutter compensation (G41/Left if climb milling, as in this example; G42/Right if conventional milling).
  3. Do another rapid move, or a linear move, to the same coordinates (a "zero-length" move). The cutter will step over by its radius in this move.
  4. Do a 90° arc move (G3/CCW if climb milling, G2/CW if conventional milling) to the starting point of the part.
  5. Cut around the part.
  6. Do another 90° arc move (G3/CCW if climb milling, G2/CW if conventional milling) off of the part.
  7. Cancel cutter compensation (G40/Off).
  8. Rapid up to a clearance height

Other approaches will also work, but these two will serve you well for most parts.

Avoid reversing direction (backing up along the path you just came from) with cutter compensation active. The control will (correctly) swing a 180° arc around the end of the line and go back on the other side. It will do this before any Z movement for the next move.


Intercon is Centroid's conversational programming software, and is included standard on nearly every control. An offline version is also available at extra cost, allowing you to program parts in the office while the machine is running.


An Intercon part program consists of two files on the computer. One has the extension .ICN, and contains all of your responses to the prompts (everything you see on the screen while you are in Intercon). The ICN file is stored in the C:\INTERCON directory. The other file has the extension .CNC, and contains the resulting G codes. The CNC file is stored in the C:\CNCM\NCFILES directory.

Intercon automatically saves both files whenever you choose Post.

When you edit the part program in Intercon, you are editing the ICN file.

When you run the job, you are running the CNC file.

Intercon saves only the .ICN file when you choose Save or Save As from within Intercon. When you are ready to run you should always use Post to save the final version of your program and write out the G codes.

When you press F6/Edit from the main screen, you see the CNC file (the G codes) in the text editor. Changes you make in this way will be lost next time you go back to Intercon and save or post the part.

Programming and Operations

Every Intercon program should start with a Tool Change operation, to load the first tool. Even if you do not actually need to change tools, you still need to insert a Tool Changer operation so that Intercon will know what tool you are using and can apply the correct offsets, start the spindle, etc..

Intercon provides numerous canned cycles (under the F5/Cycles menu) to simplify machining of common features. The canned cycles do not always provide the most efficient toolpaths, but they are pretty good and very easy to use.

For complete control of the toolpath, Intercon provides Rapid, Line and Arc moves, allowing you to walk the cutter through any 2D or 3D path you like.

Intercon also provides four "subprogram" operations, which allow you to make additional copies of features you have already cut:

Every series of Line and Arc operations should be preceded by a Rapid operation, to bring the cutter to the starting point of the first line or arc.

When you enter the depth of a canned cycle (such as a Pocket or Frame) in Intercon (any time the word "Depth" is used), you enter a positive number to indicate the depth below the surface.

When you enter the depth of a line or arc in Intercon (when the wording is "End Z"), you must enter a negative number to indicate a Z level below zero (below the surface).

More about Intercon Arc Moves

Cutter Compensation in Intercon

Intercon pre-compensates Pocket and Frame canned cycles. These cycles do not include or need G code cutter compensation.

Intercon automatically inserts G code cutter compensation for the Thread Milling cycle.

You must explicitly request G code cutter compensation if you are using Line and Arc operations. You do this by selecting F7/Comp and setting the displayed value to Left, Right, or Off.

Intercon does not use any kind of cutter compensation in the Face cycle, nor in Drill, Bore, and Tap.

Run, Search, and Resume

Ordinarily you start jobs by pressing CYCLE START from the main screen, or any other screen where the message box prompts "Press CYCLE START to start job".

When running a new job or new setup for the first time, keep your hand on the feedrate override knob during the initial plunge move after each tool change. As the tool rapids down to the clearance level, slow it down by turning down the feedrate override. When the tool is about one inch above the surface, pause it by pressing FEED HOLD. Check the DRO position display for the Z axis. If the Z height shown there appears to match the height of the tool above the surface, all is probably well: press CYCLE START to continue. If the Z height shown on the DRO does not match the height of the tool (especially if it reads higher), something is wrong: press CYCLE CANCEL and review your tool measurements and part zero setting.

You can cancel a job at any time by pressing EMERGENCY STOP, CYCLE CANCEL, or TOOL CHECK.

EMERGENCY STOP will stop motion immediately, release servo motor power, and shut off the spindle and coolant. The tool will remain down. Once the crisis is past, you can release E- stop and use the jog keys or TOOL CHECK key to move the tool clear. The control's main screen will be displayed (with Setup, Load, MDI, etc. options). The G codes which were running when the job was canceled will remain on the screen until you choose some other screen.

CYCLE CANCEL will stop motion immediately and shut off the spindle and coolant. Servo power will remain on. You can use the jog keys or TOOL CHECK key to move the tool clear. The control's main screen will be displayed (with Setup, Load, MDI, etc. options). The G codes which were running when the job was canceled will remain on the screen until you choose some other screen.

TOOL CHECK will decelerate to a smooth stop, pull Z up to its home position, then shut off the spindle and coolant. The control's Run/Resume screen will be displayed, ready to pick up where you left off. If you choose, you can press ESC twice to return to the main screen.

In any of these cases, you can resume the uncompleted job on the line where it was interrupted by using the Run/Resume option. From the main screen, press F4/Run, then F1/Resume. If you wish, use the jog keys to move the tool close to where it was when you stopped the job. Press CYCLE START to resume at the beginning of that line of G codes. The control will automatically restart the spindle and coolant as needed, move X and Y over the resume point, move Z down, and resume running.

If you want to restart the job at some other point than where you interrupted it (for example, if the tool broke several moves back) use the Run/Search option. From the main screen press F4/Run, then F2/Search. You can enter a line number (the default will be the line where the job was interrupted), a block number (N number), or a tool number. The control will locate the place you choose and start running the job from there.

If you are uncertain whether the search point you ask for is really what you want, you can get a graphic preview from the Search screen: type the line number, block number, or tool number, but do not press Enter yet. Press F8/Graph instead. The part will display with blue dotted lines for everything which is being skipped over, and beginning with the usual yellow and red lines at the search point. Press ESC to leave the Graph screen, then either press Enter (or F10 or CYCLE START) to accept the search, or enter a different search point if needed.

Tool Changing Height

On a bed mill with lots of Z travel, you may want to change the height that the head moves up to at each tool change, and at the beginning and end of a job. To do so:

  1. Press F1/Setup
  2. Press F1/Part
  3. Press F9/WCS
  4. Press F1/Return
  5. Use the arrow keys to select the Z axis line (third line down) of the first return point (the G28 position).
  6. Enter zero (0.0) if you want the head to come all the way up to the top of travel. Enter a negative number if you want it to come up to a lower position. For example, if you enter -6.0 for the G28 position on the Z axis, then the head will stop six inches below the top of travel for each tool change.
  7. Press F10/Save
  8. Press ESC three times to return to the main screen

CNC Services Northwest Home

Copyright © 2006-2012 Marc Leonard
Last updated 09-Sep-2012 MBL