![]() |
只显示某种颜色的lisp(更新)
只显示某种颜色的lisp(更新)
www.dimcax.com 只显示某种颜色的lisp(更新) 1,修正了by layer颜色的选择 2,增加了范围选项,以缩短程序响应时间 (defun c:ncl () (setvar "cmdecho" 1) (princ "\n\nonly show selected color:") (setq mm (assoc 62 (setq obj (entget (car (entsel)))))) (setq lay (cdr (assoc 8 obj))) (if (= mm nil) (cor1)(cor2));end if ) (defun cor2() (princ "\n\nselect color object area :") (setq ss (ssget)) (setq i 0) (setq mm1 (cdr mm)) (repeat (sslength ss) (setq nn1 (cdr(assoc 62 (entget (ssname ss i))))) (if (= mm1 nn1) (redraw (ssname ss i) 3) (redraw (ssname ss i) 2) ) (setq i (1+ i)) );end repeat (princ) ) (defun cor1() (princ "\n\nselect color object area :") (setq ss (ssget)) (setq i 0) (setq ssx (ssadd)) (repeat (sslength ss) (setq ob (ssname ss i)) (setq col (assoc'62 (entget ob))) (setq lay1 (cdr(assoc'8 (entget ob)))) (if (and (= col nil)(= lay lay1)) (ssadd ob ssx)(princ)) (setq i (1+ i)) );end repeat (setq i 0) (repeat (sslength ssx) (setq p (ssname ssx i)) (ssdel p ss) (setq i (1+ i)) );end repeat (setq i 0) (repeat (sslength ss) (redraw (ssname ss i) 2) (setq i (1+ i)) );end repeat (setq i 0) (repeat (sslength ssx) (redraw (ssname ssx i) 3) (setq i (1+ i)) );end repeat (princ) ) 3dlove 楼主真是慷慨啊 延伸参考: 什么好东西啊? 勤能补拙 该程序很好用,方便在绘图时对某种颜色的实体进行操作,谢谢楼主 2楼厉害啊,还有外国的网站资料,谢谢! 有朋自远方来,不亦乐乎! 谢谢楼主,学习了 |
| 所有的时间均为北京时间。 现在的时间是 07:03 AM. |