https://brlcad.org/w/api.php?action=feedcontributions&user=76.252.190.26&feedformat=atomBRL-CAD - User contributions [en]2024-03-28T22:40:41ZUser contributionsMediaWiki 1.32.2https://brlcad.org/w/index.php?title=STEP&diff=2976STEP2011-06-30T22:23:39Z<p>76.252.190.26: update/reword scl, esa/nasa sections</p>
<hr />
<div>{{DesignDocument}}<br />
==Converting from STEP files to BRL-CAD databases==<br />
<br />
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.<br />
<br />
==Defining ISO Documents==<br />
<br />
The source standard for STEP is ISO-10303, which consists of hundreds of individual parts. (list parts important to brlcad)<br />
<br />
==Existing Open Source Tools==<br />
====Tools that work with EXPRESS (ISO10303 Part 11) schemas====<br />
* [http://exp-engine.sourceforge.net/ Expresso], aka Express Engine, written in Lisp<br />
* [http://www.jsdai.net/ JSDAI], written in java<br />
====Tools that generate C++ from an EXPRESS schema====<br />
* NIST STEP Class Libraries<br />
** There is a [https://github.com/mpictor/StepClassLibrary patched version] of the SCL that compiles with GCC 4.6<br />
** [http://www.mel.nist.gov/msid/scl/SCL.htm Official NIST SCL site]<br />
<br />
* 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).<br />
** Relevant google searches:<br />
*** [http://www.google.com/search?q=iso10303-11+EXPRESS+SDAI+python+generate+c%2B%2B iso10303-11 EXPRESS SDAI python generate c++]<br />
*** [http://www.google.com/search?q=expressik+lightcpp expressik lightcpp]<br />
** [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.<br />
<br />
==BRL-CAD Specific Design Considerations==</div>76.252.190.26