DXF覚書


DXF(Drawing Interchange Format) AutoCAD Release1


・TABLESセクション

TABLES のセクションはいくつかのテーブルを含んでいる、そしてそのそれぞれはテーブル項目の可変的な数を含んでいる。

テーブルの順序は変化するかもしれない、しかし LTYPE テーブルは常にLAYERテーブルより先に起こるであろう。 各テーブルはラベルTABLEで0グループと一緒に紹介される。
 これは特定のテーブル( VPORT 、LTYPE LAYER、STYLE、VIEW、 DIMSTYLE 、 UCS あるいは APPID )を識別するグループ2が続きさらに、テーブル項目最大の数を指定する70のグループが続く。 テーブル名は常に大文字で出力される。

図画でのテーブルは削除された項目を含んでいる、しかしこれらは DXF ファイルに書き込まれない。 それで、70のグループによって示されるより少ないテーブル項目がテーブルヘッダーの後に続くかもしれない、それでテーブルで読むために70のグループで計算をインデックスとして用いてはいけない。 DXF ファイルを読むプログラムが後に続くすべてのテーブル参加者を持つのに十分大きい配列を割り当てることができるように、このグループは供給される。

それぞれのテーブルのテーブルエントリがこのヘッダーの後に続く。

それぞれのテーブル項目が項目タイプを識別している0のグループ(TABLE名と同じ、LTYPEor LAYER)、
2のテーブル項目の名前を与えているグループ、
70のテーブルエントリーに関係があるフラグを指定しているグループ、
そしてテーブル項目の価値を与える追加のグループ
から成り立つ。

それぞれのテーブルの終わりはの0グループの ENDTAB によって示される。

  0           (Begin TABLES section)
  SECTION
   2
  TABLES
   0
  TABLE
   2
  VPORT
   70
  (viewport table maximum item count)
               <<<<viewport table items go here>>>>
  0
  ENDTAB
  0
  TABLE
  2
  APPID, DIMSTYLE, LTYPE, LAYER, STYLE, UCS, VIEW, or VPORT
  70
  (Table maximum item count)
               <<<<Table items go here>>>>
  0
  ENDTAB
  0
  ENDSEC       (End TABLES section)

すべてのテーブル項目に当てはまる70のグループフラグビット値は次のチャートで記述される。
LAYER、STYLEと VIEW テーブル項目に当てはまる追加の70のグループ値が下に適切なセクションで記述される。

フラグbit値
意  味
  16
セットされているなら、table entryは外部的に Xref に依存している。
  32
もしこのbitと16bitが共にSetされているなら外部的に依存している
Xref は成功裏に解決された
  64
Setされているなら、図画が編集された最後のとき、テーブルEntryは図画で少なくとも1つのエンティティーによって参照された。
(このフラグはAutoCADコマンドのためである;それは DXF ファイルを読んで、そして DXF ファイルを書くプログラムによって設定される必要がないたいていのプログラムによって無視する ことができる)


次のことはそれぞれのタイプのテーブル項目のために使われるグループである。
すべてのグループはそれぞれのテーブル項目のためにその場にいる。

APPID

   2 - ユーザーによって供給されたアプリケーション名
  70 - 標準的なフラグ値

DIMSTYLE

   2 - 寸法スタイル名
  70 - 標準的なフラグ値
       そして寸法の変数名によって記述された次のこと:

          3 (dimpost), 4 (dimapost), 5 (dimblk), 6 (dimblk1),
          7 (dimblk2), 40 (dimscale), 41 (dimasz), 42 (dimexo),
          43 (dimdli), 44 (dimexe), 45 (dimrnd), 46 (dimdle),
          47 (dimtp), 48 (dimtm), 140 (dimtxt), 141 (dimcen),
          142 (dimtsz), 143 (dimaltf), 144 (dimlfac), 145 (dimtvp),
          146 (dimtfac), 147 (dimgap), 71 (dimtol), 72 (dimlim),
          73 (dimtih), 74 (dimtoh), 75 (dimse1), 76 (dimse2),
          77 (dimtad), 78 (dimzin), 170 (dimalt), 171 (dimaltd),
          172 (dimtofl), 173 (dimsah), 174 (dimtix), 175 (dimsoxd),
          176 (dimclrd), 177 (dimclre), 178 (dimclrt).

LTYPE

   2 - 線種名
  70 - 標準フラグ値
   3 - linetype のための記述的なテキスト
  72 - アラインメントコード;値は常に65、「A」の ASCIIのコードである
  73 - ダッシュ長さ項目の数
  40 - (パターン長さ合計)オプションとして:
        49 - ダッシュの長さ1
        49 - ダッシュの長さ2
        その他

LAYER

   2 - レイヤ名
  70 - 標準フラグ値
  62 - 色番号、負の時レイヤ表示 off
   6 - 線種名
  標準的なフラグのほかに、70のグループフラグは次のようなビットコード:

フラグbit値  意味
1
セットされているなら、レイヤは凍結。
2
セットされているならレイヤは新しいViewportでデフォルトで凍結
4
Setされているなら、レイヤはロック

もし値がセットされない(0)なら、LAYERはonされて、凍結解除される。
4番目のビット(8)そして8番目のビット(128)は使われない。
Xref 依存のレイヤが DXFOUT の間に出力されないる。
これらの層のために、 DXF ファイルの関連づけられた linetype 名は常にCONTINUOUS。

STYLE

   2 - STYLE名
  70 - 標準フラグ値
  40 - 固定されているテキスト高さ;もし固定されていないなら0
  41 - 幅ファクタ
  50 - 斜角
  71 - テキストジェネレーションフラグ
  42 - 最後に使われた高さ
   3 - 主要なフォントファイル名
   6 - ビッグフォントファイル名:ブランクの時無

もし3番目の部分(4)が70のグループフラグでセットされるなら、これは垂直方向のテキストスタイルである。

STYLEテーブル項目はshapeファイルのロードリクエストがあったときも使われる。
このケースでは一番目のbitがグループ70のフラグにセットされ、グループ3(shapeファイル名)
のみが意味がある。(しかし全ての他のグループも出力される)

テキストジェネレーションフラグは次のような意味を持つbit-codeフィールド。

フラグbit値 意味
2
Textは後ろ向き(X鏡像)
4
Textは逆さま(Y鏡像) 

UCS

   2 - UCS名
  70 - 標準フラグ値
  10,20,30 - 原点
  11,21,31 - X軸方向
  12,22,32 - Y軸方向
             全てワールド座標

VIEW

   2 - viewの名称
  70 - 標準フラグ値
  40 - VIEW高さ(DCS)
  41 - VIEW幅  (DCS)
  10 - VIEW中心点X(DCS)
  20 - VIEW中心点Y(DCS)
  11,21,31 - ターゲットからのVIEWの方向(WCS)
  12,22,32 - ターゲットポイント(WCS)
  42 - レンズ長さ
  43 - 前クリップ面 ターゲットポイントからのオフセット
  44 - 後クリップ面 ターゲットポイントからのオフセット
  50 - ねじれ角
  71 - viewモード(VIEWMODEシステム変数参照)

  グループ70の1番目のbitがセットされていれば、これはペーパ空間view

  (DCS-Display Coordinate System-についてはAutoLISPプログラマズリファレンスマニュアル参照)

VPORT

   2 - Viewport名
  70 - 標準フラグ値
  10,20 - viewportの左下角;0.0 to 1.0
  11,21 - viewportの右上角
  12,22 - viewportの中心(WCS)
  13,23 - SNAP基点
  14,24 - SNAP間隔,X Y
  15,25 - GRID間隔,X Y
  16,26,36 - ターゲットポイントからのviewの方向
  17,27,37 - viewターゲットポイント
  40 - view高さ
  41 - viewport縦横比
  42 - レンズ長さ
  43,44 - 前後クリッピング面 ターゲットポイントからのオフセット
  50 - SNAP回転角
  51 - viewねじれ角
  68 - ステータスフィールド(AP)
  69 - ID(AP)
  71 - viewモード VIEWMODEシステム変数参照
  72 - 円拡大比率
  73 - fast zoom設定
  74 - UCSICON設定
  75 - SNAP on/off
  76 - GRID on/off
  77 - SNAP style
  78 - SNAP isopair

VPORTテーブルは唯一で、同じ名称のいくつかのEntryを含んでもよい
(マルチviewportの構成を示す)

Entryは"*ACTIVE"の名称を持つアクティブなviewportの構成に対応する。

最初のそのようなentryはカレントのviewportである。