CAD・BIM/CIM・業務ツール

なぜ図面処理ではDXFばかり使うのか――DWG、P21、SFC、BFOとの違い

図面にはDWG、P21、SFC、BFOなど複数の形式があります。それでも自作の座標処理でDXFを選んだ理由を、公開仕様、実装方法、ライセンス費用、データの使い分けから整理します。

公開日
  • #DXF
  • #CAD
  • #自動化
  • #ファイル形式
  • #業務改善

配筋図とAIの試行錯誤|第3回

なぜ図面処理ではDXFばかり使うのか――DWG、P21、SFC、BFOとの違い

これまでの記事で、図面から座標を取得するときや、配筋図の寸法を確認するときに、何度もDXFという言葉を使ってきました。

しかし、土木設計の実務で扱う図面形式はDXFだけではありません。

当社でも、V-nasのBFO、電子納品や図面交換で使うP21・SFC、AutoCAD系のDWGなどを扱っています。それなら、なぜ自作の図面処理ではDXFばかり使っているのか。

先に結論を書くと、DXFが最も高性能な形式だからではありません。

必要な線や座標を、公開された情報を基に、無理のない費用と方法で処理する。その入口として、今回はDXFが最も現実的でした。

図面を作るために適した形式、納品に適した形式、外部プログラムで処理しやすい形式は、必ずしも同じではありません。

CADで開けることと、プログラムで読めることは違う

普段CADを使っていると、画面上で開けるファイルは、どれも同じように処理できそうに見えます。

しかし、自作プログラムから図面データを扱おうとすると、別の問題が出てきます。

  • ファイル内部の仕様を確認できるか
  • 線、円、文字、画層、座標がどう保存されているか分かるか
  • 読み書きするためのSDKやライブラリがあるか
  • それを業務や社内ツールで利用・配布できるか
  • ライセンス料や年間費用がかかるか
  • ファイルのバージョンが変わっても維持できるか

CADソフトがファイルを開けるのは、そのソフトが変換機能を実装しているからです。

自分で処理を作る場合は、その裏側にある仕様、実装手段、契約条件まで考えなければなりません。

DXFは、必要な部分を自分で確認しやすかった

DXFは、Autodeskが公開している図面交換形式です。

データは、線や円などの要素と、種類を示すグループコードの組み合わせで表現されます。たとえば線分であれば、所属する画層、始点、終点などの情報を取得できます。

今回必要だったのは、CADが持つ機能のすべてではありませんでした。

  • 指定した画層から対象の線を探す
  • 線の端点座標を取得する
  • 必要な順序へ並べ替える
  • 基準点からの距離や標高へ変換する
  • 元図と計算結果が一致するか照合する

この範囲であれば、公開されているDXFの構造を確認しながら処理を組めます。利用条件を守る必要はありますが、DXFを扱える無償のライブラリもあり、小さな社内検証を始めやすい環境があります。

当社で使用しているヤマソフトプランニングの「奔流」シリーズにも、横断図のDXFを読み込み、断面座標として扱う機能があります。

DXFから座標を取得する考え方そのものは新しいものではなく、市販の河川計算ソフトでも実用化されています。今回は、その考え方を自社の作業条件に合わせて利用したことになります。

参考:Autodesk「DXF Reference」ヤマソフトプランニング「奔流」シリーズ

DWGは使えないのではなく、直接扱う条件が違う

DWGはAutoCADのネイティブな図面形式です。

日常の編集や、AutoCAD系の機能を保ったまま図面を受け渡す用途では、DXFよりDWGの方が適している場面があります。

一方、独立したプログラムから高い互換性でDWGを読み書きするには、対応するSDKなどが必要になります。

Autodeskは、DWGとDXFを読み書きする開発者向けSDKとしてRealDWGを提供しています。公式ページでは、ライセンスは提携先を通じて扱われ、価格や条件を確認する仕組みになっています。

別の選択肢として、Open Design AllianceもDWGを扱うSDKを提供しています。ただし、商用利用や配布方法に応じた有料会員制度で、年間更新費用も設定されています。

つまり、DWGを処理できないわけではありません。

AutoCADなどの導入済みCADを自動操作する方法もありますし、正式なSDKを契約して自社システムへ組み込む方法もあります。

ただ、線の端点座標を取得する小さな社内ツールのために、SDKの契約、開発環境、配布条件、バージョン対応まで抱えるのが妥当かは別の判断です。

今回の用途では、CADからDXFを書き出し、そのDXFだけを処理する方が仕組みを小さく保てました。

参考:Autodesk「RealDWG API」Open Design Allianceの料金体系Autodesk「DXF and AutoCAD」

P21・SFCは、公開仕様でも目的が違う

P21とSFCは、CADデータ交換標準であるSXFのファイル形式です。

国土交通省の資料では、P21は国際規格に準拠したデータ構造を持ち、SFCは国内での利用を想定した、よりコンパクトな形式として説明されています。

これらは、異なるCAD間で図面を交換し、電子納品へ利用するために重要な形式です。仕様も公開されています。

したがって、P21やSFCを選ばなかった理由を、仕様が非公開だから、あるいはライセンス料が必要だからと説明するのは正しくありません。

今回の違いは目的です。

必要だったのは、電子納品用の図面表現を一式扱うことではなく、特定の線と座標を取り出すことでした。私の環境では、DXFの方が必要な要素へ早く到達でき、既存の処理手段も利用しやすい状態でした。

将来、P21やSFCで受け取った図面を変換せず直接検査する必要が出れば、SXFを入口にする意味はあります。しかし、今回の小さな処理では、そこまで対象を広げませんでした。

参考:国土交通省「CAD製図基準に関する運用ガイドライン」SXFのファイル形式

BFOは、V-nasで図面を作るための大切な原本

BFOは、V-nasで日常的に図面を作成・編集するための形式です。

V-nas固有の設定を保ちながら作業を続けるなら、無理にDXFへ置き換える必要はありません。参照画像や外部参照ファイルまで一つにまとめるBFOXという形式も用意されています。

一方、今回確認した公開資料の範囲では、BFOの内部構造を外部プログラムから直接読むためのファイル仕様までは確認できませんでした。

そのため、BFOを自作プログラムで直接解析するのではなく、V-nasで必要な範囲をDXFへ変換し、その出力を処理する方法を選びました。

これはBFOが劣っているという話ではありません。

BFOは編集用の原本、DXFは外部処理へ渡す中間データと、役割を分けています。

参考:川田テクノシステム「ファイル変換・互換について」

ライセンス料だけでなく、維持する費用も考える

ファイル形式を選ぶとき、目に見えるライセンス料だけを比較しても十分ではありません。

実際には、次のような費用も発生します。

  • SDKやライブラリの利用料
  • 開発者向け契約や年間更新
  • CAD本体を実行する端末や利用者のライセンス
  • ファイル形式のバージョンアップへの追従
  • 社内の別端末へ配布するときの条件確認
  • 変換結果を照合し、不具合へ対応する時間

無償のライブラリを使えば、開発全体が無料になるわけではありません。反対に、有料SDKでも、処理量や利用人数が多ければ導入する価値があります。

今回の判断基準は、単にライセンス料がゼロかどうかではなく、必要な機能に対して仕組みを維持する総費用が見合うかどうかでした。

DXFは公開仕様を確認でき、必要な範囲だけを扱えます。自社で小さく始め、元図との比較を重ねながら処理を修正できる点が、今回の検証に合っていました。

DXFに変換すれば、すべて解決するわけではない

もちろん、DXFにも注意点があります。

元のCAD形式から変換すると、CAD固有の属性、画層設定、線種、寸法、文字、外部参照、画像などが、完全には引き継がれない場合があります。ブロック、ポリライン、円弧、スプラインなどを、どこまで処理対象にするかも決めなければなりません。

座標を扱う場合は、単位、尺度、原点、測量座標の向きも確認が必要です。

そのため、当社ではDXFを唯一の原本にはしません。

目的 主に使う形式の考え方
日常の作図・修正 BFOやDWGなど、使用するCADの編集形式
図面交換・電子納品 P21・SFCなど、指定された交換形式
自作プログラムへの受け渡し 必要な要素へ絞って出力したDXF
最終確認 元の図面と処理結果を照合

原本は原本として残し、DXFは目的を限定した中間データとして使う。その方が、情報を失う危険と、自動処理のしやすさを分けて考えられます。

形式の優劣ではなく、工程ごとに選ぶ

DWG、P21、SFC、BFOが使えないから、DXFを選んだわけではありません。

それぞれに役割があります。

図面を編集するなら、CAD固有の情報を保てる形式がよい。電子納品なら、定められた交換形式を使う。外部プログラムで線や座標を取り出すなら、仕様と実装方法を確認しやすい形式がよい。

今回は、その最後の役割をDXFへ任せました。

AIに図面画像から座標を推測させるより、CADがすでに持っている数値を読む。そのためには、AIの性能だけでなく、データをどの形式で渡すかが重要でした。

自動化は、AIやプログラムを書き始めたところから始まるのではありません。

原本を何にするか。交換には何を使うか。機械へ渡すとき、どの形式に変えるか。

この入口を決めることも、自動化の一部だと思っています。


前の記事: AIに配筋図を描かせようとしていた2026年、土木・構造ソフトも変わり始めていた

関連記事: AIに図面を読ませるより、DXFを処理した方がよかった