转换图层
<P>在别人机子上看到:执行一个lisp程序命令,会自动建立一个new图层,并设定好图层名、颜色.。自己可以将需要的图形框选,然后程序就会将它放到new图层上面去(好像还有一个计数器似的)。</P><P>请教各位大吓,如何用lisp做到呢?用的是r14.先谢了!</P> <P>(defun c:newlayer ()</P>
<P>(command "layer" "new" "自己要建的新图层" "c" "1" "" "")</P>
<P>)</P>
<P>(defun c:selchange ()</P>
<P>(setq newla (getstring "请输入要改的图层名称"))</P>
<P>(setq ent (ssget))</P>
<P>(command "change" ent "p" "la" newla "")</P>
<P>)</P>
<P>我没有调试应该好使</P>
<P> </P> <P>先谢啦,不过你这个程序可不可以实现一个命令执行两个部分的操作呢?第一部分是先建立图层,命名,指定图层颜色,设为当前.第二部分就是框选图形转换到这个图层里面去,转过去的时候是要让lisp判断图形转换的次序(有一定的排序功能). </P>
<P>麻烦各位再帮俺想一下吧!</P> <P>"判断图形转换的次序(有一定的排序功能). "</P>
<P>怎么理解</P> <P>(command "change" ent "p" "la" newla "")<BR>====><BR>(command "chprop" ent "" "la" newla "")</P>
<P> </P>
<P> </P>
[LISP]
<P>排序就是当你框选了图形之后它就开始执行转换图层,但不是一次过把你框的图形转过去而是有次序一样一段一段的转,也就是会找离它最接近的一个图元转过去再接着转下一个直到转完,而且是不要标次序数字的!</P> <P>??? 找离它最接近的 ???</P><P>这个它是根据什么条件判断来的<BR></P>
[LISP]
换个说法吧:当框选图形之后就开始转换,一段一段的转有一定的顺序,不要一次就全转换到那一个图层上面去!就好像我前面说的有一个计数器一样,我想那个是在记录转换了多少个图元!
页:
[1]