Techniques Used In CAM Software Development

This column briefly highlights some of the more distinctive methods employed by selected CAM-centric software vendors. Cimatron has a well defined, organized and structured process for NC product development.

This column briefly highlights some of the more distinctive methods employed by selected CAM-centric software vendors.

Cimatron has a well defined, organized and structured process for NC product development. A feature database is maintained that defines the unambiguous requirements for a given feature, the estimated time to implement and the risk level for each feature. Design reviews are held to verify that the design conforms to the functional specs. A change management process is employed to access the impact and review or reject proposed changes to feature requirements or version content. After alpha and in-house beta tests are run, beta testing is performed by customers.

An API based on Visual Basic and C++ is provided for users to customize the system, add customer-specific tools to generate code to perform specialized functions, and connect to other systems. Key data files and templates are kept in an open XML format to allow manipulation by external tools.

As for product support, the company places considerable attention on using Web technology and is leveraging the Internet as a communication, support and training tool. It conducts Web seminars, offers user training via the Web and provides Web-based customer support.

At CNC Software, programs written in Visual Basic run in Mastercam. Support of VBScript permits reading Excel, Oracle and other file formats directly into Mastercam. Customized functions can be created with VBScript or VBScript Editor. Users do not need to know Visual Basic to customize basic functions. CNC Software development has its own five-axis machine for defining requirements and testing software.

New versions of Delcam’s PowerShape and PowerMill are released every four months. All software is written in C++. Delcam uses Microsoft development tools such as Development Studio, Microsoft Foundation Classes, OLE for Design & Manufacturing and Open GL. The products are fully Windows compliant.

Although some of the company’s development tools are from third-party vendors, a number of them are homegrown. Purify from Rational Technology is a third party tool that checks for memory leaks. Its modeler, PowerShape, was started from scratch, and this approach has not been implemented by other CAM-centric vendors. All Delcam programs have an underlying macro language. When a function is added to the code, a macro is written to test it. For project management, the company uses PS-Team, a fully supported Microsoft.NET-based collaboration solution written using C++, Soap and Web Services.

At Open Mind, a number of development people are dedicated to QC. Interactive and automated testing is accomplished; algorithms are tested automatically by using test cases. Because these are often lengthy calculations, they are typically done overnight. The module testing can be done interactively. The QC people also manage the beta process. They do an internal beta test followed by a beta test with a specified set of customers.

The company uses Microsoft Project for project management and employs specialized build tools and project tracking tools. It has modified NAI, Internet-based software from Magic Enterprises, that provides access to the company’s management systems for its technical people from around the world.

Pathtrace says the distinguishing characteristics of its product development program are that it is ISO 9000 certified; its ability to do three releases per year; the fact that it doesn’t do minor bug fix releases; and its efficiency in generating new code.

The company does a build every night, and automated test routines are run against that build so that a new build is available each morning.

Surfware uses Rational software tools to manage its development. CIMdata is not aware of other CAM software vendors that use this tool set. The Rational Unified Process (RUP) is a Web-based system that includes a spectrum of products designed for software developers. The entire lifecycle is covered, including areas such as requirements and analysis; design and construction; debug configuration; process management; testing; and quality control. It can find and eliminate runtime errors, memory leaks and performance issues.

Vero International has a marketing group that defines the product requirements for significant changes, reviews product needs with customers and provides product definition for developers. A Web-based database is provided so that dealers and major customers can track the status of requests. For testing, Vero uses Vericut software from CGTech to verify tool paths when a significant modification is made to a tool path or a new tool path is created. A set of users agree to run the code in a real-world environment and actually cut parts to verify that the toolpath behaves properly.