Filename extension | .stp, .step, .stpnc, .p21, .210 |
---|---|
Internet media type | model/step, model/step+xml, model/step+zip, model/step-xml+zip |
Magic number | ISO-10303-21 |
Developed by | ISO |
Initial release | 1994 |
Website | Specification |
STEP-file is a widely used [1] data exchange form of STEP. ISO 10303 can represent 3D objects in computer-aided design (CAD) and related information. A STEP-file is ASCII text with the format defined in ISO 10303-21 Clear Text Encoding of the Exchange Structure. [2]
ISO 10303-21 defines the encoding mechanism for representing data conforming to a particular schema in the EXPRESS data modeling language specified in ISO 10303-11. A STEP-File is also called p21-File and STEP Physical File. The file extensions .stp and .step indicate that the file contains data conforming to STEP application protocols while the extension .p21 should be used for all other purposes. [3]
The use of ISO 10303-21 is not limited to STEP. The Industry Foundation Classes and earlier CIMSteel Integration Standard (CIS/2) define an EXPRESS schema for building information modeling data and specify ISO 10303-21 as an exchange encoding.
This graph shows the entity instances and the references between them in a file representing a solid model of a cylinder.
Some details to take note of:
A typical example looks like this:
ISO-10303-21; HEADER; FILE_DESCRIPTION( /* description */ ('A minimal AP214 example with a single part'), /* implementation_level */ '2;1'); FILE_NAME( /* name */ 'demo', /* time_stamp */ '2003-12-27T11:57:53', /* author */ ('Lothar Klein'), /* organization */ ('LKSoft'), /* preprocessor_version */ ' ', /* originating_system */ 'IDA-STEP', /* authorization */ ' '); FILE_SCHEMA (('AUTOMOTIVE_DESIGN { 1 0 10303 214 2 1 1}')); ENDSEC; DATA; #10=ORGANIZATION('O0001','LKSoft','company'); #11=PRODUCT_DEFINITION_CONTEXT('part definition',#12,'manufacturing'); #12=APPLICATION_CONTEXT('mechanical design'); #13=APPLICATION_PROTOCOL_DEFINITION('','automotive_design',2003,#12); #14=PRODUCT_DEFINITION('0',$,#15,#11); #15=PRODUCT_DEFINITION_FORMATION('1',$,#16); #16=PRODUCT('A0001','Test Part 1','',(#18)); #17=PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#16)); #18=PRODUCT_CONTEXT('',#12,''); #19=APPLIED_ORGANIZATION_ASSIGNMENT(#10,#20,(#16)); #20=ORGANIZATION_ROLE('id owner'); ENDSEC; END-ISO-10303-21;
As seen in the above example, the file is split into two sections following the initial keyword ISO-10303-21;:
The HEADER section has a fixed structure consisting of 3 to 6 groups in the given order. Except for the data fields time_stamp and FILE_SCHEMA all fields may contain empty strings.
The last three header groups are only valid in second edition files.
The DATA section contains application data according to one specific express schema. The encoding of this data follows some simple principles.
Possibly the only advantage of STEP files is that they are widely adopted in many CAD software. On the other hand, its format, and specially the EXPRESS data modelling language has a few disadvantages:[ opinion ]