DXFファイルの活用

DXFは米国オートデスク社が規定しているCADの図面フォーマットで、このフォーマットは一般に公開されていて、AutoCADに詳細な説明があります。
DXFはテキスト形式のファイルで、テキストエディタ(メモ帳)などで簡単に内容が確認、編集できます。
そのため、他のCADやソフト等とのデータの受け渡しなどに使われています。
「AutoCADのひと工夫」では、作業の自動化のためのスクリプトについて説明しましたが、ここでは数値データより直接的に描画(DXFファイルを作成)する方法及び、DXFファイルよりデータを取り出す方法について紹介します。

T.DXFファイルの作成

DXFファイルの仕様は、AutoCADのバージョンによって異なりますが、DXFファイルを作成するに当たっては、仕様が軽易なRelease12Jを例にとり説明します。
なお、バージョンが新しくなるにつれ、色々な機能が追加されているので、それに伴い命令構成が複雑化しています。

1.ファイルの構成(Release12J)

DXFファイルは、次の4セクションで構成されています。
線や文字などだけを描画する場合には、ENTITIES(エンティティ)セクションだけでもかまいませんが、必要に応じてその他のセクションを定義してください。
なお、ここでは使用頻度が高そうな、TABLES(テーブル)・ENTITIES(エンティティ)セクションについて説明します。

ファイル構成

2.TABLES(テーブル)セクション

TABLES(テーブル)セクションには、LAYER(画層)の情報やLTYPE(線種)の情報などが定義されており、次のように構成されます。

TABLES構成

(1)字 体

字体データは次のように構成されます。

字体

(2)画 層

画層データは次のように構成されます。

画層

(3)線 種

線種データは次のように構成されます。

線種

(4)寸法スタイル

寸法スタイルデータは次のように構成されます。

寸法スタイル

3.ENTITIES(エンティティ)セクション

ENTITIES(エンティティ)セクションには、図形データが定義されています。
使用頻度の高そうな図形データについて説明します。

(1)線分

線分は始点・終点の座標値から次のように構成されます。

線分

(2)ポリライン

ポリラインは頂点(VERTEX)の座標値から次のように構成されます。

ポリライン

(3)円

円は中心の座標値と半径の値から次のように構成されます。

円

(4)円弧

円弧は中心、半径、始点角度、終点角度から次のように構成されます。

円弧

(5)テキスト

テキストは文字列、文字高さ、基準点の座標値、文字位置合わせから次のように構成されます。

テキスト

4.解説集とサンプル

(1)解説集

これまでの内容を解説集にまとめてあります。

解説集.xls

(2)EXCELのサンプル

EXECLのサンプルとして、ケーソン底版細部設計におけるモーメント図をサンプルとしましたのでダウンロードしてご活用ください。
なお、下図のモーメント線(ポリライン)はぎくしゃくしていますので、"pedit"でスプラインに修正すれば滑らかな曲線になります。
下図では上記で説明していない寸法線を描画していますが、寸法線の描画のためにHEADER(ヘッダ)セクション、BLOCKS(ブロック)セクションにその変数やブロックを定義し、ENTITIES(エンティティ)セクションにおいて、"DIMENSION"でブロックを呼び出していますので、参考にしてください。

底版四辺固定版ver-1.0.2

底版四辺固定版ver-1.0.2.xls
底版四辺固定版ver-1.0.2.dxf

(3)FORTRNのサンプル

下図を作成するFORTRANプログラムです。
ファイルは拡張子がfor:ソース、exe:実行形式、dxf:実行結果ファイルになります。

R12-例

dxf_R12_001w.zip

ページTOPへ戻る

U.DXFからのデータ取り出し

DXFからデータを取り出すとした場合の項目には、座標値、文字列などが考えられますので、図形ごとにこれらのデータを取り出す方法を説明します。
なお、「T.DXFファイルの作成」では仕様が軽易なRelease12Jを例にして説明しましたが、このバージョンと最新バージョンとはかなりENTITIESのサブクラスマーカー(下記でのメインキー)が異なってきていることから、中間的なAutoCAD2004のバージョンについて行います。

1.ENTITIESセクション(AutoCAD2004)の構成

次の図形について、図形データごとに、ENTITIESセクションの構成について説明します。

例図
例画層

(1)線分

線分はメインキーの後に、キーによって区分され、線分の始点・終点の座標値が定義されています。

線分解説

(2)ポリライン

ポリラインはメインキーの後に、キーと頂点の座標値が頂点の個数分、繰り返して定義されています。

ポリライン解説

(3)円

円はメインキーの後に、中心の座標値が定義されています。

円解説

(4)テキスト

テキストはメインキーの後に、基準点の座標値と文字列が定義されています。

テキスト解説

2.サンプル

(1)EXCELのサンプル

各データを取り出すExcelファイルをサンプルとしましたのでダウンロードしてご活用ください。
このサンプルの使い方は次のフローに示すとおりですが、データの順番を代えたくない場合には、式を追加するなどの対策を講じてください。

使い方フロー

取り出し.xls

(2)FORTRANのサンプル

線分(始点・終点座標)、ポリライン(各頂点座標)、円(中心座標)、テキスト・マルチテキスト(基準座標と文字)を抽出するFORTRANプログラムです。
ファイルは拡張子が d:データファイル、dxf:抽出するファイル(「T4.(3)FORTRNのサンプルの実行形式ファイルを2004形式にしたものです。)、for:ソース、exe:実行形式、txt:実行結果ファイルになります。

dxf-read_2004_001w.zip