VERICUT Users' Forum

Due to relentless spammers, we are no longer automatically accepting new forum registrations. If you wish to register for this forum, please send an e-mail to:

You are not logged in.

#1 2007-03-15 14:42:55

VERICUT Specialist
From: Irvine, CA
Registered: 2004-10-08
Posts: 146

Developer's Toolkit (DevKit) retired in VERICUT 6.1

In VERICUT 6.1 we retired the Developer’s Toolkit (DevKit) product. VERICUT 6.1 distribution does not contain the DevKit compiler or documentation. An obsolete DevKit license can be included in a 6.1 license upon request, allowing the compiler to work in older VERICUT versions.

What does this mean?
DevKit consisted of a licensed compiler and documentation on how to use it to create and compile CGTech Macro Language (CML) programs. CML programs allow the user to extend VERICUT’s control emulation with custom NC macros that emulate unique behavior of a specific CNC machine. The CML program has access to certain functions within VERICUT. The compiler produces a CGTech Macro Executable (CME) file, the compiled form of the CML program. The CME is referenced by the control file and adds custom NC macros to the control emulation.

Current DevKit Users and 6.1
Current DevKit users who wish to continue creating new/updated CME files to use in VERICUT 6.1 must maintain a VERICUT 6.0 installation in order to access the DevKit compiler. The CME files produced by 6.0’s DevKit compiler are 100% compatible with VERICUT 6.1.

Current CME users (who do not use DevKit and get their CME files from CGTech or others) can also continue using their existing CME files in VERICUT 6.1. CME files will continue to be upward compatible for several future VERICUT releases. The retirement of DevKit does not affect CME users immediately.

CME–API: DevKit’s Replacement
DevKit functionality is replaced by a new method for creating custom NC macros: the C Macro Extension – Application Programming Interface or CME–API.

Using CME-API, the customer writes a standard C or C++ program which calls exported functions in VERICUT (the exact same exported functions available to a DevKit CML program). He then compiles this program using Microsoft’s Visual Studio 6.0 C++ compiler, into a standard Windows Dynamic Link Library (DLL). The DLL is loaded by VERICUT at runtime, extending VERICUT’s control emulation with custom NC macros (exactly the same as a DevKit-created CME).

There are several advantages to the CME-API replacement:
•    Uses an industry-standard language: C or C++
•    Gives the developer access to all the full, rich features of C and C++
•    Allows the developer to use standard C and C++ debugging tools
•    Runs a thousand times faster than a CME file (“thousand” means “a whole lot” in this case)

The CME-API functionality is available with a base Verification license. It is not an optional module. Any VERICUT user has access to it. But it does require Microsoft Visual Studio 6.0 C++.

While the CME-API is immediately available to all VERICUT users, documentation is not (see Support Issues below).

CME-API is available only on Windows. There are no plans to port it to UNIX.

Migration from DevKit to CME-API
DevKit users must convert their existing CML programs to C in order to create a new CME-API DLL. Fortunately the old CML language syntax is very similar to C. And all the VERICUT functions used by CME-API are exactly the same as those available to CML. Once converted, the CME-API C program is compiled using Microsoft’s Visual Studio 6.0 C++ compiler.

End-users using CME-API must be experienced with C or C++, with knowledge of the C language syntax and Microsoft Visual Studio development environment.

Support of CME-API
•    End-user documentation is currently unavailable. Once available, the document will cover the usage of exported VERICUT functions in a C program, specifics for compiling a CME-API DLL in Microsoft Visual Studio, and how to use the DLL in a VERICUT simulation. It will also contain a document on how to convert a CML program to C. Documentation will be written for use by a software developer with working knowledge of the C programming language and Microsoft Visual Studio. It will not document the C programming language, nor will it document how to use Microsoft’s development environment. There are many fine books available on both these topics in libraries and book stores. There are also many college and university courses on the C and C++ programming languages.

•    Most local CGTech offices are not equipped with the skills or Microsoft tools to support customers using CME-API (some are). Local offices will need to acquire these skills, depending on their local customers’ needs.

•    There are no plans to create a training course for CME-API. An experienced C programmer should be able to easily understand how to create and implement a CME-API program using the documentation supplied (once the documentation is created).

•    Existing CME files will continue to be compatible with future VERICUT releases. However, local CGTech offices supplying CMEs  to end-users should plan to migrate their CML programs to C. There is no urgent reason to do this.

•    Preliminary documentation and examples can be made available upon request, for those customers anxious to change immediately. However support will be minimal. You will have to supply your own bandages and/or splints should injuries occur.

The CME-API delivery will consist of an example Microsoft Visual Studio project, including C source file for the project, library and header files providing access to the exported functions, and documentation on the functions. The support files will be included in a 6.1.x release as soon as they are available.
Executive Summary
•    DevKit is retired and no longer delivered, 6.1 and forward.
•    Existing CME files will continue to work in 6.1.
•    DevKit users do not have to immediately convert their existing CML programs to C, but do have to maintain an installation of 6.0 in order to continue using the DevKit compiler.
•    CME-API does not require an optional license, it is available to any VERICUT end-user (with sufficient skills).
•    CME-API is currently not documented, and the support files are not delivered with 6.1. They will be made available in a future 6.1.x release.
•    Creation of CME-API DLLs requires significant C programming skills and familiarity with and access to Microsoft Visual Studio C++ compiler.
•    End-user usage of a CME-API DLL is as simple as usage of a DevKit CME file.
•    End-user training class materials are not available and not planned.


#2 2022-12-06 07:22:14

Registered: 2022-05-10
Posts: 11

Re: Developer's Toolkit (DevKit) retired in VERICUT 6.1

Can you please share CME-API documentation if it is available. i have basic knowledge of C, C# programming and trying to automate few things in Vericut with the help of CME-API.
It would be great if i can get the documentation to start with.

Thanks in advance!!

Last edited by ipriyadarsinirallabandi (2022-12-06 07:22:45)


Board footer