Difference between revisions of "STEP"

From BRL-CAD
m (Need to make a step wiki page - just rough out some categories for now - flesh out later)
 
(Existing Open Source Tools: - add NIST/NASA/ESA info)
Line 9: Line 9:
  
 
==Existing Open Source Tools==
 
==Existing Open Source Tools==
 +
===These tools work with EXPRESS (ISO10303 Part 11) schemas===
 +
* [http://exp-engine.sourceforge.net/ Expresso], aka Express Engine, written in Lisp
 +
* [http://www.jsdai.net/ 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!
 +
** [http://www.mel.nist.gov/msid/scl/SCL.htm Official NIST SCL site]
 +
** There is also a [http://code.google.com/p/fbics/source/list patched version] of the SCL that compiles with GCC 4.3.3
  
NIST STEP Class Libraries
+
* 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.
 +
** Relevant google searches:
 +
*** [http://www.google.com/search?q=iso10303-11+EXPRESS+SDAI+python+generate+c%2B%2B iso10303-11 EXPRESS SDAI python generate c++]
 +
*** [http://www.google.com/search?q=expressik+lightcpp expressik lightcpp]
 +
** [http://forge.osor.eu/plugins/wiki/index.php?id=175&type=g IFC] contains code generated by lightcpp, but *does not include* lightcpp. Contains some info on lightcpp.
  
 
==BRL-CAD Specific Design Considerations==
 
==BRL-CAD Specific Design Considerations==

Revision as of 13:42, 6 February 2011

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