DWGはAutoCADのネイティブファイル形式です。バイナリで、独自仕様で、Autodeskは仕様を公開していません。一方DXFは、他のソフトでも同じ図面を読めるようにとAutodeskが公開している交換形式です。同じ幾何情報、違う入れ物——そして自分のソフトの外にいる人へファイルを渡すために作られているのは、二つのうち一方だけです。
この最後の一点が実務上の違いのすべてであり、何を頼むべきかを決めるのもこれです。
ひとことで
| DXF | DWG | |
|---|---|---|
| 略称の意味 | Drawing Exchange Format | Drawing |
| 公開仕様 | あり(Autodeskによる) | なし |
| エンコード | テキスト(バイナリ版もあり) | バイナリ |
| 目的 | ソフト間で図面を受け渡す | AutoCAD自身の作業形式 |
| ファイルサイズ | 大きい | 小さい |
| 他ソフトでの読み込み | 非常に広い | まちまち。解析して作られたライブラリ経由 |
| AutoCADにできることをすべて運ぶ | いいえ——公開された部分集合 | はい |
そもそもなぜ二つあるのか
Autodeskは1982年、作業形式をDWGとしてAutoCADを出しました。DWGは一つのプログラムの都合のために作られています。コンパクトで、バイナリで、AutoCADが必要とすればいつでも変えられます。
だからこそ、人に送るには向きません。そこでAutodeskはDXFも公開しました。同じ図面を、どの開発者でも実装できる文書化された読める形で書き出したものです。.dxf をテキストエディタで開けば、グループコードとセクション名が素のASCIIで並んでいるのが見えます。
二つは足並みをそろえてバージョン管理されています。AutoCADの各リリースごとにDWGの改訂と、それに対応するDXFの改訂が出ます。ファイルヘッダに時折見える AC1032 という印は、たとえばAutoCAD 2018世代を指します。
つまりDXFは古い形式でも劣る形式でもありません。同じ図面を、意図的に読めるようにしたものです。
実務で本当に違うところ
**開かれているかどうか。**AutodeskはDXFを文書化し、DWGは文書化していません。DWGを読むソフトは——数多くありますが——形式を解析して作られたライブラリに依存しています。これはよく機能しますし何ら問題のない行為ですが、DWG対応が新バージョンに後れを取り、アプリごとにばらつくことを意味します。DXF対応なら誰でも仕様書から直接実装できます。
**サイズ。**バイナリのDWGは、同じ図面のASCII DXFよりたいてい格段に小さくなります。大きな案件では効いてきますが、部品ひとつなら関係ありません。
**忠実さ。**DWGはAutoCADが表現できるものをすべて保持します。他のソフトには概念すら存在しないオブジェクト型も含めてです。DXFが覆うのは文書化された部分集合。ふつうの2D製図——線、円弧、円、ポリライン、文字、寸法、レイヤ——なら、その部分集合で必要十分です。AutoCAD独自オブジェクトに依存したモデルでは、DXFに書き出すと一部が失われます。
**対応の広さ。**ほぼすべてのCAD・CAM・ベクタ系ツールがDXFを読みます。DWGを読むものはより少なく、読めるものでも対応が不完全なことが多いです。
実際にはどちらが要るのか
**ファイルを送られたが開けない。**まず本当の拡張子を確認してください。多くの人が両方を「DWG」と呼びますし、半分くらいの確率でダウンロードフォルダにあるのは最初から開けた .dxf です。AutoCADなしでDXFを開く方法を参照。
**レーザーカット、CNC工場、加工業者へ送る。**ほぼ常にDXFです。機械側ソフトも加工サービスもDXFを軸に作られており、2Dの切断形状は文書化された部分集合に余裕で収まります。レーザーカット用にDXFを準備するを参照。
**AutoCADで作業する建築士や技術者へ送る。**尋ねてください。多くはワークフローがそれを前提にしているためDWGを好みますが、そうでなければDXFも問題なく開きます。
**長期保存のために保管する。**DXFです。文書化されたテキスト形式なら、二十年後でも仕様書とテキストエディタがあれば読めます。交換形式が存在する理由そのものです。
**誰かがただ見たいだけ。**どちらでもなく、PDFを送りましょう。DXFをPDFに変換するを参照。
DWGを送られたときにDXFを手に入れる
確実なのは頼むことです。送り主が自分のCADソフトで開いて、名前を付けて保存または書き出し → DXF。十秒ほどで済み、デスクトップCADならどれでもできますし、そのファイルはそれを作ったソフト自身から出てきます。第三者による推測ではありません。
尋ねられない場合、変換サービスはあります。天秤にかけるべきことが二つ。忠実さが失われるのはまさに変換の場面であること、そして他人の図面を自分の管理下にないサービスへアップロードすることになる点です。趣味の制作なら構いません。仕事なら、尋ねてください。
依頼するときはバージョンを指定すると良いでしょう。DXF R12がいちばん安全です——非常に古く、どこでも対応されており、素の2D幾何であれば失われて困るものはありません。とくに古い機械側ソフトはR12のほうがずっと扱いやすいです。
よくある二つの誤解
**「DXFは劣化する」。**AutoCAD独自のオブジェクト型を運ばないという意味においてのみです。線、円弧、円、ポリライン、文字、寸法、レイヤはそのまま残ります。2D製図の作業では損失はたいていゼロです。
**「DXFは古い形式」。**1982年からDWGと並んでバージョン管理されており、今もそうです。R12が互換性の目標としてあまりに広く使われているため、DXFがそこで止まったと思われてしまうのが混乱の元です。
このツールの立ち位置
KulmanLab が読むのは DXFであってDWGではありません。これは手抜かりとして流すより、理由を述べる価値があります。DXFは文書化されているので、仕様書を読むだけで実装が正しくなり得ます。DWGとなれば、Autodeskの都合で変わる形式のために、ブラウザの中で解析由来のライブラリに依存することになります。
手元が .dwg なら、これでは開けません。.dxf なら、何もインストールせずブラウザのタブで開けます:app.kulmanlab.com。
書き出す側は図面のすべてです——線、円、円弧、楕円、ポリライン、スプライン、書式を保った文字、寸法、引出線、ハッチング、それにレイヤと線種。ここで開いて書き出し直したファイルは、注記を保ったまま出ていきます。幾何だけに削ぎ落とされることはありません。
関連:KulmanLabがDXFから何を読み取るかは Import、各書き出し形式が何を含むかは Export Manager。