entgetでは、図形が持つDXF情報を得ることができました。
tblsearch では、文字、寸法、線種、画層などのDXF情報を得ることができます。
今回はtblsearch で得た画層情報についてです。
関数 tblsearch
関数 tblsearchは、文字、寸法、線種、画層などのDXF情報を得る機能がある関数です。
現在の各種スタイルや画層などの設定を知ることができます。
例えば、もし、この名前の寸法スタイルが無ければ作成する。とか、画層の情報を得て、もしこの名前の画層が非表示になっているなら表示、表示なら非表示など、一つのコマンドで表示/非表示切り替えしたり。などに使えます。
tblsearchでDXF画層情報を見る
では、実際にtblsearchからどのような情報を得られるのか見ていきましょう。
- 画層名: “0”
- フリーズ:してない
- ロック:してない
- 新しいVPでフリーズ しない
- 表示 する
- 色 白(7)
- 線種 “Continuous”
この画層の情報を得ます。
tblsearchの引数は、テーブル名とシンボルです。
画層の情報を得る時は、“layer”がテーブル名。画層名がシンボルです。
画層名”0″の情報を得るコードは
(tblsearch "layer" "0")
です。そして、以下のようにDXF情報が出てきます。
((0 . "LAYER") (2 . "0") (70 . 0) (62 . 7) (6 . "Continuous"))
(0 . “LAYER”) これは、ドットペアと呼ばれ、番号と情報がセットになっているリストと呼ばれる形の一つです。
そして、さらにドットペアが( )の中に並んでリストになっています。
リストやドットペアが何かは置いておいて、ここでは、関数 tblsearch で
グループコードと情報がペアになって並んでいる情報
を得られるとだけ理解しておいてください。
各番号と情報
(0 . “LAYER”)
グループコード 0 は、テーブル名です。tblsearchで使ったテーブル名が入ります。
画層(LAYER)で検索したので、“LAYER”の情報です。
(2 . “0”)
グループコード 2 は、画層名です。画層名”0”を検索しました。
(70 . 0)
グループコード 70は、ビットコードと呼ばれる値で、いろんな情報の足し算の値になります。
- 1 フリーズオン
- 2 新しい VP でフリーズがオン
- 4 ロック
- 16 外部参照の画層
- 32 問題なく外部参照されている画層(16とセット)
これらの値が合算されたものがここに現れます。
情報を得た時の画層”0”は、フリーズもロックもされていないので、0 です。
例えば、
フリーズしたら、1
ロックしたら、4
ロックもフリーズもしたら、それぞれのコードを足して5
と値が変更します。
(62 . 7)
グループコード 70は、画層の色と画層表示です。
数字は画層の色番号、表示がオフになるとマイナスが付いて-7になります。
(6 . “Continuous”)
グループコード 70は、線種の名前です。
まとめ
- 関数tblsearchは、寸法、文字などのスタイルや画層などのDXF情報を得る機能がある。
- 引数はテーブル名と欲しい情報のスタイル/画層名。
- 画層のテーブル名は”layer”。
- グループコードと情報がセットになったDXF情報が戻り値。
- 画層の場合、((0 . “LAYER”) (2 . “画層名”) (70 . フリーズ/ロック) (62 . 色と表示) (6 . “線種”))の情報を得ることができる。
関連記事
ドットペアから欲しい情報を取得。
リストやドットペアについてもっと知りたい方はこちら。
Comments