An IGES to BRL-CAD translator (post-processor) has been developed based on the ANSI standard ASME Y14.26M-1989, which is essentially IGES 4.0. Therefore, this translator accommodates (with approximations in some cases) all the ANSI (i.e., IGES) CSG entities. The translator does not support the IGES BREP entities from IGES Version 5.1 The current translator reads the IGES file, checks for correct syntax, then proceeds to construct the BRL-CAD model. The translator makes extensive use of the BRL-CAD libwdb package, thus avoiding concerns about the details of the BRL-CAD database format as well as future concerns about changes to that format. The following routines from libwdb are used: When transformation matrices and translations are present in an IGES file, they follow the same convention as BRL-CAD does and can be used as arguments in the mk_addmember calls for building combinations. Any transformations applied to top level objects are applied by creating a new top level group named all that contains all unreferenced objects with their transformations applied.

The IGES to BRL-CAD post-processor described above has been implemented and has been successfully exercised on a number of actual IGES CSG files. Some of these files were obtained from CAD systems that support IGES and some were hand developed for the purpose of testing this software. The four following illustrations show solid models that were originally generated on a Calma CAD system and translated to BRL-CAD via IGES. SDRC[8] The models were converted to BRL-CAD using the IGES to BRL-CAD translator and then rendered by BRL-CAD's ray-tracer rt.

These models contained some of the IGES entities that are not supported by BRL-CAD. However, the resulting models are certainly acceptable for most applications. The necked-down cylinder portion of the part in the first illustration is a solid of revolution (and approximated by a combination of BRL-CAD gentgc primitives as described above). The three ears on the same part are solids of linear extrusion (and are BRL-CAD polysolid approximations). The next two are views of a model that was used as the AUTOFACT V demonstration part. AUTOFACT is a national convention focusing on manufacturing technology and the transfer of part designs from system to system. The model in the fourth illustration contains three solids of linear extrusions and five solids of revolution. In spite of our translator's approximations, we think the reader will agree that the resulting BRL-CAD model looks like a reasonable object (whatever it is).

The following four figures illustrate original BRL-CAD models that have been converted to the IGES format and then translated back to BRL-CAD via the current IGES translator.

The translation to IGES was performed by a rudimentary translator with some manual file editing. For practical purposes, the tin woodsman model shown in the first pair of figures translated to and from IGES without loss of precision or geometry. Some nongeometry information was lost in the process, such as object names and material properties. In the third figure, a building rests on a mirrored surface, but that same building after translation to IGES and back rests on a geometrically equivalent surface that does not possess the mirror property. Also, the colors for this object have not been converted to IGES because the colors in the original model were not assigned to the objects, but were listed in a color table that associates ranges of object ident numbers with colors. Object colors are translated by using a field in the object directory entry. This color field may contain either a color index referring to a predefined set of colors or a pointer to a color definition entity. The color definition entity allows colors to be specified by a three-tuple indicating red, green, and blue intensities similar to that used in BRL-CAD, so the object color gets translated exactly. The current translator does not handle material properties, object names, or color tables although there are IGES entities available to support all these items.

IGES 4.0 also includes the capability to exchange a variety of three-dimensional surfaces. The BRL-CAD translator takes advantage of this capability in a limited way by converting Non-Uniform Rational B-spline surfaces (NURBS) to a BRL-CAD spline solid. Since there is no topology present for BREP models in IGES 4.0, there is no way to infer how to combine the NURBS to produce solids. This translator makes the assumption that all the NURBS in the IGES file are part of a single solid. This may not always be a correct assumption, but it at least provides a minimal translation capability for CAD systems that produce NURBS and NURB-surfaced solids. This feature is not intended to be a true BREP translator and will likely be replaced in future releases with a more rigorous approach.

This translator is distributed as part of the BRL-CAD package and may be obtained by contacting the Survivability/Vulnerability Information Analysis Center (SURVIAC) at:

	SURVIAC Aberdeen Satellite Office
	1003 Old Philadelphia Road, Suite 103
	Aberdeen, MD 21001 USA
by electronic mail to <>, or via FTP.

Next Section

Table of Contents