Tool list

The Tool list is a new functionality (appeared since version 12.0.1), which greatly facilitates the work with machining tools in the system. It allows

  • quickly identify and correct errors when filling in the parameters of tools, 
  • quickly select a previously tuned and correct tool, rather than filling all its parameters again,
  • easy to copy a tool from one operation to another,
  • store information about feed and speed with the tool, and it is easy to apply them to the operation,
  • save the set of tools used in the project together with information about in which position on the machine they are fixed (for example, in which position of the turret and with which block) into a separate file on the disk for later use in other projects,
  • transfer machine settings from one project to another (placement of blocks on a turret, approach/return rules, tool change point, discreteness, etc.).

The Tool list is a kind of virtual tool magazine (more precisely, a list of tools from all magazines, if there are more than one). The following is saved in it.

  1. A snapshot of the current state of the machine (the full set of properties of the machine, the data superimposed over the scheme).
  2. List of tools.

For each tool in the list is stored such data.

  • ID - unique identifier of the tool in the list. It allows us to determine that two tools (for example, in two different operations) with the same ID are actually two copies of the same tool. May be string (not necessarily numeric as a number). There cannot be two tools with the same ID in the list.
  • Tool number - an integer that is output to the G-code, and in fact determines to which position of the magazine the tool is attached on the real machine. 
  • Magazine number - an integer identifying a magazine on a real machine.
  • Connector ID (attachment point) of the tool in the machine scheme inside the CAM system.
  • Tool overhang - tool sizes from the point of attachment to the machine (connector) to the tooling point.
  • Corrector numbers, which define the records in the table of the correctors of a real machine where the dimensions (overhangs) of the real tool are stored.
  • The name of the tool.
  • Tool type - cutter, boring, end mill, drill, tap, etc.
  • Geometrical parameters, such as diameter, length, tip radius, etc. The parameter set differs according to the type of tool.
  • Tool adapter parameters.
  • Machining conditions: working feed, spindle speed, numbers of included cooling pipelines.


The too list is automatically filled by the technological operations during the normal work on the project. There is no separate button for adding a tool to the list. The algorithm for adding tools like this. When creating a new operation or changing the parameters of a tool in an existing operation, the system checks if a tool with the same ID is in the list. If there is no such tool, the system adds a copy of the operation tool to the list. At the same time, the system remembers that this is a “new” tool, i.e. it is not yet stored in the list on the hard disk, but is only present in memory. If after this you delete all the operations that use such a "new" (not yet saved to disk) tool, then it is automatically removed from the list. If you save the list of tools, the tool moves from the "new" state to the "saved" state. Saved tools are not automatically deleted or updated. They can only be deleted from the list by the user manually with the corresponding button in the tool selection window. If the tool is in the "new" status and only one operation in the project refers to it, then it is automatically updated when the tool changes in the operation.

The Tools button is located on the top toolbar and are displayed in the Technology mode.  When you click on it, a window opens with a list of tools. The button has a drop-down menu with an additional set of features.

Save tool list - saves the list of tools in the current file to disk. If the list of tools has never been saved, the file name will be requested - the standard file saving dialog will open. The list of tools is saved to an XML text file with the extension * .tom. In the system settings, the name of the * .tom file and the name of the current machine are stored. When creating a new project (or when changing the machine), if the name of the * .tom file is found in the system settings for the current machine, the list of tools from this file will be automatically loaded.

Save tool list as... Allows you to save a list of tools in a file under a new name. The name of the * .tom file is stored in the system settings.

Save tool list when saving project - flag that can be turned on and off. If it is turned on and the current list of tools has already been saved to any file on disk, then when you save the project, the list of tools will be automatically saved. If this flag is turned off, the list of tools is saved only explicitly when you click the save tool list button.

Load existing tool list - loads a tool list from a file. A standard file selection dialog opens. The name of the loaded * .tom file is stored in the system settings.

Create new tool list - clears the tool list and breaks the link to the file if the tools were previously saved to a file. The memorized file name for the current machine is deleted from the system settings. The new empty list of tools is automatically filled in according to the list of operations of the current project according to the algorithm described above.

Import tool list from library... Allows you to load tools from the tool library file (*.csv or *.db + *.properties formats) and add them to the current list. It should be noted that there is no information in the tool library about which tool connector of the machine the tool is attached to, so this information may not be filled correctly when importing into the tool list.


The existing functionality of the tool list allows you not only to store tools in one place, but also implements a mechanism for controlling the parameters of tools within project operations. Consider how this is implemented.

The project contains many copies of each tool - one copy in each operation and one copy in the global list of tools. The indication that the two tools are copies of each other, and not different tools is the common tool ID. All these copies may differ from each other. Control of differences between different copies of tools relative to each other is carried out on the Technology tab in the tree of operations and also in the separate tool list window.

A separate tool column can be displayed in the operation tree. The visibility of the tool column is enabled in the context menu of the operations tree. In this column, for each operation of the project, the tool identifier and its name are displayed. The displayed identifier can be either the tool ID or its number.

The difference of tools from each other is depicted by using different colors and fonts.

  1. The color of the tool name is used to indicate differences in the operation tool from the same tool in the global tool list:
    1. gray - the operation tool does not differ from the tool in the list;
    2. black - the operation tool is different from the tool in the list;

  2. Font thickness is used to indicate the difference between the tool and same tools inside another operations of the current project:
    1. normal font - the tool of this operation does not differ from the tools of other operations;
    2. bold - the tool of this operation is different from the tools of other operations.
  3. The tool identifier color in the operations tree column is used to display the correctness of tool numbers in the project:
    1. red - tool number is incorrect, since there are several different tools in the project, but which have the same tool number, magazine number and corrector number;
    2. gray - the tool number is correct, i.e. this set of tool number, magazine number and corrector number is used only by copies of the same tool.
  4. The dashed underscore identifier of the tool in the column is used to indicate differences in machining conditions (feeds and cutting speeds):
    1. without underscore - the machining conditions in this operation are no different from the conditions specified in the tool in the global list of tools;
    2. with underscore - the machining conditions in this operation differ from the conditions specified in the same tool in the global list.

Thus, a gray tool with a normal font is completely “correct” (not different from any copy), and the most black and bold tool is most likely the most “wrong” (different from all other copies).

Consider this on the example of the state of the tools shown above.

  • Top plane operation tool - T#281mm Cylindrical mill. Drawn in black, because its diameter (D = 81) differs from diameter of tool 2 in the list (D = 80). It is also drawn in bold, because it differs from the T#2 tools in the Front side, Right side, Back side and Left side operations, in which its diameter is 80.
  • Front side, Right side, Back side and Left side operations tool - T#2: 80mm Cylindrical mill. Drawn in gray, because it does not differ from the tool in the list, but is drawn in bold because it differs from the T#2 tool in the first "Top plane" operation.
  • Front holes operation tool - T#3: 20mm Drill. Drawn in a gray thin font, because it is no different from its other copies. However, the T#3 tool identifier is shown in red, since the project also has another "6mm Spherical mill" tool from the Corners cleanup operation, which has the same number 3.
  • Top holes operation tool T#4: 20mm Cylindrical mill. Drawn in a gray thin font, because its parameters do not differ from other copies.
  • 5D Contouring operation tool T#4: 20мм Цилиндрическая фреза. Drawn in a gray thin font, because its geometrical parameters do not differ from other copies, but its T#4 identifier is drawn with a dotted underline because the tool feed in operation differs from the feed recorded in the tool list.
  • Corners cleanup operation tool - T#3: 6mm spherical mill. Drawn in thin gray font because It does not differ from the other copies. The tool identifier is red because there is another tool "T#3 20 mm Drill", which has the same tool number equal to 3.


After finding the differences between the copies of the tool, the task of synchronizing these copies arises. This task is easily solved with the help of special buttons that (if there are differences) appear in the title bar of the operation properties inspector on the Tool and Feeds/Speeds tabs. Moreover, these buttons work on each of the tabs independently. The buttons on the Tool tab synchronize only the parameters of the tool itself and do not change the machining conditions. The buttons on the Feeds/Speeds tab synchronize only the machining conditions and do not change the parameters of the tool itself.

The Reset changes button allows you to copy parameters from the tool located in the global tool list to the tool inside the operation.

The Apply changes button allows you to copy parameters from the tool of operation to the tool in global list. If there are several operations using this tool and the tool parameters in these operations are different, then an additional dialog box will be displayed.

The Apply to all specified operations button will copy the tool parameters from the current operation to the tool in the list, as well as into all operations that use the same tool.

The Create a new tool button will assign a new ID to the tool of the current operation (it will be generated automatically) and will create a copy of this tool in the global tool list. Thus, the connection with copies of the tool in other operations is broken.


Double clicking on the tool column in the operations tree, as well as clicking on a separate button with the tool name in the title bar of the properties inspector on the Tool and Feeds/Speeds tabs, opens the Select tool from the list window.

The tool selection window is a table with a certain set of columns in which the main properties of the tools are displayed. The rows of this table are tools, with some rows being nested. The top level displays the tools that are stored directly in the global tool list. In each such tool can be nested several rows. Each nested row corresponds to an operation tool that uses the same tool. The name of the operation is displayed in the Caption column. You can simply drag the operation row with the mouse from one tool node to another in order to change its tool.

On the top toolbar there are buttons that determine the visibility of columns and rows in a table.

 - it enables the visibility of columns that show the basic geometric dimensions of the tool.

 - it enables the visibility of columns showing the machining conditions corresponding the tool.

 - shows a drop-down menu with several switches that affect the visibility of rows in a table.

  • Applicable - when you turn on this flag, only rows with tools that are applicable to the current tech operation will be displayed. If the flag is off, then inapplicable tools will be shown, but will be drawn in gray.
  • Used - when you turn on this flag, the tools that are used in the operations of the current project will be displayed.
  • Unused - when this flag is turned on, tools that are not used in current project operations will be displayed.

In addition, you can adjust the visibility of rows by imposing additional restrictions on the values of the parameters that are displayed in each of the columns. To do this, use the topmost filters line of the table (with * characters). You need to click the mouse in the desired cell and enter some value.

For string parameters, the restriction is determined by matching characters. For numeric parameters, you can use additional operators to specify the constraint:

  • "123" simple numerical value - the lines will be displayed in which this parameter strictly corresponds to the specified value;
  • "<123" - expression with the "less" operator - the lines in which this parameter is strictly less than the specified value will be displayed;
  • "<=123" - expression with the "less or equal" operator - the rows will be displayed in which this parameter is less than or equal to the specified value;
  • ">123" - expression with the "greater" operator - the lines in which this parameter is strictly greater than the specified value will be displayed;
  • ">=123" - expression with the "greater or equal" operator - the lines in which this parameter is greater than or equal to the specified value will be displayed;
  • "12..34" or "12:34" - expression with the "range" operator - the lines in which this parameter is included in the specified range of values will be displayed.

The filter by the type of tool is specified in a special way. When clicking in the filter cell in the Tool type column an additional window appears on the screen. Here you can select the desired tool types with checkmarks.

Sorting table rows is controlled by clicking on the desired column header.

The following columns are available.

  • ID - ID of the tool.
  • Caption - the name of the tool or the name of the operation depending on the type of node.
  • # - tool number.
  • M# - magazine number.
  • Tool type - indicates the type of machining tool (cylindrical mill, drill, boring tool, etc.)
  • L - tool overall length.
  • D - for milling tools, the diameter of the tool; for turning tools, it either does not fill up or is filled with different parameters depending on the tool subtype.
  • R - key tool radius (different depending on the specific type).
  • F - working feed.
  • S - spindle speed.
  • Direction - spindle rotation direction.
  • Coolant - set of included cooling piping.
  • Additional actions column - last column with the  button when clicked, a drop-down menu opens with additional actions on the tool.

  • Reset changes allows you to copy parameters from the tool located in the global tool list to the tool inside the operation.
  • Apply changes allows you to copy parameters from the operation tool to the tool in the tool list. If there are several operations using this tool (a tool with the same ID) and the tool parameters in these operations are different, then the additional dialog box described above will be displayed.
  • Delete tool - Allows you to delete an unused tool from the tool list. The tool that is used in project operations cannot be deleted.

To indicate the differences between different copies of the tool from each other, the same color scheme is used as in the tool column in the Operations tree of the Technology window. The only difference is that the tool selection window shows the differences only for the selected display mode:

  • in the mode of displaying geometric dimensions - only differences for tool parameters are shown;
  • in the feeds/speeds mode - only differences for machining conditions are shown.

Selection of any tool in the table leads to the fact that in the graphics window appears a visual representation of this tool in the desired position of the machine.

At the bottom of the window there are buttons that allow you to apply the tool selected in the table to the current operation of the project.

  • Select tool - assigns all the parameters of the tool selected in the table (both geometric and machining conditions) to the current operation of the project, this window closes.
  • Create a new tool - creates a copy of the tool in the list by tool from the selected operation.