A DMIS program is a measurement plan
DMIS (Dimensional Measuring Interface Standard) describes features, datums, alignments and tolerances in a vendor-neutral syntax; PC-DMIS, CAMIO and PAS all export it. Strip away the probe moves and what remains is exactly what an inspection of a scan needs: which features exist, how they are constructed, how the part coordinate system is built and which tolerances apply.
Translating a DMIS program to run on a scan therefore means keeping the plan and replacing the measuring act: instead of sampling a feature with the probe, the software locates the same feature on the mesh.
What has to be reconstructed
Three things are implicit in a CMM program and must be made explicit on a scan. First, the datum alignment: DATSET/TRANS/ROTATE statements build a coordinate system that must be re-created from the fitted datum features. Second, the measurement points: when the program only states a nominal feature, the software has to synthesize where on the scan to sample. Third, constructed features (intersections, projections, midpoints) must be rebuilt in the correct order, because later constructions depend on earlier results.
Ai-Inspect parses the PAS, CAMIO and PC-DMIS dialects, walks the dependency graph so that every referenced feature exists before it is used, and registers the program's coordinate frame to the CAD model before any feature is measured.
Frame registration — the step most often skipped
CMM programs are written in a frame that may be rotated or translated relative to the CAD model used for scanning. Running the program without resolving this mapping produces results that look plausible and are wrong. Ai-Inspect matches the measured anchors (circles and planes) against the CAD, scores the candidate frames and only accepts a registration with a clear margin; otherwise the program is flagged as frame-unverified and the operator is asked to confirm before it runs.
Where translation must refuse
Some things cannot be proven on a scan: a feature in an area with no scan coverage, a bore whose nominal size contradicts the geometry found, a construction whose inputs failed. In each case the correct output is a row marked not measured with an explicit reason — not a value carried over from the program's nominals. Ai-Inspect applies this rule throughout: unverified nominals, missing coverage above a threshold and frame mismatches all stop the affected characteristics and are listed in the run report.
- Missing scan coverage on a feature → characteristic marked N/A with the coverage figure
- Nominal size contradicts the found geometry → nominal unverified, position not reported
- Datum frame cannot be registered with margin → program paused for confirmation
Validation against real CMM results
The DMIS path in Ai-Inspect was verified end to end against result files from real CMM runs of the same parts: features, datums, constructed elements and reported characteristics were compared one by one. Differences within the scanner's accuracy are expected; differences in structure (a missing feature, a wrong datum order) are not, and those are what the verification checks.