luyu9635 发表于 2007-12-4 20:38:00

[原创]过滤实体或颜色

命令为gu,默认为按点选实体过滤,第一次没选对象,或空格或回车的话则按点选的颜色过滤,注意只过滤同图层中的对象

luyu9635 发表于 2007-12-4 20:40:00

(defun c:gu(/ dx ee e en dx8 ss)<br/>&nbsp;&nbsp;&nbsp; (prompt "\n按所选实体或颜色过滤&lt;默认为实体&gt;:")<br/>&nbsp; (setq ee(entsel "\n请点选实体:"))<br/>&nbsp; (cond<br/>&nbsp;&nbsp;&nbsp; ((not ee) (setq ee(entsel "\n请点选对象获取颜色:"))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq en(entget(car ee)) e 62)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq dx8(cdr(assoc 8 en)) dx (cdr(assoc 62 en)))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (not dx) (setq dx 256))<br/>&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (T&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq en (entget(car ee)) dx (cdr(assoc 0 en)))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq e 0 dx8 (cdr(assoc 8 en))))<br/>&nbsp; )<br/>&nbsp; (if (or (= dx "TEXT")(= dx "MTEXT")) (setq dx "TEXT,MTEXT"))<br/>&nbsp; (setq ss (ssget (list(cons e&nbsp; dx)(cons 8 dx8))))<br/>&nbsp; (sssetfirst nil ss)<br/>&nbsp; (princ(strcat "\n" "已选择" dx8 "层中的" (cond ((= e 0) dx)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((= e 62) (itoa dx))) "~~~!"))<br/>&nbsp; (princ)(princ)<br/>&nbsp;&nbsp; )<br/>

luyu9635 发表于 2007-12-5 18:06:00

没人顶,我自己顶,觉得有用的说话呀

xhq1954425 发表于 2007-12-5 18:52:00

<p>我来说话,我看了还是有用!有用!谢谢!谢谢!</p><p>顶……。顶……。</p>

longzhu1007 发表于 2007-12-6 20:04:00

先顶了 再用

434939575 发表于 2011-12-29 00:44:37

顶起。学习中

功夫佬 发表于 2012-3-13 01:09:21

正在找,谢谢楼主你啦

lidaxiu 发表于 2012-3-13 09:18:43

本帖最后由 lidaxiu 于 2012-3-13 09:19 编辑

这个早就有了吧,不仅单层选 ,还能多层选

lidaxiu 发表于 2012-3-13 10:04:42

哦看了下程序,还是楼主这个功能更强大,楼主这个能按特性识别图元

未然 发表于 2012-4-24 14:39:34

实用 谢谢
页: [1] 2
查看完整版本: [原创]过滤实体或颜色