明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 454|回复: 3

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

[复制链接]
发表于 2020-11-22 20:33 | 显示全部楼层 |阅读模式
10明经币
本帖最后由 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 . "")))) (vl-cmdf "_.erase" ssys4 "") ) (princ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun c:EL (/ ssysline) (princ "\n删除直线") (if ( ...
发表于 2020-11-22 20:33 | 显示全部楼层
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;黄色的范围有点宽泛,下面的代码可选中并删除颜色索引值为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)
)
回复

使用道具 举报

发表于 2020-11-23 09:17 | 显示全部楼层
(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)
)
回复

使用道具 举报

 楼主| 发表于 2020-11-23 09:28 | 显示全部楼层
本帖最后由 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类型的图元   不要删除掉点  ,我们厂有的时候经常有黄色的点在图上 标识起割位置 ,不能删掉。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-4 07:41 , Processed in 0.284642 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表