πŸ“ CMM Integration Guide

Creating an MCOSMOS Machine File
for QA-Report

Step-by-step guide to configuring MCOSMOS software to generate output files compatible with QA-Report: serial numbers, part information, dimensions, GD&T tolerances, and manual measurements.

MCOSMOS / Mitutoyo GEOPAK-3
6 steps
Compatible with QA-Report
πŸ“ Step 1 β€” File Format and Output Settings Setup β–Ύ

Before collecting measurements, you need to configure the output file location, its format, and the type of data being transmitted. This tells MCOSMOS where to write the machine file that QA-Report will read.

Opening the File Format Specification

In the MCOSMOS menu bar, select Output β†’ File Format Specification…

Output menu β€” selecting
Output menu β€” selecting "File Format Specification…"

Configuring Dialog Parameters

In the File Format Specification dialog, set the following parameters:

  • Output file β€” specify the full file path, for example C:\REPORT\@PARTNAME.TXT. The @PARTNAME variable automatically substitutes the part name.
  • File format β€” select Mitutoyo GEOPAK-3 for QA-Report compatibility.
  • Output β€” check the All tolerance comparisons box to export all measurement results.
File Format Specification dialog β€” file path, Mitutoyo GEOPAK-3 format,
File Format Specification dialog β€” file path, Mitutoyo GEOPAK-3 format, "All tolerances" checkbox
Tip: Using the @PARTNAME variable in the file path creates a separate output file for each part program, preventing one program's results from overwriting another's.
# Step 2 β€” Adding a Part Serial Number Required β–Ύ

QA-Report requires a serial number to distinguish measured parts. Without it, results from multiple parts cannot be separated in the generated report.

Inserting an Input Variable

In the MCOSMOS program editor, select Calculate β†’ Input string variable…

Calculate menu β€” selecting
Calculate menu β€” selecting "Input string variable…"

Configuring the Input Dialog

Fill in the Input string variable dialog:

  • Text for dialog β€” the prompt shown to the operator, for example SERIAL NO: ?
  • Name of string variable β€” use N (this variable stores the operator's answer)
  • input length β€” set to 20 (maximum number of characters)
Input string variable dialog β€” text SERIAL NO:?, variable N, max length 20
Input string variable dialog β€” text SERIAL NO:?, variable N, max length 20

What the operator sees during program execution

When the CMM program runs, the operator sees a dialog requesting the serial number. The operator enters a value (e.g., 7) and clicks OK:

Runtime input dialog β€” operator enters the serial number (e.g., 7)
Runtime input dialog β€” operator enters the serial number (e.g., 7)

Writing the serial number to the report

To output the entered value to the QA-Report file, add an Output text step immediately after. Set the following text:

SERIAL NO:@[N]

The @[N] token is replaced at runtime with the value stored in variable N. The report will show:

SERIAL NO:7
Output text dialog β€” text SERIAL NO:@[N], preview: SERIAL NO:7
Output text dialog β€” text SERIAL NO:@[N], preview: SERIAL NO:7
πŸ“ Step 3 β€” Adding Fixed Part Information Optional β–Ύ

In addition to the serial number, you can write any fixed text to the report header using the Output text function. The most commonly used are: drawing number, part name, and customer name.

Opening the "Output text" function

Select Output β†’ Output text… in the menu bar:

Output menu β€” selecting
Output menu β€” selecting "Output text…"

Creating a separate "Output text" step for each field

Add a separate Output text step for each header element. Enter the label and value directly as a static string:

DRW NO:123456 β€” drawing number
DRW NO:123456 β€” drawing number
PART NAME:TEST β€” part name
PART NAME:TEST β€” part name
CUSTOMER:DEMO β€” customer name
CUSTOMER:DEMO β€” customer name

Resulting program sequence

The program should contain the steps listed below at the very beginning β€” before the measurement commands:

Program sequence: steps 00001–00005 β€” input string variable (serial number) and four Output text steps (serial number, drawing number, part name, customer)
Program sequence: steps 00001–00005 β€” input variable (serial number) and four "Output text" steps (serial number, drawing number, part name, customer)
Tip: Place all header "Output text" steps at the very beginning of the program so they appear at the top of each report.
πŸ“ Step 4 β€” Creating Dimensions (DIM Syntax) Core β–Ύ

Each measurement in QA-Report is grouped under a DIM label. Labels are set using Output text steps placed immediately before the corresponding measurement commands in the MCOSMOS program.

Basic syntax

-- Single measurement -- DIM 1 β†’ report line: 1 -- Multiple measurements within one dimension -- DIM 2 β†’ report lines: 2.1, 2.2, 2.3 ...
LabelGenerated report linesNote
DIM 11One measurement follows
DIM 22.1, 2.2, 2.3…Multiple measurements follow; numbered automatically by QA-Report
DIM 55Order in the program doesn't matter β€” QA-Report sorts by DIM number
Note: The sequence of DIM labels in the MCOSMOS program does not affect the row order in the report. QA-Report automatically sorts all dimensions by their number.

Example

Each DIM label must be set via an Output text step:

Output text dialog β€”
Output text dialog β€” "DIM 1" entered in the text field, preview shows DIM 1

The program sequence contains DIM 1 (one measurement β€” circle diameter), followed by DIM 2 (two circle measurements):

Program sequence β€” step 00016: Output text DIM 1, step 00017: Diameter CIRCLE (3), step 00018: Output text DIM 2, steps 00019–00020: two CIRCLE diameter measurements
DIM 1 has 1 measurement, diameter of CIRCLE (3) DIM 2 has two diameter measurements of CIRCLE(1) and CIRCLE(2)

Resulting report lines

Based on the sequence above, QA-Report generates the following lines:

QA-Report output β€” line 1 (Ø 8, actual 8.052), lines 2.1 and 2.2 (Ø 8 Β±0.1, actual 8.000 and 8.030)
QA-Report output β€” line 1 (Ø 8 Β±0.1, result 8.052), lines 2.1 and 2.2 (Ø 8 Β±0.1, results 8.000 and 8.030)
βŠ• Step 5 β€” GD&T Tolerance Symbols and Bracket Syntax Advanced β–Ύ

QA-Report automatically recognizes all standard GD&T tolerance symbols β€” perpendicularity, position tolerance, flatness, concentricity, and others β€” and displays them correctly in the report. Additional information (datums, zones, measuring instrument) is added using bracket syntax appended to the DIM label.

Tolerance symbols

The CMM element type determines the symbol displayed in the report. For position tolerance and concentricity, the diameter symbol Ø is added automatically where applicable.

Modifier D β€” adding the diameter symbol

Add D to the DIM label to explicitly indicate the diameter symbol before the tolerance value. This is needed, for example, for perpendicularity with a cylindrical tolerance zone:

DIM 3D β†’ βŠ₯ with Ø prefix before the tolerance value
Program sequence β€” DIM 3D: perpendicularity of CYL_ relative to PLANE
Program sequence β€” DIM 3D: perpendicularity of CYL_ relative to PLANE
Report line 3 β€” βŠ₯ symbol, tolerance Ø 0.1, actual 0.056 (no datums)
Report line 3 β€” symbol βŠ₯, tolerance Ø 0.1, result 0.056 (no datums)

Parentheses β€” Datums

Information in parentheses is interpreted as datum references with an optional bonus tolerance modifier. The m suffix inside the datum designation indicates the MMC (Maximum Material Condition) modifier:

DIM 3D(Am|B|Cm) β†’ Datums: A B C (m = MMC)
Program sequence β€” DIM 3D(Am|B|Cm): same perpendicularity with datum references
Program sequence β€” DIM 3D(Am|B|Cm): same perpendicularity with datum references
Report line 3 β€” the datums column now shows Aβ—‹ | B | Cβ—‹
Report line 3 β€” the datums column now shows Am | B | Cm

Square brackets β€” Zone and Instrument

Information in square brackets is distributed across two report columns:

  • First square brackets β†’ Zone column (dimension location on the drawing, e.g., A3)
  • Second square brackets β†’ Instrument column (e.g., measuring device: CALIPER, CMM)
DIM 4,[A3],[CALIPER] β†’ Zone: A3 Instrument: CALIPER
Program sequence β€” DIM 4,[A3],[CALIPER]: diameter of CYL_ (nominal 8.000, tol. Β±0.2)
Program sequence β€” DIM 4,[A3],[CALIPER]: diameter of CYL_ (nominal 8.000, tol. Β±0.2)
Report line 4 β€” Zone: A3, tolerance Ø 8 Β±0.2, actual 8.052, Instrument: CALIPER
Report line 4 β€” Zone: A3, tolerance Ø 8 Β±0.2, result 8.052, Instrument: CALIPER

Syntax summary table

Syntax elementLocationEffect in report
DAfter the DIM numberAdds Ø before the tolerance value
(Am|B|Cm)After the D modifierDatum references; m = MMC
[A3]First square bracketsZone column
[CALIPER]Second square bracketsInstrument column
βœ‹ Step 6 β€” Adding Manual Measurements Optional β–Ύ

Some characteristics cannot be measured directly on the CMM β€” thread gauges, calipers, manual measuring instruments. MCOSMOS supports two syntax variants for recording manual results in the program, each providing different behavior in the report.

Text result (thread gauge / Go–No Go)

Use three sets of square brackets: [nominal],[tolerance],[result]. If all three are present and the result bracket contains a text value, QA-Report treats the entry as a text field β€” the operator can enter any acceptable value: Accept, Reject, OK, or a word accepted by internal standards.

DIM 6,[],[THREAD GAGE] ← in the next line, for example: [4-40UNC],[2B],[] ← nominal, tolerance, empty result for later filling
Program sequence β€” DIM 6 with thread gauge instrument; second Output text line specifies the thread specification: [4-40UNC],[2B],[]
Program sequence β€” DIM 6 with "thread gauge" instrument; second "Output text" line sets the thread specification: [4-40UNC],[2B],[]

Numeric result (caliper / linear dimension)

Use numeric values in the tolerance brackets: [nominal],[+tol,-tol],[result]. QA-Report treats this as a linear dimension β€” the entered result is checked against tolerance limits, and the line is automatically marked as "pass" or "fail".

DIM 7,[],[CALIPER] ← next line [12],[0.2,-0.2],[] ← nominal 12, tol. +0.2/βˆ’0.2, empty result
Program sequence β€” DIM 7 with
Program sequence β€” DIM 7 with "caliper" instrument; second line: nominal 12, tolerance +0.2/βˆ’0.2, empty result bracket

Resulting report lines

QA-Report output β€” line 6: thread 4-40UNC class 2B, result Accept (THREAD GAGE); line 7: linear 12 Β±0.2, actual 11.78 (CALIPER, out-of-tolerance highlighted)
QA-Report output β€” line 6: thread 4-40UNC class 2B, result Accept (THREAD GAGE); line 7: linear 12 Β±0.2, actual 11.78 (CALIPER, out-of-tolerance highlighted)
Bracket contentReport typeResult entry
[text],[text],[]Text fieldAny string: Accept, Reject, OK…
[12],[0.2,-0.2],[]Linear dimensionNumeric; checked against tolerance
Important: Leave the result bracket [] empty in the MCOSMOS program. The operator fills it in during measurement through the QA-Report interface.
⚑ Quick Reference β€” Complete Syntax Table Reference β–Ύ
SyntaxMeaningExample output in report
DIM XSingle measurement, line 1Line: 1
DIM XMultiple measurements, numbered automaticallyLines: X.1, X.2, X.3…
DIM XDAdds Ø prefix to toleranceβŠ₯ Ø 0,1
DIM XD(Am|B|Cm)Datums with MMC modifier (m→mmc)Am | B | Cm
DIM 4,[A3],[CALIPER]Zone A3, instrument CALIPERZone: A3 / Instrument: CALIPER
SERIAL NO:@[N]Output variable value to reportSERIAL NO:N
[4-40UNC],[2B],[]Text manual resultAccept / Reject / OK
[12],[0.2,-0.2],[]Numeric manual result with tolerance11.78 (tolerance check)

Typical program structure

-- Header block (executed once per part) -- Input string variable SERIAL NO: ? β†’ N Output text SERIAL NO:@[N] Output text DRW NO:123456 Output text PART NAME:TEST Output text CUSTOMER:DEMO -- Dimensions block (repeated for each DIM) -- Output text DIM 1 ... CMM measurement commands ... Output text DIM 2,[A3],[CMM] ... CMM measurement commands ... Output text DIM 3D(Am|B|Cm) ... GD&T measurement commands ...