Software Scripting: A Tool Grinding Wizard in your Workshop


The goal is simple; work smarter, not harder. Successful companies continually analyse their processes in order to identify inefficiencies and implement improvements. Generating innovative solutions to address process inefficiencies is by no means a trivial exercise. However, once generated, these ideas do not necessarily have to be difficult to implement and can provide substantial productivity benefits.

In this article, one such solution is presented that has the potential to provide significant advantages to tool manufacturers beyond simple process improvements. It is a solution that has the ability to differentiate leading tool manufacturers and sharpeners from the rest of the pack and is available through ANCA’s leading tool grinding software, Toolroom.

The Challenge

Tool manufactures and sharpeners typically deal with large product ranges as well as custom and special tools. Grinding processes on modern tool grinders require the creation of a grinding file for each tool, that defines the important geometric features of the tool and also the grinding process required to process the tool. This poses several issues regarding the creation, storage, and distribution of a large number of grinding files.

The approach by many tool shops is to store a large collection of grinding files either locally on a machine or PC simulator, or on a central server. In many cases, new grinding files are created by simply modifying existing files of similar tools to avoid starting from scratch. This approach is not only inefficient and prone to error, but does not ensure that consistent grinding processes are employed in production.

There are various tasks that can be automated during the design stage that are business or product specific. In many cases the geometry definitions of an entire product range are represented as a set of formulas that are related to the tool diameter. In such cases it would be useful to automate the creation of grinding files by simply selecting a product range and a tool diameter. But how is such automation achieved?

Scripting – Working Smarter, Not Harder

This is where ANCA’s scripting feature provides the solution. In a nutshell, scripting is a simple programming language that allows automation of tasks typically performed with the keyboard and mouse within the iGrind and iPunch tool design applications. For example, creating a new tool file, adding operations, setting operation parameters and even creating 2D profiles can be automated using scripting. The advantage is that common tasks can be automated and design rules encapsulated into a script. This results in reduced set-up times reduced risk of errors. It also captures business intelligence in a readable, reusable, and distributable form.

ANCA's Scripting Wizard

ANCA’s Scripting Wizard

In the above example:

  1. For a particular product range, the relationship between feedrate and tool diameter has been established through experience and process optimisation. 
  2. This information can be written into a script. Scripting provides simple tools to represent such relationships programmatically by entering the data into a table. 
  3. A simple script is written to read the tool diameter from the currently open grinding file, select the correct feedrate using the information from the graph, and then set the Fluting Feedrate accordingly. 
  4. Scripts can be added to the iGrind menu so that they can be accessed and used easily. In this example clicking on the menu item would automatically set the fluting feedrate as per the graph depending on the current tool diameter specified in the grinding file. The script could also be easily extended to perform additional tasks or set other parameters such as flute depth, number of passes, infeeds, etc.

Scripts can be used to customise and extend ANCA’s already powerful and flexible software by utilising a simple yet effective scripting language. Scripting is similar to using formulas or macros in software packages such as Microsoft Excel. Without such features, MS Excel would essentially be a tool to create formatted tables and its applicability would be very limited. It is the ability to automate simple tasks and calculations which provide the various benefits within MS Excel and scripting within ANCA software can provide similar advantages.

Simple yet effective scripts can be used to perform a vast variety of tasks. They can be used to write simple routines to set operation parameters based on a tool diameter or they can be written to be full comprehensive Wizards capable of creating entire grinding files from a small set of information. Built-in iGrind Wizards utilize scripting to set parameter values and therefore can be extended and customised with some scripting knowledge.

Spiral flute wizard

An example of a custom-made Wizard for a Spiral Flute tap using scripting

In this example, a tap drawing has been displayed in a dialog and parameter entry boxes simply placed on top of the image to specify geometry parameters. When OK is pressed on the bottom right hand side, the script will then use the entered parameters to set up a new Tap grinding file with appropriate values. The entire process of creating a spiral fluted tap for this particular range was virtually fully automated using a simple script.

Scripts can also be effectively used to scale tool files from one diameter to another by defining relationships between tool diameter and specific geometric or process parameters. This use of scripting is particularly useful for manufacturing or re-sharpening of a family of tools. iGrind features a special interface from version RN31 to simplify this task, however, with some scripting knowledge this can be customised further as required.

Once a script has been written, it can be easily added to the iGrind menu and therefore may be accessed as if it were a standard part of iGrind. For example, a script could be written to calculate grinding feedrates for various operations based on some parameter input. This script could then be added to the iGrind main menu so that it can be utilised whenever required.

The Scripting Process

The three main steps towards creating useful scripts are to define the rules, encapsulate the logic within a script, and then automate. There are several advantages inherit in each step of the process.

Many technology based companies tend to possess various levels of “floating” internal knowledge. This includes undocumented knowledge that may be only known by specific employees or widely known by rule of thumb. It is desirable to minimise levels of floating knowledge for the sake of retention and therefore the process of collecting business knowledge and rules for the sake of automation ensures this knowledge is captured. Process technology is an example of such knowledge that is often not well defined within grinding shops and not explicitly specified on tool drawings.

Once the business knowledge is collected, it is encapsulated within a script for the purpose of automation. The business logic is now essentially documented and can be consistently used, analysed, modified, and enhanced as required.

T-slot Wizard

 An example of a simple wizard to create a T-Slot Cutter

In the above example, the initial dialog displays three selectable choices of cutter styles. Once OK is pressed, the final tool diameter is entered. Finally, the geometry of the blank is specified. The script then creates a new grinding file with the appropriate default geometry and process parameters required to create the cutter.

Automate and Distribute Securely

In many cases, it is desirable to distribute script files. However, as they may contain potentially sensitive information it may be desirable to protect their content. Scripting includes security features that allow distribution of script files while protecting the business logic encapsulated within them. Script files can be distributed in any one of three ways:

Scripting Security

Scripting includes security features to allow safe distribution of files. There are three main levels of scripting security


  1. The lowest form of security is to send script files as originally written. These are simple text files that can be executed from ANCA software. The file can be opened in any text editor and therefore anyone has access to read the logic within, copy, or modify it. This may be suitable when distributing scripts that perform general purpose functions that do not contain sensitive information.
  2. The second form of security is to encrypt script files. When encrypted, a new file is created (with a .esc instead of a .scr extension). Opening this file within a text editor will show an unreadable sequence of characters. The business logic encapsulated within the script can no longer be read or modified. However, the file can be executed on any ANCA software. This form of security is best used when distributing files with business sensitive logic externally. For example, a script could be written to create a grinding file for re-sharpening a specific tool type based on the entered diameter. This script could be distributed globally to allow re-sharpening shops to regrind these tools on ANCA machines. The important geometry rules for the tool cannot be read externally by anyone using the script.
  3. The third form of security not only involves encrypting the file but also license protecting the file. This is a service that ANCA can provide by utilising the built-in licensing system to only allow specific machines or simulators to execute the script. The process is simple. A specific key-code is provided by ANCA to license the script file. The file is then encrypted using this key-code. ANCA will provide on request licensing for any specific machines where the owner of the script would like the script to be able to run. This form of security is best used when externally distributing scripts with sensitive behaviour. For example, a script that acts as a full wizard to manufacture or re-sharpen an entire product range. In such cases it may be desirable to allow only authorised third parties to execute the script. This security feature allows strict control of where script files can be executed and therefore also allows scripts to be sold per license.

These security features open the possibility for you to use scripting for strategic commercial purposes while protecting your intellectual property.

Custom profile

Scripting is very useful for providing simple utilities that aid in performing complex tasks


In this example, a script was written to create the paramaterised 2D profile as displayed. Using the standard 2D editor to perform this task for every variation of this family of tools can be time consuming and error prone. Scripts allow the task to be automated so that set-up time is greatly reduced and the risk of error significantly minimised.

Ultimate Flexibility

ANCA’s unique scripting feature offers endless possibilities for smart grinding shops to customize and automate ANCA software as desired. The benefits range from reduced set-up times to knowledge retention but all contribute to one common goal; increased productivity. Industry leading manufacturers are currently utilizing ANCA’s scripting feature to achieve these goals. Implemented solutions range from simple scripts to easily produce complex tool profile geometry, to entire wizards that encapsulate all design and process rules for a wide range of products. Scripting represents an ideal tool that can provide a competitive edge with very little investment.

Scripting is a standard feature of ANCA’s Toolroom software available for all users. Using the latest release of the Toolroom software is recommended as scripting is being continually enhanced with additional features.

For further information on scripting, or to receive Part 1 of a Video Tutorial of Scripting (English), contact

Would you like to suggest an article or have a tool grinding question you would like us to address? If so, please send it to