3D PLM PPR Hub Open Gateway |
PDM Object Hub |
STEP Overview
|
Technical Article |
AbstractSTEP is the industry digital product model data standard used worldwide
to exchange data between companies and their partners, suppliers, and
customers. This article briefly describes STEP and its main components. |
STEP, acronym for Standard for the Exchange of Product Model Data, is a a set of ISO standards (ISO 10303) that describes how to represent and exchange digital product data. STEP addresses the main industry sectors: mechanical, electricity & electronics, consumer goods, architecture and construction, etc. STEP goes far beyond other data exchange standards because it is designed to represent and give access to data during the whole product's design stages and lifecycle, and supports design, manufacturing, and maintenance, as well as data reusability and concurrent engineering.
STEP is divided into parts, such as:
Some parts define international standard for industry-specific data models. They are also named Application Protocols. Examples of such APs are:
The figure below shows these different STEP parts.
EXPRESS is a language to describe data models. An EXPRESS schema contains a data model made up of classes that are themselves made up of attributes, references, aggregates, and rules.
In V5, an EXPRESS schema is built with mkmk. The schema is stored in an express-suffixed file and stored in the PublicInterfaces, ProtectedInterfaces, or PrivatedInterfaces folder of a framework, or in the LocalInterfaces folder of a module. The module must have the same name than the schema. mkmk builds the module and generates a shared library of DLL from the schema.
Below is an excerpt of the ENOV_DATAX EXPRESS schema contained in the ENOV_DATAX.express file you can find in the runtime view \startup\STEP\samples folder.
SCHEMA ENOV_DATAX; ... TYPE operation = ENUMERATION OF (DELETE,REPLACE); END_TYPE; ... ENTITY ENOVExVPMDocFile SUBTYPE OF (ENOVExchangeable); Q_PathExist : integer; Q_path : string(256); Q_Last_ci_name : OPTIONAL string(256); V_iterationformat : ENOVExVPMDocumentIterationFormat; END_ENTITY; ...
The keyword SCHEMA
defines the schema name, that is ENOV_DATAX.
The keyword TYPE
defines basic data, such as an enumeration named
operation
with two possible values: DELETE
and
REPLACE
.
A class description is enclosed between the keywords ENTITY
and
END_ENTITY
, such as ENOVExVPMDocFile
which us a
subtype of the ENOVExchangeable
entity described elsewhere in the
schema. This allows for classification, or parent-child links between classes.
The subclass is a specialization of the superclass. This particularly means
that the attributes of ENOVExchangeable
are inherited by
ENOVExVPMDocFile
. In addition, ENOVExVPMDocFile
has four
attributes of its own. Some have a simple type. For example, Q_PathExist
is an integer, and Q_path
is a character string limited to 256
characters, as well as Q_Last_ci_name
which is optional, that is,
that may not be valued without ENOVExVPMDocFile
be inconsistent.
The last attribute, V_iterationformat
, refers to another entity
also defined elsewhere in the schema.
If a class is defined with the keyword ABSTRACT SUPERTYPE
, that
means this entity cannot be instantiate directly. A subtype will be
instantiated.
An attribute may have a simple type: real, integer, number, logical, boolean, binary, or string.
An attribute may also be an aggregate, such as an array, a bag, a list, or a set. For example, the Q_Path_II attribute is an optional collection of ordered strings. Since the attribute is optional, the number of strings may be 0.
... Q_Path_II : OPTIONAL LIST[0:?] OF string; ...
Other aggregates exist:
Rules are For example, the following class includes a rule.
ENTITY ENOVExAFLHistory SUBTYPE OF (ENOVExchangeable); ... V_operation : string(20); ... WHERE WR1: V_operation IN ['creation','promotion','close','promoteobject','add','move','cut','replace']; ... END_ENTITY;
The keyword WHERE
defines a rule onto the attribute
V_operation
that must take one of the values listed between the square
brackets. This rule is a domain rule that constrains the values of an
attribute. Other rule types exist:
UNIQUE
is associated with only one instance of that
class
ENTITY ENOVExAFLBaseAction SUBTYPE OF (ENOVExAFLPSAction); UNIQUE UR1 : V_name; END_ENTITY;
INVERSE
ENTITY ENOVExAFLAction SUBTYPE OF (ENOVExchangeable); ... C_histories : OPTIONAL SET [0:?] OF ENOVExAFLHistory; ... END_ENTITY; ... ENTITY ENOVExAFLHistory SUBTYPE OF (ENOVExchangeable); ... INVERSE C_action : ENOVExAFLAction FOR C_histories; ... END_ENTITY;
EXPRESS allows for references to other schemas for reuse purpose.
REFERENCE FROM CATIA_DATAX (CATIA2DPoint, CATIA3DPoint, CATIA2DCurve, CATIA3DCurve));
Refer to the Internet sites referenced at the bottom of this article for reference materials about these keywords and more information about EXPRESS.
The part 21 describes the format used to store an SDAI model into a file. The SDAI interfaces allows an SDAI model to be saved to or loaded from a part 21 encoded file. Such a file has a step suffix. For example, below is an excerpt of the CAR.step file you can find in the runtime view \startup\STEP\samples folder.
ISO-10303-21; HEADER; FILE_DESCRIPTION($,'1'); FILE_NAME($,'2000-01-31T17:24:16+00:00',$,$,$,$,$); FILE_SCHEMA(('VPM12_fidji')); !FILE_SCHEMA_VERSION(1,1); ENDSEC; DATA; #2=cdma_id('3D3D91B1369B4E4F','3030303030303030','VPM1','PART_LIST',#1); #15=cdma_id('3D3D91B1369B4E4F','3D3D91B136C00A13','VPM1','$EXTcar',#14); ... #49=event_sequence(':Promote','DSGproposed','01062000175858','PMA','No Comment'); #50=event_sequence(':Promote','DSGin work','01062000175900','PMA','No Comment'); ... ENDSEC; END-ISO-10303-21;
This file is made of a header that refers to the schema VPM12_fidji using
the keyword FILE_SCHEMA
, and of a data part that begins with the
keyword DATA
, where each entity instance is described on one line
begining with the # sign followed by a unique number, the entity name being
followed by its attribute values between the parentheses.
The EXPRESS schema models product data. SDAI defines an API to create such models in memory and handle them. This API is made up of a set of C/C++ functions.
CAA V5 provides access to this API through a set of C++ classes located in the framework SDMRuntime. For example:
ENTITY
keyword in the schemaENTITY
keyword in the schemaNote that the word class used to name the object described using the EXPRESS
ENTITY
keyword in the schema is often referred to as entity in
SDAI.
SDAI entity instances are called Application Data and are defined in the SDAI Parameter Data Schema that relies in the SDAI Dictionary Schema.
EXPRESS-X is about describing how to map an EXPRESS schema onto another EXPRESS schema. This enables you to convert data models expressed according to an EXPRESS schema into the same data models expressed according another EXPRESS schema. For example, EXPRESS-X is used to map the ENOVIA VPM EXPRESS schema onto the ENOVIA V5 EXPRESS schema. Using this mapping, a VPM SDAI data model expressed according to the ENOVIA VPM EXPRESS schema can be converted into an ENOVIA V5 data model expressed according to the ENOVIA V5 EXPRESS schema and then imported in ENOVIA V5.
EXPRESS-X is a structural data mapping language defined as a part of STEP. It is made up of language elements that allow an unambiguous specification of the relationship between a source schema and a target schema, that is, of the relations between source entities and target entities. Mapping the source entities to the target entities consists in defining the constraints on the relations between one of several source entities and a target entity. These constraints must be satisfied to convert an instance of a source entity to an instance of the target entity.
STEP is a a set of ISO standards (ISO 10303) that describes how to represent and exchange digital product data. It is made up of:
[Top]
Version: 1 [Jan 2004] | Document created |
[Top] |
Copyright © 1994-2004, Dassault Systèmes. All rights reserved.