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 and SCView.

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

See also: History, List of external resources, List of OSS or free STEP programs

GSoC 2014

We're participating again!

See the Checklist and the BRL-CAD project ideas. If those ideas don't interest you, you can also look at the longer list of projects on this wiki.

Quick Start


  • STEPcode mailing list on google groups (new users are moderated to discourage spam)
  • #stepcode on freenode - use an IRC client or your browser. There is also a log thanks to Tim Rikers.

The Code

The source code is on GitHub

Any discussion of the code on this wiki should have a [[Category:Code discussion]] tag so that it shows up in Category:Code discussion

More pages:

We use Travis-CI for testing. It automatically tests pull requests, and tests master when it changes. Originally, we used a CDash dashboard to show the status of test runs. Test results are only visible for a month, and it was difficult to navigate.

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
  • The Industry Foundation Classes (IFC) are used for Building Information Modeling (BIM)
  • ISO 15926 is used in the Oil & Gas industry
  • STEP-TAS is used in the thermal analysis of aerospace equipment
  • ISO 13584, Industrial automation systems and integration - Parts library
  • ISO 13399