jcmtxgt 发表于 2005-11-24 10:06:00

转换图层

<P>在别人机子上看到:执行一个lisp程序命令,会自动建立一个new图层,并设定好图层名、颜色.。自己可以将需要的图形框选,然后程序就会将它放到new图层上面去(好像还有一个计数器似的)。</P>
<P>请教各位大吓,如何用lisp做到呢?用的是r14.先谢了!</P>

wb0815 发表于 2005-11-24 10:27:00

<P>(defun c:newlayer ()</P>
<P>(command "layer" "new" "自己要建的新图层"&nbsp; "c" "1" "" "")</P>
<P>)</P>
<P>(defun c:selchange ()</P>
<P>(setq newla (getstring "请输入要改的图层名称"))</P>
<P>(setq ent (ssget))</P>
<P>(command "change"&nbsp; ent "p"&nbsp; "la" newla&nbsp; "")</P>
<P>)</P>
<P>我没有调试应该好使</P>
<P>&nbsp;</P>

jcmtxgt 发表于 2005-11-24 20:21:00

<P>先谢啦,不过你这个程序可不可以实现一个命令执行两个部分的操作呢?第一部分是先建立图层,命名,指定图层颜色,设为当前.第二部分就是框选图形转换到这个图层里面去,转过去的时候是要让lisp判断图形转换的次序(有一定的排序功能). </P>
<P>麻烦各位再帮俺想一下吧!</P>

呆呆 发表于 2005-11-24 20:48:00

<P>"判断图形转换的次序(有一定的排序功能). "</P>
<P>怎么理解</P>

Andyhon 发表于 2005-11-24 22:36:00

<P>(command "change"&nbsp; ent "p"&nbsp; "la" newla&nbsp; "")<BR>====&gt;<BR>(command "chprop"&nbsp; ent ""&nbsp; "la" newla&nbsp; "")</P>
<P>&nbsp;</P>
<P>&nbsp;</P>

jcmtxgt 发表于 2005-11-25 09:10:00

[LISP]

<P>排序就是当你框选了图形之后它就开始执行转换图层,但不是一次过把你框的图形转过去而是有次序一样一段一段的转,也就是会找离它最接近的一个图元转过去再接着转下一个直到转完,而且是不要标次序数字的!</P>

Andyhon 发表于 2005-11-25 10:41:00

<P>??? 找离它最接近的 ???</P>
<P>这个它是根据什么条件判断来的<BR></P>

jcmtxgt 发表于 2005-11-25 11:01:00

[LISP]

换个说法吧:当框选图形之后就开始转换,一段一段的转有一定的顺序,不要一次就全转换到那一个图层上面去!就好像我前面说的有一个计数器一样,我想那个是在记录转换了多少个图元!
页: [1]
查看完整版本: 转换图层