用語・情報
IGESとは?
IGES(アイジェス)は、様々なCAD/CAMシステム間において、CADデータ変換を行うための中間ファイルの一つです。1981年にANSI(米国国家規格協会)の規格として承認され、1996年のIGES 5.3 をもって最終版となりました。2000年頃にはオプション扱いのCADシステムもありましたが、現在ではほとんどのCADシステムに標準実装されています。
IGES:Initial Graphics Exchange Specificationの略
ANSI:American National Standard Instituteの略
IGESファイルの構成
IGESファイルは全体が5つのセクションで構成されており、1行80文字固定のテキストファイルです。そのため、テキストエディター(メモ帳…)で開くと、中身を確認することができます。
73文字目が “S”, “G”, “D”, “P”, “T” のいずれかにより、どのセクションなのかを判定できます。
セクション名 | 説明 | 行数 |
---|---|---|
スタートセクション | 開始部:コメント文 | n行 |
グローバルセクション | IGESファイルを出力したCADシステムの重要な情報(精度・単位・バージョン等) | n行 |
ディレクトリセクション | データ(図形要素)の属性情報(色・レイヤ・フォーム等) | 1要素を2行で定義 |
パラメータセクション | データ(図形要素)の座標値・数式等 | n行 |
ターミネートセクション | 終了部:各セクションの行数 | 1行 |
重要な情報
IGESファイルのグローバルセクションには様々な情報が記載されています。その中でも特に押さえておきたい情報は、「Native System ID」と「Units Name」です。「Native System ID」はIGESファイルを出力したCADシステムの名前が、「Units Name」にはIGESファイルの単位が記載されています。
例
これは、「CATIA_data.igs」というファイルをテキストエディタで開いた画面の先頭部分です。
グローバルセクションは全部で4行あることがわかります。(73文字目が “G” となっている行)
グローバルセクションは25個のパラメータが順に記載されており、「Native System ID」は5番目に記載されています。(上記の赤線部分:62HDASSAULT SYSTEMES CATIA Version 5-6 Release 2021 – www.3ds.com)
62Hというのは、Hの後に62文字で記載していることを意味しています。つまり、「Native System ID」は
「DASSAULT SYSTEMES CATIA Version 5-6 Release 2021 – www.3ds.com」ということになりますので、CATIA V5-6R2021(通称=R31)から出力されたIGESファイルであることがわかります。
同様に、15番目には「Units Name」が記載されています。(上記の青線部分:2HIN)
2HはHの後に2文字で記載していることを意味しています。つまり、「Units Name」は「IN」ということになりますので、単位はインチであることがわかります。
ちなみに、「Units Name」の仕様は以下の通りです。
Value | Model Units |
---|---|
2HIN or 4HINCH | Inches |
2HMM | Millimeters |
2HFT | Feet |
2HMI | Miles |
1HM | Meters |
2HKM | Kilometers |
3HMIL | Mils (i.e., 0.001 inch) |
2HUM | Microns |
2HCM | Centimeters |
3HUIN | Microinches |
IGESファイルをテキストエディタで開くと、15番目の「Units Name」はどこに記載されているかを探すのは大変です。
spGateにはログ表示機能がありますので、IGESファイルをインポートした直後にログ表示アイコンをクリックすると、下記のように整理された状態で重要な情報を素早く確認できます。
IGES図形要素一覧
IGESでは、要素番号(Entity Number)で図形要素を定義しています。(例:円弧=100、直線=110、トリム面=144…)
IGES図形要素一覧を表示する(クリックで開閉します)
Entity No | Form | Entity Type |
---|---|---|
0 | NULL | |
100 | Circular Arc | |
102 | Composite Curve | |
104 | 0 | Conic Arc |
1 | Conic Arc | |
(Parent conic curve is an ellipse) | ||
2 | Conic Arc | |
(Parent conic curve is an hyperbola) | ||
3 | Conic Arc | |
(Parent conic curve is an parabola) | ||
106 | 1 | Copious Data (2D) |
2 | Copious Data (3D) | |
3 | Copious Data (3D) with Vectors | |
11 | Linear Path (2D) | |
12 | Linear Path (3D) | |
13 | Linear Path (3D) with Vectors | |
20-21 | Centerline Entity | |
31 | Section Entity | |
32-38 | Section Entity | |
40 | Witness Line Entity | |
63 | Simple Closed Planer Curve | |
108 | -1 | Plane (bounded) |
0 | Plane (unbounded) | |
1 | Plane (bounded) | |
110 | 0 | Line |
1-2 | Line | |
112 | Parametric Spline Curve | |
114 | Parametric Spline Surface | |
116 | Point | |
118 | 0 | Ruled Surface |
1 | ||
120 | Surface of Revolution | |
122 | Tabulated Cylinder | |
123 | Direction | |
124 | 0 | Transformation Matrix |
1,10-12 | ||
125 | 0-4 | Flash |
126 | 0 | Rational B-Spline Curve |
1-5 | ||
128 | 0 | Rational B-Spline Surface |
1-9 | ||
130 | Offset Curve | |
132 | Connect Point | |
134 | Node | |
136 | Finite Element | |
138 | Nodal Displacement and Rotation | |
140 | Offset Surface | |
141 | Boundary | |
142 | Curve on a Parametric Surface | |
143 | Bounded Surface | |
144 | Trimmed Surface | |
146 | Nodal Results | |
148 | Element Results | |
150 | Block | |
152 | Right Angular Wedge | |
154 | Right Circular Cylinder | |
156 | Right Circular Cone Frustum | |
158 | Sphere | |
160 | Torus | |
162 | 0-1 | Solid of Revolution |
164 | Solid of Linear Extrusion | |
168 | Ellipsoid | |
180 | 0-1 | Boolean Tree |
182 | Selected Component | |
184 | 0-1 | Solid Assembly |
186 | Manifold Solid B-Rep Object | |
190 | 0 | UnParameterized Surface Plane |
1 | Parameterized Surface Plane | |
192 | 0 | UnParameterized Right Circular Cylinder Surface |
1 | Parameterized Right Circular Cylinder Surface | |
194 | 0 | UnParameterized Right Circular Conical Surface |
1 | Parameterized Right Circular Conical Surface | |
196 | 0 | Unparameterized Spherical Surface |
1 | Parameterized Spherical Surface | |
198 | 0-1 | Toroidal Surface |
202 | Angular Dimension | |
204 | Curve Dimension | |
206 | Diameter Dimension | |
208 | Flag Note | |
210 | General Label | |
212 | 0-8,100-102,105 | General Note |
213 | New General Note | |
214 | 1-2 | Label (Arrow) |
216 | 0-2 | Linear Dimension |
218 | 0-1 | Ordinate Dimension |
220 | Point Dimension | |
222 | 0-1 | Radius Dimension |
228 | 0-3 | General Symbol |
230 | 0-1 | Sectioned Area |
302 | Associativity Definition | |
304 | 1-2 | Line Font Definition |
306 | MACRO Definition | |
308 | Subfigure Definition | |
310 | Text Font Definition | |
312 | 0-1 | Text Display Template |
314 | Color Definition | |
316 | Units Data | |
320 | Network Subfigure Definition | |
322 | 0-2 | Attribute Table Definition |
402 | 1 | Group Associativity |
3 | Views Visible Associativity | |
4 | Views Visible,Color Line Weight Associativity | |
5 | Entity Label Display Associativity | |
7 | Group Without Back Pointers Associativity | |
9,12-16,18-21 | Single Parent Associativity | |
… Dimensioned Geometry Associativity | ||
404 | 0-1 | Drawing Entity |
406 | 1-3,5-14 | Definition Levels Property |
… Flow Line Specification Property | ||
15 | Name Property | |
16 | Drawing Size Property | |
17-36 | Drawing Units Property … Directory | |
408 | Singular Subfigure Instance | |
410 | 0 | View |
1 | Perspective View Entity | |
412 | Rectangular Array Subfigure Instance | |
414 | Circular Array Subfigure Instance | |
416 | 0-4 | External Reference |
418 | Nodal Load/Constraint | |
420 | Network Subfigure Instance | |
422 | 0-1 | Attribute Table Instance |
430 | 0-1 | Solid Instance |
502 | 1 | Vertex |
504 | 1 | Edge |
508 | 0-1 | Loop |
510 | 1 | Face |
514 | 1-2 | Shell |
IGESにおける曲面要素とソリッド定義
先ほどの図形要素の中から、主な曲面要素をピックアップしてみます。
Entity No | Entity Type |
---|---|
108 | Plane |
114 | Parametric Spline Surface |
118 | Ruled Surface |
120 | Surface of Revolution |
122 | Tabulated Cylinder |
128 | Rational B-Spline Surface |
140 | Offset Surface |
143 | Bounded Surface |
144 | Trimmed Surface |
154 | Right Circular Cylinder |
186 | Manifold Solid B-Rep Object |
一般的に3Dの曲面データをIGES出力する場合には、
①143:Bounded Surface
②144:Trimmed Surface
③186:Manifold Solid B-Rep Object
のいずれかで出力されます。
①と②は面と面のつながり情報(位相構造・トポロジー)がありませんので、バラバラの面群データです。
CADシステムによってディフォルト(初期設定)は①か②のどちらかになっており、システムによっては設定で切り替えることも可能です。
③は面と面のつながり情報がありますので、ソリッド形状やシート形状を表現できます。
主要CADのIGES出力
CATIAやSOLIDWORKSなど、主要なCADシステムにおけるIGES出力を調べてみました。
システム名 | バージョン | 出力 | ||
143:Bounded Surface | 144:Trimmed Surface | 186:Manifold Solid B-Rep Object | ||
CATIA | Version 5-6 Release 2020 | - | ◯ (default) | ◯ (手動切替) |
NX | 1872 | - | ◯ (default) | - |
Creo | Parametric 6.0.2.0 | ◯ (手動切替) | ◯ (手動切替) | ◯ (手動切替) |
SOLIDWORKS | 2020 | ◯ (手動切替) | ◯ (default) | ◯ (手動切替) |
CADMeister | 2020 | - | ◯ (default) | - |
CAM-TOOL | 17.1 | - | ◯ (default) | - |
Rhinoceros | 7 | ◯ (default) | ◯ (手動切替) | - |
spGate | 2021.2 | ◯ (手動切替) | ◯ (default) | ◯ (手動切替) |
トリム面(144:Trimmed Surface)の内部構造
主要CADのIGES出力で記載した上表からもわかるように、多くのCADがdefaultで出力している曲面の表現はトリム面(144:Trimmed Surface)です。このトリム面定義は、IGESファイルの中では、大きく3つの要素で構成されています。
赤文字はJAMA(Japan Automobile Manufacturers Association:日本自動車工業会)、JAPIA(Japan Auto Parts Industries Association:日本自動車部品工業会)発行のPDQ(Product Data Quality:モデルデータ品質)ガイドラインで使用している用語。
IGESデータの行数制限
冒頭で説明しましたとおり、IGESは全体が5つのセクションで構成されています。そのうち、スタートセクション・グローバルセクション・ターミネートセクションは、行数制限が問題になることはありません。
しかしながら、ディレクトリセクション・パラメータセクションは、CADデータの要素数(特に面数)に比例して行数が多くなってしまいます。IGESの各行はIDで管理されており、その管理番号は7桁しかありません。つまり、最大でも9,999,999行までしか表現できません。
昔は面数の多いCADモデルは少なかったのでIGESデータの限界が問題になることは多くありませんでした。しかしながら、最近はPC環境やCADシステムの進化により、大容量のCADモデルも増えてきました。そのため、7桁では管理できないケースが出てきています。
限界を超えたIGESデータを読み込んでも、エラー・面欠け・不正表示など、受け取るCADシステムにより様々な不具合が発生します。
上限を超えていないIGESデータ例
上限を超えたIGESデータ例
spGateで大容量IGESの最終5行を確認した例
パラメータセクションは全部で12,685,420行(8桁)あるのですが、実際のIGESファイルには
8桁表現できませんので、2,685,420行(7桁)で終わっています。
残念ながら、このような不正IGESファイルを修復することはできません。しかし、IGESファイルの最終行付近を確認することで、「限界を超えた不正データである」ということがわかります。データ入手元に説明し、要素数を減らして複数のIGESファイルで再度出力を依頼したり、別のフォーマットで出力を依頼するなどの対策が必要です。
JAMA-ISとは?
JAMA-IS(ジャマ アイジェス)とは、Japan Automobile Manufacturers Association Iges Subset の略で、IGESのサブセット(部分集合)です。
1993年から、日本自動車工業会 CADデータ交換 標準化ワーキンググループが主導して仕様を策定しました。(参加企業:ほとんどの国産自動車メーカー)
当時は3次元CADの普及期で、国産自動車メーカーは、オリジナルの自社CADを開発していました。しかし、IGESの対応状況は自動車メーカーによって異なり、3次元CADデータの授受には問題が山積していました。そのため、まずは3次元CAD形状をなんとか受け渡すために、対応要素を自由曲面に限定しました。フルセットのIGESには約80種類の定義がありますが、サブセットのJAMA-ISは33種類に限定されています。
3次元CADデータ変換で難しいのは、円柱・球などの幾何曲面(プリミティブ)ですので、自由曲面に絞ったJAMA-ISでは、変換率が大幅に向上しました。
現在のCADシステムにおけるJAMA-ISオプション設定例
CATIA
曲線およびサーフェスタイプ=標準 →IGES
曲線およびサーフェスタイプ=Bスプライン →JAMA-IS
NX
□日本自動車工業会規格準拠(JAMA) →チェックボックスON=JAMA-IS
spGate
□JAMA-IS →チェックボックスON=JAMA-IS
JAMA-ISの注意点
JAMA-ISでデータ変換した場合、自由曲面データなので(円柱・円錐などの幾何曲面は含まない)、変換そのもののトラブルは激減します。しかしながら、受け取った後工程で円柱として扱いたい場合には、問題が発生します。例えば、あるCAMシステムでJAMA-ISで形状データを受け取った後に、穴加工を行うと仮定します。見た目は円柱形状ですが、中身は自由曲面なので、CAMシステムとして穴の認識ができません。また、半径値を確認したくても確認できないこともあります。
このような場合には、spGateで自由曲面を円柱・円錐に近似変換する必要があります。
幾何曲面近似・幾何曲線近似することで、穴を認識したり、半径値の確認が可能になります。
tag : IGES