3D PLM PPR Hub Open Gateway

PDM Object Hub

STEP Overview


Understanding STEP, Express, and SDAI

Technical Article

Abstract

STEP 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.


What Is STEP?

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.

[Top]

Part 11 - The EXPRESS Language

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:

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.

[Top]

Part 21 - Clear Text Encoding of the Exchange Structure

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.

[Top]

Part 22 - The Standard Data Access Interface (SDAI)

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:

Note 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.

[Top]

The EXPRESS-X Mapping Language

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.

[Top]


In Short

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]


References

[1] STEP ISO 10303 background articles home page in the STEP Tools, Inc Internet site
[2] STEP Database Tutorial
[3] The STEP Technology home page of the PDES, Inc Internet site
[4] EXPRES-X Operators
[5] EXPRES-X Keywords
[Top]

History

Version: 1 [Jan 2004] Document created
[Top]

Copyright © 1994-2004, Dassault Systèmes. All rights reserved.