新手求助,望各位前辈指点!!!
本帖最后由 作者 于 2004-2-20 0:03:18 编辑 <br /><br /> 以前竟然没有发现世上还有这么好的CAD开发论坛,真是遗憾啊!!这里有这么多的朋友一起学习交流一定很棒的!!以后这里就是我们共同的家,愿弟兄们多多指教!我还是刚学LISP,很菜的请不要见笑。
我想编一程序,对当前图上在1000 层上所有的 text ,根据其高、宽等属性的不同,逐一进行修改,但不知从何入手。
小弟不太明白LISP中的选择集是如何选择,并对图元进行 逐个 操作的。
(setq ss1 (ssget ((0 . "TEXT")))) <BR>
(setq ss1 (ssget "W" pt1 pt2 ((8 . "1000"))))
请各位前辈帮小弟写一下,不胜感激!! 注:我用的是CAD2000 你的过滤表有点问题,请参见(setq ss1 (ssget '((0 . "TEXT") (8 . "1000")))),注意符号'的位置。
然后就可以操作ss1了。
(setq n (sslength ss1))
(repeat n
……
) 本帖最后由 作者 于 2004-2-20 12:35:26 编辑 <br /><br /> 谢谢<A name=80631><FONT color=#000066><B>cqnj023</B></FONT></A>兄这么快就给了回复,这里的朋友真是都很热心哪! 送您鲜花一朵,不成敬意!
是不是这样就可以了
;这个选择集还是得手工全选,再由程序过滤对吗?可以不用手工选吗?<BR>(setq ss1 (ssget '((0 . "TEXT") (8 . "1000"))))
(setq i 0) ;以下逐一操作图元,请指点对不对
(repeat (sslength ss)
(setq ent (ssname ss i))<BR> …… ;在此处判断并操作当前元素吗?
(setq i (1+ i))<BR> ) <BR>)
全选:
(setq ss1 (ssget "x" '((0 . "TEXT") (8 . "1000"))))
后面的可行
其他参数可参考 cad的帮助文件。 (setq ss (ssget "x" '((0 . "TEXT")(8 . "1000"))))
不好意思,和樓上重覆了,此帖在短短時間有6百多人閱讀,實在不可思議
页:
[1]