1. (setq _layers (gettableitems "layer") _styles (gettableitems "style"));;获取图层表、字体样式表
    2. 图层表:
    3. ("0" "1_中心线" "2_轮廓线" "3" "3_隐藏线" "3中心线" "4_标注和文字" "4虚线层"
    4. "5_双点划线" "5剖面线层" "6_图框线" "7_标记线" "7标注层" "8双点划线"
    5. "Defpoints" "标注" "标注线" "尺寸线" "粗实线" "粗线" "批量打印层" "剖面线"
    6. "文字" "细实线" "细线" "虚线" "指引线" "中心线-点画线")
    7. 字体样式表:
    8. ("" "-30" "{18b73a54-fa43-428c-adcb-c1c7bbdf2c84}" "30" "hzt.shx" "hzt.txt"
    9. "Standard" "txt-3.5" "WMF-System0" "WMF-System1" "WMF-宋体0" "标 宽0.7 高3" "宋
    10. 宽0.7 高3" "宋体")
    1. ;; table 值为 "LAYER""LTYPE""VIEW""STYLE""UCS""APPID""DIMSTYLE" "VPORT"。该参数不区分大小写。
    2. (defun gettableitems(table / a b)
    3. (while (setq a (tblnext table (null a)))
    4. (if (not (or (wcmatch (cdr (assoc 2 a)) "`**,*|*") (and (= "layer" (strcase table t)) (= 4 (logand 4 (cdr (assoc 70 a)))))))
    5. (setq b (cons (cdr (assoc 2 a)) b))
    6. )
    7. )
    8. (acad_strlsort b)
    9. )
    1. (defun GetLayerList (/ llist l)
    2. (setq llist nil)
    3. (if (tblnext "LAYER" T)
    4. (progn
    5. (setq llist (cons (cdr (assoc 2 (tblnext "LAYER" T))) llist))
    6. (while (setq l (tblNext "LAYER"))
    7. (setq llist (cons (cdr (assoc 2 l)) llist))
    8. )
    9. )
    10. )
    11. (vl-sort llist '<)
    12. )