查看单个帖子
旧 2009-04-26, 06:06 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 只显示某种颜色的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楼厉害啊,还有外国的网站资料,谢谢!
有朋自远方来,不亦乐乎!

谢谢楼主,学习了
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)