新人求教关于ssget"p"的一点疑问
自己编写了一个小的lsp(defun c:vv();移动上一个选择集
(setvar "cmdecho" 0)
(setq ent(ssget"p"))
(command "move" ent "")
(setvar "cmdecho" 1)
(princ)
)
本人使用的是cad2015,这里移动的“上一个选择集”,是指被执行过命令的上一个选择集。在我以前用cad2008时,只要被框选过的对象,即使没有被执行过任何命令,即先选择这些对象,再用esc取消选择,再执行命令时用“p”也能够抓取得到,但是换cad2015就不行了。不知道是不是后来cad有改了什么,请问有办法用ssget或其他什么函数来抓取上一次选择的对象集(即使没有被执行过任何命令)吗?
求助大神,有没有知道的? azbk00 发表于 2015-9-28 20:05 static/image/common/back.gif
求助大神,有没有知道的?
你上个选择集去哪儿了,???? 434939575 发表于 2015-9-28 20:34 static/image/common/back.gif
你上个选择集去哪儿了,????
哥,我就是想抓取到上一次框选的对象,有办法吗 (defun c:vv();移动上一个选择集
(setvar "cmdecho" 0)
(setqsS (SSget))
(setq ent(ssget"p"))
(command "move" ent "")
(setvar "cmdecho" 1)
(princ)
),你那
都没有选择集,怎么来上选择集。 没有用过15版,不过在16版中这功能也没有变。是不是你操作有什么问题? 自贡黄明儒 发表于 2015-9-29 09:47 static/image/common/back.gif
没有用过15版,不过在16版中这功能也没有变。是不是你操作有什么问题?
大哥,你看我这操作应该没有问题吧?我框选了右边的长方形,然后又用esc取消了选择,当我再次使用copy命令的时候,输入p抓取的确是左边的长方形。我的目的是想抓取右边的长方形的,没办法吗?
你的操作应该是有问题的
如果仅框选后立即用esc取消
选择集是不会变的
但是你在框选后输入copy回车后再取消
选择集就是你预选的左边矩形
如果你还是不理解
新建一个图再操作一遍 masterlong 发表于 2015-9-29 15:16 static/image/common/back.gif
你的操作应该是有问题的
如果仅框选后立即用esc取消
选择集是不会变的
嗯,你的说法我也很认同,但是08cad却不是这样。这是08的cad操作演示,用的是同样的操作,选中的却是右边的矩形。 前面所说的那些
是CAD的标准操作模式
一直没有改过的
更不会改了以后又改回来
个人猜测
你的CAD2008所使用的copy命令
并非原版的CAD命令
或者加载了第三方插件
如果你有兴趣验证的话
重装CAD不安装任何插件
再试操作