arthwon 发表于 2012-3-13 23:32:29

ssget如何重新调用并过滤备份过的选择集?

本帖最后由 arthwon 于 2012-3-13 23:33 编辑

手动选择了要处理的图元,并将该选择集备份了,之后想重新再调用,应该如何操作?

(PRINC "\n选择转换的图形 ")
(setq ss (ssget))
(setq ss_all (ssget "p"))                ;备份了上面的选择集

;中间对变量ss进行了其他操作,使ss的选择集改变了

(setq ss ss_all)                        ;将备份的选择集重新赋值给变量ss
(setq ss (ssget      "p"                        ;用P或其他sel-method都没能调用原来的选择集
                '((0 . "TEXT")
                  (7 . "Standard")
                  (8 . "1528")
               )
         )
)


yjr111 发表于 2012-3-13 23:54:27

参考:
1、(command "_.select" ss_all)(ssget "p"),前提是中间操作没有删除图元
2、先将选择集转表,然后表转选择集,若中间有删除操作,可以先判断选择集内图元是否被删除;

arthwon 发表于 2012-3-14 10:17:29

本帖最后由 arthwon 于 2012-3-14 10:19 编辑

哈哈,我太菜了。用select可以选择为上一个选择集,平时都没用到这个命令。
感谢楼上的兄弟啊~~
因为没有删除图元,所以没转表了。其实我还不会转来转去呢
还是贴出完整代码供大家参考吧。
(PRINC "\n选择转换的图形 ")
(setq ss (ssget))
(setq ss_all (ssget "p"))      ;备份了上面的选择集

;中间对变量ss进行了其他操作,使ss的选择集改变了

(command "_.select" ss_all "")      ;使备份的选择集成为上一个选择集
(setq ss (ssget "p" '((0 . "TEXT") (7 . "Standard") (8 . "1528"))))

gcho 发表于 2012-3-14 10:50:55

本帖最后由 gcho 于 2012-3-14 10:52 编辑

能否把lsp中途在屏幕上输出的一列数据定义为选择集,该选择集也是这个lsp下一步要提取的参数

奥比旺2008 发表于 2012-10-30 11:04:46

原来是备份的意思。

chlh_jd 发表于 2014-5-7 01:11:13

(sssetfirst nil ss_all)

434939575 发表于 2014-9-21 15:11:42

这个好!

cjx655 发表于 2014-12-4 18:44:26

经常会出现(command "_.select" ss_all "") 命令 无效的情形。
页: [1]
查看完整版本: ssget如何重新调用并过滤备份过的选择集?