3 ms·
STEP is in two parts. There is the exchange format itself and the definitions of the models that are behind any exchange file. The modelling is currently done
by rjsw 6y ago
STEP is in two parts. There is the exchange format itself and the definitions of the models that are behind any exchange file.
The modelling is currently done in a language called EXPRESS but this is changing to use SysML tools and then transforming a SysML model to an XML schema using XSLT.
Maybe have a look at some of the Open Source CAD systems with full STEP capabilities like BRL-CAD [1] or Open Cascade Technology [2]. They contain C++ class definitions for each of the classes in supported STEP models as well as code to read and write exchange files, basically serializing and deserializing object instances.
The STEP C++ classes in a system like the two mentioned are typically machine generated from the standardized model, the tool that is used in BRL-CAD to do this is stepcode [3].
[1] https://en.wikipedia.org/wiki/BRL-CAD https://en.wikipedia.org/wiki/BRL-CAD
[2] https://en.wikipedia.org/wiki/Open_Cascade_Technology https://en.wikipedia.org/wiki/Open_Cascade_Technology
[3] https://github.com/stepcode/stepcode https://github.com/stepcode/stepcode