Welcome to the libIGES project
This project aims to create a C++ library for preprocessing and creating IGESv5.3 solid model data interchange files. As of July 2015 the library has enough features implemented that it can merge existing IGES models into a single assembly file and can be used to create a solid model of electronic circuit boards.
The libIGES library aims to be a lightweight implementation for extracting, writing, and viewing model data; it is not intended as the core of a Mechanical CAD application.
The current code features support for the following IGES entities:
- 100: Circular Arc
- 102: Composite Curve
- 104: Conic Arc
- 110: Line
- 120: Surface of Revolution
- 122: Tabulated Cylinder
- 124: Transformation Matrix
- 126: Rational B-Spline Curve
- 128: Rational B-Spline Surface
- 142: Curve on a Parametric Surface
- 144: Trimmed Parametric Surface
- 154: Right Circular Cylinder
- 164: Solid of Linear Extrusion
- 180: Boolean Tree
- 186: Manifold Solid BREP Object (MSBO)
- 308: Subfigure Definition
- 314: Color Definition
- 408: Singular Subfigure Instance
- 502: Vertex
- 504: Edge
- 508: Loop
- 510: Face
- 514: Shell (Form 1 only)
A number of programs exist primarily for the purpose of testing and validating the IGES preprocessor; of these programs the following two may be of general use:
- mergetest: takes an input file with a list of IGES model files and associated position and orientation data and creates an IGES assembly file.
- idf2igs: takes an IDFv2 or IDFv3 interchange file set (*.emn and *.emp files) and creates an IGES assembly representing the electronic circuit board as described by the IDF files. This tool may be useful to Mechanical CAD users who need to work with IDF files but who have no IDF translator.
As of July 2015 the library does not yet have any capability to create a graphical representation of the model data for visual display.
The library is portable between operating systems and instructions are included for building in a Linux environment and in an MS Windows environment using either the MicroSoft Visual Studio tools or the GNU compiler collection provided with MinGW.