QisMCorrX Header

QisMCorrX Extension/API

The QisMCorrX API/extension library is intended to compensate for substrate distortion when exposing directly to the substrate. It relies on a number of reference points from the CAD data and from real measurements on the substrate. Using the differences of the two values for the references, it then computes a distortion matrix and when outputting data to the next process (normally a rasterizer) it corrects the polygons to account for the measured distortion.

QisMCorrX's relationship to the QisMLib platform.

QisMCorrX vs QisMRTCR

RTCR is Artwork's original effort to apply bilinear correction to layout data to account for substrate distortions. Initially released as a stand-alone program, it required pre-processing of the layout data (ODB++ or GDISI) by the SFGEN program - which creates a GDSII output file we call semi-flat.

Some years later, we built an extension library for RTCR to operate using the QisMLib platform but essentially using the very same algorithms for correction as the stand-alone version.

Using what we learned from RTCR we've now developed a new correction library: QisMCorrX; it has a number of features and capabilities not found in RTCR. The comparison table below summarizes the differences.

Difference RTCR QisMCorrX
Input Requirements GDSII must originate from SFGEN pre-processor. Supports GDSII or OASIS, or dbload with no pre-processing.
Input Units UM UM,MM,MIL
Input Hierarchy Requires semi-flat (from SFGEN) No restrictions on hierarchy
Output Hierarchy Semi Flat GDSII Flat GDSII or OASIS
Layout View Entire Layout Any user defined view
Correction Targets Requires groups of 4 either in rectangular or diamond formation. Any number of arbitrary located coordinates.
Threads Unknown Supports user defined M x N concurrent threads.


When running the QisMLib installer, you will be prompted to select from the list of extensions. Make sure QisMCorrX is selected.

Plug In

The plug-in that provides the QisMCorrX functionality is ${install}/artwork/qismcorrX64.dll. If you are using your own config file (something other than ${install}/artwork/qismlib.cfg) please be sure to list "EXTENSION=${install}\artwork\qismcorrx64.dll" in it.

Header/API b

${install}/include/qismcorrx.h is the header file for the QisMCorrX API. It is fully documented on line and at this link


Scripting support is available for the QisMCorrx API. In ${install}/scripts, you'll find a new script:

Execute the corresponding bat file, corrx_raster.bat to see it in action.

Sample Code

In ${install}/samplecode, you'll now find a sample C++ file called corrections.cpp. This is a simple application to apply a bilinear correction to a set of polygons using the QisMLib, QisMFile and QisMCorrX APIs.

Unlike the object-oriented style of the older sample code, this code uses a procedural style to simplify reading. It also follows the same flow as the corresponding script so that you can see a 1-1 correspondence between the script commands and the C++ code.

Also in ${install}/samplecode is a new empty VS2008 project set up to build a sample app out of the box. Add any one of those qm_*.cpp files to the project and build. qm_app.exe will be created in ${install}/artwork. Run it without any arguments to see the command-line options.


The QisMCorrX extension requires a license for product ID 11093.