
- ;;;lass,lasr----layer states restory 图层状态 保存/恢复工具----------------lxx.2001.4
- ;;;保存图层状态
- ;;laylst-图层状态表(全局); sslaylst-图层状态表长度; layln-图层状态命名; layladd-当前图层状态; laytbl-图层符号表数据
- (defun c:lasv (/ sslaylst n layln m k layladd laytbl);;laylst
- (princ "\n图层状态-保存工具-------用lasr恢复---------lxx.2001.4")
- (if (null laylst)
- (setq laylst '()
- sslaylst nil)
- (setq sslaylst (length laylst))
- )
- (princ "\n已有命名:")
- (if sslaylst
- (foreach n laylst (princ (strcat " "" (car n) """) ))
- )
- (while (= "" (setq layln (getstring t (strcat "\n*-laylst列表/<命名>:")))) );; end while
- (if (= "*" layln)
- (progn
- (foreach n laylst (foreach m n (print m)))
- (princ)
- )
- (progn
- (setq k t
- layladd '()
- )
- (while (setq laytbl (tblnext "layer" k))
- (setq k nil
- layladd (cons laytbl layladd)
- )
- )
- ;(textpage)
- (princ "\n当前保存的层状态----2:图层名; 70(1)冻结(2)视口冻结(4)锁定; 62(-)关闭; 6:线形名")
- (princ (strcat "\n--------------------当前命名:" layln "--------------------"))
- (setq layladd (cons layln layladd)
- laylst (cons layladd laylst))
- (foreach n layladd (print n))
- )
- );end if
- (if (> (length laylst) 6)
- (setq laylst (reverse laylst)
- laylst (cdr laylst);;;;最多6个存储
- laylst (reverse laylst)
- )
- )
- (princ (strcat "\n图层状态已经保存为:" layln))(princ)
- )
- ;;恢复图层状态 main
- (defun c:lasr (/ i roop ix n ik);laylst inc (strcat " "" (car n) """) ))
- (while (= "" (setq layln (getstring t (strcat "\n*-laylst列表/<命名>:")))) );; end while
- (if (= "*" layln)
- (progn
- (foreach n laylst (foreach m n (print m)))
- (princ)
- )
- (progn
- (setq k t
- layladd '()
- )
- (while (setq laytbl (tblnext "layer" k))
- (setq k nil
- layladd (cons laytbl layladd)
- )
- )
- ;(textpage)
- (princ "\n当前保存的层状态----2:图层名; 70(1)冻结(2)视口冻结(4)锁定; 62(-)关闭; 6:线形名")
- (princ (strcat "\n--------------------当前命名:" layln "--------------------"))
- (setq layladd (cons layln layladd)
- laylst (cons layladd laylst))
- (foreach n layladd (print n));;;;;;;;;;;;;
- );end progn else
- );end if
- )
- (princ "\nlass/lasr----(图层状态保存/恢复工具)-----lxx.2001.4")(princ)
|