CNC12 Routing Operation Guide¶

This guide will cover the use of the CNC12 software for Routing operations. Please review the CNC12 Configuration Guide and CNC12 Router Users Guide before moving on to this guide.
We suggest reading this guide before getting started, but it can also be used as a reference to return to as you get used to the added functionality built into the system.
Coordinate Systems and Offsets¶
In order to follow the toolpath listed in a G-code file, CNC machines need a way to locate the position of the tool and the position of the material within the working area of the machine. To do so, the software uses coordinate systems.
A coordinate system uses numbers to represent a specific location within a space. Zero is the origin for all positions within the coordinate system, so numbers in the coordinate system are referred to as "Offsets" from that zero point. The CNC12 software uses two main types of coordinate systems.
The Machine Coordinate System (MCS) represents the available working area of the machine. The homing location is the "Zero" point of the MCS, and any position in the MCS can be represented using three numbers, one each for X, Y, and Z. This coordinate system acts as the foundation for all of the other coordinate systems and offsets within CNC12. As the machine moves closer to the home point for any axis, the MCS coordinates shown on the Machine Coordinate DRO will get closer to zero. The MCS is not editable by the user.
The Work Coordinate System (WCS) represents where the workpiece is within the working area, and it uses a location defined by the user as reference for the "Zero" point in the coordinate system. This "Zero" reference point is an offset from the MCS zero. The Current Position DROs show the current offset, or position, between the WCS Zero and the center of the tool. The WCS is editable by the user.
The Digital Read Outs (DROs) show the current position of the tool. The Machine Coordinate DRO shows the position of the tool within the MCS, and the Current Positions DRO shows the position of the tool within the WCS. The position shown on each DRO indicates the center of the tool within that coordinate system.
The WCS might be "Zero" at the corner, side, or center of a workpiece, vise, or other fixture. When CNC12 interprets G-code instructions the movements will map to the WCS, so it's important to set the WCS Zero in the same location as the datum point in the CAM software.
In CNC12, coordinate systems also have an additional Coordinate System Rotation, or CSR value. This allows the software to rotate the grid of the WCS to align with the orientation of the material. This feature frees the user from needing to align the material with the axes of the machine, and allows for easy tramming and alignment of fixtures, vises, or a rotary axis. Multiple WCS locations can be saved within CNC12 using the WCS CSR Table, so you can save the location of a vise or fixture for later if needed.
Computer Aided Design/Machining (CAD/CAM) and G-code Creation¶
Before you can get started running a job, you'll need to create instructions for the machine to follow. CNC12, like other CNC Control Systems, uses G-Code instructions to guide the machine along a toolpath.
We suggest using CAD/CAM software such as VCarve, Aspire, or Fusion360 to design your parts and create toolpaths to cut them out, as we have released a dedicated Post Processor for each of these programs.
The Post Processor translates the toolpath created in the CAM program into a G-code file that CNC12 can read. The different Post Processors are specific to each CAM program since different CAM programs represent the toolpath in their own unique way. Use the links below to find the post processor that will work with the CAM software you are using. Installation instructions are included on the download pages.
Note
If using VCarve PRO V12, the Post Processor will be available via the Post Processor Management System.
Once you have set up the operation in the CAM software and created the toolpaths you want to run, make sure the right post processor is selected and then export the G-code file to a USB drive. You can then move the G-code file to your controller computer and start getting the machine ready to cut.
Note
When setting up the toolpath in the CAM program you will pick a Datum point, or Origin, for the toolpath. Make sure that the Datum/Origin you set up in CAM matches the location on the material that the WCS will be zeroed to.
Tool Changes and Tool Offsets¶
Note
Before changing a tool, the machine will need to be homed. See the CNC12 Router Users Guide for more information on homing the machine.
Note
When setting up a CNC12 profile for the first time, start by running the "Calibrate Tool Height Setter Location" utility first before running any other utilities. More information on this process can be found in the following sections.
The EX Control system uses an automated routine to measure tool length using the Tool Height Setter. The software stores each tool offset as the distance from the top of the Z axis travel to the tip of the tool. For an overview of the Tool Height Setter Installation and Usage, check out the video below:
Video: https://www.youtube.com/watch?v=6G4Ljdou3qo
Calibrating the Tool Height Setter and Work Surface¶
When setting up the machine for the first time, or if the Tool Height Setter or Spoilboard are moved or adjusted, it is important to calibrate the Tool Height Setter location and height offset. This lets the software know where the tool height setter is within the MCS, and how far the top of the work surface is from the top of the Tool Height Setter.

- Click the Utils button on the Machine Control Panel to open the Utility Macros.

-
Type the number that corresponds with the Utility you want to run and then press Cycle Start. Follow the prompts on the screen to complete the selected Utility.
- 1: Calibrate Worksurface Location
This routine measures the distance between the tool height setter and the work surface. If you have not yet calibrated the Tool Height Setter location, an onscreen message will prompt you to do so. The machine automatically jogs over the Tool Height Setter and measures the tool length, then prompts the user to jog the bit so it is touching the work surface so the height can be calibrated. Follow the onscreen prompts to complete the routine. - 2: Calibrate Tool Height Setter Location
This routine measures where the Tool Height Setter is within the working area of the machine. If you attempt a manual tool change and this routine has not been run, an onscreen message will prompt you to do so. Jog the bit so it is above the height setter before running the routine, or when prompted by the onscreen instructions. - 3: Manual Tool Measure
See the Tool Changes section below for more information. - 4: Travel Limit Setter
Seeks out the maximum travel limits by jogging each axis toward the limits slowly. Can be used as an alternative to setting the Soft Limit settings manually using the Configuration Wizard. Follow the onscreen prompts to complete the routine. - (99) Reset Parms
Seldom used, only select this option if directed by the support team or for another specific purpose where you are confident it is required to do so.
- 1: Calibrate Worksurface Location
Tool Changes and Tool Data Management¶
Tool changes can be initiated by the user outside a G-code program, or they can be initiated by an M6 command within the G-code cycle. When tool changes are initiated by an M6 code during a G-code cycle, the behavior will be the same as the MTC macro described below.

MTC Button: Click this button to initiate a tool change outside of a G-code program.The axes will move to the location recorded when the Tool Height Setter was calibrated. Follow the on-screen prompts to complete the tool change.
Using Large Diameter Tools: Large tools may need extra attention to achieve an accurate tool height measurement, or to avoid contact with the work surface during tool measurement. When the bit diameter is entered during the MTC routine, the user will be prompted with the below options if:
- The tool is larger than .4in and the Tool Height Setter is below the work surface
- The tool is larger than .75in and the Tool Height Setter is above the work surface

- Option 1 will allow you to jog the tool to a position that better aligns with the surface of the tool setter. For example, a surfacing tool with segmented indexable inserts (teeth) where the inserts are far removed from each other, or do not extend close to the center of the cutting tool.
-
Option 2 will prompt you to jog the machine so it is just touching the work surface so the tool height can be measured manually. To ensure accurate tool measurement using this option, it is important to jog the bit so it is touching the work surface that was used to calibrate the work surface location.
Note
The work surface is not the top of the workpiece. Measure the tool off of the Work Surface and then zero the WCS on the workpiece.
-
Option 3 proceeds as normal, probing down until the tool touches the Tool Height Setter. If the tool diameter is large enough to cause these three options to be displayed when running the MTC routine, take caution using this method. If the Tool Height Setter is not tripped during the probing routine, the Z axis could crash.

Manual Tool Measure Utility: To measure a tool off of the work surface manually, as described in option 2 in the above section, click on the Utils button and then select the Manual Tool Measure option. This option is handy for tools that are too large to measure using the Tool Height Setter, such as larger surfacing bits. Follow the prompts on the screen to complete the tool measurement routine.
Tool/ATC¶
Most of these options are not needed for MTC systems, and will be more relevant for future product releases.

From the main screen of CNC12, click on the Tool/ATC option to view the list of measured tools and additional tool management options.
Note
After measuring a tool using the Tool Height Setter and MTC macro, all tool data other than the tool you just measured will be reset to Zero. If you are setting up an ATC spindle, consult Centroid's documentation. Our direct ATC support will launch together with future product releases.
- Z Ref (F1): Not normally used for MTC systems. Set the reference position using a reference tool. By default, the reference is not set and a reference tool is not required when using MTC spindles and the MTC macro.
- Manual Measure (F2): Not normally used for MTC systems. Uses the Z Ref position to set the tool length at the current position. A preferred method for measuring tool length with MTC systems is to use the tool change methods described in the previous section.
- Auto Measure (F3): Not normally used for MTC systems. Similar to the Manual Measure function but uses an automated routine. A preferred method for measuring tool length with MTC systems is to use the tool change methods described in the previous section.
- +.001: Adds .001 units to the tool length.Can be used to adjust the cut depth in some unique cases, but a better way is to use the WCS CSR Table described later in this guide.
- -.001: Subtracts .001 units from the tool length.Can be used to adjust the cut depth in some unique cases, but a better way is to use the WCS CSR Table described later in this guide.
- Change Tool: Not used for MTC systems. Only used for systems that feature an indexed tool change method.
- Tool Library: Users can save a list of tools and tool data here, and track tool life. This feature is not necessary to use in order for the system to function as expected. More information on the Tool Library can be found on page 70 of the Centroid CNC12 Router Operator Manual.
- TT Setup: Only used for systems that feature a tool height setter other than the Avid CNC Tool Height Setter. For users with an EX CNC Control System, these settings should not be changed.
Setting Part Offsets and Editing the WCS¶
Note
Before editing the WCS to set part zeros, the machine will need to be homed. See the CNC12 Router Users Guide for more information on homing the machine.
Note
When setting up the toolpath in the CAM program you will pick a Datum point, or Origin, for the toolpath. Make sure that the Datum/Origin you set up in CAM matches the location on the material that the WCS will be zeroed to.

From the main screen of CNC12, click the "Set Part Zeros" option or press F1 on your keyboard to enter the Set Part Zeros menu. When the Set Part Zeros option opens, the Manual part zero mode is active by default.

Use F1 - F5 on the keyboard or click the on-screen option buttons to select the zeroing mode:
Manual (F1)¶

This Part Zeroing mode is used to manually set the part position based on the current position of the machine. After typing a value into the text boxes, pressing Enter or using the arrow keys to toggle between text boxes will update the cell but the new value will not be written to the WCS until you use one of the "set" buttons (F8 or F10) described in the "Option Buttons" section below. The diagram on the System Display will change to show a visual representation of the selected zeroing mode.
Note
If you accidentally type an unintended value, click a neutral area of the screen to reset the value to the previous value.
System Display Settings:
- Part Position: Type Part Position offsets here. Most often these will stay set to "0.00" unless there is a specific case to set an additional offset.
- Edge Finder Diameter: When manually setting part zeros, you can use a bit or dowel pin mounted in the spindle to find the edge of your part. Enter the diameter of the bit or edge finder here and CNC12 will use the value, along with the Approach From setting, to set the part position accurately.
- Approach From: This setting tells CNC12 where the edge of the material is in relation to the bit or dowel pin. Depending on the selection, the software will add, subtract, or ignore the Edge Finder Diameter setting when recording the part position.
- Center: Writes the Part Position to the WCS without applying the Edge Finder Diameter offset. Jog the axes so the bit or dowel pin is centered on the edge you want to reference to and then click Set (F10) to write the position to the WCS.
- Left/Front (-): Writes the Part Position to the WCS, and subtracts 1/2 of the Edge Finder Diameter to center the part position on the edge of the material. Jog the bit to the edge of the material with the flute just touching it and then click Set (F10) to write the position to the WCS
- Right/Back (+): Writes the Part Position to the WCS, and adds 1/2 of the Edge Finder Diameter to center the part position on the edge of the material. Jog the bit to the edge of the material with the flute just touching it and then click Set (F10) to write the position to the WCS
- Tool Number: This number defaults to the currently loaded tool. This value can be edited by the user, but be cautious when doing so. The Tool Offset will be used to set the zero for Z during probing, and if the tool number does not match the tool that is currently installed in the spindle, this could cause an unintended offset in your Z Zero.
Option Buttons:
- Set XY (F8): Writes the value listed in the X and Y text boxes to the current position of the tool in the WCS. For example, if you set X=2 and Y=3, the WCS will read zero if the machine moves 2 inches towards the home point in X and 3 inches towards the home point in Y.
- WCS CSR Table (F9): Opens a table where the user can make manual adjustments to the WCS and CSR values. See the WCS CSR Table section for more details.
- Set (F10): Sets the WCS value for a single axis only. The icon on the left side of the System Display will show which axis is selected.
Laser (F2)¶

Uses an optional non-burning visual laser crosshair to set the XY zero visually. Attach the laser on the machine securely so that it shines down on the work surface below. The laser can be a dot or crosshair laser and can be mounted next to the spindle; it does not not need to be pointed at the tip of the bit. The Teach Offset (F8) routine that configures the distance between the laser crosshairs and the center of the spindle will configure the offset between the laser and spindle centerline. This offset is then used to set the part position, so make sure to run the Teach Offset (F8) routine before setting the part zero using this method.
System Display Settings:
- Part Position: Typically these numbers will be set to 0.00, since the Teach Offset routine will account for the offset between the spindle and the laser crosshairs. If there is a specific case where you want to set the WCS to a position other than zero, type the position you want to set into these fields.
Option Buttons:
- Laser ON/OFF (F7): This button can be used to turn on and off the laser if you have the laser connected to an open output. We find that the easiest way to set up the laser is to add a manually-switched version like the one HERE.
- Teach Offset (F8): Runs a routine that sets up the offset between the laser crosshairs and the spindle. This allows the software to set the WCS for the center of the spindle when the laser is centered on where you want to zero the axes.
- WCS CSR Table (F9): Opens a table where the user can make manual adjustments to the WCS and CSR values. See the WCS CSR Table section for more details.
- Set (F10): Sets the current position of the laser crosshair as the center of the spindle within the active WCS. Run the Teach Offset tool before setting the WCS for the first time, or if you move your laser.
Probe (F3)¶

Avid CNC EX controllers fully support stylus probing using Centroids time-tested canned probing cycles. Detailed probe connection information, settings, and probes available for purchase can be found in the Centroid Acorn CNC12 Probe Setup Guide (PDF). Use of a probe is optional, and you'll need to configure the settings for the probe using the CNC12 Configuration Wizard before being able to use the probing cycles successfully. More information on how to select the different probing cycles, and how the probing cycles are used, is available in the Centroid CNC12 Router Operator Manual (PDF). Once a probing routine is selected, pressing the Cycle Start button will start the probing routine.
Plate (F4)¶

This mode uses the Auto-Z and Corner Finding Touchplate to run automated part zeroing routines. If you are using a touch plate different from the one available directly from Avid CNC, you can open the wizard using F8 to set your plate up if you haven't already.
The System Display will show a diagram representing the active zeroing mode. Clicking the Cycle Start button will begin the zeroing routine.
System Display Settings:
- Bit Diameter: Enter the diameter of the bit here before running a touch plate zeroing routine. When the bit touches the walls of the touchplate, the software will use this value to set the right offset so the center of the spindle is correctly zeroed on the material. During a bit change the software will automatically populate the bit diameter into this field.
- Z Clearance Amount: Configures the height that the Z axis will retract to after the bit touches off on the plate.
- Magnet reminder: If this option is set to "Yes", the user is provided with a reminder to make sure the magnet is attached to the material. The user will need to click Cycle Start to continue to the next step. Click the colored area to toggle Yes/No.
- Flute Reminder: If this option is set to "Yes", the user is provided with a reminder to make sure the flutes are aligned properly. If the flutes are not aligned the effective bit diameter may not match the value listed in the Bit Diameter field, and this would decrease the accuracy of the part position. The user will need to click Cycle Start to continue to the next step. Click the colored area to toggle Yes/No.
- Set Z Zero: If this option is set to "Yes", Z will zero simultaneously whenever a zeroing routine is run using the touch plate. Set to "No" if you only want to set the X and/or Y part position during the touch plate zeroing routine you are about to run.
Option Buttons:
- Inside/Outside (F1): Selects whether you are zeroing to the outside of a workpiece, or to the inside of a window or pocket in the material. Check the on-screen diagram to see which mode is active.
- Corner (F2): Sets X/Y zero to the corner of the material. First click toggles the Corner Finding mode, and following clicks select the corner you will set X/Y Zero to. The on-screen diagram will provide visual reference of which corner is currently selected.
- Side (F3): Sets either the X or the Y axis to zero, depending on the selected side. First click toggles the Side Finding mode, and following clicks select which side you will zero to. The on-screen diagram will provide visual reference of which corner is currently selected.
- Z Only (F5): Zeroes the Z axis only. This option will zero the Z axis even if "Set Z Zero" is set to "No" in the settings shown on the System Display.
- Bore (F6): This option is available for users with 3rd party touch plates that feature a bore hole.
-
Set CSR Angle (F7): The CSR options allow the user to rotate the coordinate system to match the orientation of the material as it is mounted to the worksurface.
Note
For a full description of all the CSR options, see the CSR (F5) section of this guide.
Caution
When setting the CSR angle and the WCS zero using the Touch Plate, make sure to set the CSR angle before setting the WCS zero.
The default CSR method after clicking in the Set CSR Angle menu from the Plate zeroing option is Touch Plate CSR (F5). This method uses the Auto-Z and Corner Finding Touchplate to run an automated routine that sets the CSR. Follow the instructions on the System Display to jog the machine into position. Clicking the Cycle Start button will begin the automated routine shown on the diagram on the System Display. The WCS rotation is set automatically once the touch plate cycle is complete.
-
Plate Setup (F8): Opens the CNC12 Wizard to the Touch Plate setup section. Used to configure the type of touch plate installed on the machine, with options to configure the touch plate dimensions if adjustments are needed. More information on configuring these settings is provided in the CNC12 Configuration Guide.
- WCS CSR Table (F9): Opens the WCS CSR table. See the WCS CSR Table section of this guide for more information on using the table and working with coordinate systems.
CSR (F5)¶

Using the options available in the Coordinate System Rotation (CSR) menu, you can rotate the WCS to match the orientation of the workpiece. The routine finds two points on the workpiece and calculates the angle between these points. This is a useful feature if your work surface does not feature dowel pin holes or another indexing workholding method. It will rotate the WCS to align it with a workpiece that is installed onto the work surface in a position that is not in alignment with the axes of the machine.
Caution
When setting the CSR angle and part position in the WCS, make sure to set the CSR angle before running the WCS zeroing routine.
Note

Once your coordinate system is in a rotated state an angle indicator will be shown on the DRO next to the X axis.
The default CSR method shown on the System Display after clicking this option is Probe CSR (F4), which requires the installation of an optional accessory. Use the option buttons described below to access the various other methods to set the CSR that do not require additional accessories. The diagram on the System Display will update to reflect the currently selected CSR method.
- Orient (F1): Click this button to choose which side of the material you will use to set the CSR angle using an automated routine such as Probe CSR or Touch Plate CSR.
- Manual Teach CSR (F3): Click this button to set the CSR manually, similar to the Manual edge-finding method. Follow the instructions on the System Display to jog the machine into position. When this method is selected, F10 will appear in the option buttons to accept the position and move through the routine. After the initial position is selected, the diagram on the System Display will update to show how the user should jog to the next position before accepting the final position. The WCS rotation is set automatically once both positions are accepted.
- Laser Teach CSR (F3): If you have an optional visible laser crosshair installed, as mentioned in the Laser (F2) instructions earlier in this guide, click this button to set the CSR using the laser crosshairs. Follow the instructions on the System Display to jog the machine into position. When this method is selected, F10 will appear in the option buttons to accept the position and move through the routine. After the initial position is selected, the diagram on the System Display will update to show how the user should jog to the next position before accepting the final position. The WCS rotation is set automatically once both positions are accepted.
- Probe CSR (F4): If you have an optional Probe installed, as mentioned in the Probe (F3) instructions earlier in this guide, click this button to set the CSR using an automated probing routine. Follow the instructions on the System Display to jog the machine into position. Clicking the Cycle Start button will begin the automated probing routine shown on the diagram in the System Display. After the initial position is recorded, the diagram on the System Display will update to show how the user should jog to the next position before clicking Cycle Start again to probe the final position. The WCS rotation is set automatically once the probing cycle is complete.
- Touch Plate CSR (F5): Uses the touch plate to run an automated routine to set the CSR. Follow the instructions on the System Display to jog the machine into position. Clicking the Cycle Start button will begin the automated routine shown on the diagram on the System Display. After the initial position is recorded, the diagram on the System Display will update to show how the user should jog to the next position before clicking Cycle Start again to probe the final position. The WCS rotation is set automatically once the touch plate cycle is complete.
- Probe Cycles (F6): Click this button to quickly enter the probing cycles menu from the CSR Angle options. For more about the probing cycles, see the Probe (F3) section earlier in this guide.
- Zero CSR (F7): Resets the CSR value to zero. No visual confirmation is shown on the screen, but you can check the CSR value in the WCS CSR table.
- MDI: Opens the MDI, which stands for Manual Data Input. You can use the MDI to type and execute single lines of G-code, which can be helpful for moving the axes to a specific location within the WCS. For example, "G1 X1 Y4 F100" would move the axes at a rate of 100IPM (F100) until the WCS DRO shows 1 for X (X1) and 4 for Y (Y4). More information on G and M codes can be found in chapters 12 and 13 of the Centroid CNC12 Router Operator Manual (PDF).
- WCS CSR Table (F9): Opens a table where the user can make manual adjustments to the WCS and CSR values. See the WCS CSR Table section for more details.
Clearing the CSR Value
Two methods are available to clear the CSR Value. For the currently active work coordinate system, you can use the Zero CSR (F7) button above. To clear the CSR value for a work coordinate system that is different from the currently active work coordinate system, edit the CSR value using the WCS CSR Table described later in this section of the guide.
Rotary (F6)¶
Opens the options specific to rotary part zeroing. This option will be displayed only if a Rotary axis is enabled in the CNC12 Configuration Wizard.
Auto Zero (F7)¶

When this option is selected, the diagram in the System Display will change to show a probe instead of the tool/edge finder. If you have a probe installed and configured in the CNC12 Configuration Wizard, you can use this automated zeroing strategy. Press Cycle Start to begin the automatic probing routine.
Note
Instead of the tool diameter, you'll want to type the diameter of the probe tip into the Edge Finder Diameter text box when using the Auto Zero probing routines.
System Display Settings:
When the Auto Zero mode is active, the Approach From selection sets the direction of travel during the Auto Zero probing routine. Selecting the Part Position or Edge Finder diameter fields will select which axis is probed. Instead of the bit diameter, enter the probe tip diameter into the Edge Finder Diameter field.
- Center: Moves the selected axis in the + and - direction to probe for the center of a slot, hole, or pocket. Once the probe routine is finished, click Set (F10) to write the Part Position to the WCS. When using the Center mode, the Edge Finder Diameter offset is not applied.
- Left/Front (-): Moves the axis in the + direction and probes for a single edge. Once the probe routine is finished, click Set (F10) to write the part position to the WCS. 1/2 of the Edge Finder Diameter is subtracted from the position to zero the WCS on the edge that was just probed.
- Right/Back (+): Moves the axis in the - direction and probes for a single edge. Once the probe routine is finished, click Set (F10) to write the part position to the WCS. 1/2 of the Edge Finder Diameter is added from the position to zero the WCS on the edge that was just probed.
Option Buttons:
- Set XY (F8): Writes the value listed in the X and Y text boxes to the current position of the tool in the WCS. For example, if you set X=2 and Y=3, the WCS will read zero if the machine moves 2 inches towards the home point in X and 3 inches towards the home point in Y.
- WCS CSR Table (F9): Opens a table where the user can make manual adjustments to the WCS and CSR values. See the WCS CSR Table section for more details.
- Set (F10): Sets the WCS value for a single axis only. The icon on the left side of the System Display will show which axis is selected.
WCS CSR Table (F9)¶
Note
An introduction to Coordinate Systems and Offsets is available at the start of this guide, which introduces some of the terms used below.
In CNC12, multiple Work Coordinate System (WCS) offsets can be saved. Each WCS offset has its own Coordinate System Rotation (CSR) value. Saving multiple WCS CSRs is useful if you have a few different workholding fixtures mounted to the work surface of the machine and want to quickly re-orient the WCS zero to a specific setup.
The numbers displayed in the WCS CSR table are based on the Machine Coordinate System (MCS), and are offsets from the Home point. The offsets shown in each WCS table represent the location of the WCS Zero within the MCS. The Current Position Digital Read Outs (DROs) show the offset between the center of the spindle and the zero position of the WCS.

For example, if WCS #2 shown in the image above was the active WCS, the Current Position DROs would read zero when the center of the tool was 3 inches away from the X homing position, and 4 inches away from the Y homing position.
Editing the WCS Table:
When a particular WCS is set as the Active WCS, using an automated zeroing routine will update the WCS table. The WCS CSR table also allows the user to manually edit the WCS CSR values, select different Work Coordinate Systems, and perform other functions listed below.

When values are highlighted a lighter gray with white numbers, it indicates the value has been edited but not yet saved.

Values highlighted white with gray numbers are selected, and typing on the keyboard will enter values for that offset.
Note
A walk-through of setting multiple WCS Zeros using the WCS CSR Table is shown in the Touch Plate Utility - Avid CNC EX Controller video. Video: https://www.youtube.com/watch?v=NzIdFVuaGQc

Option Buttons:
-
Next Table (F1): The user can save up to 18 WCS CSR tables with a CNC12 Router PRO license. Each page on the WCS CSR screen will display 6 tables at a time. Use this button to page through the 3 pages of WCS CSR tables.
Note
In any screen of CNC12, you can also use the keyboard shortcut Alt + = will go to the next WCS, and the shortcut Alt + - will move to the previous WCS.
-
Lock/Unlock Table (F2): Use this button to lock or unlock the last selected WCS CSR table. When a table is locked, the offset values cannot be edited manually.
Note
Locking a table only locks manual editing of the WCS CSR values, and does not prevent the table from being updated by automated routines.
-
+.001 (F3): Adds .001 units to the currently selected WCS CSR value.
- -.001 (F4): Subtracts .001 units from the currently selected WCS CSR value.
-
Abs/Inc (F5): Switches between Absolute and Incremental modes, which affects how CNC12 reacts to the values typed into the cells of each table.
- Absolute Mode: Values entered into a table are entered as they are typed. For example, entering 5 into a cell of the table would update that offset to 5.
-
Increment Mode: Values entered into the table are added or subtracted from the current value listed in the table. For example, if the current X offset on the table is 5, and you type 1 and hit enter, the offset will update to 6. If you entered -1, the offset would update to 4.

Absolute mode is active by default. When Incremental mode is active, a green icon will be displayed above the option button and the currently selected cell will be green instead of white.
-
Return Points (F6): Use this button to edit the position the machine will travel to when the Reference Points G28 or G30 are called in a G-code program or using the MDI. You can also set two alternate positions, which can be called using G30 P3 or G30 P4.
- Work Envel. (F7): Using this table, you can set up secondary soft limits that are only active while G-code is running. Values entered into the table are represented in Machine Coordinates.
- Clear Cell or Column (F8): If the title of the WCS is selected, this will reset the entire WCS to zero. When clearing the column, the user will be asked for additional confirmation before the column is cleared. When a single cell of the column is selected, only that cell is reset to zero. When a single cell is cleared, no additional confirmation is requested.
- Set as Active WCS (F9): Sets the currently selected WCS as the active WCS. the WCS is selected if a column or cell of that WCS is highlighted.
- Save (F10): Saves all edits made to the WCS and returns to the Set Part Zeros screen.
Control Pendant (MPG) Zeroing¶
If using the WMPG-6 Control Pendant, the WCS Offset for any axis can be conveniently set to zero on the DRO using the built in zeroing button on the face of the pendant.

- Select the axis you want to zero using the axis selection knob.
- Click the "=0" button on the pendant to set the DRO to zero for that position.
To purchase a Centroid Wireless MPG, please check out the product page on our online store.
Loading Programs and Using the MDI¶

From the main screen of CNC12, you can access the controls to load and run programs. Click the "Load Job (F2)" or "MDI (F3)" option to load or enter instructions into the software.

Load Job (F2): Opens the file browser to load a G-code file. Find the G-code file (.cnc, .tap, or .nc extension) you want to load and click "Open" to load the job. The G-code will be displayed on the System Display once it has been loaded into CNC12. Next steps for running programs are available in the Running Jobs section of the guide.

MDI (F3): Opens the Manual Data Input (MDI) mode. MDI mode allows you to send G-codes or M-codes to the machine one line at time. New commands are typed into the text box at the bottom of the system display. Previously run commands are listed above the text box, and are ordered with the most recent commands at the bottom of the list. After entering the M-code or G-code you wish to run, press Cycle Start to run the command. When the command is complete the text box will clear so a new line can be entered.
If you want to re-run a recent command, you can use the Up Arrow and Down Arrow keys to select a previously used command from the list above the text box. The Left Arrow and Right Arrow keys can be used to move the cursor within the text box. Press ESC to exit the MDI.
Job Options and Editing G-code¶

Run Job Options (F4)¶

This menu is used to configure how CNC12 interprets parts of a G-code file, and also includes tools for resuming jobs that have been stopped mid-run. The graphics on the System Display are just indicators, use their corresponding option button to adjust the settings. The Part Count indicator counts how many times the currently loaded G-code cycle has been run. If the job is stopped prematurely, that run will not be added to the part count.
Note
Resuming Jobs and is covered in more detail in the Running Jobs section later in this guide.
- Search (F2) and Tool Change (F1): Used to start a job from a specific line, or resume a job if it is canceled in the middle of a cycle. When this option is selected, a dialog box will appear in place of the Part Count indicator where you can enter the line number you want to start from. When Tool Change (F1) is set to On the system will find the tool change prior to the line entered in the text field, and run that tool change before the job resumes at the selected line. This can prevent the wrong tool being used when resuming a job from the middle of the program.
- Repeat On/Off (F3): If this option is set to On, CNC12 will loop the G-code cycle until the user ends the cycle with the Cycle Stop button.
- Skips On/Off (F4): Turns on or off Block Skipping. When skipping is turned on, G-code lines with a forward slash '/' character at the start of the line are ignored. Make sure this option is selected as needed before the G-code is loaded. The control processes the skips in a G-code file when the file is initially loaded, so turning on block skips during a program will not have an effect.
- Block On/Off (F5): Turns on or off Single Block mode. When Single Block mode is on, the user will need to press Cycle Start before each line in the G-code program. This setting is off by default. If it is turned on it can be turned off during a G-code cycle, but can not be turned on once a program has been started in the normal mode.
- Stops (F6): Turns on or off Optional Stops. If this mode is on, an M1 code in the G-code program will cause the system to pause until Cycle Start is pressed. This is similar to M0, Mandatory Stop, which will pause the job regardless of how this setting is configured.
- Graph Job (F8): See the Graph Job section later in this guide.
- Rapid On/Off (F9): When this setting is turned on, the feed rate override percentage will change the speed of rapid moves. The button displays what clicking it will do. If the override is off, the Feedrate title in the Status Display will turn red.
- RTG On/Off (F10): Turns On or Off the Run Time Graphics, which changes the appearance of the screen when running G-code. For more information, see the Running G-code Cycles section below.
Edit G-code (F6)¶
To manually edit the currently loaded G-code file, click Edit G-code (F6). This will open the default text editor your computer uses. Centroid recommends Notepad++ as their preferred text editing software. It is a powerful text editor that is free to use and open source. More information, including the download link, can be found on the Notepad++ Webpage.
Graph Job (F8)¶

This option is used to view the currently loaded tool path before running it. This view allows you to pan and zoom to view the toolpath from different perspectives, and can display an animation of the tool path moving along the graph. For a description of the run-time graphics that are displayed when G-code is running, see the Running Jobs section of this guide.
Cutting moves are shown in Yellow. Rapid travel moves are shown in Red. The White crosshairs show the location of the WCS X/Y Zero. A Gray Sphere represents the tip of the tool when the Graph view was opened. An Origin Tree in the bottom left corner of the screen shows how the current view is oriented. The arrows of the Origin Tree point in the positive travel direction.
Note
For the graph view to be accurate, your tool must be measured and the WCS needs to be configured as needed for the job being graphed.
- Pan/Rotate (F1): Press this key to change the perspective of the Graph view. The default view is a top-down view. If Pan is active, the origin tree will be displayed in the bottom left corner of the graph view and clicking and dragging the mouse will pan around the Graph. If Rotate is active, the origin tree will be displayed in the center of the window and clicking and dragging will zoom in and out or orbit in 3D depending on the mouse button used.
- View (F2): Orients the graph view to different fixed views, such as side, top, left, right, and isometric. An indicator in the top left corner of the screen lists the currently active view mode.
- Set Range (F3): Use this option to change how much of the toolpath is graphed in the graph view. Type the line number you want to begin at and press enter before typing the line you want to end at.
- Dimension Menu (F4): Opens a view where you can access the below sub-menu of options. Double click any yellow toolpath line on the graph to highlight it and show its start and end point in the WCS.
- Prev Line (F1): This button graphically highlights the next line of G-code in the graphed job, starting from the first line.
- Next Line (F2): This button graphically highlights the next line of G-code in the graphed job, starting from the currently highlighted line.
- Go To Line (F3): Opens a text box where you can enter the line number you want to graph.
- Measure (F4): When the cursor is over the point you want to measure from, press this key. You can then move the cursor to another point to measure the distance in between the two points. When measuring the second point, the cursor will snap to the lines of the toolpath.
- Redraw (F4): This button will dynamically redraw the part slowly, so you can see what it looks like in operation. The speed of the Redraw function is decided by the Feed Rate Override. To change the override setting from the Graph screen, use Ctrl+ or Ctrl- on the keyboard.
- Help (F5): Displays common controls for navigating the graph view.
- Zoom In (F6): Zooms the view in, centered on the center of the screen.
- Zoom Out (F7): Zooms the view out, centered on the center of the screen.
- Zoom All (F8): Fits the entire toolpath in the window of the Graph view.
-
Show Tools (F9): This key toggles on or off controls to hide or show different parts of the toolpath.

- Tool XXX: Each tool in the graph view will have its own button on the tools column which can be hidden individually. Toolpath lines are shown as yellow lines.
- Rapid: Rapid travel (G0) moves, which are shown as red lines on the graph.
- Origin: The X/Y Zero position in the WCS, shown as white lines on the graph.
- Travel: The available working area of the machine, configured by the Soft Limit Settings, shown as purple dotted lines.
- Spindle C/L: The centerline of the spindle when the Graph view was entered. If you want to update the position of the spindle centerline in the graph view, exit and re-enter the graph view.
- Work Envel.: Separate from the Travel limits, shown as dotted yellow lines if configured. Not normally used.
Smoothing¶
CNC12 features an easy and powerful way to change the movement behavior of the machine, which is called Smoothing. This feature pre-processes a G-code program and analyzes any sharp or jerky lines. It then lofts arcs on a best-fit path through the G-code, allowing a smooth and continuous tool machine motion throughout the program. The different smoothing presets and parameters allow control over how the system decides which lines should be smoothed.

From the main screen of CNC12, select Smoothing (F9) to open the smoothing settings.
Pre-Configured Smoothing Settings¶

We suggest using the pre-configured smoothing settings that have been tuned for a number of common situations. The currently selected Quick Setup smoothing mode will be displayed above the option buttons. Using these settings ensures that the smoothing settings are a recipe that will lead to success for the following situations:
- Exact Stop (F1): Turns off smoothing, and should be used only in certain circumstances. Drilling, tapping, thread milling, and circular pocket finish passes typically will use this mode. These types of operations do not consist of many short vector movements, therefore they may not need to be smoothed out.
- Precision Mill (F2): Optimal settings for when high accuracy is needed in denser materials such as metal or engineering plastics.
- Contouring Mill (F3): Used for accurate work in dense materials where the toolpath includes a lot of rounded geometry. This setting allows for slightly looser tolerances while balancing accuracy.
- Precision Router (F4): Optimal settings for precision work on a Routing machine, best for processing sheet goods or softer materials like wood.
- Contouring Router (F5): Used for accurate work in softer materials where the toolpath includes a lot of rounded geometry. This setting allows for slightly looser tolerances while balancing accuracy.
- V-Carve (F6): These smoothing settings are optimized for cutting or engraving signs using a V-Carving bit.
- 3-D Relief Fine (F7): These smoothing settings are optimized for processing 3d carvings, and gives a soft appearance to the parth and resulting part.
- Customize Presets (F8): We suggest using the pre-configured smoothing settings above as a starting point, but these presets can be edited if needed. The presets shown above are the only ones available from the Smoothing Setup menu, but other presets can be created if needed. More information on Custom Presets is available on page 406-410 of the CNC12 Router Operator Manual. Use caution when editing presets.
- Save (F9): Saves changes made to the Smoothing Setup screen. If the settings are changed but not saved, the user will be asked if they want to save when exiting the Smoothing Setup screen.
Smoothing Adjustment Sliders

Sliders on the Smoothing Setup Screen allow adjustment to the presets listed above, and should only be adjusted if needed. If you want to return to one of the preconfigured settings, click the option button for that setting again.
Running Jobs¶

From the main screen of CNC12, click the Cycle Start button to run the currently loaded G-code file. The cycle can also be started by pressing AltS on the keyboard.

To pause a job, but stay within the Job Run display, use the Feed Hold button on the VCP. Feed hold is fast but controlled stop of the machine. Home position will be maintained and the spindle will still be spinning in this state. Cycle start will immediately resume machine motion.
Job Run Screen¶

By default, Run Time Graphics (RTG) is turned on. This view shows a top-down view of the toolpath, with the option to display a representation of the tool as it moves along the toolpath. The below options are available when the RTG screen is displayed:
- Clear (F7): The graphics can display a trail that follows the tool and shows where it has previously traveled. If the trail is turned on, clicking this button will clear the trail.
- G-Code (F8): Changes the screen to show the G-code view.
- Trail On/Off (F9): Toggles the toolpath trail feature on or off.
G-Code Display¶

This screen is displayed when Run TIme Graphics is turned off, or when the G-Code option is selected on the Run Time Graphics screen. The below options are available on this screen:
- Repeat On/Off (F3): If this option is set to On, CNC12 will loop the G-code cycle until the user ends the cycle with the Cycle Stop button.
- Skips On/Off (F4): Turns on or off Block Skipping. When skipping is turned on, G-code lines with a forward slash ‘/’ character at the start of the line are ignored. Make sure this option is selected as needed before the G-code is loaded. The control processes the skips in a G-code file when the file is initially loaded, so turning on block skips during a program will not have an effect.
- Auto (F5): This key only activates when CNC12 is in Single Block mode, and it returns the software back to the normal run mode.
- Graph (F8): Returns to the RTG view.
- Rapid On/Off (F9): When this setting is turned on, the feed rate override percentage will change the speed of rapid moves. The button displays what clicking it will do. If the override is off, the Feedrate title in the Status Display will turn red.
Stopping a Job in Progress¶
When a job that is in progress is stopped using one of the methods below, the control will record the current state of the job so it can be resumed later.

Cycle Stop: Stops the job immediately and returns to the main screen. All currently active M-functions are cleared when this button is pressed. The ESC key on the keyboard will activate Cycle Stop.

Tool Check: Stops the job and raises the Z axis up to its home position. The spindle will also stop moving. The operator can now jog the machine to any position they would like in order to inspect the tool or the work in progress. After pressing Cycle Start the machine will jog itself back into position, start the spindle, and resume cutting. If Cycle Stop is pressed after entering Tool Check mode the job can be resumed later using the Search function.

Emergency Stop: Pressing the Emergency Stop switch connected to the EX CNC Controller, or pressing the Reset button on the VCP while a job is in progress, will stop the job immediately and CNC12 will return to the main screen. All Currently Active M-functions will be cleared and the power to all axes will be released. The machine will need to be rehomed before resuming a stopped job if the Estop or the Reset button is pressed during a cycle.
Resuming a Job¶
When a job that is in progress is stopped early, it can be resumed in one of the two ways described below. However, in the following situations the Resume Job option will not be available.
- A new job is loaded
- Parse errors exist in the job
- The job is edited or reposted
- Power to the control is lost while the job is running

After stopping a job using the Cycle Stop or Emergency Stop button, click on Run Job Options to access the resume job controls. From the Run Job Options screen, both Resume Job and Search can be used to resume the job. When a job is resumed it will start on whatever G code line the operator enters into the Search field described in the Search and Resume section.
Once started, the entire G code file is scanned for tool changes, and other G code commands that need to be run before starting on the line the operator has specified. This means that you do not need to worry about making sure the spindle is on. Pro tip: You can "Edit" your G code from the main screen by pressing the edit button. If you have Notepad++ installed with the NCnectic G code previewer function you can visually look through your G code and pick the exact line you would like to start from.
Resume Job:

From the Resume Job screen clicking Cycle Start will resume the job from the point it was stopped.
- Offset Lib. (F2): Opens the Tool Offset library. For more information, see the Tool/ATC section earlier in this guide.
- Tool Lib. (F3): Opens the Tool Library. Not normally used for MTC Operations.
- Block (F5): Turns on or off Single Block mode. When Single Block mode is on, the user will need to press Cycle Start before each line in the G-code program.
- Stops (F6): Turns on or off Optional Stops. If this mode is on, an M1 code in the G-code program will cause the system to pause until Cycle Start is pressed. This is similar to M0, Mandatory Stop, which will pause the job regardless of how this setting is configured.
- Graph Job (F8): Opens a graph view of the toolpath, and indicates previously traveled toolpath lines as cyan lines instead of the normal yellow lines. Clicking Cycle Start in this Graph Job screen will resume the job where it was stopped.
- Rapid On/Off (F9): When this setting is turned on, the feed rate override percentage will change the speed of rapid moves. The button displays what clicking it will do. If the override is off, the Feedrate title in the Status Display will turn red.
Search and Resume:

After clicking the Search (F2) from the Run Job Options, the System Display will change to show a text box in place of the Part Count. Line numbers, Block numbers, or Tool Changes can be entered into this text box. If resuming a job that was stopped, and the Resume Job Option is available, the line number that was active when the job was stopped will already be present in the text box. Block numbers are indicated with an "N" before the block number, and tool changes are indicated by a "T" followed by the tool number.
- Tool Change (F1): When the Search function is active, this option will be displayed. When this option is set to On, the control will run the tool change that occurred before the line number entered in the text box on the System Display.
- Repeat On/Off (F3): If this option is set to On, CNC12 will loop the G-code cycle until the user ends the cycle with the Cycle Stop button.
- Skips On/Off (F4): Turns on or off Block Skipping. When skipping is turned on, G-code lines with a forward slash '/' character at the start of the line are ignored. Make sure this option is selected as needed before the G-code is loaded. The control processes the skips in a G-code file when the file is initially loaded, so turning on block skips during a program will not have an effect.
- Block (F5): Turns on or off Single Block mode. When Single Block mode is on, the user will need to press Cycle Start before each line in the G-code program. This setting is off by default. If it is turned on it can be turned off during a G-code cycle, but can not be turned on once a program has been started in the normal mode.
- Stops (F6): Turns on or off Optional Stops. If this mode is on, an M1 code in the G-code program will cause the system to pause until Cycle Start is pressed. This is similar to M0, Mandatory Stop, which will pause the job regardless of how this setting is configured.
- Graph Job (F8): Opens a graph view of the toolpath, and indicates toolpath lines before the selected line number, block number, or tool change, as cyan lines instead of the normal yellow lines. Pressing Cycle Start from this graph will start the job from point selected using the text box.
- Rapid Off (F9): When this setting is turned on, the feed rate override percentage will change the speed of rapid moves. The button displays what clicking it will do. If the override is off, the Feedrate title in the Status Display will turn red.
- Accept (F10): Acts like the Cycle Start button. Accepts the entered line number, block number, or tool change number and begins the cycle from that point.