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.

STEPcode provides a cross-platform (Linux, OSX, and Windows) implementation of

  • an EXPRESS schema parser with bindings provided in C, C++, and Python
  • libraries containing classes to represent SDAI (Part 22) objects
  • a library that allows STEP Part 21 files to be read and written
  • various utilities, test routines, and test schemas

The BSD license allows commercial use. In addition, STEPcode is used in other open source projects such as BRL-CAD, OpenVSP, and SCView.

STEPcode traces its roots to the NIST STEP Class Library (SCL) which was developed between ~1987 and 1998. For more details: history

Quick Start

STEP & Other Standards

STEP can be used for neutral file exchange or as a basis for data sharing or archiving in areas such as drafting, mechanical and assembly design, electromechanical design, machine tool control, PLCS (product lifecycle support), systems engineering, computational fluid dynamics and finite element analysis. Parts of the STEP specification are reused in other standards, so STEPcode use is not limited to ISO 10303.

STEPcode can be used with the following standards because they reuse Part 11 and Part 21 of ISO 10303:

  • AP203, AP214 and AP242 for CAD tested at the CAX-IF
  • AP210
  • The Industry Foundation Classes (IFC),used for Building Information Modeling (BIM)
  • ISO 15926, used in the Oil & Gas industry
  • STEP-TAS, used in the thermal analysis of aerospace equipment
  • ISO 13584, Industrial automation systems and integration - Parts library
  • ISO 13399

Some schemas are included with STEPcode, but those are not the only ones that it will work with.

More pages

We use Travis-CI and Appveyor for testing. Pull requests are automatically tested, as ismaster when it changes.

Originally, we used a CDash dashboard to show the status of test runs. Test results were only visible for a month, and it was difficult to navigate.

FIXME organize these

Other free STEP-related software

Minimal Part 21 C++ example