Select Calibration Incorporated

Calibration Services for Coordinate Measuring Machines


This page contains links to utility programs related to coordinate measuring machines and inspection. The utility programs are purpose specific and were written as needed. Utility programs are compiled for various operating systems and available as source code where practical.

All programs with a GUI interface are written using the Qt Framework. To compile any of these programs it is necessary to download and install the Qt SDK for your target operating system. The license for the community editions of Qt are LGPL and GPL.

These programs are free software: you can redistribute and/or modify them under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. All software is provided as-is; no warranty of any kind is provided or implied.

Machine Checking Gauge

Machine Checking GaugeThe Machine Checking Gauge utility is software that compliments the Renishaw MCG test artifact. The primary purpose of the Machine Checking Gauge utility is to interpret and report data collected by the Renishaw MCG artifact but it can also be used to create a part program necessary for the measurement of the gauge.

Linux RPM: mcg-4.0-1.x86_64.rpm
Linux DEB: mcg_4.0-2_amd64.deb
Windows: mcg-4.0-1.x86_64.zip
Source: mcg-4.0.src.zip
Part Program: MCG - 3.0 - PC-DMIS 3.7.PRG.zip
Doc: Machine Checking Gauge Users Guide.pdf

Error Simulator

Error SimulatorThe Error Simulator utility allows simulated CMM measurements of various artifacts in order to assist in the development of tools and procedures necessary for efficient calibration of coordinate measuring machines. Developing methods to extract specific machine errors from measurements require accurate test data so that methods can be evaluated properly. Using a real CMM can be problematic as physically changing the shape of the machine in order to test different scenarios is not possible in many cases and measurement noise can also bias data.

Linux RPM: errorsimulator-3.0-1.x86_64.rpm
Linux DEB: errorsimulator_3.0-2_amd64.deb
Windows: errorsimulator-3.0-1.x86_64.zip
Source: errorsimulator-3.0.src.zip
Doc: Error Simulator Users Guide.pdf

Virtual CMM

Virtual CMMVirtualCMM is software that emulates the functions of a physical CMM. It was written primarily for testing the measurement routines of MeasureDirect when an actual CMM is not available. The virtual machine is animated and can display the recent probe path to help identify problems such as missing moves or inverted touch points.

Linux RPM: virtualcmm-6.3-1.x86_64.rpm
Linux DEB: virtualcmm_6.3-2_amd64.deb
Windows: virtualcmm-6.3-1.x86_64.zip
Source: virtualcmm-6.3.src.zip
Doc: VirtualCMM Users Guide.pdf

Compensation Map Viewer

Compensation Map ViewerThe Compensation Map Viewer was written to allow users to view the contents of the error map or error grid from their CMM. The data is presented as a text table of values and select parameters can be displayed graphically if desired. Any supported map type can be opened by simply dragging the file onto the Compensation Viewer program. Many file formats from a variety of vendors can be opened by this program.

This program will not pull data from the CMM controller. The compensation map must exist as a file (or a folder containing individual compensation parameters) to be able to use this utility.

Linux RPM: compview-9.0-1.x86_64.rpm
Linux DEB: compview_9.0-2_amd64.deb
Windows: compview-9.0-1.x86_64.zip
Doc: Compview Users Guide.pdf


Validation2DMISThe Validation2DMIS utility creates a DMIS part program based on the validation data from MeasureDirect. The DMIS program contains the point data and constructed features of the type specified in the validation data file. Creation of a DMIS program from the validation data allows importing into any software that supports the DMIS standard.

Linux RPM: validation2dmis-1.0-1.x86_64.rpm
Linux DEB: validation2dmis_1.0-2_amd64.deb
Windows: validation2dmis-1.0-1.x86_64.zip
Source: validation2dmis-1.0.src.zip
Doc: Validation2DMIS Users Guide.pdf

Measure Direct

MeasureDirectThe MeasureDirect utility is inspection software with a very narrow scope of capability focusing on the measurement of artifacts for CMM calibration. MeasureDirect can perform measurement tests using a step gauge, gauge block, ring gauge, pin gauge, sphere, ball bar, and laser.

Linux RPM: measuredirect-5.0-1.x86_64.rpm
Linux DEB: measuredirect_5.0-2_amd64.deb
Windows: measuredirect-5.0-1.x86_64.zip
Source: measuredirect-5.0.src.zip
Doc: MeasureDirect Users Guide.pdf

CMM Specifications

CMM SpecificationsThe CMM Specifications utility allows the user to access the limits for various brands and models of CMM’s when running performance tests of the machine as defined by standards such as ISO/IEC 10360-2:2009. The information is stored in a SQLite database and can be converted to a CSV file for importing or exporting as needed.

The sample database has publicly available specifications for various CMM's collected over the years. Although there has been a lot of effort to keep the information correct it is highly probable that some of the data is not valid for various reasons. Additions or revisions are welcome and the sample database on the website will be updated to contain the latest information.

Linux RPM: cmmspecifications-1.0-1.x86_64.rpm
Linux DEB: cmmspecifications_1.0-2_amd64.deb
Windows: cmmspecifications-1.0-1.x86_64.zip
Source: cmmspecifications-1.0.src.zip
Database: cmmspecifications.db.zip
Doc: CMM Specifications Users Guide.pdf

Squareness Error Calculator

Squareness Error CalculatorThe Squareness Error Calculator is a utility that can find the ideal squareness corrections from a set of length measurements on a CMM. The measurements of length can be from a ball bar or from artifacts such as step gauges, gauge blocks, or a laser interferometer. The sample measurement data supplied with this utility has examples of each type and has been somewhat randomized to demonstrate the capabilities of the Squareness Error Calculator.

Linux RPM: squarenesscalculator-1.5-1.x86_64.rpm
Linux DEB: squarenesscalculator_1.5-2_amd64.deb
Windows: squarenesscalculator-1.5-1.x86_64.zip
Sample Data: sq_sample_data.zip
Doc: Squareness Calculator Users Guide.pdf

CFG Backup

CFG BackupCFGBackup is a utility that allows the user to backup and restore the CMM controller EEProm data from various Sheffield brand CMM's.

Under normal conditions the EEProm data in the controller is stable and does not change unless specifically written but due to age or other factors the EEProm data can change randomly particularly following a cycle of the controller power. The controller performs a CRC error check on the EEProms at power-up and if this fails (meaning the contents of the EEProms does not match the previous known values) then the controller is put into a permanent error state until fixed. The CFGBackup utility allows the user to create a backup file containing a copy of all the controller's EEProm data and restore it on a future date in order to clear any CRC error that may happen.

Linux RPM: cfgbackup-1.1-1.x86_64.rpm
Linux DEB: cfgbackup_1.1-2_amd64.deb
Windows: cfgbackup-1.1-1.x86_64.zip
Doc: CFGBackup Users Guide.pdf

Dostmann Calibrator

Dostmann CalibratorThe Dostmann Calibrator is a small utility that can generate sensor calibration codes for certain models of Dostmann thermometers such as the PT-750. This utility can use one or more temperature samples to generate correction codes. The new correction codes are calculated on top of the existing correction codes so it is not necessary to clear existing calibration codes prior to calibration.

Linux RPM: dostmann-2.1-1.x86_64.rpm
Linux DEB: dostmann_2.1-2_amd64.deb
Windows: dostmann-2.1-1.x86_64.zip
Source: dostmann-2.1.src.zip
Doc: Dostmann Calibrator Users Guide.pdf


SourcetreeThe Sourcetree utility creates a folder populated with all files and dependent Qt projects necessary to compile a specific Qt project. The created folder can then be compressed and distributed as the source code for the Qt project. The generated source tree optionally includes a top-level project file and compilation instructions.

Linux RPM: sourcetree-1.0-1.x86_64.rpm
Linux DEB: sourcetree_1.0-2_amd64.deb
Windows: sourcetree-1.0-1.x86_64.zip
Source: sourcetree-1.0.src.zip
Doc: Sourcetree Users Guide.pdf

Acceleration Calculator

Vibration MeterThe Acceleration Calculator utility was written to allow users to easily calculate the distance and time required to transition from one velocity to a second at a specific acceleration. Despite the name the Acceleration Calculator utility only calculates the requirements of time and distance from the acceleration when there is a change in velocity.

Android: accelerationcalculator.1.0.apk
Source: accelerationcalculator-1.0.src.zip
Doc: Acceleration Calculator Users Guide.pdf

Ballbar Viewer

Ballbar data viewerThe Ballbar Viewer allows users to analyze ball bar measurement data when performing interim checks on their CMM. Interim checks are necessary to ensure that the CMM is running properly and can also be used to verify changes to the machine, such as a software upgrade, have not adversely affected accuracy.

Linux RPM: ballbarviewer-3.1-1.x86_64.rpm
Windows: ballbarviewer-3.1-1.x86_64.zip
Source: ballbarviewer-3.1.src.zip
Part Program: B89.4.1-Ballbar-V8.2-PCD37.PRG.zip
Doc: Ballbar Viewer Users Guide.pdf

DC Controller Status

DC Controller StatusThe DC Controller Status utility shows current information about the CMM along with recent errors logged by the controller. The current information shows the emergency status, error map compensation configuration, axis expansion coefficients, and axis temperatures. The error log shows the history of errors recorded by the controller since the last reboot. The data can be recorded and saved to a text file with minimal effort from the user.

Linux RPM: dccontrollerstatus-1.2-1.x86_64.rpm
Windows: dccontrollerstatus-1.2-1.x86_64.zip
Source: dccontrollerstatus-1.2.src.zip
Doc: DC Controller Status Users Guide.pdf

Vibration Meter

Vibration MeterThe Vibration Meter utility is a small Android app that uses the accelerometers available on many small devices to measure vibration. CMM's have requirements for the environment that must be met in order for the machine to measure at the intended accuracy with the two most common environmental issues being temperature and vibration. The Vibration Meter allows a vibration test to be run from a tablet or phone. The output shows the raw data, frequency spectrum, and a numerical analysis of the vibration.

Android: vibrationmeter-2.0.apk
Source: vibrationmeter-2.0.src.zip
Doc: Vibration Meter Users Guide.pdf

Deflection Simulator

Deflection SimulatorThe Deflection Simulator shows the effect of deflection compensation from different vendors on a horizontal arm CMM with a kinematic of XZY. The input parameters for the different deflection models match those of the vendor and the output shows a series of horizontal and vertical length measurements that would be observed with a laser. Measurement gauges can be added anywhere inside the measurement volume in order to see the impact on length.

Linux RPM: deflectionsimulator-2.0-1.x86_64.rpm
Windows: deflectionsimulator-2.0-1.x86_64.zip
Source: deflectionsimulator-2.0.src.zip
Doc: Deflection Simulator Users Guide.pdf

Length Comparison

Length ComparisonThe Length Compare utility calculates an En score for each overlapping result from two sets of measurements. The En score is an objective way to compare individual results taking into account the measurement uncertainty.

Linux RPM: lengthcompare-1.0-1.x86_64.rpm
Windows: lengthcompare-1.0-1.x86_64.zip
Source: lengthcompare-1.0.src.zip
Doc: Length Compare Users Guide.pdf

Report Roadmap

Report Road MapThe Report Roadmap utility allows the user to attach an identification label to a dimension item in order to compliment the inspection report. Standard image files are used for the input. The output is either a single PDF file or individual image files.

Linux RPM: reportroadmap-3.0-1.x86_64.rpm
Windows: reportroadmap-3.0-1.x86_64.zip
Source: reportroadmap-3.0.src.zip
Doc: Report Roadmap Users Guide.pdf

Compensation Error Map Explorer

Error Map Explorer The Error Map Explorer utility was written to allow users to view the effects of compensation map data on a coordinate measuring machine. The correction values are calculated to the position of the active probe stylus and should be comparable to methods used by most CMM inspection software.

The correction that is applied to machines from the compensation error map is very difficult to visualize especially if more than one parameter is active at any one time. This utility was written to help make it easier to understand how all this works. Individual errors or combinations of errors can be activated or deactivated without having to create a new compensation map file. A visual display of the kinematic axis order and corrections can be shown that is very useful for understanding how the data is interpreted.

Linux RPM: errormapexplorer-3.1-1.x86_64.rpm
Windows: errormapexplorer-3.1-1.x86_64.zip
Sample Data: Error_Map_and_Test_Sequence.zip
Doc: Error Map Explorer Users Guide.pdf

Sharpe2-32 Download Editor

Sharpe2-32 Download editorThe download editor was written to allow direct modification of the Sharpe2-32 download files. The normal method for modification of these files is to change the master parameter data then generate a new download file for the controller. Since these files are frequently not available this editor was created to allow more direct access to the download file.

Linux RPM: downloadeditor-2.0-1.x86_64.rpm
Windows: downloadeditor-2.0-1.x86_64.zip
Source: downloadeditor-2.0.src.zip
Doc: Download Editor Users Guide.pdf

Temperature Compensation

Temperature Compensation The Temperature Compensation utility was written to allow users to see the effect of temperature on measurement length when using a coordinate measuring machine. The length correction is based on the temperature of the CMM axis, the temperature of the part, and the expansion coefficients of the axis and part.

Using a coordinate measuring machine in a thermally poor environment can result in a significant measurement error. This utility will show the compensation amount based on the input conditions in order for a given measurement length to be correct at the standard reference temperature. CMM's that have active temperature compensation will have this correction done in the background without the operator even aware of it.

Linux RPM: tempcomp-1.0-1.x86_64.rpm
Windows: tempcomp-1.0-1.x86_64.zip
Android: tempcomp-1.0.apk
Source: tempcomp-1.0.src.zip
Doc: Temperature Compensation Users Guide.pdf


PCDMonitorThe PCDMonitor program allow capturing and displaying live measurement data from the running PC-DMIS program. The output shows the results of executed features and dimensions. The data can be broadcast and then displayed by the PCDMonitorRemote program if portability is desired.

Windows: pcdmonitor-2.1-1.x86_64.zip
Source: pcdmonitor-2.1.src.zip
Doc: PCDMonitor/PCDMonitorRemote Users Guide.pdf

Controller Parameters Viewer

Compensation Map ViewerThe Controller Parameters utility was written to allow easier viewing or editing of controller parameter files and to allow automated parameter validation using a custom set of rules. Parameter files are large and can easily have entries that are wrong or overlooked when initially created for a CMM. The automated parameter validation allows testing for a variety of configuration problems.

This program will not pull data from the CMM's controller. The parameter file must be accessible in order to use this utility.

Linux RPM: controllerparameters-1.0-1.x86_64.rpm
Windows: controllerparameters-1.0-1.x86_64.zip
Source: controllerparameters-1.0.src.zip
Doc: Controller Parameters User Guide.pdf


PCDMonitorRemoteThe PCDMonitorRemote program displays the broadcast data from the PCDMonitor program. When running on a portable device like a tablet the operator can watch the measurement of points on the machine and see numerical results without requiring a large monitor or walking back to the computer to review results.

Android: pcdmonitorremote-2.1.apk
Linux RPM: pcdmonitorremote-2.1-1.x86_64.rpm
Windows: pcdmonitorremote-2.1-1.x86_64.zip
Source: pcdmonitorremote-2.1.src.zip
Doc: PCDMonitor/PCDMonitorRemote Users Guide.pdf

Uncertainty Budget Editor

Uncertainty Budget EditorThe uncertainty budget editor is a utility for creating or editing data that describes measurement uncertainty. The uncertainty budget expressions can use various inputs such as temperature, expansion coefficients, and measurement range. The output is a presentable PDF or CSV file with an expression representing the best fit curve of the uncertainty data over the desired measurement range.

Linux RPM: ucbudgeteditor-6.0-1.x86_64.rpm
Windows: ucbudgeteditor-6.0.x86.zip
Source: ucbudgeteditor-6.0.src.zip
Doc: UCBudget Editor Users Guide.pdf

Interpolation Editor

Interpolation_Editor The Interpolation Editor utility allows users to edit sets of data that have unusual ranges or increments. This is commonly needed when dealing with compensation error map data that has a non-standard increment or starting position making it difficult to work with it directly. In many cases simple corrections such as a linear gradient is not possible due to the shape of the error. This editor allows any kind of data to be adjusted using reasonable measurement targets with little effort.

Linux RPM: interpolationeditor-1.0-1.x86_64.rpm
Windows: interpolationeditor-1.0.x86.zip
Source: interpolationeditor-1.0.src.zip
Doc: Interpolation Editor Users Guide.pdf

Folder Sync

Folder SyncThis small utility program is used to help with document tracking. When controlled documents are distributed it is necessary to keep records of the distributed copies. This utility will ensure a target location matches the reference location and also produce a text file listing all documents and document changes that were made to the target location.

Linux RPM: foldersync-1.3-1.x86_64.rpm
Windows: foldersync-1.3.x86.zip
Source: foldersync-1.3.src.zip
Doc: Folder Sync Users Guide.pdf

Laser Data Viewer

Laser Data ViewerThe Laser Data Viewer is a small utility that can read measurement files from API and Renishaw lasers and display the contents of those files. The data is sorted and organized allowing easy transfer to other software.

Linux RPM: laserdataviewer-1.1-1.x86_64.rpm
Windows: laserdataviewer-1.1.x86.zip
Source: laserdataviewer-1.1.src.zip
Doc: Laser Data Viewer Users Guide.pdf


ClassGeneratorThe ClassGenerator program is a small utility that will convert the Qt Designer UI forms into standard C++ source and header files. This was written to reduce the amount of time to convert the standard Qt source files into a format that follows the internal coding guidelines. All of the programs on this page have been written either by manually laying out the GUI elements or by manually converting the Qt Designer forms into C++ source and header files. The goal was to reduce the conversion time into this desired format which seemed to increase exponentially with the number of controls in the UI file. The sample UI form described in the user manual can be downloaded to evaluate this utility program.

Linux RPM: classgenerator-1.2-1.x86_64.rpm
Windows: classgenerator-1.2.x86.zip
Source: classgenerator-1.2.src.zip
Sample: sample_designer_file.ui.zip
Doc: ClassGenerator Users Guide.pdf

Encoder Simulator

Compensation Map ViewerThe Encoder Simulator utility was written to better understand the effects of encoder signal problems by allowing the user to generate various types of input signals and immediately see the effect from an interpolated output over the length of one full scale period. All CMM machines use some form of an encoder that converts a scale signal into a machine position so understanding the issues related to encoders seems paramount when trying to get the most accuracy from a coordinate measuring machine.

Linux RPM: encodersimulation-1.0-1.x86_64.rpm
Windows: encodersimulation-1.0.x86.zip
Source: encodersimulation-1.0.src.zip
Doc: Encoder Simulator Users Guide.pdf