snria 发表于 2006-7-19 12:39:00

请问怎么选择非图形图元?希望高手指教

本帖最后由 作者 于 2006-7-22 12:55:20 编辑 <br /><br /> <P>请教把一个对象层属性修改为随层该怎么编程??</P>
<P>或者怎么可以删掉一个对象的62组码?</P>

oyxx1023 发表于 2006-7-19 13:00:00

得到实体数据表已后,直接删除其中的 (62 . x)这一项,再 更新实体.

Alan 发表于 2006-7-19 16:38:00

要随层把它设为256就可以啊,没必要删

snria 发表于 2006-7-19 19:41:00

<P>谢谢大家,不过我是刚学的,还不知道怎么删除(62.x)这一项,是用哪个函数啊?麻烦高手告诉我一下好吗?</P>
<P>&nbsp;</P>

rongyifei 发表于 2006-7-19 19:44:00

<P>下面是我按照你的意思设计的程式:</P>
<P>(defun c:test (/ ss1 n en en_list bylayer_yn)<BR>&nbsp; (princ "\nSelect object(s):")<BR>&nbsp; (setq&nbsp;ss1 (ssget)<BR>&nbsp;n&nbsp;&nbsp; 0<BR>&nbsp; )<BR>&nbsp; (while (setq en (ssname ss1 n))<BR>&nbsp;&nbsp;&nbsp; (setq en_list&nbsp;&nbsp;&nbsp; (entget en)<BR>&nbsp;&nbsp; bylayer_yn (assoc 62 en_list)<BR>&nbsp;&nbsp;&nbsp; )<BR>&nbsp;&nbsp;&nbsp; (if&nbsp;(and bylayer_yn (/= bylayer_yn 256))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (progn<BR>&nbsp;(setq<BR>&nbsp;&nbsp; en_list (subst (cons 62 256) bylayer_yn en_list)<BR>&nbsp;)<BR>&nbsp;(entmod en_list)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<BR>&nbsp;&nbsp;&nbsp; )<BR>&nbsp;&nbsp;&nbsp; (setq n (1+ n)<BR>&nbsp;&nbsp;&nbsp; )<BR>&nbsp; )<BR>&nbsp; (princ)<BR>)</P>

snria 发表于 2006-7-19 20:25:00

谢谢楼上的,让我又学了不少东西,以后有问题再讨论

hwang21 发表于 2006-7-19 21:55:00

snria发表于2006-7-19 19:41:00static/image/common/back.gif
谢谢大家,不过我是刚学的,还不知道怎么删除(62.x)这一项,是用哪个函数啊?麻烦高手告诉我一下好吗?


<BR>我也非常想知道如何删除某一项,恳请专家出手!

rongyifei 发表于 2006-7-19 22:40:00

(defun c:test ()<BR>&nbsp; (setq en_list (entget (car (entsel "Secelt object:"))))<BR>&nbsp; (if (assoc 62 en_list)<BR>&nbsp;&nbsp;&nbsp; (progn<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq en_list (vl-remove (assoc 62 en_list) en_list))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (entmod en_list)<BR>&nbsp;&nbsp;&nbsp; )<BR>&nbsp; )<BR>)

rongyifei 发表于 2006-7-19 22:42:00

可以按照上面的方法,使用vl-remove函数来实现!

snria 发表于 2006-7-20 23:02:00

<P>先谢谢楼上的,</P>
<P>不过在CAD里面调用你的程序,然后选择一个对象后返回的是删除了(62 . x)项的表,而对象的层属性却还是没有变化?为什么?是我的CAD有问题吗?</P>
页: [1] 2
查看完整版本: 请问怎么选择非图形图元?希望高手指教