eechenchun 发表于 2024-7-29 13:49:06

怎么样进行多重筛选

我有一个图层为图层1这个图层里面有文字 直线 圆 也有多种颜色

请问我想实现 在这个删除这个图层里面 黄色的直线和删除这个图层里面红色的长度小于5直线要怎么弄

eechenchun 发表于 2024-7-29 21:57:29

写写大家的帮助

终于还是解决了

[*](defun c:t (/ doc ss)
[*](setq doc (vla-get-activedocument (vlax-get-acad-object)))
[*](setq ss (ssget "_X" '((8 . "Part"))))
[*]
[*](if ss
[*]    (progn
[*]      (setq count 0)
[*]      (vlax-for ent (vla-get-modelspace doc)
[*]      (if (and (= (vla-get-objectname ent) "AcDbLine")
[*]               (= (vla-get-color ent) 2) ; 2为黄色
[*]               (< (vla-get-length ent) 10.0);长度小于10
[*]               (> (vla-get-length ent) 4.0))
[*]          (progn
[*]            (vla-delete ent)
[*]            (setq count (1+ count))
[*]          )
[*]      )
[*]      )
[*]      (princ (strcat "删除 " (itoa count) " 个对象"))
[*]    )
[*]    (princ "没有找到实体")
[*])
[*](princ)
[*])

自贡黄明儒 发表于 2024-7-29 14:51:57

小蜜蜂那个ssget的贴子,算是很齐全的了。
但有些没有过滤组码,如长度。
黄色,本身黄色可以组码62过滤,但如果是随层,就过滤不了了。
所以,还是一个一个判断吧,想什么条件都行。

sniper1111 发表于 2024-7-29 15:07:40

自贡黄明儒 发表于 2024-7-29 14:51
小蜜蜂那个ssget的贴子,算是很齐全的了。
但有些没有过滤组码,如长度。
黄色,本身黄色可以组码62过滤 ...

到老回复的有高度,又学习了。

Bao_lai 发表于 2024-7-29 14:33:44

ssget -4.or

tranque 发表于 2024-7-29 15:36:14

突然想起小菜选择易

你有种再说一遍 发表于 2024-7-29 16:18:58

并行遍历句柄,获取相关信息构造索引,然后爱怎么删怎么删

技术工作室 发表于 2024-7-30 06:46:37

学无止境,思维各异

shirker 发表于 2024-8-1 11:19:40

备用收藏,支持一下!

战神凯哥 发表于 2024-8-1 16:50:40

CADqse命令,轻松解决
页: [1] 2
查看完整版本: 怎么样进行多重筛选