DWG
DWG ファイルは、AutoCADの標準図面ファイルである。AutoCADのリリースによってファイルのバージョンが存在する。DraWinG の略。
CADソフトでの扱いは基本的には上位互換であるため、古いバージョンのファイルをそれ以降のAutoCADで読み込むことは可能である。
逆に上位のDWGフォーマットから下位のDWGフォーマットしか扱えないCADへデータを渡す場合、下位のバージョンで保存をすることで旧バージョンのCADでも読み込み可能なデータになるが、図形タイプの変換やデータの欠損など、何かしら変わる部分があると思ったほうがいい。
特にAutoCAD (R/LT)とAutoCADベースのソリューション製品(Architecture/Electorical/Civil/Mecanical/.etc)でのバージョン間のデータのやり取りは、注意が必要である。
データ構造の思想
DWG のデータは、タグ付きデータ+構造という形の思想に基づいた形になっているため自由度が非常に高い。
Autodesk自体が3D設計をDWGでやらない方向性になったため、 DWG = 2D と思っている人もいるかもしれないが初期の頃はコンピュータパフォーマンス的に 3D で設計して運用することが困難なレベルであったた事と機能面で成熟していなかったためである事と、既存の2Dを主体とした設計がデジタル化する流れが爆発的に拡大したため2D設計の機能強化が求められていた事でそちらに開発リソースが咲かれていたという背景があるだけで、DWGファイルが 3Dデータを扱えないわけでも3Dデータに適していないわけでもなく拡張可能になっている。(現に BricsCADでは、独自に拡張していった事で Sketchup的な 3D モデリングや 3D機械系CADと近いソリッド&サーフェスモデリングやアニメーションなどの機能が DWGベースで実現されている。)
- 後述の #カスタムオブジェクトを参照。
互換CADで作成した DWGファイルを AutoCAD で開く場合
ODAベースのエンジンを利用して作成された DWGファイルを AutoCAD で開くと警告のメッセージウィンドウが表示されとっても邪魔になる。これは dwg にウォーターマーク(透かし)情報が入っていることが原因だが、とある企業との裁判結果(No. C 08-04397 WHA)により法的に autocad と同じ透かし情報を入れちゃだめと言う事で決着が付いたので ODAベースのエンジンでdwgを作成するかぎり出てしまうものである。
データ互換的な点でいうと、初期~2007年の頃までは色々と問題があったが 2020年時点においてはもう完全に解析され尽くしているといっていい状態で、ネイティブフォーマットが DWGファイルになっている互換CADでは、データの品質面ではオフィシャル DWG と遜色ないと言って良いレベルになっている。 Autodesk 謹製の DWGエンジン である、RealDWG を使用した製品から書き出されたdwgファイルでもデータ互換に問題が出る事はあるのでユーザ側から見ると警告メッセージは余計なお世話でしかないといえる。
尚、AutoCAD でシステム変数:DWGCHECK を 2 に設定しておくとコマンドラインでのメッセージ表示のみになるのでお薦め。
AutoCAD と DWG のバージョン
- AutoCAD Ver1.0 ・・・ DWG R1.0 フォーマット
- AutoCAD Ver1.2 ・・・ DWG R1.2 フォーマット
- AutoCAD Ver1.3 ・・・ DWG R1.2 フォーマット
- AutoCAD Ver1.4 ・・・ DWG R1.4 フォーマット
- AutoCAD Ver2.0(AutoCAD2) ・・・ DWG R2.05 フォーマット - 日本はここから。
- AutoCAD Ver2.1(ADE-3) ・・・ DWG R2.1 フォーマット
- AutoCAD Ver2.5(ADE-3EX) ・・・ DWG R2.5 フォーマット
- AutoCAD Ver2.6(EX-II) ・・・ DWG R2.6 フォーマット- 数値演算プロセッサ無しで動く最後のバージョン。
- AutoCAD Release 9 ・・・ DWG R9 フォーマット
- AutoCAD Release 10(GX-III) ・・・ DWG R10 フォーマット - バイナリDXF対応
- AutoCAD Release 11(GX-5) ・・・ DWG R11 フォーマット
- AutoCAD Release 12(J) ・・・ DWG R11/R12 フォーマット- MAC版終了。
- AutoCAD Release 13(J) ・・・ DWG R13 フォーマット- UNIX、MS-DOS版終了。
- AutoCAD Release 14 ・・・ DWG R14 フォーマット
- AutoCAD 2000 ・・・ DWG 2000 フォーマット
- AutoCAD 2000i ・・・ DWG 2000 フォーマット
- AutoCAD 2002 ・・・ DWG 2000 フォーマット
- AutoCAD 2004 ・・・ DWG 2004 フォーマット
- AutoCAD 2005 ・・・ DWG 2004 フォーマット
- AutoCAD 2006 ・・・ DWG 2004 フォーマット
- AutoCAD 2007 ・・・ DWG 2007 フォーマット
- AutoCAD 2008 ・・・ DWG 2007 フォーマット - 64ビット版登場。
- AutoCAD 2009 ・・・ DWG 2007 フォーマット
- AutoCAD 2010 ・・・ DWG 2010 フォーマット
- AutoCAD 2011 ・・・ DWG 2010 フォーマット - MAC版再登場。
- AutoCAD 2012 ・・・ DWG 2010 フォーマット
- AutoCAD 2013 ・・・ DWG 2013 フォーマット
- AutoCAD 2014 ・・・ DWG 2013 フォーマット
- AutoCAD 2015 ・・・ DWG 2013 フォーマット
- AutoCAD 2016 ・・・ DWG 2013 フォーマット
- AutoCAD 2017 ・・・ DWG 2013 フォーマット
- AutoCAD 2018 ・・・ DWG 2018 フォーマット
- AutoCAD 2019 ・・・ DWG 2018 フォーマット
- AutoCAD 2020 ・・・ DWG 2018 フォーマット
- AutoCAD 2021 ・・・ DWG 2018 フォーマット
- AutoCAD 2022 ・・・ DWG 2018 フォーマット
- AutoCAD 2023 ・・・ DWG 2018 フォーマット
- AutoCAD 2024 ・・・ DWG 2018 フォーマット
DWGバージョン
初期のバージョンを除き、dwgファイルの先頭6バイトに内部バージョンが記述されてる。
フォーマットバージョン | 内部バージョン | 製品 | 備考 |
---|---|---|---|
DWG R1.0 | MC0.0 | AutoCAD Ver1.0 | |
DWG R1.2 | AC1.2 | AutoCAD Ver1.2 | |
DWG R1.4 | AC1.40 | AutoCAD Ver1.4 | |
DWG R2.05 | AC1.50 | AutoCAD Ver2.0(AutoCAD2) | |
DWG R2.0 | AC2.10 | AutoCAD Ver2.1 | |
DWG R2.1 | AC2.21 | AutoCAD Ver2.1(ADE-3) | |
DWG R2.1 | AC1001, AC2.22 | AutoCAD Ver2.2 | |
DWG R2.5 | AC1002 | AutoCAD Ver2.5(ADE-3EX) | |
DWG R2.6 | AC1003 | AutoCAD Ver2.6(EX-II) | |
DWG R9 | AC1004 | AutoCAD Release 9 | |
DWG R10 | AC1006 | AutoCAD Release 10(GX-III) | |
DWG R12 | AC1009 | AutoCAD Release 12(J), GX-5 | |
DWG R13 | AC1012 | AutoCAD Release 13(J) | 拡張エンティティ対応。MTEXT追加。 |
DWG R14 | AC1014 | AutoCAD Release 14 | |
DWG 2000 | AC1015 | AutoCAD 2000, 2000i, 2002 | Trueカラーのサポート、各種の名前の長さが 255 文字まで可能に。 |
DWG 2004 | AC1018 | AutoCAD 2004, 2005, 2006 | シグネチャ埋め込み、フィールド、表、ダイナミックブロック、折り曲げ寸法、弧長寸法のオブジェクト追加 |
DWG 2007 | AC1021 | AutoCAD 2007, 2008, 2009 | 文字はユニコードに。異尺度対応オブジェクト、データリンク、マルチテキストの属性定義追加。 |
DWG 2010 | AC1024 | AutoCAD 2010, 2011, 2012 | 配列オブジェクト |
DWG 2013 | AC1027 | AutoCAD 2013, 2014, 2015, 2016, 2017 | |
DWG 2018 | AC1032 | AutoCAD 2018, 2019, 2020, 2021, 2022, 2023 | 中心線オブジェクト |
カスタムオブジェクト
AutoCAD の派生製品(特定分野向けパッケージ)で追加されている追加の図形(オブジェクト)。 近年のAutoCADでいうダイナミックブロックのようなものといえば分かりやすいかもしれない。 カスタムオブジェクトはAutoCADとは別に拡張されているため、カスタムオブジェクトが作成された以前の古いバージョンのAutoCADや互換CADで開いた時にProxyデータとして表示されたり、表示されないなどの現象が起こる。(カスタムオブジェクトの定義のされ方による。) AutoCADではそれらを解釈させるためにバージョンによっては Object Enabler というプログラムをインストールする必要がある。 各パッケージの機能と連動する形で拡張されていることが多いため、カスタムオブジェクトで作成されたデータを素のAutoCADなどで編集すると機能と連動した動作をしなくなるなどの影響があるので注意が必要である。
参照:図形の種類
ファイルの仕様
DWGフォーマットについては、Autodesk社自身がファイル仕様を公開してはいない。そのため、OpenDesign Alliance によって解析されたものがすべてのバージョンについての仕様を知るのに一番正確な情報となる。
ざっくりとした構成は以下の通り。
- DWGフォーマットは 2004形式以降だと、LZ77 アルゴリズムベースで圧縮されたりしているバイナリー状態になっている。
- ヘッダー:ファイルヘッダーは、DWGヘッダー変数と、エラー検出に使用される巡回冗長検査(CRC)に関する情報で構成されている。各サブセクションは、さまざまなラベルを表すためにさまざまな長さのビットが使用される特殊なベクトルで、DWGヘッダー変数の最初の6ビットはバージョン文字列(内部バージョンを参照)を表す。
- クラス定義: DWGファイルには、特定の.dwgファイルの目的に応じて多数のクラスが含まれる場合がある。クラスデータ領域のクラスメタデータサイズ、クラス番号、チェックサムなどの情報。
- テンプレート:オプション。R15バージョンの場合、このセクションは[オブジェクトの空き領域]セクションの下にある。
- パディング:メタデータには特定のバイト数の接尾辞と接尾辞が付いているため、古いAutoCADバージョンは新しいDWGファイル形式と上位互換性がある。
- 画像データ:このセクションのメタデータは、特定の.dwgタイプによって異なる。R14およびR15の場合、このセクションはオプション。
- オブジェクトデータ:オブジェクトデータは、既存のオブジェクトリストに対応するテーブルエンティティ、ディクショナリエントリなどの完全なリストで構成される。
- オブジェクトマップ:ファイル内の各オブジェクトの場所は、ファイルのこのセクションで指定される。このセクションのメタデータのほとんどは、オブジェクトの識別と再レンダリングで役割を果たすファイルハンドル。
- オブジェクトの空き領域:このセクションはオプション。
- 2番目のヘッダー:DWGファイルの終端。ヘッダーセクションの複製
DWGファイルを扱うためのプログラムライブラリ
- OpenDesign Alliance の Drawings SDK(言語は色々) : コンソーシアムライセンス、デファクトと言っていい。
- Free Software Foundation の GNU LibreDWG(C++) : GPL v3、オープンソース、基本オブジェクトは一応大丈夫だけどっていうレベル。