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 GNU/Linux, Android, or Windows 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.

Note: Starting Jan 2021 binaries for macOS are no longer provided.

Note: Utilities released after July 2022 for GNU/Linux will have both RPM and Debian versions.

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

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-3.0-1.x86_64.rpm
Linux DEB: virtualcmm_3.0-2_amd64.deb
Windows: virtualcmm-3.0-1.x86_64.zip
Source: virtualcmm-3.0.src.zip
Doc: VirtualCMM Users Guide.pdf

Measure Direct

Measure DirectThe 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, and ball bar.

Linux RPM: measuredirect-3.4-1.x86_64.rpm
Linux DEB: measuredirect_3.4-2_amd64.deb
Windows: measuredirect-3.4-1.x86_64.zip
Source: measuredirect-3.4.src.zip
Doc: MeasureDirect 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

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-8.0-1.x86_64.rpm
Windows: compview-8.0-1.x86_64.zip
Doc: CompView 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

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.4-1.x86_64.rpm
Windows: squarenesscalculator-1.4-1.x86_64.zip
Sample Data: sq_sample_data.zip
Doc: Squareness Calculator 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

CMM Error Simulator

CMM Error SimulatorThe CMM Error Simulator utility was written to provide simulated CMM measurement results 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.

Linux RPM: errorsimulator-2.2-1.x86_64.rpm
Windows: errorsimulator-2.2-1.x86_64.zip
Source: errorsimulator-2.2.src.zip
Doc: CMM Error Simulator Users Guide.pdf

Machine Checking Gauge

Machine Checking GaugeThe Machine Checking Gauge program is a utility for analyzing and reporting measurement data from a Renishaw Machine Checking Gauge.   The goal of this program was to separate the complex parts of analysis and reporting from the inspection part program.  This utility can generate a measurement path which can further simplify the inspection program by reducing it to a simple loop.  A part program for PC-DMIS is currently available with other software supported in the near future.

Linux RPM: mcg-3.0-1.x86_64.rpm
Windows: mcg-3.0-1.x86_64.zip
Source: mcg-3.0.src.zip
Part Program: MCG - 3.0 - PC-DMIS 3.7.PRG.zip
Doc: Machine Checking Gauge 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