[求助]提出个想法,可以编出个按颜色选择物体的程序吗?
<P>如题:</P><P>可以编出个按颜色选择物体的程序吗?</P> (load "xyp_lib.vlx") ;版本 V.20060210
;|下载和加载通用函数(可在签名栏直接下载后放到搜索路径下)
利用以下任何一种方式(首选第一种)即可加载和运行通用函数内的所有子程序:
★1·在acad.lsp中增加(load"xyp_lib")
■2·在每个程序内增加(load"xyp_lib")
■3·在command下,输入(load"xyp_lib")
■4·在菜单.mnl中增加(load"xyp_lib")
■5·将xyp_lib.vlx文件直接拽到cad屏幕
★通用函数下载地址:
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=37554
|;
;;;按颜色选择物体
(defun c:test ()
(if (null int)
(setq int 7)
)
(setq INT (UINT 7 "" "\n颜色号" INT)
ss(ssget)
ss1 (ssadd)
i -1
)
(while (setq s1 (ssname ss (setq i (1+ i))))
(if (= (xyp-get-Color s1) int)
(setq ss1 (ssadd s1 ss1))
)
(princ ".")
)
(princ "\n物体集名称: !ss1")
ss1
) <P>楼上,出错了:</P>
<P>命令: TEST ; 错误: no function definition: UINT</P>
<P>我想要的是:颜色号不用输入,直接选取的,</P> userzhl发表于2006-3-11 23:35:00static/image/common/back.gif楼上,出错了:命令: TEST ; 错误: no function definition: UINT我想要的是:颜色号不用输入,直接选取的,先加载通用函数!
(load "xyp_lib.vlx") ;版本 V.20060210
;|下载和加载通用函数(可在签名栏直接下载后放到搜索路径下)
利用以下任何一种方式(首选第一种)即可加载和运行通用函数内的所有子程序:
★1·在acad.lsp中增加(load"xyp_lib")
■2·在每个程序内增加(load"xyp_lib")
■3·在command下,输入(load"xyp_lib")
■4·在菜单.mnl中增加(load"xyp_lib")
■5·将xyp_lib.vlx文件直接拽到cad屏幕
★通用函数下载地址:
dispbbs.asp?boardID=3&ID=37554&page=1
|;
;;;按颜色选择物体
(defun c:test ()
(while (not (setq s1 (entsel "\n选择任意目标实体: "))))
(setq int (xyp-get-Color (car s1))
ss(ssget)
ss1 (ssadd)
i -1
)
(while (setq s1 (ssname ss (setq i (1+ i))))
(if (= (xyp-get-Color s1) int)
(setq ss1 (ssadd s1 ss1))
)
(princ ".")
)
(princ "\n物体集名称: !ss1")
ss1
)
本帖最后由 作者 于 2006-3-12 23:15:03 编辑 <br /><br /> <P>没有更简单一点的了吗?终于被我研究出来了:</P>
<P>(defun c:ssc (/ al)<BR> (if (setq al (entsel "\n请选择:")) (progn<BR> (setq ss (ssget (list (assoc 62 (entget (car al))))))<BR>......<BR> ))<BR>)</P> userzhl发表于2006-3-12 14:49:00static/image/common/back.gif
没有更简单一点的了吗?终于被我研究出来了:
(defun c:ssc (/ al)(if (setq al (entsel \"\n请选择:\"))&n...
<P>既然研究出来了,应该不错!目前还没有更简单一点的。</P>
<P>楼上的东东看不懂!</P>
<P><BR> </P> 此程序是选择所有同一颜色的物体,我想把它改成“点色框选”呀。 <P>试一下:<BR>(defun c:ssc (/ al)<BR> (if (setq al (entsel "\n请选择:")) (progn<BR> (setq ss (ssget (list (assoc 62 (entget (car al))))))<BR>......<BR> ))<BR>)</P> 本帖最后由 作者 于 2006-3-12 23:37:53 编辑 <br /><br /> <P>非常的感谢<A name=2517><FONT color=#0000ff><B>ZZXXQQ</B></FONT></A>和<A name=2512><FONT color=#990000><B>xyp1964</B></FONT></A>,好像是已解决,但后来不知为何又出错了:</P>
<P>错误: ssget 列表错误</P>
<P>是不是:DXF <FONT size=3>群组码出错了?</FONT></P> <P>组码62不是必须的</P>
<P>当随层时候,62是没有的。</P>