「Ai table」の版間の差分
(ページの作成:「{{AutoLISP}} ; 構文 : (ai_table ''table_name'' ''bit'') ; 機能 : 指定されたテーブル内の項目のリストを返す。 : ; 引数 :* table_name … テ...」) |
編集の要約なし |
||
| 7行目: | 7行目: | ||
; 機能 | ; 機能 | ||
: 指定されたテーブル内の項目のリストを返す。 | : 指定されたテーブル内の項目のリストを返す。 | ||
; 引数 | ; 引数 | ||
2021年1月28日 (木) 09:36時点における最新版
- 構文
- (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)
)
関連事項
- [[]]
- [[]]