其實我不是大神啦,大家互相學習,和大家互相切磋,大家一起進步
試看看是不是這樣
(defun c:XJ ()
就是这样的效果,非常感谢,在您的基础上,我把各自判断有没有线型那段改成程序一开始就判断,
(defun c:XJ ()
(setvar "cmdecho" 0)
(foreach lt '("CENTER" "DASH" "DASHED" "LED_LINE" "BATTING" "ZIGZAG")
(if (= (tblsearch "ltype" lt) nil)
(command "_linetype" "l" lt "" "")
)
)
(setq ed1(getstring "\n请输入图层名称:"))
(setq yans(getint "\n请输入颜色:"))
(initget "c e d")
(setq xianxing(getkword "\n请输入线型名称 c<Continuous> e<Center> d<Dash>:<Continuous>"))
(cond
((= xianxing "c")
(entmake (list
'(0 . "LAYER")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbLayerTableRecord")
'(70 . 0)
'(290 . 1) ;1 设为打印 ,0 设为非打印
(cons 62 yans)
(cons 2 ed1)
(cons 6 "Continuous")
)
)
)
((= xianxing "e")
(entmake (list
'(0 . "LAYER")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbLayerTableRecord")
'(70 . 0)
'(290 . 1) ;1 设为打印 ,0 设为非打印
(cons 62 yans)
(cons 2 ed1)
(cons 6 "CENTER");;线型代码
)
)
)
((= xianxing "d")
(entmake (list
'(0 . "LAYER")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbLayerTableRecord")
'(70 . 0)
'(290 . 1) ;1 设为打印 ,0 设为非打印
(cons 62 yans)
(cons 2 ed1)
(cons 6 "DASH");;线型代码
)
)
)
)
(setvar "clayer" ed1)
(setvar "cmdecho" 1)
(princ)
) 路过,这样的讨论真不错
页:
1
[2]