Inspec logo Inspec Software Corp.
 Software Tools for Measurement Inspection

DMIS Part 1
 
DMIS Part 1 is a standard textual file protocol for passing an inspection sequence to dimensional measuring equipment (DME), typically a coordinate measurement machine (CMM); and for passing inspection results from the DME to a post-processing application. DMIS is widely used in manufacturing inspection to validate (measure and tolerance) fabricated or machined parts; and to ensure that they have been built to engineering specifications. As an ANSI and ISO standard, DMIS provides a neutral, intermediate format for inspection commands and data.

CMMs are used extensively in manufacturing, especially in the automotive, aerospace, and defense sectors. They are used to inspect machined and molded parts, such as engine blocks, pistons, cylinder heads, transmission housings and gears, sheet metal, brake cylinders, plastic moldings, headlights, and windows.

DMIS enables companies to save on costly development overhead by providing a common format for part inspection programs that works across different CMM brands. This also yields flexibility by enabling a manufacturer to use inspection equipment that is immediately available, rather than waiting for a specific machine to become free. This is why companies like Ford, Daimler-Chrysler, Volkswagon, and John Deere* have been strong supporters of DMIS standardization.


bullet2.gif (851 bytes) Overview
Part 1 Batch Mode DiagramDMIS is a strategic technology that enables a manufacturing organization to apply an inspection program across a range of inspection machines from different vendors. Depending on the machine, DMIS Part 1 may be used either as translation file format between a CAD system and the CMM's native proprietary inspection language, or as a native programming language for direct execution on the CMM.

DMIS Part 1, then, defines a structure for offline or batch mode processing of inspection operations. In other words, all of the operations that will be required to perform a part inspection are generated and sequenced into a file (or a group of related files), and that file is passed to the CMM. The CMM then reads this file, possibly translates it into its native language (if it does not execute DMIS directly), and executes the file in its entirety. During execution, the CMM writes inspection result output to another file. Once execution has completed, a reporting or analysis program can read this output file to process the inspection results.

The related DMIS Part 2 standard defines a format for online connection of inspection applications.

bullet2.gif (851 bytes) A Syntax Specification
DMIS Part 1 focuses on the specification of a common syntax that defines the features to be measured (holes, flat surfaces, slots, etc), the tolerances to be applied (flatness, runout, position, orientation, etc), and the measurement inspection sequence (moves, probed measurements, sensor orientation, etc). DMIS Part 1 contains support for various measurement technologies, including touch trigger, contact scanning, video, and laser scanning data probing. Part 1 also supports synchronized multiple carriage motion and measurement.

The syntax follows some basic, regular patterns:

MAJOR/MINOR,value,value,value,MINOR,value,value
-or-
X(label) = MAJOR/MINOR,value,value,value,MINOR,value,value

Labels are used as names for a broad range of elements, including features, tolerances, sensors, rotary tables, carriages, coordinate systems, devices, and more. Each such element has its own label type. Major words break down functionalities into various categories; while minor words specify a sub-category, or identify the format and meaning of parameters which follow. Expressions may be used anywhere that a value is expected.

For each major word, the Part 1 standard defines the syntax (allowable statement structure), that is, the parameters that may follow the major word. It also defines the semantics (meaning and effect of statements and parameters), that is, the acceptable range of values for the parameters and their meaning during execution.

For example, a circle feature would be described similar to the following:

F(label)=FEAT/CIRCLE,var_1,var_2,i,j,k,diam
where:
var_1  can be INNER or OUTER
var_2  can be CART,x,y,z or POL,r,a,h
label  is the label name for the feature, which can be 1-64 characters
INNER  indicates that the inside of a feature is being measured (ie. a hole)
OUTER  indicates that the outside of a feature is being measured (ie. a boss)
x,y,z  are the cartesian coordinates of the circle center, based on the coordinate system
r,a,h  are the polar (ie. cylindrical) coordinates of the circle center, based on the coordinate system
i,j,k  are the direction vectors for the normal of the plane in which the circle lies
diam   is the diameter of the circle

bullet2.gif (851 bytes) Document Overview
The DMIS 5.0 standard is a soft-cover, soft-bound document consisting of 679 pages. The document comprises the following sections:

1. Scope
2. Conformance
3. Normative References
4. Terms and Definitions
5. Language Reference
6. Statement Reference
Appendices
A. DMIS Example Code Segments
B. Descriptive Figures
C. Standard Characterization File
D. Characterization File Extensions
E. Scanning Reference
F. Tolerance Application
The two most important and extensive sections are Section 5 - Language Reference, and Section 6 Statement Reference. Appendix A - Example Code contains 38 DMIS code fragments showing usage of particular language constructs. Appendix B - Descriptive Figures contains 94 figures and diagrams illustrating specific detail for tolerancing, measurement, and feature construction.

bullet2.gif (851 bytes) Language Reference
Section 5 contains the Language Reference. This provides broad, general requirements for use of the DMIS language. It defines syntactic requirements, such as the allowable characters in a variable name or label, describes establishment of a part coordinate system, explains feature measurement point data access, discusses multiple carriage machines and sensor selection, and provides much more detail about the proper structure and content of a DMIS program.

5. Language reference
  5.1 Syntax and Structure
       DMIS command and definition statements
       Programming comments
       Operator input
       Data output
       Program structure
       File structure
       Programming considerations
  5.2 Execution and control
       Declaration statements
       Definition statements
       Program statement sequences
       High Level Language (HLL)
  5.3 Mathematics
       Operators
       Features
       Tolerances
       Datums
       Coordinate systems
       Measurement uncertainty
  5.4 Equipment control
       Machine parameters
       Rotary tables
       Sensors and sensor-related
       Carriages
       Motion control
       Measurement control
  5.5 Characterization file
bullet2.gif (851 bytes) Statement Reference
Section 6, Statement Reference, contains detailed syntactic and semantic descriptions for each of the major words (i.e. statement types).

DMIS 4.0 major words include the following:

ACLRATVA()=ALGDEFvarname=ASSIGN
BADTSTBOUNDCALIB
CALLCASECI()=CLMPID
CS()=CLMPSNCLOSESG()=CMPNTGRP
CONSTCR()=CRGDEFCRMODE
CROSCLCRSLCTCC()=CUTCOM
CZ()=CZONECZSLCTDATDEF
D()/DA()=DATSETDECLDECPL
DELETEDID()=DEVICEDFTCAS
DISPLYDMEHWDI()=DMEID
DMESWDS()=DMESWIDV()=DMESWV
DMISDMISMDDMISMN
DOELSEENDAT
ENDCASENDDOENDFIL
ENDGOENDIFENDMAC
ENDMESENDSELENDXTN
EQUATEERROREVAL
SX()=EXTENSEXTFILF()/FA()=FEAT
FEDRATVF()=FILDEFFILNAM
FINPOSFI()=FIXTIDFS()=FIXTSN
FLYFROMGECOMP
GEOALGG()=GEOMGOHOME
GOTARGGOTOGSA()=GROUP
IFINCLUDITERAT
JUMPTOVL()=LITDEFD()/DA()=LOCATE
LI()=LOTIDM()=MACROMA()=MATDEF
MEASMD()=MFGDEVMODE
varname=OBTAINOPENOP()=OPERID
OUTPUTPN()=PARTIDPR()=PARTRV
PS()=PARTSNPL()=PLANIDPOP
PRCOMPPV()=PREVOPPC()=PROCID
varname=PROMPTPSTHRUPTBUFF
PTMEASPUSHQ()=QISDEF
RAPIDREADRECALL
RM()=REFMNTR()=REPORTRESUME
RMEASROTABD()/DA()=ROTATE
RT()=ROTDEFROTSETSAVE
SCANSCNMODSCNPLN
SCNSETSELECTSS()=SENSOR
S()/SA()=SNSDEFSNSETSGS()=SNSGRP
SNSLCTSNSMNTTECOMP
TEXTTH()=THLDEFT()/TA()=TOL
TL()=TOOLDFD()/DA()=TRANSUNITS
varname=VALUEV()=VFORMVW()=WINDEF
WKPLANSW()=WRISTWRITE
XTERNXTRACT 

bullet2.gif (851 bytes) Minor Words
Several of the major words, most notably CONST, FEAT, SENS, and TOL, each contain numerous pages enumerating the supported minor words (statement variations) for each statement type.

For instance, the FEAT major word section of DMIS 4.0 describes the following feature types:

ARCGEOMPLANE
CIRCLEGCURVEPOINT
CONEGSURFRCTNGL
CPARLNLINESPHERE
CYLNDROBJECTTORUS
EDGEPTPARPLN 
ELLIPSPATERN 

bullet2.gif (851 bytes) Sample Pages
Adobe Acrobat Reader Several sample pages from Section 5 and Section 6 of the DMIS 5.0 ANSI standards document may be viewed using the free Adobe Acrobat Reader. (Used by permission.)

bullet2.gif (851 bytes) Related Information
See also the DMIS Part 2 standard.

Browse DMIS FAQs.
Order the DMIS standards documents online.

 
 
http://www.dmis.com Copyright © 1997-2005 by Inspec Software Corp. All rights reserved worldwide.
  DMIS Object Technology, DOT, and the DOT logo are trademarks of Inspec Software Corp.
ANSI is a trademark of the American National Standards Institute.
Adobe and Acrobat are trademarks of Adobe Systems Incorporated.
*Ford, Daimler-Chrysler, Volkswagen, and John Deere are trademarks of their respective companies. Use of their names here is not an endorsement of any statement or product on this website.