DXF覚書


DXF(Drawing Interchange Format) AutoCAD Release12


・ENTITIESセクション

DIMENSION
2
寸法Entityが含まれるBLOCKの名前
3
寸法スタイル名
10,20,30
全ての寸法タイプの寸法定義点
11,21,31
寸法文字の中点
12,22,32
寸法BLOCKの移動ベクトル
70
寸法タイプ
1
ユーザが明示的に入力した寸法文字。
もしNULLか"<>"なら寸法の計測値が表示される。
もし" "(スペース)なら文字は非表示。
その他の場合はここの文字が表示される。
13,23,33
長さ寸法、角度寸法の定義点
14,24,34
長さ寸法、角度寸法の定義点
15,25,35
直径、半径、角度寸法の定義点
16,26,36
角度寸法の寸法円弧の定義点
40
半径、直径寸法の引き出し線長さ
50
回転寸法、水平又は垂直長さ寸法の角度

寸法タイプ(グループコード70)は整数コードで以下の値
0
回転、水平、垂直寸法
1
平行寸法
2
角度寸法
3
直径寸法
4
半径寸法
5
角度3点寸法
6
座標寸法
64
座標寸法タイプ。値6と共にのみ使用されるbit値。
セットされている場合は座標寸法はX-タイプでセットされていない場合Y-タイプ
128
ぐるーぷ70に追加されるbit値で、もし寸法文字がデフォルト位置でなくユーザ定義の位置の場合

全ての寸法タイプは、寸法Entityの水平方向を示すオプションのグループ(51)を持つ。
これは寸法文字の回転と寸法線の水平位置、垂直位置、長さ寸法の回転を決定する。
グループ値は寸法が描かれた時のUCSのX軸とECSの角度の負の値になる。
寸法が描かれた時にUCSのX軸は常に寸法のECSのXY平面と平行であり、そして
UCSのX軸とECSのX軸角度はただの2D角度になる。
グループ51の値は水平からのECS X軸までの角度となる。
ECS(Entity Coordinate System)についてはこのセクションの後で記述する。

傾斜角度のある平行寸法タイプは、オプションのグループ(52)を持つ。
平行寸法に回転角(50)を付加した時、これは寸法補助線の角度を与える。
オプションのグループコード53はデフォルト方向(寸法線の方向)からの寸法文字の回転角度である。

すべての寸法タイプで、次のグループ コードは WCS の 3D 点を現す。

10, 20, 30
13, 23, 33
14, 24, 34
15, 25, 35

すべての寸法タイプで、次のグループ コードは ECS の 3D 点を現す。

11, 21, 31
12, 22, 32
16, 26, 36

Linear(平行寸法)
13,23,33
最初の寸法補助線の定義点
14,24,34
2番目の寸法補助線の定義
10,20,30
寸法線の定義点

Angular(角度寸法)
13,23,33
14,24,34
最初の寸法補助線の終了定義点
10,20,30
15,25,35
2番目の寸法補助線の終了定義点
16,26,36
寸法線円弧の定義点

Angular(点角度寸法)
15,25,35
角度の定義点
13,23,33
最初の寸法補助線の終了定義点
14,24,34
2番目の寸法補助線の終了定義点
10,20,30
寸法線円弧の定義点

Diameter(直径寸法)
15,25,35
寸法の円ピック点
10,20,30
ピック点の反対側の点

Radius(半径寸法)
15,25,35
寸法の円弧ピック点
10,20,30
円の中心点

Ordinate(座標寸法)
13,23,33
選択された計測点
14,24,34
引出し線の終了点位置

ECS

図面データベース(とDXFファイル)内の容量を節約するため、各Entityに関連付けられた点は
Entity独自のEntity Coordinate System(ECS)と名付けられたもので表現される。
Entity CoordinateSystemはAutoCADが使用するEntityをよりコンパクトに表現することを可能にする。

ECSでは、3D空間でEntityの位置を記述する必要な唯一の付加情報はECSの軸を現してる3Dベクトル
と高さの値である。
Z軸(または押出し)が与えられても、そこには無限の数の座標系があり、3D空間内で原点の移動も
定義され、Z軸回りにX,Y軸を回転することもできる。
しかし、同じZ軸方向にはEntityCoordinateSystemは唯一である。それは以下のとおり

・その原点はWCSの原点と一致する。
・XY平面でのX,Y軸方向は、任意でしかし一貫した方法で計算される。AutoCADはこの計算を
 "任意の軸アルゴリズム"を使って行う。

いくつかのEntityでは、ECSはWCSと同じで、全ての点(DXFグループ10-37)はワールド座標である。

Entity

Line,Point,3DFace
3DPolyline,3DVertex
3DMesh,3DMeshVertex
これらのEntityは特定の平面には無い。全ての点はWCSで表現される
これらにEntityでLineとPointだけは押出し可能;
それらの押出し方向はワールド座標と異なることができる
Circle,Arc,Solid,
Trace,Text,Attrib,
Attdef,Shape,Insert
2DPolyline,2DVertex
これらのEntityは本質が平面である。全ての点はECSで表現される
これら全てのEntityは押出し可能
れらの押出し方向はワールド座標と異なることができる
Dimension
いくつかの寸法の点はWCSで表現され、いくつかはECSで表現される
Viewport
WCSで表現される
その他
残りのEntityは点データを持たない、それらの座標系は無関係

AutoCADが与えられたEntityに一旦ECSを確立すると、以下のように機能する。

・高さの値はEntityと一緒に格納され、WCS原点からXY平面をZ軸に沿ってどれだけシフトさせるか
 の距離を示す。ユーザ定義の高さがどれだけかは重要でない。
・描かれたEntityのUCSを通して入力された全ての2D点は、UCSに関しシフト、回転され
 ECSの2D点に変換される。
 
この処理にはいくらかのramificationsがある。

・Entityを取得した時どのUCSが有効か確実に見つける事は出来ない。
・与えられたUCSでEntityのXY座標を入力してDXFOUTを実行した時、恐らくそれらのXY座標を
 DXFファイルに見つける事ができない。AutoCADがそれらの値からXY軸を計算する
 方法を知る必要がある。
・Entityと共に格納されDXFファイルに出力される高さの値は、UCSのXY平面とECSのXY平面との
 差と、Entityが描かれた時のユーザ指定の高さ値合計になる。