DWG
DWG(ディー・ダブル・ジー)は、オートデスク製のCADソフトウェア、AutoCADの標準。drawingの略。拡張子として"dwg"を用いる。
DWGはオートデスクが策定する図面ファイル形式である。AutoCADシリーズ(AutoCAD LT、AutoCAD Mechanicalなど)の標準ファイル形式として開発されたことから、AutoCADと共に業界のデファクトスタンダードとして利用されている。
その仕様は非公開であるため、ネイティブ対応しているのはオートデスク製品および同社ライセンス製品のみである。一方で、DWGのリバースエンジニアリングの成果として提供されるソフトウェア開発キットDWGdirectによってDWGの読み書きを実現する互換CAD製品が数多く存在する。
DWGとは別に、他のCADソフトウェアとのファイル交換を容易にするため、オートデスクが定義した形式がDXF(AutoCADファイル交換形式)である。DXFは公開された仕様と可読性の高いテキスト形式(バイナリ形式に圧縮することも可能)という特徴により、サポートするサードパーティー製のソフトウェアも開発しやすくなっている。ただし、仕様の解釈やデータ構造の違いによって、CADソフトウェア間(オートデスク製品間を除く)で図面の再現が完全に実現できないケースも目立っている。
DWG形式のファイルには以下のような情報が含まれる。
グラフィカルデータ(エンティティ、図形情報)
3DFACE(3D 面)、3DSOLID(3D ソリッド)、ACAD_PROXY_ENTITY(ACAD プロキシ図形)、ARC(円弧)、ATTDEF(属性定義)、ATTRIB(属性)、BODY(ボディ)、CIRCLE(円)、DIMENSION(寸法)、ELLIPSE(楕円)、HATCH(ハッチング)、HELIX(らせん)、IMAGE(イメージ)、INSERT(ブロック挿入)、LEADER(引出線)、LIGHT(光源)、LINE(線分)、LWPOLYLINE(ライト ウェイト ポリライン)、MESH(メッシュ)、MLINE(マルチライン)、MLEADER(マルチ引出線)、MLEADERSTYLE(マルチ引出線スタイル)、MTEXT(マルチテキスト)、OLEFRAME(OLE フレーム)、OLE2FRAME(OLE2 フレーム)、POINT(点)、POLYLINE(ポリライン)、RAY(放射線)、REGION(リージョン)、SECTION(断面)、SEQEND(シーケンス終了)、SHAPE(シェイプ)、SOLID(2D 塗り潰し)、SPLINE(スプライン)、SUN(日照)、SURFACE(サーフェス)、TABLE(表)、TEXT(文字)、TOLERANCE(幾何交差)、TRACE(太線)、UNDERLAY(アンダーレイ)、VERTEX(頂点)、VIEWPORT(ビューポート)、WIPEOUT(ワイプアウト)、XLINE(構築線)
非グラフィカルデータ(格納テーブル情報)
APPID(アプリケーション ID)、BLOCK_RECORD(ブロック レコード)、DIMSTYLE(寸法スタイル)、LAYER(画層)、LTYPE(線種)、STYLE(文字スタイル)、UCS(ユーザ座標系)、VIEW(ビュー)、VPORT(ビューポート)
非グラフィカルデータ(標準ディクショナリ、拡張レコード情報)
ACAD_PROXY_OBJECT(ACAD プロキシ オブジェクト)、DATATABLE(データ テーブル)、DICTIONARY(ディクショナリ)、DICTIONARYVAR(ディクショナリ変数)、DIMASSOC(自動調整管理)、FIELD(フィールド)、GEODATA(地理的データ)、GROUP(グループ)、IDBUFFER(ID バッファ)、IMAGEDEF(イメージ定義)、IMAGEDEF_REACTOR(イメージ定義リアクタ)、LAYER_INDEX(画層インデックス)、LAYER_FILTER(画層フィルタ)、LAYOUT(レイアウト)、LIGHTLIST(光源一覧)、MATERIAL(マテリアル)、MLINESTYLE(マルチライン スタイル)、OBJECT_PTR(オブジェクト プリンタ)、PLOTSETTINGS(印刷設定)、RASTERVARIABLES(ラスター変数)、RENDER(レンダリング)、SECTION(断面)、SPATIAL_INDEX(空間インデックス)、SPATIAL_FILTER(空間フィルタ)、SORTENTSTABLE(SORTENTS テーブル)、TABLESTYLE(表スタイル)、UNDERLAYDEFINITION(アンダーレイ定義)、VISUALSTYLE(表示スタイル)、VBA_PROJECT(VBA プロジェクト)、WIPEOUTVARIABLES(WIPEOUT 変数)、XRECORD(拡張レコード)
作成日時、図面編集時間、作者、タイトルなどの図面のプロパティ、図面を開く際のパスワード、図面へのデジタル署名、サムネール画像 (bmp)
また、AutoCADが標準で含む情報以外にも、アドオンアプリケーション(プラグインソフトウェア)が任意に拡張情報を付加できるため、拡張エンティティデータや拡張レコード、カスタム・オブジェクトなどが含まれることがある。
なお、DWGのバージョンによっては含まれないデータもあるので注意が必要である。
DWG形式はAutoCADと共にバージョンアップを重ねている。
AutoCADやその互換製品は一般に後方互換性を備えているため古いバージョンのDWGファイルを扱えるが、前方互換性はないため新しいバージョンのDWGファイルを扱うことはできない。
DWG形式の各バージョンは、AutoCADのリリースバージョンか、ファイルの先頭6文字の識別コードで区別される。
AutoCADとAutoCADをベースとする業種別製品(AutoCAD Architecture、AutoCAD Mechanical、AutoCAD Electrical、AutoCAD Civil 3D、AutoCAD Map 3D、AutoCAD P&ID)、AutoCAD LTが、ネイティブにDWG形式へのファイル保存と読み込みをサポートする。また、AutoCADとは異なるアーキテクチャを持つAutodesk Inventor、Autodesk Revit、Autodesk 3ds Maxといった他のオートデスクの製品も、DWG形式でのファイルの読み込みと書き出しをサポートしている。これらCAD製品とは別に、DWG形式のファイルを閲覧するためのビューアソフトウェアとして、オートデスクはを無償で配布している。
他のCADソフトウェアでは、AutoCAD互換のIntelliCADやIntelliCADをベースとするBricscad、ZWCADもDWG形式をサポートしている。これらのCADソフトウェアは、(英語)によって設立された(英語)がオープンソース化している。
CAD以外のソフトウェアでは、Adobe Illustratorのバージョン9以降、Microsoft VisioなどもDWG形式のファイルの読み書きが可能である。
このようなソフトウェアや、IntelliCAD以外の国産CADは、(英語)がDWGファイルのリバースエンジニアリングによって作成・提供しているソフトウェア開発キットDWGdirectによって、DWG形式の読み書きを実装しているケースが多い。
オートデスクは、自社製品のDWG形式の入出力にソフトウェア開発キット を利用しており、サードパーティーにもライセンス供与している。
オートデスクは、AutoCADが実行中に クラッシュした場合、メモリの状況をサーバに自動送信するCustomer Error Reporting機能があり、この機能によって蓄積した情報を解析したところ、下位バージョン互換のケースとは別に、オートデスク製の製品以外から保存されたDWGファイルには、データ構造上に欠損のあるものがあり、編集中のCADソフトウェアを不安定にするケースが報告されている、としている。
このため、AutoCAD 2007以降のAutoCADでは、オートデスク製品から保存されたDWGファイルを TrustedDWGとして区別するようになっている。オートデスクのCADソフトウェアや、オートデスクがライセンス供与したやを使ったソフトウェア製品以外が保存したDWGファイルを開こうとすると、警告メッセージが表示されるようになっている。
オートデスクによれば、RealDWGやAutoCAD OEMは、競合するCADベンダーやサードパーティーには供与されないとなっている。