求cad lisp,删除所有未闭合的多段线
在一个cad图里,有几万个多段线,有的闭合了,有的没有闭合或者只有一根线,怎么用lisp语言将没有封闭的线全部删除,只保留已封闭的多段线。注:只有多段线一种图元,图层也不...
在一个cad图里,有几万个多段线,有的闭合了,有的没有闭合或者只有一根线,怎么用lisp语言将没有封闭的线全部删除,只保留已封闭的多段线。注:只有多段线一种图元,图层也不考虑
1 展开
1 展开
1个回答
推荐于2016-03-18 · 知道合伙人软件行家
关注
展开全部
(defun C:tes ( / #k2 #kw)
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(if (setq #kw (setq #kw (ssget (list '(0 . "LWPOLYLINE") '(70 . 0)))));选择不封闭的多段线
(progn
(initget "V C S E") (setq #k2 (getkword "\n选择多段线或[移动(V)/复制(C)/选择(S)]: <删除(E)> "))
(if (/= #k2 nil) (setq #k2 (strcase #k2)) )
(if (null #k2)
(command "_.Erase" #kw "")
(cond
((= #k2 "V") (command "_.Move" #kw "" pause) )
((= #k2 "C") (command "_.Copy" #kw "" pause) )
((= #k2 "E") (command "_.Erase" #kw "") )
((= #k2 "S") (sssetfirst nil #kw) )
)
)
)
(princ "\n未选择对象!")
)
(prin1)
);复制到记事本,以【.lsp】为后缀命名。autoLISP加载后,命令为:TES
更多追问追答
追问
怎么好像是无效的,我想不需要手动选择,直接输入命令自动删除
怎么好像是无效的,我想不需要手动选择,直接输入命令自动删除
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询