在已选中的图元中删除某一个,怎么处理
如选通过ssget 选择了十个图元(setq ObjSet (ssget))
(setq data(entsel))
........
增加判断,如data已在objset中,则将data从objset中删掉,如不在,则objset不变
这个代码怎么写啊
(defun c:test ()
(setq ss1 nil ss2 nil)
(if (setq ss1 (ssget '((0 . "LINE,circle"))))
(foreach itm (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss1)))
(if (= (cdr (assoc 0 (entget itm))) "CIRCLE")
(progn
(or ss2 (setq ss2 (ssadd)))
(ssadd itm ss2)
(ssdel itm ss1)
)
)
)
)
)
这是nonsmall阁下的同时获取两种选择集的范本,希望对您有所帮助 看看函数ssdel。 不管在不在选择集里面,都可以用ssdel 删除
(setq ObjSet (ssget))
(setq data (entsel))
(if data (ssdel (car data) ObjSet ))
(sssetfirst nil ObjSet);;测试 感谢,感谢,已了解
页:
[1]