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.  All utility programs are compiled for GNU/Linux, MacOS, or Windows where practical and available as source code.

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.

MacOS Code Signing and Notarization Note: None of these utilities are code signed and notarized as required by MacOS 10.15 (Catalina) or higher and will likely not run on those operating systems as a result. SCI does not develop commercial software and has no plans to purchase the necessary credentials needed to sign and notarize software for MacOS.

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: reportroadmap-3.0-1.x86_64.rpm
MacOS: reportroadmap-3.0-1.x86_64.dmg
Windows: reportroadmap-3.0-1.x86_64.zip
Source: reportroadmap-3.0.src.zip
Doc: Report Roadmap 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: squarenesscalculator-1.2-1.x86_64.rpm
MacOS: squarenesscalculator-1.2-1.x86_64.dmg
Windows: squarenesscalculator-1.2-1.x86_64.zip
Sample Data: sq_sample_data.zip
Doc: Squareness Calculator 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's.  The data is presented as a text table of values and select parameters can be displayed graphically if needed.  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's controller.  The compensation map must exist as a file (or a folder containing individual compensation parameters) to be able to use this utility.

Linux: compview-6.1-1.x86_64.rpm
MacOS: compview-6.1-1.x86_64.dmg
Windows: compview-6.1-1.x86_64.zip
Doc: CompView 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: errormapexplorer-3.1-1.x86_64.rpm
MacOS: errormapexplorer-3.1-1.x86_64.dmg
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: downloadeditor-2.0-1.x86_64.rpm
MacOS: downloadeditor-2.0-1.x86_64.dmg
Windows: downloadeditor-2.0-1.x86_64.zip
Source: downloadeditor-2.0.src.zip
Doc: Download Editor 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-1.2.apk
Source: vibrationmeter-1.2.src.zip
Doc: Vibration Meter 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: tempcomp-1.0-1.x86_64.rpm
MacOS: tempcomp-1.0-1.x86_64.dmg
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: controllerparameters-1.0-1.x86_64.rpm
MacOS: controllerparameters-1.0-1.x86_64.dmg
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: pcdmonitorremote-2.1-1.x86_64.rpm
MacOS: pcdmonitorremote-2.1-1.x86_64.dmg
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: errorsimulator-2.2-1.x86_64.rpm
MacOS: errorsimulator-2.2-1.x86_64.dmg
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: mcg-3.0-1.x86_64.rpm
MacOS: mcg-3.0-1.x86_64.dmg
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

Dostmann Calibrator

Dostmann CalibratorThe Dostmann Calibrator is used to create the temperature sensor calibration codes for certain models of thermometers that have this feature.  The utilities provided by the manufacturer produce codes based on only two calibration points where this one calculates the codes based on any number of input samples.  Using the hexadecimal calibration codes is the preferred calibration method for these thermometers as the proper code can easily be checked during use (they are automatically displayed when the meter is turned on).

Linux: dostmann-1.2-1.x86_64.rpm
MacOS: dostmann-1.2-1.x86_64.dmg
Windows: dostmann-1.2-1.x86_64.zip
Source: dostmann-1.2.src.zip
Doc: Dostmann Calibrator 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: ucbudgeteditor-6.0-1.x86_64.rpm
MacOS: ucbudgeteditor-6.0-1.x86_64.dmg
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: interpolationeditor-1.0-1.x86_64.rpm
MacOS: interpolationeditor-1.0-1.x86_64.dmg
Windows: interpolationeditor-1.0.x86.zip
Source: interpolationeditor-1.0.src.zip
Doc: Interpolation Editor Users Guide.pdf

Flip Feature Vector

Flip Feature VectorThis utility will allow the operator to easily reverse the vector of one or more PC-DMIS features.  Flipping one or two feature IJK vectors can easily be done from within the inspection software but when many features require this kind of change the amount of time increases exponentially.  This small utility is intended to make this process a little easier.

Windows: flipfeaturevector-1.0.x86.zip
Source: flipfeaturevector-1.0.src.zip
Doc: Flip Feature Vector 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: foldersync-1.3-1.x86_64.rpm
MacOS: foldersync-1.3-1.x86_64.dmg
Windows: foldersync-1.3.x86.zip
Source: foldersync-1.3.src.zip
Doc: Folder Sync Users Guide.pdf

Ballbar Data Viewer

Ballbar data viewerThe Ballbar Data Viewer is a small utility that can read measurement files from suitable ballbar programs and display the contents of these files visually and a text analysis of the results.  This utility is ideal when performing interim checks of a CMM.

Linux: ballbarviewer-2.0-1.x86_64.rpm
MacOS: ballbarviewer-2.0-1.x86_64.dmg
Windows: ballbarviewer-2.0.x86.zip
Source: ballbarviewer-2.0.src.zip
Part Program: B89.4.1-Ballbar-V8.2-PCD37.PRG.zip
Doc: Ballbar Viewer 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: laserdataviewer-1.1-1.x86_64.rpm
MacOS: laserdataviewer-1.1-1.x86_64.dmg
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: classgenerator-1.2-1.x86_64.rpm
MacOS: classgenerator-1.2-1.x84_64.dmg
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: encodersimulation-1.0-1.x86_64.rpm
MacOS: encodersimulation-1.0-1.x86_64.dmg
Windows: encodersimulation-1.0.x86.zip
Source: encodersimulation-1.0.src.zip
Doc: Encoder Simulator Users Guide.pdf


BitangentIntended for blade measurements this command line utility constructs a series of diameters between two input data-sets to find the mean camber line.  In addition the output contains the extrapolated mean camber line, intersection thickness, and maximum diameter.  Included is an example script that can be used to interface with PC-DMIS so that the output data can be written back into a part program.

Windows: bitangent-1.5.7.x86.zip
Source: bitangent-1.5.7.src.zip
Doc: Bitangent Users Guide.pdf

Feedback Control Simulator

Feedback ControlThis utility simulates a control system where measurement results from an inspection device like a CMM is used to automatically apply corrections to a machine tool.  It was written to better understand how a closed loop system like this would function.

Linux: feedbacksimulator-1.0-1.x86_64.rpm
MacOS: feedbacksimulator-1.0-1.x86_64.dmg
Windows: feedbacksimulator-1.0.x86.zip
Source: feedbacksimulator-1.0.src.zip
Doc: Feedback Simulator Users Guide.pdf


PCDOutThis utility reads the statistical output data from PC-DMIS™ and presents the information in a spreadsheet.  The input data can be collected directly from the active part program if the statistics output is not available.  The collected data can be forwarded to a supported SQL database if required.

Linux: pcdout-1.5-1.x86_64.rpm
MacOS: pcdout-1.5-1.x86_64.dmg
Windows: pcdout-1.5.x86.zip
Source: pcdout-1.5.src.zip
Doc: PCDOut Users Guide.pdf


ProjectionThis command line utility can project input data onto a plane tangent to the surface normal of the data point vectors.  This is used in cases where the output data needs to be flattened to a specific plane but extrapolated at the same time (classic projection would simply move the points to the plane normal to the plane vector).

Windows: projection-1.0.x86.zip
Source: projection-1.0.src.zip
Doc: Projection Users Guide.pdf