Custom VB CNC Machine Control

Job Sequence Management integrating with CNC Machinery using Visual Basic

Alutool is a leading high technology provider of Extrusion Dies to the Aluminium Industry. They manufacture high precision preform metal dies used for aluminium extrusion.

Alutool receive CAD files from their customers. These are converted into a sequence of instructions for CNC (Computer Numerically Controlled) machinery that will manufacture the die as specified. Although the turn around time is frequently short, accuracy, quality and consistency needs to be maintained throughout the production process, as the dies produced are usually bespoke items which will be used by their clients in their own manufacturing processes.

The Problem

Our client uses CAD software to produce CNC files. A job sequence management program had been written in-house, using Visual Basic, to integrate the CAD processes with the CNC hardware. This sends instructions (the CNC command files), via an RS232 standard serial interface, to CNC machines manufacturing multiple work pieces in a specified order.

As is frequently the case with our clients, Alutool had already devised a workable solution to integrating their CAD software with the CNC machinery. As the business grew they acquired new CNC machines and expanded into new factory units. The program required updating to handle the different characteristics of the new manufacturing equipment. They achieved this by copying the original program for each different machine, altering it as required.

Running different versions of the system soon became unmanageable. Modifying the program was difficult, as the original had not been designed with modularity in mind. There were also a number of bugs in the original program which had been replicated throughout the different versions.

The Solution

We kept the same user interface which the client was familiar with. The back end was completely rewritten in Visual Basic with a new, more robust data model.

The modular design can now be configured by a single initialisation file (INI file). This makes it easy to add functionality for new machines, whilst maintaining backwards compatibility with existing installations. As all machines now use the same version of the program (merely with different configurations), it is a simple matter to apply upgrades and enhancements for all machines.

Alutool staff can now configure the program for use with new machines themselves without needing to employ a programmer to revise the code.

Two years later:

We have significantly enhanced the program by adding a new machine type as well as a graphical setup indicator to reduce operator error . We were able to keep the development costs to a minimum for these features due to the modular program design. With one consolidated system, these new features are available to all machine installations.

In addition we have added a link into their workflow reporting system, as well as logging hooks to allow the collection of job metrics to further improve efficiency.


The work you have done for us have been very cost effective and I'm looking forward to putting the latest revisions into the factory. We have had to delay this as we have yet again taken on another workshop unit for further expansion…

Mats Andersson, Production Manager, Alutool Preform Ltd