Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
STEPcode (formerly NIST's STEP Class Library) is used with IFC, STEP, and other standards that utilize the technologies of ISO10303 (STEP). It generates C++ and Python from EXPRESS (10303-11) schemas. The code is capable of reading and writing STEP Part 21 exchange files. It also utilizes Parts 22 and 23 (SDAI and its C++ binding).
C C++ Python CMake Yacc Lex Other

Merge pull request #344 from cshorler/python_p21_lexer_and_parser_imp…

…rovements

Python p21 lexer and parser improvements
latest commit 7568033499
@mpictor mpictor authored
Failed to load latest commit information.
cmake make appveyor happier
data update AP209 ATS files. enum element_order now has the _order prefix …
doc update Doxyfile
example/ap203min Add ExternalProject_add based build of ap203min example
include Patch for MSVC2013 compilation
misc in appveyor summary, print errors first
src simplification - invocation of t_STRING / t_BINARY guarantees we can …
test add stepcore test for segfault in STEPattribute::set_null()
.gitignore update .gitignore
.travis.yml tweak travis-ci more
AUTHORS bump version (0.8), update AUTHORS, NEWS for v0.8, add travis-ci buil…
CMakeLists.txt make appveyor happier
COPYING Update text files for v0.6
CTestConfig.cmake Add CMake footer comment to CMake files
ChangeLog v0.7: Update changelog, INSTALL, NEWS, README, version string
INSTALL v0.7: Update changelog, INSTALL, NEWS, README, version string
NEWS NEWS: forgot to include BRL-CAD changes
README.md rename altered rendering of sample code block
SC_VERSION.txt bump version (0.8), update AUTHORS, NEWS for v0.8, add travis-ci buil…
appveyor.yml give up on msbuild, seems to offer no benefits. go back to cmake --build
ctest_matrix.cmake Case and whitespace on toplevel CMake files
lcov.cmake Case and whitespace on toplevel CMake files
run_ctest.cmake Case and whitespace on toplevel CMake files

README.md

Travis-CI build status: Build Status


STEPcode v0.8 -- stepcode.org, github.com/stepcode/stepcode

  • What is STEPcode? SC reads ISO10303-11 EXPRESS schemas and generates C++ source code that can read and write Part 21 files conforming to that schema. In addition to C++, SC includes experimental support for Python.

  • Renamed in April/May 2012: SC was formerly known as STEP Class Libraries, SCL for short. It was renamed because the name wasn't accurate: the class libraries make up only a part of the code.

  • Much of the work to update SC has been done by the developers of BRL-CAD, and SC (then STEP Class Library) was originally created at NIST in the 90's.

  • For information on changes version-by-version, see the NEWS file

  • Building and testing SCL - see the INSTALL file

  • For more details on the libraries and executables, see the wiki: http://github.com/stepcode/stepcode/wiki/About-STEPcode

  • For license details, see the COPYING file. Summary: 3-clause BSD.



CODING STANDARDS

SC's source has been reformatted with astyle. When making changes, try to match the current formatting. The main points are:

  • compact (java-style) brackets:
    if( a == 3 ) {
        c = 5;
        function( a, b );
    } else {
        somefunc( );
    }
  • indents are 4 spaces
  • no tab characters
  • line endings are LF (linux), not CRLF (windows)
  • brackets around single-line conditionals
  • spaces inside parentheses and around operators
  • return type on the same line as the function name, unless that's too long
  • doxygen-style comments (see http://www.stack.nl/~dimitri/doxygen/docblocks.html)

If in doubt about a large patch, run astyle with the config file misc/astyle.cfg. Download astyle from http://sourceforge.net/projects/astyle/files/astyle/


For more info, see the wiki.

Something went wrong with that request. Please try again.