AutoCAD が扱う図面ファイル、つまり、DWG ファイルや DXF ファイルのファイル形式が、なぜ、頻繁に更新されているのか、単純に疑問に感じられてる方も多いようです。今回は、その理由を簡単にご紹介したいと思います。
図面ファイル形式の遷移
まず最初に、ここ10年程度の間、DWG/DXF ファイル形式がそのような遷移で更新されてきたか、下記の図で確認してみてください。
2000 形式の始まりが隠れてしまっていますが、この形式は、1999 年にリリースされた AutoCAD 2000 から採用され、AutoCAD 2000i を経て、AutoCAD 2002 が採用した図面ファイル形式です。それ以降は、1年毎にリリースされる新バージョンの AutoCAD について3 世代毎に図面ファイル形式が更新されていることがわかります。
また、この図には記載されていませんが、AutoCAD 2000 以前のバージョンでは、バージョンアップのサイクルが 2 年から 3 年と長かったため、バージョン毎に異なる図面ファイル形式を採用していました。例えば、AutoCAD R14 では R14 DWG/DXF ファイル形式を、例えば、AutoCAD R13J では R13 DWG/DXF ファイル形式を、例えば、AutoCAD R12 では R12 DWG/DXF ファイル形式を、それぞれ採用していました。
図面ファイル形式更新の理由 ~ 新しいデータ
「なぜ、図面ファイル形式を更新する必要があるのか?」という冒頭の疑問に戻りましょう。
まず、最初に考え付く簡単な理由は、新バージョンで搭載された新機能や、その新機能で扱う新しいタイプの情報を保存するため、という理由です。バージョンアップで新機能が搭載されないことはありませんので、ある意味、これは必然と言えます。
少し難しい話になりますが、API の視点で考えてみると、AutoCAD API 上には、拡張エンティティデータや拡張レコード、ディクショナリなどを利用することで、カスタムなデータを保存する機能があります。もちろん、新機能で扱うデータを保存することも可能です。ただし、これらの汎用方法を利用した場合、扱うデータが大きい場合には、図面ファイルの保存や読み込み井パフォーマンスに影響が出ることが予想されます。例えば、事実上のデータサイズの制約がない、拡張レコードを独自に作成したディクショナリに保存することを考えてみます。当然、付加するデータは規模が大きなものも存在するため、文字列情報としてではなく、バイナリ情報で保存することになります。ところが、拡張レコードにバイナリを付加するには、127 バイトごとに分割しなければならない仕様があります。図面保存の際に、付加データ分割処理をおこなったり、図面を開く際に分割されたデータを結合する時間は、場合によっては時間を消費することが考えられます。
そこで、汎用的な方法ではなく、専用の領域に専用のデータを格納できるようにするとで、パフォーマンスへの影響を最小化しながら新しいデータを保存する方法が選択されることになります。これが図面ファイル形式更新の 1 つの理由です。 次の表は、AutoCAD 2004 以降で、この図面更新理由に当てはまる例を示しています。
ここでは機能名だけで表現していますが、これら新機能では、新しく登場した図形や情報が、内部的に連携するような動作も含まれます。パラメトリック機能などは、その代表例です。
個々の新機能については、過去のブログ記事から、プレビューガイドで内容を確認してみてください。
図面ファイル形式更新の理由 ~ 新しいテクノロジ
AutoCAD がバージョンアップを繰り返す背景に、プラットフォームの変化に対応する目的があります。 米国では、Mac 上で動作する AutoCAD が販売されていますが、日本を含めて、ほとんどの国は Windows のみで AutoCAD が利用されています。
Windows は、その時代に合わせてバージョンアップをしているのはご承知のとおりです。OS をビジネス化させて IT 業界を牽引してきた Microsoft 社でさえ、自社で開発される新しいテクノロジの採用だけでなく、業界で生まれる新テクノロジやセキュリティ上のリスクに対応してく必要があります。
特に、インターネットや電子メールが当たり前になった現在では、ネットワークを介して、大事な図面ファイルを交換することが一般化しています。オートデスクも、プラットフォームや環境、テクノロジを積極的に採用してきました。次の図は、そのような変化を図面ファイル形式に採用した一覧です。
2004 DWG ファイル形式では、肥大化していく図面ファイル サイズを低減させる目的で、図面情報を圧縮して保存するテクノロジを採用しています。
全く別の例ですが、Microsoft Office 製品に Word や Power Point があるのはご存じと思います。もともと、Word では .doc ファイル形式を、Power Point では .ppt ファイル形式を採用していましたが、ある時期から、.docx や .pptx 形式に変更されています。実は、ここでもファイル圧縮が採用された背景を見ることが出来ます。試しに .docx や .pptx ファイルの拡張子を .zip に変更してダブルクリックしてみてください。Windows 7 以降では、ZIP 圧縮したファイルを展開できるので、その内容がフォルダ付きで解凍できることがわかるはずです。これも、ファイルサイズ低減のテクノロジです。なお、AutoCAD の図面圧縮は、拡張子を変更することでは内容を確認することは出来ません。
その他、2004 DWG ファイル形式では、インターネットを介した図面ファイル交換でセキィリテイを保つため、パスワード保護や電子署名といった機能が採用されています。
2007 ファイル形式では、文字化けなく海外との図面ファイル交換を達成するため、Shift-JIS での文字情報埋め込みに替わって、UNICODE 仕様で文字を扱うなどの対応がとられています。2010 ファイル形式では、64 ビット版 Windows の普及にともない、64 ビット版 AutoCAD で大規模な情報を扱えるように、図面内のオブジェクトの最大サイズが 4 ギガバイトに更新されています。衛星画像などを図面に埋め込んで利用する場合などで、より大きな画像を扱えるようになっています。
2013 形式では、3D オブジェクトを含む図面ファイルについて、表示用のデータをコンピュータにキャッシュして再利用することで出来るようになりました。これにより、図面ファイルを開く際に再計算が必要だった 3D 表示の時間が短縮できるようになりました。
このように、図面ファイルの更新は、AutoCAD 自身の機能改良とともに、時代の要請といった側面があることをご理解いただけると思います。
図面ファイル形式の互換性と問題
最後に 1 つだけ、ご注意いただきたいことがあります。 図面ファイルの互換性についてです。
新しいバージョンの AutoCAD では、どんなバージョンの AutoCAD で作成した、過去のどんなファイル形式の DWG ファイルでも開くことが出来ます。この部分についての問題はありません。
問題は、新しいバージョンを利用している際に、過去の古い図面ファイル形式で図面を保存する場合です。ここ数バージョンであれば、オートデスクは、新機能で搭載された新しいデータを旧型式で保存する際、明示的に互換性を考慮してデータを保存するようにしています。もし、データの互換性が崩れる場合には、制限事項をオンラインヘルプで概要をご案内しています。
ただし、あまりに古すぎる図面ファイル形式で保存すると、新バージョンで保存されたデータの互換が保証できない場合が存在します。これを事前に防止する目的で、AutoCAD では、互換性維持で明示的な理由がある場合を除き、旧図面ファイル形式で保存できる範囲が制限しています。
例えば、AutoCAD GX-III が採用していた GX-III DWG ファイル形式には、アプリケーション開発でカスタムデータを付加するためによく利用されている拡張エンティティデータを格納する機能がありません。つまり、拡張エンティティデータが付加されているオブジェクトを含む図面は、一旦、GX-III ファイル形式で保存すると、すべて失われてしまいます。この意味で、AutoCAD は拡張エンティティデータをサポートしたファイル バージョン形式でのみ、ファイル保存をサポートしています。
次の画像は、AutoCAD 2015 の [図面に名前を付けて保存] ダイアログ(SAVEAS コマンド)のファイル形式選択箇所を示しています。
他社製品などをお使いの場合には、この一覧にある図面ファイル形式以外で、むやみに古い図面ファイル形式で保存するのは避けたほうが賢明です。再度、最新の AutoCAD で編集する必要がある場合には、データ欠落の要因になり得ます。
By Toshiaki Isezaki
コメント
コメントフィードを購読すればディスカッションを追いかけることができます。