|Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact|
|Full name||STEP-file, ISO 10303-21 -- Industrial automation systems and integration -- Product data representation and exchange -- Part 21: Implementation methods: Clear text encoding of the exchange structure|
ISO 10303-21 specifies an exchange format, often known as a STEP-file, that allows product data conforming to a schema in the EXPRESS data modeling language (ISO 10303-11) to be transferred among computer systems. The content of a STEP-file is termed an "exchange structure." See Notes below for more on the relationship between ISO 10303-21 (STEP-file) and ISO 10303-11 (EXPRESS). This description covers the 1994-6, 2002, and 2016 versions of ISO 10303-21.
The plain text format for a STEP-file has the following characteristics:
The STEP-file is divided into sections. Section labels are reserved terms (termed "special tokens" in the specification) and sections must be in the order shown below. All sections end with a record "ENDSEC;". Many STEP-file instances have only two sections, the mandatory HEADER section and a single DATA section.
Also described in ISO 10303-21 is a mechanism for a multi-file exchange structure to be compressed and packaged using ZIP. The ZIP configuration must correspond to PKZIP 2.04g, which limits compression to the Deflate algorithm. Such a ZIP file must have a file named ISO10303.p21 which serves as the "root" of the archive and contains at least the Header of the STEP-file. The special file name ISO-10303.p21 denotes the root of a multi-file exchange structure whether stored in a ZIP archive or a directory hierarchy. This format description, apart from this paragraph, does not cover the ZIP-based variant specified in ISO 10303-21.
|Production phase||Typically used as a middle-state format for exchange between systems operated by different parties involved in building or manufacturing activities. May also be used as an archival format for architectural or engineering designs.|
|Relationship to other formats|
|Has subtype||IFC-SPF, Industry Foundation Classes (IFC), Clear Text Family. The specification for IFC4, published in 2013, includes an undated normative reference to ISO 10303-21, indicating that the latest version of STEP-21 applies.|
|Equivalent to||STEP-XML, ISO 10303-28, Industrial automation systems and integration — Product data representation and exchange — Part 28: Implementation methods: XML representations of EXPRESS schemas and data, using XML schemas. STEP-XML is not described separately at this site at this time. The equivalence of the clear text and XML exchange structures may not always be exact, since the lists of EXPRESS concepts not mapped to the exchange structure, although largely the same, are not identical for ISO 10303-21 (clause 12) and ISO 10303-28 (clause 6.2). Comments welcome.|
|Defined via||EXPRESS, EXPRESS data modeling language, ISO 10303-11|
|LC experience or existing holdings||The Library of Congress has a small number of STEP files in its collections.|
|LC preference||The Library of Congress Recommended Formats Statement (RFS) includes STEP as an acceptable format for 2D and 3D Computer Aided Design vector images.|
International standard, developed and maintained by the ISO technical committee TC 184, Automation systems and integration, sub-committee SC 4, Industrial data.
ISO 10303-21:2016. Industrial automation systems and integration -- Product data representation and exchange -- Part 21: Implementation methods: Clear text encoding of the exchange structure.
The primary use for STEP-files is as exchange structures for content complying with other parts of the STEP standard, ISO 10303, particularly for so-called application protocols, as defined in parts 2xx of ISO 10303. Each protocol defines a data exchange standard for a defined family of products at a defined stage in its life cycle. See FAQ: Questions about STEP application protocols and Coverage of STEP Application Protocols (AP). The clear text STEP-file (ISO 10303-21) is more frequently used than the XML-based format specified in ISO 10303-28. As of early 2017, it appears that the 1996 and 2002 versions of the STEP-file format are more widely used and supported than the new 2016 version. Comments welcome.
The 2016 version of ISO 10303-21 introduces many new features. The compilers of this resource have not been able to ascertain which applications or toolkits support the extensions or whether there are EXPRESS schemas in widespread use that require the new STEP-file version. Comments welcome.
In addition, other standards that have used EXPRESS for data modeling expect the use of STEP-files for data exchange. These include the standards for Industry Foundation Classes (IFC-SPF, ISO 16739) and Parts Library (PLIB, ISO 13584). According to NIST description of its STEP File Analyzer software, "STEP is also used for the long-term archiving and retrieval of product data (LOTAR)." LOTAR is developing, testing, publishing and maintaining standards for long-term archiving of digital data, such as 3D CAD and product data management (PDM) data. Part 3 of the 2006 LOTAR standards refers to Part 21 of STEP (ISO 10303). VDA 4958 -- Long term archiving (LTA) of digital product data which are not based on technical drawings: Part 3: Data model (link via Internet Archive) lists the STEP-file as one of two implementations available in Clause 7.2, page 64.
Software that supports viewing, editing, reading, and writing STEP-files in general includes: STEPcode is an open source collection of open source libraries, tools, and resources, with roots in the NIST STEP Class Library (SCL) which was developed between ~1987 and 1998; STEP Tools Software, which provides open source projects and libraries that are free for personal use; JSDAI (Java Standard Data Access Interface) is a Java API that supports reading, writing and runtime manipulation of object oriented data defined by an EXPRESS based data model, including reading and writing STEP-files; STEP viewers as listed by PDES, Inc.; STP Viewer and eMachineShop, both free online viewers; STEP File Analyzer from NIST; IDA-STEP, with components for viewing and editing including a free "basic" viewer.
Other products using or supporting STEP-files have a focus on a particular domain or particular STEP Application Protocols. For example, the STEP file FAQ from PCB-3D lists software that can read or write STEP-files, with a focus on design and manufacture of electronics and printed circuit boards. See Notes below for discussion of some Application Protocols (APs) supported in important industries. Software aimed at those industries is likely to support STEP-files, but often only for the particular APs.
|Licensing and patents||
No licensing or patent issues.
STEP-file is a plain text format. Document files are easily viewed with basic text editing tools. However, entity names in the file consist of digits (preceded by "#") rather than using human-readable tags and parent-child relationships between entities are not obvious. To understand the content, a viewer that can relate the STEP-file to its schema(s) is more effective.
|Self-documentation||This format is designed to represent models specified in the EXPRESS language defined in ISO 10303-11 and a file will include the technical and structural metadata required to ingest the instance into a system that supports such models in general or instances of a specific model. Such models may incorporate elements and structures for descriptive and contextual metadata.|
|External dependencies||Software that can relate a STEP-file instance to its EXPRESS schema is essential for full validation and interpretation.|
|Technical protection considerations||This format does not support encryption or digital rights management. Digital signatures can be included to verify content and validate the credentials of the signer.|
|Normal rendering||A "document" in the STEP-file format is not a general text document. It is a plain text file using a defined special-purpose syntax.|
|Functionality beyond normal rendering||The function of a document in the STEP-file format language is to be a clear text exchange format for an instance of a data structure conforming to a given data model defined in the EXPRESS data modeling language. The intended area of application is the representation of product manufacturing information for the purpose of exchange among computer systems.|
|Support for CAD/CAM/CAE||This format has been specifically developed as an exchange format for structured data applicable to design, manufacturing, and engineering of products, where "product" is very broadly interpreted. The EXPRESS data modeling language, which is used to define the schemas of which STEP-file documents are instances, is rich in data types and structures that can be used to support CAD/CAM/CAE. The STEP standard includes many parts that are "application protocols" for specialized areas of CAD/CAM/CAE, for example, AP 203 for Configuration Controlled Design. Sample STEP-files are available at LaserDesign Filetype: .stp and Sample step files from StepCode.|
|All three extensions listed in http://www.nationalarchives.gov.uk/PRONOM/fmt/698. Annex L of the STEP-file specification has the following recommendations for file extensions: .stp and .step for files according to the ISO 10303 Application Protocols; .p21 for general use including those described by ISO 10303, ISO 13584 and ISO 15926.|
|Internet Media Type||model/step
|Magic numbers||ASCII: ISO-10303-21;
|From PRONOM [http://www.nationalarchives.gov.uk/PRONOM/fmt/698].|
|Wikidata Title ID||Q3509055
Relationship between ISO 10303-21 and ISO 10303-11: The EXPRESS data modeling language (specified in ISO 10303-11) is used to define schemas, and constraints on the entities in those schemas, to represent the data model for the design and characteristics of a "product." A product might be a single component or an entire building structure. Given an EXPRESS model for a product, ISO 10303-21 defines an encoding and file format (the plain text STEP-file) for an instance conforming to that model. The instance is known as an "exchange structure."
Conformance classes for STEP-file exchange structures: Conformance levels and classes are described in clause 4.3 of the STEP Part 21 specification from 2016. Syntactical conformance classes apply to instances and are indicated in the implementation_level attribute of the file_description entity in the Header section. Three conformance classes are defined:
STEP Application Protocols (APs): Many parts of the STEP standard define "application protocols" for product data for a particular domain. Associated with APs are EXPRESS schemas. Software applications aimed at the particular domain may read and write STEP-files, but only those that correspond to the EXPRESS schemas associated with particular APs. APs supported widely to date include: AP203, Configuration Controlled Design, developed by PDES, Inc. and primarily supported by the aerospace and defense industry -- see 1998 guidelines for AP203; and AP214, maintained by ProSTEP iViP and SASIG and used primarily in the automotive industry. Both the APs are used in the supply chains of several industry sectors and hence are supported by main CAD/CAM/CAE applications. AP242, Managed Model Based 3D Engineering, has been developed to combine and extend AP203 and AP214, and was published in 2014. The STEP protocols AP203 and AP214 from Datakit provides some useful history. A second edition of AP242 is under development and in early 2017 is in CD (committee draft) stage in ISO. See STEP AP 242 edition 2 project website.
The original Part 21 specification was issued in 1994, followed shortly by a technical corrigendum in 1996. It permitted a single Data section. The second edition, published in 2002, added support for multiple Data sections in a file and additional contextual metadata in the Header. Files conforming to the 1996 edition also conform to the 2002 edition.
Changes in the 2002 edition included:
ISO 10303-21:2016 is the third edition of the standard. All instances encoded following the 2002 version also conform to the 2016 version. Changes in the 2016 version include: