AutoCAD LISP 列示輸出所有圖層名稱等資訊
利用函數 tblnext 指定 LAYER 來遍歷所有圖層 利用函數 while 循環到沒有圖層 不過要注意要修改圖層資料需要另外用函數 tblobjname 來得到圖層實體 因為函數 tblnext 只會得到簡短資訊,如下: _$ (tblnext "LAYER" T) ((0 . "LAYER") (2 . "0") (70 . 0) (62 . 7) (6 . "Continuous")) 用函數 tblobjname 來得到圖層實體,如下: _$ (tblobjname "LAYER" "0") <圖元名稱: 240c7544870> 程式碼範例: 1.在命令列顯示所有圖層名稱、顏色號碼、線型名稱 動畫展示 程式碼: (defun c:promptlayers ( / lay layname laycolor layLTYPE) ;;;https://eakyle.blogspot.com/ (prompt "\n圖層名稱,顏色索引,線型名稱") ; 寫入標題列 (while (setq lay (tblnext "LAYER" (not lay))) ; 遍歷所有圖層 (setq layname (cdr (assoc 2 lay))) ; 取得圖層名稱 (setq laycolor (cdr (assoc 62 lay))) ; 取得圖層顏色索引 (setq layLTYPE (cdr (assoc 6 lay))) ;線型名稱 (prompt (strcat "\n" layname "," (itoa laycolor) "," layLTYPE)) ; 寫入圖層資料 );_while (princ) );_end 2.將所有圖層名稱、顏色號碼、線型名稱輸出到CSV檔 動畫展示 程式碼: (defun c:exportlayers ( / csvpath csvfile lay layname laycolor layLTYPE) ;;;;;;https://eak