DXFファイル変換におけるトラブルとその対策

DXFファイル
DXF(Drawing Interchange File)は、USAオートディスク社が規定した規格で、他社のCADとAutoCADとのデータ互換変換を目的に作られたファイルフォーマットです。
 その後、データ構造が理解しやすいことや、AutoCADのマーケティングシェアの拡大から、多くのCADソフトがDXFをサポートするようになり、現在では事実上の業界標準フォーマットとして定着しています。
 しかし、あくまで民間企業の規格であり、 ANSI(*1)ISO(*2)等の公的機関が選定したものではありません。
 そのため『DXF対応』といっても、実際に検証・承認されているわけでは無く、またDXFがサポートする全ての機能を、受け側のCADが備えているわけでは無いため、実際にCAD/CAMでデータの受け渡しを行う場合、いくつかのトラブルに見まわれます。

拡張子(ファイル名)がDXFで無い場合
DXFの 拡張子(*3)は必ず 『DXF』と決められています。それ以外の拡張子で記録されているデータはDXFではない可能性が高いです。
 拡張子は、次の様に各社のCADソフトにおけるデータ形式毎に決められています。
AutoCAD .DWG GMM .DRW マイクロCADAM .HMM
CADWell .DWX JW-CAD .JWC マイクロステーション .DGN
DRACAD .MPW TurboCAD .TCW 頭脳RAPID .ZRD
該当するファイルをエディタやワープロで開くことが出来る方は読み込んでみて下さい。
『SECTION・HEADER・ENTTIES・LINE』等の文字列を確認できれば、DXFデータの可能性が高いです。
また、拡張子を『.DXF』に強制的に変更することで読み込み可能になる場合もあります。該当するファイルを右クリックで選択し 『ファイル名の変更』により変更してみて下さい。

データが不完全な場合(1)
 DXFは、 ASCU(*4)のテキスト形式で記述されています。そのため、データ量の多い図面を出力した場合、一般のCADが使用するバイナリ形式に比べファイルサイズがかなり大きくなりがちです。
 HDDにデータを出力するには問題ないのですが、FDDに出力する際には容量オーバに気を付けて下さい。特にAutoCADの場合、エラーメッセージを見落しやすく、また不完全なデータがディスクに記録されたままになるため、正常に出力されたと勘違いを起こしやすいようです。
 DXFをエディタやワープロで開くことが出来る方は読み込んでみて下さい。
 データの最後の行に『EOF』(End Of File)の表記がなければ、そのデータは正常に記録されていません。記憶容量に余裕のあるメディアへ再出力を行って下さい。

データが不完全な場合(2)
 DXFがサポートする機能を全て受付け側のCADが備えているわけではなく、各メーカが出力するDXFには、それぞれ「方言」のような若干の違いがあり、それが原因でデータが読み込めない場合があります。
 特にAutoCADの場合、データチェックが厳しく、他社CADでは読み込めるDXFデータでも読み込めないという現象が起こるようです。
図面作成の対処法
 ┣ ・縮尺の混在を避ける
 ┣ ・ブロック、グループ指定は避けて、単純な線データとする
 ┣ ・レイヤ数は少なめにできれば16以下、レイヤ名称は英数字で短くする
 ┗ ・文字データは、諦める(覚悟で)

行末処理の違い
Windows(MS-DOS)系OSの場合、行末コードは CR+LF(*5)で、UNIX系のOSではLFだけです。
 変換プログラムの中には、これが原因で変換が正常に出来ない場合もあるため、UNIX系のOSからDXFを出力する際には、行末をCR+LFになるよう出力すると良いでしょう。これらの設定は、CAD側かDXF変換ソフトのオプション設定などで変更できる場合が多いです。

バージョンの違い
DXFは元々AutoCADとのデータのやり取りを目的に作られた規格のため、AutoCADのバージョンの履歴数だけDXFのバージョンも存在します。具体的には次のようなバージョンの変遷があります。
GX-V → GX-5 → R12J → R13J → R14J → 2000
これらは、上位互換は保たれていますが、下位互換は保たれません。
従って、R12J用の読み込みソフトで、R14J等の上位のDXFを読み込むことは出来ません。
 DXF出力時にバージョンが指定できるのであれば、普及率の高いR12J形式で出力することで、こういったトラブルを回避することが出来ます。

複合図形・ポリラインの分解
変換後の図形が欠落したり、図形の位置がずれてしまう原因の大半は、これが関係しています。
 複合図形は非常に便利な機能ですが、データ受け渡しの際にはトラブルの原因になりやすいのが実状です。
 図面に複合図形やポリラインが含まれる場合は、 『分解・explode』等のコマンドを使用して、単純な図形に変換してからDXF出力を行ってみて下さい。
 ただし、分解後のデータは分解前に比べ容量が大きくなるのでFDD等に出力する際は注意が必要です。

3次元CADから出力したデータ
3次元CADから出力されたDXFを、2次元CADで受け取る場合、形状が正しく変換表示されない場合があります。AutoCADLTの様な内部データを3次元で持っているCADは良いのですが、多くの2次元CADはデータを正しく受け取れません。
 これらのデータを正しく受け渡しするには、3次元CAD側で2次元投影変換処理を行う必要があります。
 なお、2次元投影やそれに類する機能を持たないCADや、操作が酷く煩雑になるものがありますが、詳しくはお使いのCADのマニュアル等を参照して下さい。

用語解説
(*1)ANSI (American National Standards Institute) 米国規格協会
(*2)ISO (International Standards Organization) 国際標準化機構
(*3)拡張子 (extension)ファイル名の最後の3文字
(*4)ASCU (American Standard Code for Information Interchange)情報交換用米国標準コード
(*5)CR+LF (Carriage Return+Line Feed) 復帰+改行

DXFファイル変換に関するお問い合わせは
YJS技術センター 川崎 まで          TEL:0568-65-1605   FAX:0568-65-1608
Copyright(C) 1999-2007 by YJS All Rights Reserved.