AFsoft WebSite(エーエフソフト・ウェブサイト)
 

オペレーティング・システムについて

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
IGESファイル
IGES(Initial Graphics Exchange Specification)は、3次元CAD/CGソフトやNCマシニング等でよく利用されるCAD中間ファイルで、ANSI(American National Standards Institute)の規格として承認されています。
  Version 1.0:ANSI Y14.26M-1981
  Version 3.0:ASME/ANSI Y14.26M-1987
  Version 4.0:ASME/ANSI Y14.26M-1989
  Version 5.0:1990-10 Release
  Version 5.1:1991-09 Release
 
IGESファイルとは?

IGESファイルの構造は以下の図のようになります。
スタートセクション
グローバルセクション
ディレクトリエントリセクション
パラメータデータセクション
ターミネートセクション

スタートセクションは、コメント行に相当します。
グローバルセクションは、図面ファイル・システム情報が記述されます。
ディレクトリエントリセクションは、各要素のインデックスや属性情報等が記述されます。
パラメータデータセクションは、要素の具体的なパラメータ情報が記述されます。
ターミネートセクションは、ファイルの終了を示します。
 
IGESファイルはASCIIテキスト形式になっています。ANSI規格ですので漢字についての規定はありませんが、使用するソフトウェアによって、シフトJISコード、JISコード、EUCコード、Unicode、区点コード、ISO 10646等が利用されると考えられます。安全のため、漢字は出力しないようにするのも1つの手段です。
 
IGESは、1行80文字(1レコード80カラム)として扱われるFORTRAN式のカード形式になっており、第73カラムには各セクションを示す記号が記述され、第74カラムから第80カラムには、各セクションのシーケンス番号が記述されます。
123...                      ...777
012
7
3
77  8
45  0
(データ記述部)Cnnnnnnn

なお、行(レコード)の最後には通常、改行コードが入りますが、システムによって、CR+LF、CR、LF、改行コード無し、というパターンがありますので、IGES入力ソフトを作成する場合には、注意が必要です。
 
各セクションは、行(レコード)で管理されますので、各セクション間の区切記号はありません。
 
スタートセクション

スタートセクションには、コメントを記述します。
レコード数は任意です。通常は、タイトル、使用ソフト名、バージョン、会社名、日付、等を記述するようですが、基本的には何でもかまわないです。
出力ソフト:AFxxx/AFsoft          S0000001
This is Sample Data File.               S0000002

グローバルセクション

グローバルセクションには、図面ファイルのシステム情報を記述します。バージョンによってパラメータの数は異なりますので注意が必要です。下記は、現在ごく一般的に利用されているVersion 5.0での例です。(文字はFORTRAN式に記述しますので注意して下さい。)
順序タイプ内容変換仕様
文字
デリミタ文字,1H,
文字
終了デリミタ文字;1H;
文字
送信システムの送信ID出力ソフト名5HAFxxx
文字
ファイル名8文字6HSample
文字
システムIDソフト会社名等6HAFsoft
文字
ANSI標準翻訳バージョン 4HV5.0
整数
整数ビット数整数の精度指定32
整数
単精度の指数ビット数単精度 //72
整数
単精度の仮数ビット数   //6
10
整数
倍精度の指数ビット数倍精度 //32
11
整数
倍精度の仮数ビット数   //14
12
文字
受信システム製品ID 4H  
13
整数
モデル空間のスケール通常は1.01.0
14
整数
単位フラグ1:inch 2:mm2
15
文字
単位4HINCH又は2HMM2HMM
16
整数
線幅の刻み値の最大値 100
17
実数
最大線幅サイズ 1.0
18
文字
ファイル作成日時13Hyymmdd.hhnnss 13H000120
.153000
19
実数
ユーザの希望最小解像度 1.0D-8
20
実数
最大座標値Max(SizeX,SizeY)1000.0
21
文字
作成者名 2HAF
22
文字
組織名 8H    
23
整数
参照IGES仕様バージョンVer5:88
24
整数
参照製図規格コードJIS:77
25
文字
モデル最終作成変更日時13Hyymmdd.hhnnss 13H000131
.210000

上記の例だと、グローバルセクションは以下のようになります。
1H,,1H;,5HAFxxx,6HSample,6HAFsoft,4HV5.0,32,72,6,32,14,G0000001
4H  ,1.0,2,2HMM,100,1.0,13H000120.153000,1.0D-8,G0000002
1000.0,2HAF,8H    ,8,7,13H000131.210000;G0000003

ディレクトリエントリセクション

ディレクトリエントリセクションは、パラメータセクションへの索引、その要素型、層、線種等の属性情報を記述します。1要素につき2レコードで構成され、各レコードは8文字から成る10個のフィールドで記述します。(以下の#は数値、Pは索引番号、#.Pは数値又は索引番号(索引番号の場合は負数))
要素番号
#
索引番号
P
IGES ver
#.P
線種
#.P
レベル
#.P
投象図
P
変換行列
P
結合要素
P
Status
#
Dxxxxxxx
要素番号
#
線幅
#
ペン番号
#
カード数
#
形式番号
#
予備
 
予備
 
要素
ラベル
SubScrpt
#
Dxxxxxxx

要素番号は、円弧=100、線分=110、点=116、注記=212、等というようになっています。(要素の種類はたくさんありますが、ここでは詳しく説明致しません。)
索引番号は、そのデータの最初のシーケンス番号を記述します。
IGES Verには、具体形要素の場合はその定義要素への索引番号、を指定しますが不要/不明な場合は「0」で構わないでしょう。
線種は、
  1:実線、2:破線、3:2点鎖線、
  4:1点鎖線、5:点線、
です。
レベルは通常、レイヤ番号に相当します。
投象図は、投象図要素のディレクトリの索引番号又は結合の具体形、を指定しますが不要/不明な場合は「0」で構わないでしょう。
変換行列は、変換行列要素を示すディレクトリの索引番号を記述します。「0」を指定すると、定義空間=モデル空間であり、形式番号が、10:直交座標系、11:円筒座標系、12:極座標系、と指示されます。「0」と指定されない場合もあります。
結合要素は、結合の具体形要素を示すディレクトリへの索引番号、を指定しますが不要/不明な場合は「0」で構わないでしょう。
Statusは、要素の可視性、従属性、要素種別、を表す番号、を指定しますが不要/不明な場合は「00000000」と記述します。
線幅は、グローバルセクションの、「線幅の刻み値の最大値」と「最大線幅サイズ」とここで指定される値を使って定義されます。「0」を指定すると”指定無し”になります。
  実際の線幅=このパラメータ×「最大線幅サイズ」
        ÷「線幅の刻み値の最大値」
ペン番号は通常、色番号に対応します。
  1:黒 2:赤 3:緑 4:青
  5:黄 6:マゼンダ 7:シアン 8:白
カード数は、このディレクトリ部に対応するパラメータセクションのレコード数を記述します。
形式番号は、図形要素の詳細を決定する番号です。
要素ラベルは、線分なら「line」のように8文字までの注釈を付ける事が出来ます。SubScript番号と一緒に用います。こちらは通常「0」でも構いません。
以下は、線分1要素へのディレクトリエントリの例です。
   110    1    0    1    3    0    0    000000000D0000001
   110    0    4    2    0          Line    0D0000002

このデータは、線分で、パラメータセクションの1番から始まりレコード数4であり、線種は実線(1)、レイヤは3、線幅は0(指定無し)、色は赤(2)、という意味になります。
 
パラメータデータセクション

ディレクトリエントリセクションで色や線種などの属性を定義した要素の具体的なデータを可変長フォーマットで記述します。
各パラメータは、第1カラムから第64カラムまでを使って記述し、第65カラムから第72カラムまではこの要素のディレクトリエントリへの索引番号を記述します。
データは、グローバルセクションのデリミタ文字(通常は「,」)で区切り、データの最後に、グローバルセクションの終了デリミタ文字(通常は「;」)、を付加します。
 
直線の例((10,20,30)〜(100,200,300))
(ディレクトリエントリは 0000001)
110,10.0,20.0,30.0,         0000001P0000001
  ,100.0,200.0,300.0; 0000001P0000002

の例((100,200,300))
(ディレクトリエントリは 0000002)
116,100.0,200.0,300.0,0;      0000002P0000003

  (最後のデータ「0」は、点のシンボル図形が無い事
   を示します。もしシンボル図形が存在する場合は、
   その図形のディレクトリ部への索引番号が記述され
   ます。)
円・円弧の例
   円・円弧は、ある平面上にあると想定し、その平面
   からの高さ、中心点、開始点、終了点、で表します。
   そしてx,y,z直交座標系からその平面への変換行列を
   設定し、ディレクトリエントリの変換行列項目に
   その変換行列要素への索引番号を指定する事になり
   ます。(円は、開始点と終了点が同じになります)
   2次元データの場合には、変換行列を単位行列に
   しておくと簡単です。
   (ソフトによっては、変換行列の項目を「0」に
    している場合もあります。)
   なお、円弧の作図方向は、開始点から終了点へ
   反時計回りとなります。
   時計回りに作図したい場合には、変換行列で
   逆向きにさせるようにします。
   (ディレクトリエントリ)
   124    4    0    0    0    0    0    000000000D0000005
   124    0    0    1    0         Matrix    0D0000006
   100    5    0    1    3    0    5    000000000D0000007
   100    0    4    1    0           Arc    0D0000008

   (パラメータデータ)
   (中心(100,200)半径50の2次元座標での円)
124,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0;0000005P0000004
100,0.0,100.0,200.0,150.0,200.0,150.0,200.0;0000007P0000005

   変換行列は、
   R11,R12,R13,T1,R21,R22,R23,T2,R31,R32,R33,T3
   の順に並び、これは、
         ┃X'┃ ┃R11 R12 R13┃ ┃X┃ ┃T1┃
 変換後の座標値 ┃Y'┃=┃R21 R22 R23┃ ┃Y┃+┃T2┃
         ┃Z'┃ ┃R31 R32 R33┃ ┃Z┃ ┃T3┃
   を示すものです。
   (要素が階層構造になっていて、それに変換行列が
    参照されている場合(ネストされている場合)
    その変換行列の多重計算を行う必要があります
    のでIGES入力機能を作成する場合には注意
    が必要です。)
 
ターミネートセクション

1つのレコードから成り、他の4つのセクションのそれぞれのレコード数を記述します。
S0000002G0000003D0000550P0000800
T0000001
CAD装置(1)
CAD装置(2)
メディア
AutoCADの
DIESELマクロ
CSV
DXF
PCES
IGES
STEP
数学とCAD
CAD作ろ!
CADを考える
M7
Jw_cad
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015 By AFsoft All Rights Reserved.