Difference between revisions of "STEP"

From BRL-CAD
(Existing Open Source Tools: - add NIST/NASA/ESA info)
(3 intermediate revisions by 2 users not shown)
Line 3: Line 3:
  
 
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.
 
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.
 +
 +
== Partial Support ==
 +
currently the tool step-g has partial support, and the toolkit https://github.com/stepcode/stepcode is branched into the src/other source tree.
  
 
==Defining ISO Documents==
 
==Defining ISO Documents==
Line 9: Line 12:
  
 
==Existing Open Source Tools==
 
==Existing Open Source Tools==
===These tools work with EXPRESS (ISO10303 Part 11) schemas===
+
====Tools that work with EXPRESS (ISO10303 Part 11) schemas====
 
* [http://exp-engine.sourceforge.net/ Expresso], aka Express Engine, written in Lisp
 
* [http://exp-engine.sourceforge.net/ Expresso], aka Express Engine, written in Lisp
 
* [http://www.jsdai.net/ JSDAI], written in java
 
* [http://www.jsdai.net/ JSDAI], written in java
===These tools generate C++ from an EXPRESS schema===
+
====Tools that 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!
+
* NIST STEP Class Libraries
 +
** There is a [https://github.com/mpictor/StepClassLibrary patched version] of the SCL that compiles with GCC 4.6
 
** [http://www.mel.nist.gov/msid/scl/SCL.htm Official NIST SCL site]
 
** [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
 
  
* 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.
+
* ESA and NASA also have some tools (expressik, lightcpp, pyexpress) that can generate code from EXPRESS schema. For some years, ESA has planned to release some (or all) of the code as open source; however, they have many higher priorities (per email with a person at ESA).
 
** Relevant google searches:
 
** 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=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://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.
+
** [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 11:59, 9 October 2012

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.

Partial Support

currently the tool step-g has partial support, and the toolkit https://github.com/stepcode/stepcode is branched into the src/other source tree.

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

Tools that work with EXPRESS (ISO10303 Part 11) schemas

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

Tools that generate C++ from an EXPRESS schema

  • ESA and NASA also have some tools (expressik, lightcpp, pyexpress) that can generate code from EXPRESS schema. For some years, ESA has planned to release some (or all) of the code as open source; however, they have many higher priorities (per email with a person at ESA).

BRL-CAD Specific Design Considerations