Editing STEP exporter

From BRL-CAD

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
STEP is the current standard for exchange of CAD data between different software packages.  BRL-CAD makes use of the STEPcode libraries to support import and export of STEP files, but STEP is a very large standard and there is a lot of additional work to be done.
+
STEP is the current standard for exchange of CAD data between different software packages.  BRL-CAD makes use of the NIST STEP Class Libraries code to support its step-g converter, but we don't have an exporter.
  
For this project, there's a lot of directions that can be taken:
+
For this project, there's a lot of directions that can be taken but the main goal is to export geometry as faithfully as possible.  That means the implementation will have to be aware of the geometry representation type being exported, whether it's implicit CSG geometry, NURBS geometry, polygonal mesh (NMG or BoT) geometry, or something else and export accordingly to the appropriate STEP container type.
  
* We usually export Brep geometry since that is what AP203 supports, but newer STEP standards (AP214, AP242) also support a number of geometric primitives.  We also don't currently support exporting mesh geometry (triangle or polygon based) and that's something we need to support, even if STEP isn't really a traditional container for triangle meshes.
+
There are two relevant standards, AP203 and AP214.  We have copies of the standards that will be shared to make sure you're exporting appropriately.  It may also save you a lot of time and effort if the STEP Class Library (SCL) can be used for writing out geometry.
  
* We don't do much about trying to preserve our attribute metadata currently - explore what options are available for doing so.
+
Specific items to remember:
  
* Undoubtedly many more possibilities.
+
* The libraries should compile with strict compiler flags, as used in recent BRL-CAD compilations.
 
+
* The generated source code files should be usable "out of the box" for g-step
 
+
* BRL-CAD makes use of the doxygen system for source code documentation, so organizing source code documentation in the step libraries to work well with doxygen should be part of the review and updating process.
The relevant standards are: AP203, AP203e2, AP214, and the in-development AP242.  A number of useful resources are listed below.
 
  
 
=References=
 
=References=
  
 
* src/conv/step
 
* src/conv/step
** this is where the current step-g importers and exporters resides
+
** this is where the current step-g importer resides
 
* src/other/step
 
* src/other/step
** this is STEPcode
+
** this is the SCL
 
 
* Recommended Practices for AP203
 
**http://www.steptools.com/support/stdev_docs/express/ap203/recprac203v8.pdf
 
* Usage Guide for the STEP PDM Schema V1.2
 
**http://www.steptools.com/support/stdev_docs/express/pdm/pdmug_release4_3.pdf
 
  
 
=Requirements=
 
=Requirements=
  
 
*Familiarity with C++
 
*Familiarity with C++

Please note that all contributions to BRL-CAD may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BRL-CAD:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)