tblnext (AutoLISP)

シンボル テーブル内の次の項目を取得します。

サポートされているプラットフォーム: Windows および Mac OS

構文と要素

(tblnext table-name [rewind])
table-name

タイプ: 文字列

シンボル テーブル名。

有効な table-name 値は、次のとおりです。

  • "APPID"
  • "BLOCK"
  • "DIMSTYLE"
  • "LAYER"
  • "LTYPE"
  • "STYLE"
  • "UCS"
  • "VIEW"
  • "VPORT"

引数は、大文字と小文字は区別されません。

rewind

タイプ: T または nil

この引数が指定され、その値が nil でない場合、シンボル テーブルの最初に戻り、そのシンボル テーブルの最初の項目が取得されます。

戻り値

タイプ: リストまたは nil

シンボル テーブル項目が見つかると、その項目が、DXF 形式のコードと値のドット ペアのリストとして返されます。テーブル内にそれ以上項目がない場合は、nil が返されます。削除されたテーブル項目は返されません。

注意

tblnext 関数は、繰り返し使用されるたびに、指定したテーブル内の次の項目を返します。次に取得する項目は、tblsearch 関数を使用して設定することができます。rewind 引数が指定され、その値が nil 以外の場合は、シンボル テーブルの最初に戻り、シンボル テーブルの最初の項目が取得されます。

シンボル テーブル内の最初の画層を取得します。

(tblnext "layer" T)
((0 . "LAYER") (2 . "0") (70 . 0) (62 . 7) (6 . "CONTINUOUS"))

戻り値の意味は、次のとおりです。

(0 . "LAYER")               Symbol type
(2 . "0")                   Symbol name
(70 . 0)                    Flags
(62 . 7)                    Color number, negative if off
(6 . "CONTINUOUS")          Linetype name

グループ -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")                    Symbol type
(2 . "BOX")                      Symbol name
(70 . 0)                         Flags
(10 9.0 2.0 0.0)                 Origin X,Y,Z
(-2 . <Entity name: 1dca370>)    First entity

グループ -2 の図形名は、entget 関数と entnext 関数では受け入れられますが、他の図形アクセス関数では受け入れられません。たとえば、ssadd 関数を使用して選択セットに含めることはできません。グループ -2 の図形名を entnext 関数に与えると、ブロック定義を構成する図形を走査することができ、entnext 関数はブロック定義の最後の項目の後で nil を返します。

ブロックに図形が含まれない場合、tblnext 関数が返すグループ -2 はその ENDBLK 図形の図形名です。

注: vports 関数は現在の VPORT テーブル情報を返すので、この情報を取得するには tblnext 関数よりも vports 関数を使用したほうが簡単でしょう。