求各位高手帮忙改一下 删除指定条件的图元
本帖最后由 ninja37 于 2020-11-22 20:57 编辑求各位高手帮忙改一下 下面的3个命令3割都不能用 自己写的年龄不小了 实在弄不好了
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:ES4(/ ssys4)(princ "\n删除选取的黄色图元")
(if
(setq ssys4 (ssget '((-4 . "<or") (62 . 2) (-4 . "or>"))))
(command "erase""ssys4")
)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:EL(/ ssysline)(princ "\n删除直线")
(if
(setq ssysline (setq ss (ssget "A" '((0 . "LINE"))))
(command "erase""ssysline")
)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:EC(/ ssyscir)(princ "\n删除圆")
(if
(setq ssyscir (setq ss (ssget "A" '((0 . "CIRCLE"))))
(command "erase""ssyscir")
)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;黄色的范围有点宽泛,下面的代码可选中并删除颜色索引值为2的非POINT图元
;;具体颜色等条件根据需要修改
(defun c:ES4 (/ ssys4)
(princ "\n删除选取的黄色图元")
(if (setq ssys4 (ssget '((-4 . "<AND")(-4 . "<NOT")(0 . "POINT")(-4 . "NOT>") (62 . 2)(-4 . "AND>"))))
(vl-cmdf "_.erase" ssys4 "")
)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:EL (/ ssysline)
(princ "\n删除直线")
(if (setq ssysline (setq ss (ssget ":N" '((0 . "LINE")))))
(vl-cmdf "_.erase" ssysline "")
)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:EC (/ ssyscir)
(princ "\n删除圆")
(if (setq ssyscir (setq ss (ssget ":N" '((0 . "CIRCLE")))))
(vl-cmdf "_.erase" ssyscir "")
)
(princ)
) (defun c:ES4 (/ ssys4)
(princ "\n删除选取的黄色图元")
(if (setq ssys4 (ssget '((62 . 2))))
(vl-cmdf "_.erase" ssys4 "")
)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:EL (/ ssysline)
(princ "\n删除直线")
(if (setq ssysline (setq ss (ssget "A" '((0 . "LINE")))))
(vl-cmdf "_.erase" ssysline "")
)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:EC (/ ssyscir)
(princ "\n删除圆")
(if (setq ssyscir (setq ss (ssget "A" '((0 . "CIRCLE")))))
(vl-cmdf "_.erase" ssyscir "")
)
(princ)
) 本帖最后由 ninja37 于 2020-11-23 09:32 编辑
satan421 发表于 2020-11-23 09:17
(defun c:ES4 (/ ssys4)
(princ "\n删除选取的黄色图元")
(if (setq ssys4 (ssget '((62 . 2))))
这位小兄弟 谢谢你的帮忙能不能麻烦你了帮我再改一下
1 EC EL删除直线 圆的命令不要直接删除掉整个图的而是多一个W框选只删除选择框范围之内的,2 删除黄色图元虽然有框选 但是不知道什么原因 我这里cad2016框选不到任何黄色的东西,但是程序运行没有错误 。
最好是帮忙设置一下ssget类型排除掉点point类型的图元 不要删除掉点,我们厂有的时候经常有黄色的点在图上 标识起割位置 ,不能删掉。
页:
[1]