Revision as of 14:43, 6 February 2011 by (talk) (These tools generate C++ from an EXPRESS schema)
Design icon.png This page contains the design document for an enhancement or feature. The design should be considered a work in progress and may not represent the final design. As this is a collaborative design, contributions and participation from other developers and users is encouraged. Use the discussion page for providing comments and suggestions.

Converting from STEP files to BRL-CAD databases

BRL-CAD's most pressing need in the geometry file conversion category is support for the STEP file format, a.k.a "STandard for the Exchange of Product model data." Step is a successor to the IGES file format and today is the major standard used for data exchange between CAD systems.

Defining ISO Documents

The source standard for STEP is ISO-10303, which consists of hundreds of individual parts. (list parts important to brlcad)

Existing Open Source Tools

These tools work with EXPRESS (ISO10303 Part 11) schemas

  • Expresso, aka Express Engine, written in Lisp
  • JSDAI, written in java

These tools generate C++ from an EXPRESS schema

  • NIST STEP Class Libraries - this predates the current STEP specification, and the modifications necessary for it to compile on a modern computer mean that there are no guarantees that it produces valid output!
  • ESA and NASA also have some tools (expressik, lightcpp, pyexpress) that can generate code from EXPRESS schema. However, it is difficult to find information on them. At one point, esa planned to release some (or all) of the code as open source; however, more recent queries have gone unanswered.

BRL-CAD Specific Design Considerations