At the more complex end of the scale, it is possible to completely embed our simulation and toolpath generation technology such that it appears as an integral part of the host application. The entire workflow and user interaction is handled by the host. The benefits of this approach are clear; full consistency with other parts of the application resulting in shorter learning curve for the end user and the opportunity for the vendor to tailor an experience unique to their application.
However, this approach is not for everyone. Time to market, resourcing or other constraints might require a simpler approach to integration and this is where MWCL (ModuleWorks Cutter Location) data comes in to play.
MWCL allows integration and communication with ModuleWorks simulation components via a ASCII text format that provides a fast and simple solution. This article shows how this can be accomplished using a dental application as the example. The completed application is shown in the image below.
The main benefits of this approach are shown below
- A simple, portable and man readable ASCII text based format is used; there are no issues with different operating systems, x32 vs. x64, Unicode vs. ANSI, compiler versions etc. etc.
- The MWCL format is powerful and flexible. In addition to raw 3-5 Axis toolpath data, it support many other machine events such as toolchanges, aggregate heads and tools, multiple turrets, and combined Mill/Turn operations.
- The text file can be created by any programming / scripting language and this makes it ideal for use with web-based applications.
- There is no need for integrating ModuleWorks libraries into the host application so integration time is reduced. Some partners have reported that basic integration is completed in less than a day.
- ModuleWorks powerful 5-Axis kinematic posting tools can be used to turn 5-Axis I, J, K vector information in to A,B,C rotary motion specific to the target machine.
- Toolpath data is expressed in a simple text format and are accompanied by machine kinematic information in the form of XML data. By combining the two, ModuleWorks simulator will convert the toolpath data into raw axes (X, Y, Z linear and A, B, C rotary) motion used for simulation.
Machine Tool Kinematic Definition
The first stage of the process is to build the kinematic representation of the target machine.
ModuleWorks includes a full kinematic builder that allows full machine definition using a tree structure to define the machine axes, graphics and relationships between them.
The completed kinematic tree is shown on the left. The hierarchical structure in this example shows one branch with the rotary B-Axis rotary mounted on the linear X-Axis and a second containing the linear Y axis mounted on the Z axis. Graphical elements in the form of STL are added to each axis to build up a fully featured machine model.
The machine builder allows you to interactively work with different axes and see the resultant motion, simply by using the axis sliders as shown in the video below.
The next stage is to build a software routine to create the MWCL file. As mentioned earlier, this is a simple ASCII file containing the toolpath and other machine data. The format is based on the principals of APT CL, but extended and updated to cater for all ModuleWorks technology.
Each toolpath in our sample application is described as an operation and contains toolchange and toolpath data.
The tools are typically described using the multiple different lines to describe station number and description alongside tool and arbour geometric parameters. The tool format will also support full 3D graphic definition of the tool and holders, particular important with complex applications such as 5-Axis and Mill-Turn.
The operation data in our example is described using Rapid and Feed motion as shown on the right. 5-Axis motion contains X, Y, Z linear and I, J, K vector information.
For simulation, the ModuleWorks component will convert the I, J, K vector into machine tool A,B,C rotary motion specific to the target machine. ModuleWorks will also handle machine axis limits and other kinematic constraints, ensuring a correct representation of the toolpath. The ModuleWorks processed data can be dumped as ASCII and used as basis for NC Code generation.
Alternatively it is possible to specify the A, B and C angles explicitly using MW_MACHMOVE and MW_RELMOVE statements. This can be done in cases where the host application already has the information defined or for custom machine tool kinematic configurations.
The Simulation application is provided by ModuleWorks. It is shown here in standard configuration but is highly customizable to suit the host application.
The MWCL format provides a simple ASCII method for basic integration with applications requiring simulation of machine tool data. Our example is based on an application for Dental machining, but a similar approach can be taken for almost any machine tool and applications. In addition to Milling and Turning applications, our partners offer a diverse range of applications such as woodworking, CMM inspection, Robot arm control and rapid prototyping.
The video of the simulation for this example can be found on YouTube. Click on the link above
The ModuleWorks blogger