# ISO 10303

ISO 10303 is an ISO standard for the computer-interpretable representation and exchange of product manufacturing information. It is an ASCII-based format.$^{:59}$ Its official title is: Automation systems and integration — Product data representation and exchange. It is known informally as "STEP", which stands for "Standard for the Exchange of Product model data". ISO 10303 can represent 3D objects in Computer-aided design (CAD) and related information.

## Overview

The objective of the international standard is to provide a mechanism that is capable of describing product data throughout the life cycle of a product, independent from any particular system. The nature of this description makes it suitable not only for neutral file exchange, but also as a basis for implementing and sharing product databases and archiving.
STEP can be typically used to exchange data between CAD, computer-aided manufacturing, computer-aided engineering, product data management/enterprise data modeling and other CAx systems. STEP addresses product data from mechanical and electrical design, geometric dimensioning and tolerancing, analysis and manufacturing, as well as additional information specific to various industries such as automotive, aerospace, building construction, ship, oil and gas, process plants and others.
STEP is developed and maintained by the ISO technical committee TC 184, Automation systems and integration, sub-committee SC 4, Industrial data. Like other ISO and IEC standards STEP is copyright by ISO and is not freely available. However, the 10303 EXPRESS schemas are freely available, as are the recommended practices for implementers.
Other standards developed and maintained by ISO TC 184/SC 4 are:
* ISO 13584 PLIB - Parts Library
* ISO 15531 MANDATE - Industrial manufacturing management data
* ISO 15926 Process Plants including Oil and Gas facilities Life-Cycle data
* ISO 18629 PSL- Process specification language
* ISO 18876 IIDEAS - Integration of industrial data for exchange, access, and sharing
* ISO 22745 Open technical dictionaries and their application to master data
* ISO 8000 Data quality
STEP is closely related with PLIB (ISO 13584, IEC 61360).

## History

The basis for STEP was the Product Data Exchange Specification (PDES), which was initiated during the mid-1980's and was submitted to ISO in 1988. The Product Data Exchange Specification (PDES) was a data definition effort intended to improve interoperability between manufacturing companies, and thereby improve productivity.
The evolution of STEP can be divided into four release phases. The development of STEP started in 1984 as a successor of IGES, SET and VDA-FS. The initial plan was that "STEP shall be based on one single, complete, implementation-independent Product Information Model, which shall be the Master Record of the integrated topical and application information models". But because of the complexity, the standard had to be broken up into smaller parts that can be developed, balloted and approved separately. In 1994/95 ISO published the initial release of STEP as international standards (IS) with the parts 1, 11, 21, 31, 41, 42, 43, 44, 46, 101, AP 201 and AP 203. Today AP 203 Configuration controlled 3D design is still one of the most important parts of STEP and supported by many CAD systems for import and export.
In the second phase the capabilities of STEP were widely extended, primarily for the design of products in the aerospace, automotive, electrical, electronic, and other industries. This phase ended in the year 2002 with the second major release, including the STEP parts AP 202, AP 209, AP 210, AP 212, AP 214, AP 224, AP 225, AP 227, AP 232. Basic harmonization between the APs especially in the geometric areas was achieved by introducing the Application Interpreted Constructs (AIC, 500 series).
A major problem with the monolithic APs of the first and second releases is that they are too big, have too much overlap with each other, and are not sufficiently harmonized. These deficits led to the development of the STEP modular architecture (400 and 1000 series). This activity was primarily driven by new APs covering additional life-cycle phases such as early requirement analysis (AP 233) and maintenance and repair (AP 239), and also new industrial areas (AP 221, AP 236). New editions of the previous monolithic APs on a modular basis have been developed (AP 203, AP 209, AP 210). The publication of these new editions coincided with the release in 2010 of the new ISO product SMRL, the STEP Module and Resource Library, that contains all STEP resource parts and application modules on a single CD. The SMRL will be revised frequently and is available at a much lower cost than purchasing all the parts separately.
In December 2014, ISO published the first edition of a new major Application Protocol, AP 242 Managed model based 3d engineering, that combined and replaced the following previous APs in an upward compatible way:
* AP 201, Explicit draughting. Simple 2D drawing geometry related to a product. No association, no assembly hierarchy.
* AP 202, Associative draughting. 2D/3D drawing with association, but no product structure.
* AP 203, Configuration controlled 3D designs of mechanical parts and assemblies.
* AP 204, Mechanical design using boundary representation
* AP 214, Core data for automotive mechanical design processes
* AP 242, Managed model based 3D engineering
AP 242 was created by merging the following two Application protocols:
* AP 203, Configuration controlled 3D designs of mechanical parts and assemblies (as used by the Aerospace Industry).
* AP 214, Core data for automotive mechanical design processes (used by the Automotive Industry).
In addition AP 242 edition 1 contains extensions and significant updates for:
* Geometric dimensioning and tolerancing
* Kinematics
* Tessellation
Two APs had been modified to be directly based on AP 242, and thus became supersets of it:
* AP 209, Composite and metallic structural analysis and related design
* AP 210, Electronic assembly, interconnect and packaging design. This is the most complex and sophisticated STEP AP.
AP242 edition 2, published in April 2020, extends edition 1 domain by the description of Electrical Wire Harnesses and introduces an extension of STEP modelisation and implementation methods based on SysML and system engineering with an optimized XML implementation method.
This new edition contains also enhancements on 3D Dimensioning and Tolerancing, and Composite Design. New functionalities are also introduced like:
* curved triangles
* textures
* levels of detail (LODs)
* color on vertex
* 3D scanner data support
* persistent IDs on geometry
* additive manufacturing

## Structure

STEP is divided into many parts, grouped into
* Environment
** Parts 1x: Description methods: EXPRESS, EXPRESS-X
** Parts 2x: Implementation methods: STEP-File, STEP-XML, SDAI
** Parts 3x: Conformance testing methodology and framework
* Integrated data models
** The Integrated Resources (IR), consisting of
*** Parts 4x and 5x: Integrated generic resources
*** Parts 1xx: Integrated application resources
*** PLIB ISO 13584-20 Parts library: Logical model of expressions
** Parts 5xx: Application Interpreted Constructs (AIC)
** Parts 1xxx: Application Modules (AM)
* Top parts
** Parts 2xx: Application Protocols (AP)
** Parts 3xx: Abstract Test Suites (ATS) for APs
** Parts 4xx: Implementation modules for APs
In total STEP consists of several hundred parts and every year new parts are added or new revisions of older parts are released. This makes STEP the biggest standard within ISO. Each part has its own scope and introduction.
The APs are the top parts. They cover a particular application and industry domain and hence are most relevant for users of STEP. Every AP defines one or several Conformance Classes, suitable for a particular kind of product or data exchange scenario. To provide a better understanding of the scope, information requirements and usage scenarios an informative application activity model (AAM) is added to every AP, using IDEF0.
STEP is primarily defining data models using the EXPRESS modeling language. Application data according to a given data model can be exchanged either by a STEP-File, STEP-XML or via shared database access using SDAI.
Every AP defines a top data models to be used for data exchange, called the Application Interpreted Model (AIM) or in the case of a modular AP called Module Interpreted Models (MIM). These interpreted models are constructed by choosing generic objects defined in lower level data models (4x, 5x, 1xx, 5xx) and adding specializations needed for the particular application domain of the AP. The common generic data models are the basis for interoperability between APs for different kinds of industries and life cycle stages.
In APs with several Conformance Classes the top data model is divided into subsets, one for each Conformance Class. The requirements of a conformant STEP application are:
* implementation of either a preprocessor or a postprocessor or both,
* using one of the STEP implementation methods STEP-File, STEP-XML or SDAI for the AIM/MIM data model and
* supporting one or several conformance classes of an AP.
Originally every APs was required to have a companion Abstract test suite (ATS) (e.g. ATS 303 for AP 203), providing Test Purposes, Verdict Criteria and Abstract Test Cases together with example STEP-Files. But because the development of an ATS was very expensive and inefficient this requirement was dropped and replaced by the requirements to have an informal validation report and recommended practices how to use it. Today the recommended practices are a primary source for those going to implement STEP.
The Application Reference Models (ARM) is the mediator between the AAM and the AIM/MIM. Originally its purpose was only to document high level application objects and the basic relations between them. IDEF1X diagrams documented the AP of early APs in an informal way. The ARM objects, their attributes and relations are mapped to the AIM so that it is possible to implement an AP. As APs got more and more complex formal methods were needed to document the ARM and so EXPRESS which was originally only developed for the AIM was also used for the ARM. Over time these ARM models got very detailed till to the point that some implementations preferred to use the ARM instead of the formally required AIM/MIM. Today a few APs have ARM based exchange formats standardized outside of ISO TC184/SC4:
* PLM-Services within the OMG for AP 214
* ISO 14649 Data model for computerized numerical controllers for AP 238
* PLCS-DEXs within OASIS (organization) for AP 239
There is a bigger overlap between APs because they often need to refer to the same kind of products, product structures, geometry and more. And because APs are developed by different groups of people it was always an issue to ensure interoperability between APs on a higher level. The Application Interpreted Constructs (AIC) solved this problem for common specializations of generic concepts, primarily in the geometric area. To address the problem of harmonizing the ARM models and their mapping to the AIM the STEP modules were introduced. They contain a piece of the ARM, the mapping and a piece of the AIM, called MIM. Modules are built on each other, resulting in an (almost) directed graph with the AP and conformance class modules at the very top. The modular APs are:
* AP 209, Composite and metallic structural analysis and related design
* AP 210, Electronic assembly, interconnect and packaging design
* AP 221, Functional data and schematic representation of process plants
* AP 236, Furniture product data and project data
* AP 239, Product life cycle support
* AP 242, Managed model based 3d engineering
The modular editions of AP 209 and 210 are explicit extensions of AP 242.

## Coverage of STEP Application Protocols (AP)

The STEP APs can be roughly grouped into the three main areas design, manufacturing and life cycle support.
Design APs:
* Mechanical:
** AP 207, Sheet metal die planning and design
** AP 209, Composite and metallic structural analysis and related design
** AP 235, Materials information for the design and verification of products
** AP 236, Furniture product data and project data
** AP 242, Managed model based 3d engineering
* Connectivity oriented electric, electronic and piping/ventilation:
** AP 210, Electronic assembly, interconnect and packaging design. The most complex and sophisticated STEP AP.
** AP 212, Electrotechnical design and installation.
** AP 227, Plant spatial configuration
* Ship:
** AP 215, Ship arrangement
** AP 216, Ship moulded forms
** AP 218, Ship structures
* Others:
** AP 225, Building elements using explicit shape representation
** AP 232, Technical data packaging core information and exchange
** AP 233, Systems engineering data representation
** AP 237, Fluid dynamics has been cancelled and the functionality included in AP 209
Manufacturing APs:
* AP 219, Dimensional inspection information exchange
* AP 223, Exchange of design and manufacturing product information for cast parts
* AP 224, Mechanical product definition for process plans using machining features
* AP 238 - Application interpreted model for computer numeric controllers
* AP 240, Process plans for machined products
Life cycle support APs:
* AP 239, Product life cycle support
* AP 221, Functional data and schematic representation of process plants
* AP 241, Generic Model for Life Cycle Support of AEC Facilities (planned)
The AP 221 model is very similar to the ISO 15926-2 model, whereas AP 221 follows the STEP architecture and ISO 15926-2 has a different architecture. They both use ISO-15926-4 as their common reference data library or dictionary of standard instances. A further development of both standards resulted in Gellish English as general product modeling language that is application domain independent and that is proposed as a work item (NWI) for a new standard.
The original intent of STEP was to publish one integrated data-model for all life cycle aspects. But due to the complexity, different groups of developers and different speed in the development processes, the splitting into several APs was needed. But this splitting made it difficult to ensure that APs are interoperable in overlapping areas. Main areas of harmonization are:
* AP 212, 221, 227 and 242 for technical drawings with extension in AP 212 and 221 for schematic functionality
* AP 224, 238 and 242 for machining features and for Geometric dimensioning and tolerancing
For complex areas it is clear that more than one APs are needed to cover all major aspects:
* AP 212 and 242 for electro-mechanical products such as a car or a transformer. This will be addressed by the second edition of AP242 that is currently under development
* AP 242, 209 and 210 for electro/electronic-mechanical products
* AP 212, 215, 216, 218, 227 for ships
* AP 203/214, 224, 240 and 238 for the complete design and manufacturing process of piece parts.