This describes an older ST-Developer release (2017). You can find the details for the latest release here

Overview

Version 17 of the STEP Tools® software stack of libraries and tools is now spread across several packages. The Core SDK package contains software needed for all types of data, with separate Project Packs that covers applications based on STEP CAD, IFC BIM, or Digital Thread applications.

We simplified STEP applications with a single EXPRESS class library that covers all APs. The STEP faceter is stronger and faster with easy creation of AP242 tesselated models or XML for lightweight viewing. We have new APIs for geometric tolerances with a full range of functions for working with datums, common datums, datum modifiers, and tolerance modifiers. A new STEP checker and browser makes it easy to investigate data sets on any platform.

IFC applications get a boost with the new IFC Faceter, an IFC checker and browser, and improvements in automatic migration from older ifc2x3 data.

Finally there is a new CAD Math Library for easy work with transforms, vectors, points, meshes, unit conversions and other common math. There are also many general updates, such as support for the new 2016 edition of the Part 21 file format. The migration guide has detailed information about API changes in the libraries.

STEP Check and Browse

STEP Check

The new stpcheck combines checking and browsing in a single tool. It can analyze STEP file contents and print reports like previous AP checkers, but now you can move beyond batch operation to interactive viewing using the built-in web server.

This tool is integrated into the Windows file explorer, so you can just right click on a file and select "Check STEP File" from the pop-up menu. It will start a local web-server and launch your browser. From there, you can build instance graphs, follow links forwards and backwards between objects, see the range of types in the file, look at the EXPRESS schema definitions, and browse STEP files that are hundreds of megabytes in size!

The stpcheck tool fully recognizes all common STEP schemas (AP242, AP214, AP203, STEP-NC) and can read and recognize the common parts of unusual STEP files. Since the user interface is just any web browser, the tool works on all supported platforms!

Geometric Tolerances

STEP Tolerance
A Simple Flatness Tolerance

STEP CAD models now hold geometric tolerances associated with faces. AP242 has updated tolerance definitions with many more options and extra parameters. The latest libraries have API calls to easily create and navigate tolerances. The API has functions to create them, find their type, get and put modifiers, datums, and extra parameters. This is much simpler than trying to use the raw C++ classes for each type.

The core of the API uses single call to create any type of tolerance, as well as some functions to test whether the tolerance can hold different types of extra settings. The previous approach was not practical because it required raw C++ classes for each of the 259 possible AND/OR combinations, plus code in your application to pick between them. Key functions for creating and testing tolerances:

The extra parameters, like per area basis or unequal displacement, each have functions to get and set values. Key functions for getting and setting the extra parameters are:

There are also functions for traversing the set of tolerance modifiers, adding or removing modifiers, and managing the values. These functions also understand the old ap214-style modifier and will automatically translate MMC and LMC into a simple modifier enum. Some key functions for modifiers are:

We put in much work on handling datums, common datums, and datum modifiers. The functions easily loop over all of the datums associated with a tolerance. Other functions loop over the modifiers of a datum. When creating data, the functions use the latest AP242 definitions, but they also understand older AP214 style references, so you do not need to worry about the specifics. Some of the datum functions are:

Other STEP Enhancements

IFC Faceter
AP242 Tesselated Model Saved from Mesh
Mesh created by STEP-NC Simulator

We continue to improve the STEP Faceter library with better AP242 handling, more geometry, and faster speed. We also have the latest definitions in our STEP CAD and STEP Manufacturing AP libraries!

IFC BIM Faceter

IFC Faceter

We are adding a new IFC Faceter library that makes viewable meshes from IFC data, just like our STEP Faceter does for STEP. We have also improved the IFC BIM library to move between IFC2x3 and IFC4 with greater ease!

We are also working on a new .NET API for building IFC tools. It has the same power as our C++ API, but can be used directly from C# or Visual Basic. Contact us if you are a customer who wants early access for testing!

IFC Check and Browse

STEP Check

The new ifccheck is a combined checking and browsing tool for IFC files. Like stpcheck, it can analyze IFC file contents and print reports and do interactive viewing using the built-in web server.

This tool is integrated into the Windows file explorer, so you can just right click on a file and select "Check IFC File" from the pop-up menu. It will start a local web-server and launch your browser. From there, you can build instance graphs, follow links forwards and backwards between objects, see the range of types in the file, look at the EXPRESS schema definitions, and browse very large IFC files!

Math Library

ROSE Math Library

The ROSE Math Library is a new addition to our software stack that contains functions for working with vectors, transforms, meshes, unit conversions, and other operations common to engineering data. There is nothing in here that is specific to an information model (STEP, IFC, CIS/2, DSTV, etc) so it can be used in any program that uses the ROSE library.

This library gathers and documents math code previously spread over the STEP Tools® libraries for STEP, IFC, and other engineering data and removes depencencies on specific EXPRESS schemas. The result contains definitions for the for mesh structures used by the STEP and IFC Faceter libraries. It also has a full range of vector arithmetic and coordinate system transform functions, unit conversion, and bounding box resources. It also has utilities for writing the mesh data to XML and JSON structures.

The STEP Faceter, IFC Faceter, and STEP helper function libraries now use the mesh, transform, bounding box, and unit data types provided by the ROSE Math library. As a result, you may need to change some symbols when updating code that used the earlier definitions.

General Updates

The Core SDK is stronger after stress tests with thousands of the most abusive files that Microsoft and our corporate customers could make. We are also updated for the recently published third edition of the STEP file format!

STEP Tools Software Overview

Supported Platforms

The STEP Tools® Development Stack is available for the operating systems and compiler combinations shown below. Contact us to arrange other configurations. Each platform has library versions for use with specific C++ compilers and build flags. See Windows Installation, MacOS Installation, and UNIX Installation for details on each.

Platform Supported Compilers
Windows 10/8/7 32bit Visual Studio 2015 (VC++ 14), Visual Studio 2013 (VC++ 12), Visual Studio 2012 (VC++ 11), with the /MD option. Library versions for static and DLL linking.
Windows 10/8/7 64bit Visual Studio 2015 (VC++ 14), Visual Studio 2013 (VC++ 12), Visual Studio 2012 (VC++ 11), with the /MD option. Library versions for static and DLL linking.
MacOS 10.12 (Sierra) to 10.9 (Mavericks) Clang (Xcode 8.0) with libraries built for Mach-O universal binaries. Library versions for plain and position-independent static linking, and dynamic linking.
Linux 32bit
All recent distros, RHEL 5, SuSE 10-11, and anything with glibc 2.5+.
GCC 3.4/4.x. Library versions for plain and position-independent static linking, and dynamic linking.
Linux 64bit
All recent distros, RHEL 5, SuSE 10-11, and anything with glibc 2.5+.
GCC 3.4/4.x. Library versions for plain and position-independent static linking, and dynamic linking.
IBM POWER-series
AIX v5.3, POWER5
IBM XL C/C++ 64bit. Library versions for plain and thread safe static linking.
Hewlett Packard
HP-UX v11, Itanium
HP ANSI C++ 64bit. Library versions for plain and position-independent static linking (+Z -z -mt)
Solaris v10+, SPARC Sun Studio v11 64bit. Library versions for plain and position-independent static linking (-PIC -mt)
Solaris v10+, Intel x86 Sun Studio v11 64bit. Library versions for plain and position-independent static linking (-PIC -mt)