BenjaminXM 发表于 2015-9-19 22:22:47

如何对(ssget)得到的集合进行复制命名?

现在尝试写一个小程序
(setq ss (ssget))
现在想做的事就是将这个集合内的内容复制出来进行填充。
通过command命令来处理
(command "_copy" ss "" "d" "0,-1000,0")
这个时候集合ss仍然是原来位置的实体集,我不想对原实体集进行填充,想对复制后的新实体集进行填充。这里就需要对复制后新的选择集命名。
(setq ss2   (entlast))
这个命令只能对command copy命令产生的最后一个实体命名为ss2,这里是否有办法将ss2命名为复制后的新实体集?



springwillow 发表于 2015-9-19 22:56:59

查一下entlast和entnext的用法,论坛里也有现成代码!复制前先用entlast获取最后图元名,复制后再用while循环entnext找到所有新增加的图元!

lht 发表于 2015-9-19 23:38:17

(setq ss (ssget))                     
(setq en (entlast))
(setq sss (ssadd))
(command "_copy" ss "" "d" "0,-1000,0")
(while (setq en (entnext en)) (ssadd en sss))

BenjaminXM 发表于 2015-9-19 23:56:18

springwillow 发表于 2015-9-19 22:56 static/image/common/back.gif
查一下entlast和entnext的用法,论坛里也有现成代码!复制前先用entlast获取最后图元名,复制后再用while循 ...

谢谢,明白了。

BenjaminXM 发表于 2015-9-20 00:11:20

lht 发表于 2015-9-19 23:38 static/image/common/back.gif
(setq ss (ssget))                     
(setq en (entlast))
(setq sss (ssadd))


谢谢详细的解答,看明白了。

edata 发表于 2015-9-20 01:08:53

试试(ssget"p")

BenjaminXM 发表于 2015-9-20 08:00:54

edata 发表于 2015-9-20 01:08 static/image/common/back.gif
试试(ssget"p")

谢谢你的帮助。
(ssget"p")这个功能只能选择P 最后一个创建的选择集。
但我最后一次创建的选择集是(ssget),对这个集合进行复制后,复制后的内容系统并不认为是最后创建的选择集。
采用(ssget"p")命令得到的仍然是没有复制的原选择集。
谢谢你的回答,2楼和3楼给的语句可以实现我需要的功能。

页: [1]
查看完整版本: 如何对(ssget)得到的集合进行复制命名?