:orphan:


###########
IGES Writer
###########

.. rst-class:: format-title-block

+----------------------------------------------------------------------+
|                        **IGES**                                      |
+-----------------------------------------+----------------------------+
| **File Extension**                      | IGS, IGES                  |
+-----------------------------------------+----------------------------+
| **Supported Versions**                  | 5.1                        |
+-----------------------------------------+----------------------------+
| **Platforms**                           | |wy| |ly| |my| |ay| |iy|   | 
+-----------------------------------------+----------------------------+
| :ref:`iges_wt_assembly`                 | |c_green|                  | 
+-----------------------------------------+----------------------------+
| **Tessellation**                        | |c_grey| N/A               | 
+-----------------------------------------+----------------------------+
| :ref:`iges_wt_brep`                     | |c_green|                  | 
+-----------------------------------------+----------------------------+
| :ref:`iges_wt_pmi`                      | |c_grey| N/A               |
+-----------------------------------------+----------------------------+

The IGES file format (Initial Graphics Exchange Specification) was created by the U.S. National Bureau of Standards and first published in January 1980. It was developed as part of the Integrated Computer Aided Manufacturing (ICAM) project by the United States Air Force from 1976 to 1984 to facilitate the exchange of product definition data among different CAD systems.

The HOOPS Exchange IGES writer allows developers to export B-rep data from Exchange to IGES.
The file extensions that you can create when you export the data are:

* `.IGES`
* `.IGS`

As a B-rep-only format, we only export B-rep data.


How to Export to IGES
=====================

To export a model to IGES, use :cpp:func:`A3DAsmModelFileExportToIgesFile`.
Customize the export using :cpp:struct:`A3DRWParamsExportIgesData`.

.. code-block:: c

   A3DRWParamsExportIgesData sParamsExportData = A3D_MAKE_DATA(A3DRWParamsExportIgesData);
   // ... set export parameter options

   A3DAsmModelFileExportToIgesFile(pModelFile, &sParamsExportData, "path/to/file.IGES");

.. rubric:: Export to Buffer

Our IGES writer provides additional parameters to export data, which can be found in the :cpp:struct:`reference manual <A3DRWParamsExportIgesData >`.

Before exporting, ensure that the model contains the geometry and tessellation
you expect. 
See our pages on :doc:`tessellation <guide/geometry/getting_tessellation>` for tips on generating visualization data for export.


.. _iges_wt_assembly:

Assembly
========

The assembly structure is maintained during export.


.. _iges_wt_brep:

B-Rep
=====

When we export to IGES we look at the source data and map each surface to one of the following:

* B-spline surface
* Cylinder
* Cone
* Offset surface
* Plane
* Sphere
* Surface of extrusion
* Surface of revolution
* Torus

...and each curve to:

* B-spline curves
* Composite curves
* Circle
* Ellipse
* Hyperbola
* Line
* Parabola


Visualization
=============

This format does not support a tessellation representation.


Views
=====

Views are not supported by this format.


.. _iges_wt_pmi:

PMI
===

PMI is not supported by this format.

