DXFファイルフォーマット

概要

Autodesk社のAutoCADというソフト用のファイルフォーマットです。
多くのCGソフト、CADソフトがサポートし、CGソフト、CADソフトの中間ファイルフォーマットとして広く使用されています。

点データ、直線データ、円弧データ、折れ線データ、スプライン曲線データ、3D面データなど、多くの種類の3Dモデルデータの記録に対応しています。

DXFファイルフォーマットは、アスキーフォーマットです。

公式の仕様書

AutoCAD Release 14 Format
Autodesk.comホーム > Products > AutoCAD > Documentation > DXF Reference > AutoCAD Release 14 Format HTML
AutoCAD 2000 Format
Autodesk.comホーム > Products > AutoCAD > Documentation > DXF Reference > AutoCAD 2000 Format HTML
AutoCAD 2002 Format
Autodesk.comホーム > Products > AutoCAD > Documentation > DXF Reference > AutoCAD 2002 Format PDF
AutoCAD 2004 Format
Autodesk.comホーム > Products > AutoCAD > Documentation > DXF Reference > AutoCAD 2004 Format PDF
AutoCAD 2005 Format
Autodesk.comホーム > Products > AutoCAD > Documentation > DXF Reference > AutoCAD 2005 Format PDF
AutoCAD 2006 Format
Autodesk.comホーム > Products > AutoCAD > Documentation > DXF Reference > AutoCAD 2006 Format PDF

フォーマット

構文

  0
SECTION
  2
ENTITIES
  0
3DFACE
  8
(レイヤー名)
 10
(1点目の頂点座標値のX成分値)
 20
(1点目の頂点座標値のY座標値)
 30
(1点目の頂点座標値のZ座標値)
 11
(2点目の頂点座標値のX成分値)
 21
(2点目の頂点座標値のY成分値)
 31
(2点目の頂点座標値のZ成分値)
 12
(3点目の頂点座標値のX成分値)
 22
(3点目の頂点座標値のY成分値)
 32
(3点目の頂点座標値のZ成分値)
 13
(4点目の頂点座標値のX成分値)
 23
(4点目の頂点座標値のY成分値)
 33
(4点目の頂点座標値のZ成分値)
 62
(色番号)
  0
3DFACE
  8
(レイヤー名)
 10
(1点目の頂点座標値のX成分値)
 20
(1点目の頂点座標値のY座標値)
 30
(1点目の頂点座標値のZ座標値)
 11
(2点目の頂点座標値のX成分値)
 21
(2点目の頂点座標値のY成分値)
 31
(2点目の頂点座標値のZ成分値)
 12
(3点目の頂点座標値のX成分値)
 22
(3点目の頂点座標値のY成分値)
 32
(3点目の頂点座標値のZ成分値)
 13
(4点目の頂点座標値のX成分値)
 23
(4点目の頂点座標値のY成分値)
 33
(4点目の頂点座標値のZ成分値)
 62
(色番号)
 0
ENDSEC
 0
EOF

解説

2行で一つのデータグループという形式になっています。
1行目がグループコード
2行目がグループデータ
となっています。

セクションというデータのまとまりがあります。
1つのセクションは、
 グループコード 0 、グループデータ SECTION というデータグループに始まり、
 グループコード 0 、グループデータ ENDSEC というデータグループで終わります。
セクションには、HEADERセクション、TABLESセクション、BLOCKSセクション、ENTITIESセクションがあります。
セクションの種類は、グループコード 2 のデータグループのグループデータで指定します。
 グループコード 2、グループデータ HEADER は、そのセクションがHEADERセクションであることを表します。
 グループコード 2、グループデータ TABLES は、そのセクションがTABLESセクションであることを表します。
 グループコード 2、グループデータ BLOCKS は、そのセクションがBLOCKSセクションであることを表します。
 グループコード 2、グループデータ ENTITIES は、そのセクションがENTITIESセクションであることを表します。

HEADERセクション
このセクションで図面に関する一般情報を記述します。
各パラメターには、変数名と関連値があります。
TABLESセクション
このセクションで名前のついた項目の定義を記述します。
o ラインタイプのテーブル(LTYPE)
o レイヤーのテーブル(LAYER)
o テキストスタイルのテーブル(STYLE)
o 視点のテーブル(VIEW)
o ユーザ座標系のテーブル(UCS)
o ビューポート構成のテーブル(VPORT)
o 寸法スタイルのテーブル(DIMSTYLE)
o アプリケーション識別のテーブル(APPID)
BLOCKSセクション
このセクションで、図面中の各ブロックを作るエンティティを表現する、ブロック定義エンティティを記述します。
ENTITESセクション
このセクションで、どんなブロックリファレンスをも含む、ドローイングエンティティを記述します。

DXFファイルフォーマットのすべてを解説するのは困難なので、3Dモデル表現に関するフォーマット部分にフォーカスして解説します。

ENTITIESセクション
3Dモデル表現に関係のあるセクションは、ENTITIESセクションです。

エンティティ記述は、エンティティのタイプを表すデータグループで始まります。
エンティティのタイプを表すデータグループのグループコードは 0 です。
エンティティのタイプを表すグループデータ、
LINE、POINT、CIRCLE、ARC、TRACE、SOLID、TEXT、SHAPE、BLOCK、ENDBLK、INSERT、ATTDEF、ATTRIB、POLYLINE、VERTEX、SEQEND、3DFACE、VIEWPORT、DIMENSION、Linear、Angular、Diameter、Radius、Ordinate
などがあります。
すべてのエンティティは、レイヤー名を表す記述があります。レイヤー名を表すデータグループのグループコードは 8 です。
それぞれのエンティティは、立面図情報、太さ情報、線種情報、色情報を指定する記述があるかもしれません。
3DFACEエンティティ
1枚の面データを表すエンティティとして、3DFACEエンティティがあります。
グループコード 0、グループデータ 3DFACE
ENTITIESセクション内、もしくは、BLOCKSセクション内で、本記述があったときには、1枚の面データの記述の開始を表します。
1枚の面データの記述は、次にグループコード 0のデータグループが現れるまで続きます。
(他のセクション内で本記述があったときに、何を表すかに関しては、公式の仕様書を参照ください。)
グループコード 10(、20、30)、グループデータ (頂点座標値の1成分値)
1枚の面データの記述中の、グループコードが10(、20、30)のデータグループのグループデータは、その面の1点目のX(、Y、Z)座標値を表します。
グループコード 11(、21、31)、グループデータ (頂点座標値の1成分値)
1枚の面データの記述中の、グループコードが11(、21、31)のデータグループのグループデータは、その面の2点目のX(、Y、Z)座標値を表します。
グループコード 12(、22、32)、グループデータ (頂点座標値の1成分値)
1枚の面データの記述中の、グループコードが12(、22、32)のデータグループのグループデータは、その面の3点目のX(、Y、Z)座標値を表します。
グループコード 13(、23、33)、グループデータ (頂点座標値の1成分値)
1枚の面データの記述中の、グループコードが13(、23、33)のデータグループのグループデータは、その面の4点目のX(、Y、Z)座標値を表します。

ダウンロード

サンプルファイル

cube.dxf(10x10x10立方体)