Overview

The STEP-NC Control Library provides functions for using STEP process information with industrial controls. It is called stixctl, and is used with the STEP and STEP-NC library stack.

Getting Started

The stixctl.h master header brings in all of the definitions from the stixctl library. Your application will need to initialize the STEP EXPRESS library and the ARM library.

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


int main (int argc, char ** argv)
{
    stplib_init();
    ST_MODULE_FORCE_LOAD();


    RoseDesign * design = ROSE.findDesign (srcfile);
    stix_tag_units(design);
    ARMpopulate(design);

    [ ... your code here ... ]

    return 0;
}

The functions are prefixed with "stixctl_" 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_".

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)/stp_arm"
/I"$(ROSE_INCLUDE)/stmodule"
/I"$(ROSE_INCLUDE)/stixctl"
/I"$(ROSE_INCLUDE)/stix" 	==> Windows

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

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

stixctl.lib stp_arm.lib stix.lib stp_aim.lib stmodule.lib rosexml.lib rosemath.lib rose.lib     ==> Windows static

-lstixctl -lstp_arm -lstix -lstp_aim -lstmodule -lrosexml -lrosemath -lrose     ==> Unix static