ninja37 发表于 2020-11-22 20:33:41

求各位高手帮忙改一下 删除指定条件的图元

本帖最后由 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)
)

satan421 发表于 2020-11-22 20:33:42

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;黄色的范围有点宽泛,下面的代码可选中并删除颜色索引值为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)
)

satan421 发表于 2020-11-23 09:17:58

(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:28:26

本帖最后由 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]
查看完整版本: 求各位高手帮忙改一下 删除指定条件的图元