STEP(ISO 10303-21)

STEP-File is the most widely used data exchange form of STEP. Due to its ASCII structure it is easy to read with typically one instance per line. The format of a STEP-File is defined in ISO 10303-21 Clear Text Encoding of the Exchange Structure.[1]

A STEP-File is also called p21-File and STEP Physical File. The file extensions .stp and .step indicates that the file contain data conforming to STEP Application Protocols while the extension .p21 should be used for all other purposes.

The STEPcode project is a collection of open source libraries, tools, and resources that revolve around the technologies of ISO 10303, a.k.a. STEP, the STandard for the Exchange of Product model data. It provides a cross-platform (Linux, OSX, and Windows) implementation of an EXPRESS schema parser with bindings provided in C, C++, and Python; library that allows STEP Part 21 files to be read and written various utilities and so on. In simple words we can say that STEP provides support neutral file exchange or as a basis for data sharing or archiving in areas such as drafting, mechanical and assembly design, computational fluid dynamics, finite element analysis and so on.

STEP follows the EXPRESS schema which we need to learn before proceeding further. ISO 10303-21(STEP) defines the encoding mechanism on how to represent data according to a given EXPRESS schema, but not the EXPRESS schema itself. EXPRESS is a standard data modeling language for product data. A simple example of EXPRESS data model is as follows:

SCHEMA Family;

ENTITY Person
   ABSTRACT SUPERTYPE OF (ONEOF (Male, Female));
     name: STRING;
     mother: OPTIONAL Female;
     father: OPTIONAL Male;
END_ENTITY;

ENTITY Female
   SUBTYPE OF (Person);
END_ENTITY;

ENTITY Male
   SUBTYPE of (Person);
END_ENTITY;

END_SCHEMA; 

EXPRESS-G_diagram_for_Family_schema

An example of STEP-File which uses the above mentioned EXPRESS schema:

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;

A second edition of STEP AP209, renamed “Multidisciplinary analysis and design“, is in final stage of development.  It is currently at the Draft International Standard (DIS) level at ISO. I guess this has some connection with openMDAO.

STEP AP209 ed2(edition2) has enlarged its coverage beyond the STEP AP209 ed1(edition1) which primarily focussed on classical Finite Element Analysis (FEA) capabilities. Following are the disciplines that STEP AP209 ed2 covers:

  • Computational Fluid Dynamics (CFD), mainly based upon the CGNS standard;
  • Materials Database;
  • Generic structured and unstructured analysis and mesh capabilities, developed under the European Union GEM program;
  • Meshless numerical analyses;
  • Complete discrete/continuous mathematical field representation capability, based upon the David Taylor Labs/Boeing DT-NURBS package, to represent discrete and continuous scalar, vector and tensor fields (properties, loads, results);
  • Kinematics Analysis.

Out of all these disciplines my main focus is to study STEP implementation on materials database.

Materials database

Complementing STEP AP235 (Engineering properties for product design and verification), STEP AP209 ed2 offers functions related to engineering materials database for simulation, both for composite and homogeneous (metallic) materials. Among the functionalities described in the scope of the standard, there is:

  • Materials and their composition of chemical substance;
  • The identification of material specifications from internal and external sources and their properties for a specific operating environment;
  • Composite material structure and shape;
  • The depiction of composite laminate tables describing the material, stacking sequence, ply orientation, and constituents of the composite or a portion of the composite with a defined shape;
  • Catalogue data characterised by proper

I have also gone through an implementation of AP209 ed2 for “composite and metallic structural analysis and related design”. This also provides import / export functionality:

ftp://ftp.mscsoftware.com/pub/msc-products/PATRAN/v9.0/all/ap209_doc.pdf

Then there is the CAx Implementor Forum. It checks the STEP-files for ‘syntax’ and ‘structure’, to be in conformance with the Application Protocols (EXPRESS schemas) they are instantiated against. The CAx Implementor Forum is significantly improving STEP translator quality and decreasing translator time-to-market. The BRL-CAD translator for STEP, based on STEPcode, could be expanded to support the CAx-IF material identification capability which can be a key to material properties.

We can have a look at the following URL if detailed description is sought for CAx-IF http://www.cax-if.org/library/index.html .


					
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s