Overview

The STEP Helper Library provides functions for common work with the STEP AP definitions. It is called stix, and is used with the ST-Developer ROSE and ROSE Math libraries.

Getting Started

The stix.h master header brings in all of the definitions from the stix library. Alternatively, you can include individual header files like stix_unit.h or stix_property.h as described in the function listings. These do not include the schema header files, so include stp_schema.h or individual class files as you need them.

#include <stp_schema.h>
#include <stix.h>

int main (int argc, char ** argv)
{
    [ ... your code here ... ]

    return 0;
}

The functions are prefixed with "stix_" and classes are prefixed with "Stix". This avoids conflicts with the STEP EXPRESS classes, which are prefixed with "stp_" and the ROSE library classes which are prefixed with "Rose" or "rose_".

Some functions analyze STEP data sets and tag the objects with extra data for faster access to useful information. The functions that add the extra are prefixed with "stix_tag_", and typically operate on an entire RoseDesign at once, like the stix_tag_units(). The extra data is kept in RoseManager objects, so it will be removed when the design is deleted. If needed, a function to explicitly remove the extra data will have the "stix_untag_" prefix.

Compiling and Linking

Add the following paths and link settings to your C++ project settings.

The example below shows what the include paths on your compile line would look like.

/I"$(ROSE_INCLUDE)"
/I"$(ROSE_INCLUDE)/stp_aim"
/I"$(ROSE_INCLUDE)/stix" 	==> Windows

-I$(ROSE_INCLUDE)
-I$(ROSE_INCLUDE)/stp_aim
-I$(ROSE_INCLUDE)/stix  	==> Unix

The example below shows what the libraries on your link line would look like.

stix.lib     stp_aim.lib     rosemath.lib     rose.lib     ==> Windows static
stixdll.lib  stp_aimdll.lib  rosemathdll.lib  rosedll.lib  ==> Windows DLL
stixdlld.lib stp_aimdlld.lib rosemathdlld.lib rosedlld.lib ==> Windows DLL debug

-lstix -lstp_aim -lrosemath -lrose  		==> Unix