Initial Graphics Exchange Specifications (IGES) (.igs, .iges)

File Exchange Steps

For information on specific IGES file exchange details, see the white paper on the Rhino Wiki web site.

Simple IGES export options

Detailed Options

Author, Organization, Sender's product ID, and Receiver's product ID

These are text fields in the IGES file that can be used for identification purposes.

IGES tolerance

In general, the IGES tolerance should match the absolute tolerance setting in Rhino, taking account the possible unit conversion.

The IGES tolerance does not affect the accuracy of the geometry.

IGES units

The units used for the IGES export.

Include notes in the IGES file

Check to save notes in IGES start section. Otherwise, the IGES start section is a blank line.

Render color as IGES entity color

Check to use the render color of objects as the IGES entity color. Otherwise, Rhino uses the layer color of the object as the IGES entity color.

To customize the IGES export options

Notes

3D Studio MAX 3.0

Notes

CATIA

Notes

Mechanical Desktop

Exporting From Mechanical Desktop R2.0

The best way to get geometry from Mechanical Desktop (MDT) Release 2.0 into Rhino is to use the MDT IGESOUT command. To get the best results, you may need to adjust the MDT IGES export options.

To export:

  1. In MDT start the IGESOUT command.

  2. In the Autodesk IGES Translator R14 - IGESOUT dialog box, click Edit options.

  3. In the IGESOUT Options Editor dialog box, click Start and Global.

  4. In the IGESOUT Start and Global Options dialog box, set IGES Version to either 5.2 or 5.3.

    Version 5.3 stores years as 4 digit numbers. Version 5.2 stores years as 2 digit numbers, and click OK.

  5. In the IGESOUT Options Editor dialog box, click Structure.

  6. In the IGESOUT Structure Options dialog box, set Map Layer Names to Level Property (4063) and click OK.

  7. In the IGESOUT Options Editor dialog box, click Geometry.

  8. In the IGESOUT Geometry Options dialog box, set 3D Solid/Designer part mapping to Surfaces, and set Trimmed Surface Mapping to Bounded surface (143) and click OK.

  9. In the IGESOUT Options Editor dialog box, click DE Mappings.

  10. In the IGESOUT DE Mapping Options dialog box, check Color Definition Entity (314) and click OK.

  11. To save these settings, in the IGESOUT Options Editor dialog box, in the Description box, type a description and click Save As. Save the options in a file called something like MDTtoRhino.opt.

Notes

Pro/E

Notes

Notes

Softimage

Softimage can also import 3DS, DXF, and OBJ file formats created in Rhino.

SolidWorks

Notes

Edit IGES Export Type Details

Gray_Book_Open.gif Related topics…

General

Name

Type a name for the IGES type.

IGES version

Choose between IGES version 5.2 and 5.3.

The difference is 5.2 stores years if you use two digits and 5.3 if you use four digits.

Text file type

Choose between MS-DOS, Unix, and MacOS style line endings.

MS-DOS uses carriage return + line feed (CRLF), Unix uses LF, and MacOS uses CR.

Scale

Set the default scale factor for the IGES type. The number must be bigger than zero.

In most cases, this number should be one.

Points and Curves

Point Objects

Point objects can export as separate IGES 116 point entities, and all points on a single layer can export as a single IGES 106-2 point set.

Max degree

Choose between no maximum degree, maximum degree 3, and maximum degree 5.

If the max degree is set to 3, all NURBS curves with any degree higher than 3 are approximated with non-rational cubics to the specified IGES tolerance.

If the max degree is set to 5, all NURBS curves with degree higher than 5 are approximated, in non-rational quintics, to the IGES tolerance you specify.

Composite curves as single B-spline

Curve made from two or more B-splines can be exported as an IGES 102 (composite curve) entity or as IGES 126 entities.

Use simple entities when possible

Use this setting to export NURBS curves that are lines, arcs, or circles (within the IGES tolerance) as IGES lines, IGES arcs, or IGES circles.

Fit rational curves

With this setting all rational curves (curve objects and trim curves) are approximated, in non-rational cubics, to the tolerance specified as the IGES tolerance.

Clamp end knots

With this setting periodic NURBS curves are exported as NURBS curves with clamped end knots.

Surfaces

Solids

Solids can be exported as separate surfaces, IGES 184 entities, IGES 186 (Manifold BRep) entities, or IGES 402-7 (Unordered group) entities.

Polysurfaces

Open polysurfaces can be exported as separate -2 surfaces or IGES 402-7 entities.

Surfaces

Surfaces can be exported as IGES 128, IGES 143 and IGES 144 entities.

IGES 128 means all trimmed surfaces are exported as untrimmed surfaces.

Max degree

Choose between no degree limit, maximum degree three, and maximum degree five.

If the max degree is set to three, when possible, all NURBS surfaces with degree higher than three are approximated, in non-rational cubics, to the specified IGES tolerance.

If the max degree is set to five, when possible, all NURBS surfaces with degree higher than five are approximated,in non-rational quintics, IGES tolerance you specify.

Use simple entities when possible

With this setting NURBS surfaces that are planar (within the tolerance specified as the IGES tolerance) export as IGES planes or IGES trimmed planes.

Fit rational surfaces

With this setting, when possible, rational NURBS surfaces are be approximated with non-rational cubics to the tolerance specified as the IGES tolerance.

Clamp end knots

With this setting periodic NURBS surfaces are exported as NURBS surfaces with clamped end knots.

Split closed surfaces

If a surface is closed (like a cylinder), the surface will be split into two halves in the IGES file. If a surface is closed in both directions (like a torus), the surface will be split into four quarters in the IGES file.

Split bipolar surfaces

If a surface has poles at both ends (like a sphere), the surface is split so each half has just one pole.

Edit IGES Export Types

Gray_Book_Open.gif Related topics…

To create a new IGES type:

  1. In the IGES Export Types dialog box, click New.

  2. Set the options for the IGES type.

  3. Click Close.

To create a new IGES type based on existing type:

  1. In the IGES Export Types dialog box, select an IGES type and click Copy Type.

  2. Set the options for the IGES type.

  3. Click Close.

To edit an IGES type:

  1. In the IGES Export Types dialog box, select an IGES type, and click Edit.

  2. Set the options for the IGES type.

  3. Click Close.

To delete an IGES type:

Troubleshooting IGES files

If you read IGES files created from Rhino into another product and some surfaces are missing, try the following test.

  1. Export your geometry using the "Test 143" export type.

  2. Export the same geometry again using the "Test 144" export type.

  3. Try to load both files into your product.

    If you get better results with one export type, post the results to the Rhino newsgroup news//news.rhino3d.com/rhino so we can document this file format.

Problem:

Your meshes do not export to the IGES file.

Solution:

The IGES file format does not support meshes.

Problem:

You read an IGES file and nothing appears in the file.

If you read an IGES file and nothing is imported, Rhino displays the IGES Import Summary Information message box that says:

Rhino found nothing to import from this IGES file.
This happens when an IGES file has no valid independent geometry.
A summary of the file's contents is printed in the command history window.
Type "CommandHistory" to view the entire summary.

Solution:

The IGES file may contain usable IGES geometry entities that are not marked as geometry. To see if this is the case, you need to do a bit of sleuthing. When Rhino reads an IGES file, it prints a summary of the IGES file's contents in the command history window.

Use CommandHistory (F2) to view the data.

You'll see a report that looks similar to the this:

IGES global section settings in "myfile.igs"

Author: …
Author's organization: …
Sender model name: …
Receiver model name: …
Sender file name: …
Sender system ID: …
Sender IGES preprocessor: …
IGES file created time: date month year hour:minute:second
Model created/last modified time: date month year hour:minute:second
Unit system: millimeters
Unit system name: MM
IGES tolerance: 0.01
Maximum coordinate: 101
Scale: 1 model units = 1 world unit

IGES file contents summary

Number of invalid directory entries: 0
Null entity count: 0
Transformation matrix entity count: 1
Attribute information entity count: 0
All other entities:

Category (independent count/physically dependent/logically dependent/total count)
Geometry (0/…/…/Ng)
Annotation (…/…/…/Ng)
Definition (…/…/…/Ng)
Other (0/0/0/ No)
Logical/Positional (0/0/0/0)
2d Parametric (0/0/0/0)
Construction Geometry (0/0/0/0)

Imported 0 entities from IGES file myfile.igs.

If the Geometry(…) line looks like Geometry(0/…/…/n) and n is not zero, then it may be that valid geometry is in the IGES file, but that geometry is incorrectly marked as dependent. If one of the Annotation(), Definition(), Other(), or Logical/Positional(), lines has (…/…/…/n) and n is not zero, then it may be that there is valid geometry in the IGES file that is incorrectly marked as something besides geometry.

If you think there is a chance that an IGES file contains valid geometry that is not being read because the IGES file has put the geometry in the wrong category, then you can use an advanced Rhino command to attempt to read this IGES file.

The ReadEveryIgesEntity command tells Rhino that the next time an IGES file is read, it should ignore all category settings in the IGES file and try to read everything.

ReadEveryIGESEntity

Import all IGES entities, regardless of type.

Steps:

The ReadEveryIGESEntity command only effects the next IGES file that is read. If you do something like:

open alpha.igs
ReadEveryIgesEntity
open beta.igs
open gamma.igs

Rhino attempts to read every entity only from beta.igs.

Rhino reads alpha.igs and gamma.igs normally, accepting only entities marked as geometry.

_ABlankButton.png

None

Menu2.png

None

Gray_Book_Open.gif Related topics…

IGESStudy

Examine specific entities in an IGES file by limiting which portions of the IGES directory are parsed.

Warning:

This command is for users familiar with the structure of IGES data files. No technical support is available for this command. The IGESStudy command is for expert users who need to dig through large IGES files on piece at a time. Again, expert knowledge of IGES file structure is required.

Background

Every entry into an IGES file also has directory entry (DE). The information that a DE stores determines if the corresponding IGES entity (curve, surface, solid, color, layer name, etc.) gets read. To further understand the importance of not blindly reading every entity in an IGES file as a top level piece of geometry, do this test:

  1. Use the BooleanUnion command to make a multi-faced solid from a box, torus, and sphere.

  2. Export the solid to an IGES file.

  3. Read the IGES file back in. You will get an exploded version of what you started with.

  4. Delete all the stuff you just read in.

  5. Run the ReadEveryIGESEntity command.

  6. Read the IGES file again. You will get lots of extra curves and surfaces.

The extra curves and surfaces you got in step 6 provide the information you need to create trimmed surfaces. These curves and surfaces were imported in step 6 because the IGES reader ignored to DE information that flags the corresponding entity as a part of some "top" level object. The ReadEveryIGESEntity command is used as a last resort to get information out of IGES files that have "top" level objects that have been flagged as parts.

Basic scenario:

You read an IGES file and it looks like some information is coming in damaged. The first thing you need to find out is the DE of the damaged objects. Run the IGESStudy command and turn the Label option on.

IGES debugging options (DEtest=Off  FirstDE=1  LastDE=0  ReadEveryEntity=Off  Label=On)

Read the file again. This time, every object you read has its Rhino name set to "DE N", where "N" is an odd number. The directory entries in an IGES file are labeled 1, 3, 5, 7, and so on. Select the bad objects and make a list of the DE's that are troublesome. Let us say 13, 137, and 9025 were coming in as bad objects.

Now you use the IGESStudy command to read just the problem entitles, one at a time.

IGES debugging options (DEtest=On  FirstDE=13  LastDE=13  ReadEveryEntity=Off  Label=On)

You verify that DE 13 is coming in as junk. Then, look at the IGES file (in a text editor or a program like IGESure) and see what DE 13 is supposed to be. If you understand the entity, you can use the IGESStudy command to read in the parts that are used to make the entity. For example, you can look at the base surface and trimming curves to see what might be going on. As you do this, you will find blocks of entities you need to read. In those cases, you can use the IGESStudy command to read chunks of the file. For example:

IGES debugging options (DEtest=On  FirstDE=123  LastDE=199  ReadEveryEntity=On  Label=On)

will read every entry with DE number between 123 and 199. If you only want to read top level entities you set ReadEveryEntity=Off.

_ABlankButton.png

None

Menu2.png

None

Gray_Book_Open.gif Related topics…

SetIGESLayerLevelMap

Controls the correspondence between Rhino layers and IGES levels on IGES import and export from the command line or a script.

Steps:

IGES "levels" are like Rhino layers, except they use a number as an identifier instead of a text name. If you have layer standards for products that use IGES to exchange data, you will need a way to define a correspondence between Rhino layer names and IGES level numbers. Rhino has a layer to level function.

To set up correspondence between Rhino layers and IGES levels:

Steps:

  1. Select the map file you created.

  2. Select the flavor option.

    For example, if your file is called "iges_level_mapping.txt" and you want to use the "FruitStand" type, set the Flavor option to FruitStand.

Flavor Options

LayerMapping

Flavor

File

Notes

-SetIGESLayerLevelMap

_ABlankButton.png

None

Menu2.png

None

Gray_Book_Open.gif Related topics…