Overview

The ST-Developer IGES library contains the C++ classes for all definitions (entity types) supported by the IGES specification, plus a filer for reading and writing IGES format files from the classes.

Reading applications typically read an IGES file and then traverse the C++ classes to populate some other native data structure. Writing applications create C++ instances from native data and then export an IGES file. The ST-Developer IGES converter is a simple application built around this library.

The IGES class library is installed as shown below:


Includes and Setup

The IGES EXPRESS definitions are grouped into six schemas based on the sections of the IGES documentation. The igeslib.h header file brings in declarations for all IGES classes and utility functions.

If prefer to #include individual header files for specific IGES classes, you should first bring in the igeslib_defs.h file to make sure that any DLL symbols are properly defined.

You must call the igeslib_force_load() function near the start of your main() to make sure that the linker includes all of the IGES C++ classes. Also, the library contains a built-in version of the compiled EXPRESS data dictionary which you must initialize by calling the igeslib_create_builtin_schemas() function. This built-in dictionary eliminates the need to ship any runtime support files.

#include <igeslib.h>

int main(int argc, char* argv[])
{
    // force loading of classes and data dictionary.
    igeslib_force_load();
    igeslib_create_builtin_schemas();

    // body of program
}


Class Name Conventions

The generated classes for all of the IGES definitions have the "igs_" prefix. So the class for the "line_entity" EXPRESS definition is igs_line_entity, the class for "point_entity" is igs_point_entity, and so on. This prefix makes it easier to identify the classes within your code and avoids symbol conflicts with other packages on common names. Within the EXPRESS schema, definitions for numbered IGES entities always have the "_entity" suffix, which makes it simple to distinguish them from supporting definitions.

A complete list of all classes for entities, complex entity combinations, aggregates, select types, and enumerations, is available with links to the EXPRESS definitions. We have also provided a table showing the mapping from IGES entity and form numbers to EXPRESS.