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.
- IGES schema in a browsable form, as well as the EXPRESS source listing.
- Type and Form Number to Class Mapping
- Unrecognized Types and Forms
- Reading IGES Files
- Writing IGES Files
- Shift JIS/UTF-8 Characters
- Change History
- Include File: igeslib.h
- Include Path: $(ROSE_INCLUDE)/igeslib
- Library Path (Static): $(ROSE_LIB) with igeslib.lib or -ligeslib
- Class List
- Windows DLLs
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.