如何对(ssget)得到的集合进行复制命名?
现在尝试写一个小程序(setq ss (ssget))
现在想做的事就是将这个集合内的内容复制出来进行填充。
通过command命令来处理
(command "_copy" ss "" "d" "0,-1000,0")
这个时候集合ss仍然是原来位置的实体集,我不想对原实体集进行填充,想对复制后的新实体集进行填充。这里就需要对复制后新的选择集命名。
(setq ss2 (entlast))
这个命令只能对command copy命令产生的最后一个实体命名为ss2,这里是否有办法将ss2命名为复制后的新实体集?
查一下entlast和entnext的用法,论坛里也有现成代码!复制前先用entlast获取最后图元名,复制后再用while循环entnext找到所有新增加的图元! (setq ss (ssget))
(setq en (entlast))
(setq sss (ssadd))
(command "_copy" ss "" "d" "0,-1000,0")
(while (setq en (entnext en)) (ssadd en sss)) springwillow 发表于 2015-9-19 22:56 static/image/common/back.gif
查一下entlast和entnext的用法,论坛里也有现成代码!复制前先用entlast获取最后图元名,复制后再用while循 ...
谢谢,明白了。 lht 发表于 2015-9-19 23:38 static/image/common/back.gif
(setq ss (ssget))
(setq en (entlast))
(setq sss (ssadd))
谢谢详细的解答,看明白了。 试试(ssget"p") edata 发表于 2015-9-20 01:08 static/image/common/back.gif
试试(ssget"p")
谢谢你的帮助。
(ssget"p")这个功能只能选择P 最后一个创建的选择集。
但我最后一次创建的选择集是(ssget),对这个集合进行复制后,复制后的内容系统并不认为是最后创建的选择集。
采用(ssget"p")命令得到的仍然是没有复制的原选择集。
谢谢你的回答,2楼和3楼给的语句可以实现我需要的功能。
页:
[1]