求助快速选择颜色
如题 文件中很多带颜色的线条曲线圆弧和圆等各种属性 并在不同的图层里面求大神帮忙弄个快速选择颜色的 点一种颜色的所有的这种颜色被全部选中本人菜鸟 求大神指点一下 万分感谢本帖最后由 1291500406 于 2019-7-12 10:36 编辑
wjlddh 发表于 2019-7-11 20:01
这个好像不行 选中一种颜色不会显示一样的颜色都会被选中
颜色分为三种 bylayerbyblock还有 1 ~ 255
其中256随层色是最难的,ssget 搜索不到,
需要进一步解析随层的图层颜色
(defun c:bb( / sst obj ccls co b bb bb1 co1)(vl-load-com)
(if (setq sst (ssget ":E:S" '((0 . "SPLINE,ARC,CIRCLE"))))
(progn(setq obj (vlax-ename->vla-object (ssname sst 0)))
(setq cc(vla-get-color obj))(if (> cc 255)(progn
(setq ls(vla-get-layers (vla-get-ActiveDocument (vlax-get-Acad-object)))
co(vla-get-color(vla-item ls(vla-get-layer obj))))
(setq bb(ssget "x" ' ((0 . "SPLINE,ARC,CIRCLE")(62 . 256)))
b -1bb1 (ssadd))(repeat (sslength bb)(setq b (1+ b)
bb2(ssname bb b) co1(vla-get-color(vla-item ls
(vla-get-layer (vlax-ename->vla-objectbb2)))))
(if(= co co1)(setq ss (ssadd bb2bb1)))))(progn
(setq ss(ssget "x"(list '(0 . "SPLINE,ARC,CIRCLE")
(cons 62cc))))))(vl-cmdf "REGEN")(if ss (sssetfirst nil ss)))
(alert "\n请选取样条曲线,圆或者圆弧"))(princ))
本帖最后由 1291500406 于 2019-7-12 10:24 编辑
你的这一句误导了我
--->很多带颜色的线条曲线圆弧和圆等各种属性
并在不同的图层里面 我认为你的颜色是随层色
(defun c:bb( / ls co b bb bb1 co1)(vl-load-com)
(setq ls(vla-get-layers (vla-get-ActiveDocument (vlax-get-Acad-object)))
co(vla-get-color(vla-item ls(vla-get-layer (vlax-ename->vla-object
(car(entsel "\n必强提示,请点一种颜色")))))))
(setq bb(ssget "x" ' ((0 . "SPLINE,ARC,CIRCLE")(62 . 256))) b -1bb1 (ssadd))
(repeat (sslength bb)(setq b (1+ b)bb2(ssname bb b) co1
(vla-get-color(vla-item ls (vla-get-layer (vlax-ename->vla-objectbb2)))))
(if(= co co1)(setq ss (ssadd bb2bb1))))(sssetfirst nil ss)(princ))
这是个老题目,包括 '随层'
在内都有讨论过 不理解为什么要做这样的选择?是什么样的需求?选中后你要做什么呢? 1291500406 发表于 2019-7-11 09:43
(defun c:bb( / ls co b bb bb1 co1)(vl-load-com)
(setq ls(vla-get-layers (vla-get-ActiveDocument (vl ...
这个好像不行 选中一种颜色不会显示一样的颜色都会被选中 可以使用常青藤的快速选择功能 20060510412 发表于 2019-7-12 10:10
可以使用常青藤的快速选择功能
别人写的的工具,永远不如自己写的用起来适合,要学会自己写 小菜版选择易,你值得拥有
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=86610&highlight=%D1%A1%D4%F1%D2%D7 都是有局限性的好像很难做到
页:
[1]
2