Tblnext
- 構文
- (tblnext table-name [rewind])
- 機能
- シンボル テーブル内の次の項目を取得する。
- tblnext 関数は、繰り返し使用されるたびに、指定したテーブル内の次の項目を返す。 次に取得する項目は、tblsearch 関数を使用して設定することができる。rewind 引数が指定され、その値が nil 以外の場合は、シンボル テーブルの最初に戻り、シンボル テーブルの最初の項目が取得される。
- 引数
-
- table-name : シンボル テーブルを示す文字列。有効な table-name 引数の値には、"LAYER", "LTYPE", "VIEW", "STYLE", "BLOCK", "UCS", "APPID", "DIMSTYLE", "VPORT" があります。 引数は、大文字と小文字は区別されない。
- rewind : この引数が指定され、その値が nil でない場合、シンボル テーブルの最初に戻り、そのシンボルテーブルの最初の項目が取得される。
- 戻り値
- シンボル テーブル項目が見つかると、その項目が、DXF 形式のコードと値のドット ペアのリストとして返される。 テーブル内にそれ以上項目がない場合は、nil が返される。 削除されたテーブル項目は返される。
- サンプル
- シンボル テーブル内の最初の画層を取得する。
(tblnext "layer" T) ((0 . "LAYER") (2 ."0") (70 . 0) (62 . 7) (6 . "CONTINUOUS"))
- 戻り値の意味は、次のとおり。
(0 . "LAYER") シンボル タイプ (2 . "0") シンボル名 (70 . 0) フラグ (62 . 7) 色番号、非表示の場合は負数 (6 . "CONTINUOUS") 線種名
- グループ -1 が存在しないことに注意。 各テーブルから最後に返した項目を保存して、tblnext 関数が呼び出されるたびに次の項目を返す。テーブルの走査を開始するときは、テーブルの先頭に戻って 1 番目の項目が返されるように、必ず 2 番目の引数に nil 以外の値を指定すること。
- -----
- ブロック テーブルから取り出した項目には、グループ -2 がブロック定義の 1 番目の図形の図形名とともに含まれる。 たとえば、次のコマンドでは、BOX という名前のブロックに関する情報を取得している。
(tblnext "block") ((0 . "BLOCK") (2 ."BOX") (70 .0) (10 9.0 2.0 0.0) (-2 . <Entity name: 1dca370>))
- 戻り値の意味は、次のとおり。
(0 . "BLOCK") シンボル タイプ (2 . "BOX") シンボル名 (70 . 0) フラグ (10 9.0 2.0 0.0) 原点 X,Y,Z (-2 . <Entity name: 1dca370>) 最初の図形
- グループ -2 の図形名は、entget 関数と entnext 関数では受け入れられますが、他の図形アクセス関数では受け入れられない。 たとえば、ssadd 関数を使用して選択セットに含めることはできない。グループ -2 の図形名を entnext 関数に与えると、ブロック定義を構成する図形を走査することができ、entnext 関数はブロック定義の最後の項目の後で nil を返す。
- ブロックに図形が含まれない場合、tblnext 関数が返すグループ -2 はその ENDBLK 図形の図形名。
- 注:vports 関数は現在の VPORT テーブル情報を返すので、この情報を取得するには tblnext 関数よりも vports 関数を使用したほうが簡単。