如下程序,目的是删除除你好* 和我好*图层以外的所有图层上的图元,如何修改
本帖最后由 664571221 于 2018-10-7 10:52 编辑如何在程序里面加上我好*的图层,删除除了你好*和我好*以外的所有图层上的图元
(defun c:xx ( / ss)
(if (or
(setq ss (ssget "_P" '((8 . "~你好*"))))
(ssget '((8 . "~你好*")))
)
(command ".erase" ss "")
)
)
(setq ss (ssget "x" (list '(-4 . "<or")
(cons 8 "你好")
(cons 8 "我好")
'(-4 . "or>")
)
)
);先选出“你好”和“我好”图层图元
(command ".select" "all" "r" ss "");再反选图元
(command ".erase""");最后删除 @辰雨@ 发表于 2018-10-8 14:36
(setq ss (ssget "x" (list '(-4 . "")
)
)
使用编辑器查看下括号的中英文,全角的都改半角就行 852456 发表于 2018-10-7 11:22
(defun c:xx ( / ss) (if (setq ss (ssget "X" (list'(8 . "你好*,我好*")))) (command ".erase" " ...
可以了少了个括号,谢谢你 看看 wcmatch 函数有无您想要的组合 Andyhon 发表于 2018-10-6 15:14
看看 wcmatch 函数有无您想要的组合
你好大神,我不太懂程序 这还用写程序吗?CAD完全可以做到的,太依赖程序了吧 '((8 . "~你好*,~我好*"))试试这样可以么? 本帖最后由 fangmin723 于 2018-10-7 10:40 编辑
删掉图层的话有点麻烦,首先要看看图层上是否有图元,如果有图元是删不掉的,删除图元的话很简单! fangmin723 发表于 2018-10-7 10:33
(defun c:xx ( / ss)
(if (setq ss (ssget "_P" (list'(8 . "~你好*,~我好*"))))
(command ".era ...
你好,好像不行,吧全部图层都删除了 664571221 发表于 2018-10-7 10:39
你好,好像不行,吧全部图层都删除了
删掉图层的话有点麻烦,首先要看看图层上是否有图元,如果有图元是删不掉的,删除图元的话很简单! fangmin723 发表于 2018-10-7 10:40
删掉图层的话有点麻烦,首先要看看图层上是否有图元,如果有图元是删不掉的,删除图元的话很简单!
嗯 就是删除图层上的图元,删除除了这两个图层以外的所有图元 664571221 发表于 2018-10-7 10:44
嗯 就是删除图层上的图元,删除除了这两个图层以外的所有图元
不是吧图层删除,就是删除这两个图层外的图层上的图元
页:
[1]
2