ISO 10303
ISO 10303 is an ISO standard for the computer-interpretable representation and exchange of product manufacturing information. It's an ASCII-based format. 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 international standard's objective 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.

Typically STEP can be 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.

See also
 Boundary representation
 Geometric dimensioning and tolerancing
 ISO 16739 Industry Foundation Classes, widely used instead of ISO 10303-225

Notes

References

External links 
 Standardization group ISO TC184/SC4
 List of STEP parts
 STEP Ship team ISO TC 184/SC 4/WG 3/T 23
 STEP AP242 Project
 The STEP Module Repository on SourceForge
 CAx Implementor Forum - information on existing implementations and testing activities
 WikiSTEP - tutorial and overview information about STEP and recommended practices
 PDES, Inc. - recommended practices and links
 Korea STEP Center
 Product Life Cycle Support (PLCS) Resources
 Application Protocol 224 implementation
Introducing STEP
 PDM schema - a common subset extracted from AP 203 and AP 214
 BRLCAD and STEP
 STEP File Analyzer and Viewer - generate a spreadsheet from a STEP file, also a viewer
STEP programs
 STEP File Viewers
Online Step File Viewer
 ISO 10303 STEP Standards – STEP Tools, Inc.
 STP viewer 2.3 - download

 
10303
CAD file formats
Modeling languages