Ai table
- 構文
- (ai_table table_name bit)
- 機能
- 指定されたテーブル内の項目のリストを返す。
- 引数
-
- table_name … テーブル名
- bit … 取得する情報のビット値
- ビット値の意味は以下のとおり。
- 0 - 指定されたテーブル内のすべての項目を一覧表示。
- 1 - レイヤ0 と 線種 CONTINUOUS を取得しない。
- 2 - 無名ブロックまたは匿名のグループを表示しない。
- 次のビットのための70のフラグに対するチェック: 1 - 無名ブロック/グループ
- 4 - 外部依存アイテムの一覧を表示しない。
- 70 フラグに対するチェックは 48 まで追加次のビットのいずれかのために作られる:
- 16 - 依存外部
- 32 - 外部または依存の解消
- 8は - 外部参照を一覧表示しない。
- 次のビットのための70のフラグに対するチェック:
- 4 - 外部リファレンス
- 16 - BYBLOCK と BYLAYER アイテムをリストに追加。
- 戻り値
- 取得された項目のリスト
- MEMO :
- サンプル
(ai_table "layer" 0) ("画層7" "画層6" "画層5" "画層4" "画層3" "画層2" "画層1" "0") (ai_table "layer" 1) ("画層7" "画層6" "画層5" "画層4" "画層3" "画層2" "画層1") (ai_table "block" 1) ("画層7" "画層6" "画層5" "画層4" "画層3" "画層2" "画層1") (ai_table "block" 0) ("*D3" "aaa" "bbb") (ai_table "block" 2) ("aaa" "bbb") ; 関数の定義は以下のとおり (defun ai_table (table_name bit / tbldata table_list just_name) (setq tbldata nil) (setq table_list '()) (setq table_name (xstrcase table_name)) (while (setq tbldata (tblnext table_name (not tbldata))) (setq just_name (cdr (assoc 2 tbldata))) (cond ((= "" just_name)) ; Never return null Shape names. ((and (= 1 (logand bit 1)) (or (and (= table_name "LAYER") (= just_name "0")) (and (= table_name "LTYPE") (= just_name "CONTINUOUS") ) ) )) ((and (= 2 (logand bit 2)) (= table_name "BLOCK") (= 1 (logand 1 (cdr (assoc 70 tbldata)))) )) ((and (= 4 (logand bit 4)) ;; Check for Xref dependents only. (zerop (logand 4 (cdr (assoc 70 tbldata)))) (not (zerop (logand 48 (cdr (assoc 70 tbldata))))) )) ((and (= 8 (logand bit 8)) (not (zerop (logand 4 (cdr (assoc 70 tbldata))))) )) ;; Vports tables can have similar names, only display one. ((member just_name table_list) ) (T (setq table_list (cons just_name table_list))) ) ) (cond ((and (= 16 (logand bit 16)) (= table_name "LTYPE") ) (setq table_list (cons "BYBLOCK" (cons "BYLAYER" table_list))) ) (t) ) (ai_return table_list) )
関連事項
- [[]]
- [[]]