请求大侠留步,帮源码加一个“重新输入图层名”功能
此命令提示”\n该图层已存在!"后就自动退出了要求增加功能:提示”该图层已存在“后,请重新输入图层名
;;来自明经lyqiezi的新建图层
(defun c:NL()
(setq lay_name (getstring "\n输入要新建的图层名称:"))
(if (tblsearch "LAYER"lay_name)
(princ "\n该图层已存在!")
(progn
(setq lay_cor (abs (cdr(assoc 62 (tblnext"layer" t)))))
(setq cor_list nil)
(while lay_cor
(setq cor_list (vl-list* lay_cor cor_list))
(if (setq lay_cor (cdr (assoc 62 (tblnext"layer"))))
(setq lay_cor (abs lay_cor)))
)
(setq cor 1)
(while (member cor cor_list)
(setq cor (1+ cor))
)
(if (> cor 255)
(progn
(princ "\n您的图层颜色过多,已按255色建层")
(setq cor 255)))
(entmake (list '(0 . "LAYER") '(100 . "AcDbSymbolTableRecord") '(100 . "AcDbLayerTableRecord") '(70 . 0) '(6 . "Continuous")(cons 62 cor)
(cons 2 lay_name)
)
)
(command "clayer" lay_name)
(princ "\n已新建图层<<")
(princ lay_name)
(princ ">>并切换成当前图层")
)
)
(prin1)
)
http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 冒个烟圈的微博 本帖最后由 风流少年时 于 2015-5-28 19:04 编辑
[*](defun c:NL()
[*](while(setq lay_name (getstring "\n输入要新建的图层名称:"))
[*] (if (tblsearch "LAYER"lay_name)
[*] (princ "\n该图层已存在!")
[*] (progn
[*] (setq lay_cor (abs (cdr(assoc 62 (tblnext"layer" t)))))
[*] (setq cor_list nil)
[*] (while lay_cor
[*] (setq cor_list (vl-list* lay_cor cor_list))
[*] (if (setq lay_cor (cdr (assoc 62 (tblnext"layer"))))
[*] (setq lay_cor (abs lay_cor)))
[*] )
[*] (setq cor 1)
[*] (while (member cor cor_list)
[*] (setq cor (1+ cor))
[*] )
[*] (if (> cor 255)
[*] (progn
[*] (princ "\n您的图层颜色过多,已按255色建层")
[*] (setq cor 255)))
[*] (entmake (list '(0 . "LAYER") '(100 . "AcDbSymbolTableRecord") '(100 . "AcDbLayerTableRecord") '(70 . 0) '(6 . "Continuous")(cons 62 cor)
[*] (cons 2 lay_name)
[*] )
[*] )
[*] (command "clayer" lay_name)
[*] (princ "\n已新建图层<<")
[*] (princ lay_name)
[*] (princ ">>并切换成当前图层")
[*] )
[*]
[*] )
[*])
[*](prin1)
[*])
晕,不会弄这个排序······ 进来学习下~~~
页:
[1]