Tharwat 发表于 2022-7-6 10:46:57

Nco的任意多选

你好
 
Ncopy命令是单一选择类型。我如何强制它获取多个实体作为ssget,例如。。。?
 
谢谢
 
塔瓦特

Lee Mac 发表于 2022-7-6 11:00:07

ssget不适用于嵌套选择-最接近的是:
 
(ssget "_:N")

 
然后使用ssnamex检索选定的嵌套实体,但这也相当麻烦。

Tharwat 发表于 2022-7-6 11:13:26

你好
 
是的,你说得对,实际上这很麻烦。
 
我尝试了以下代码。

(setq sset(ssget "_:N"))
(ssnamex sset o)
(command "_.ncopy" sset "" pause )

 
所以我试着正常地重复使用这个命令,但这导致了清除消息框出现在它的每个选择集之后!!!!!!!!
 
既然没有采取任何奇怪的行动,那么命令发生了什么变化???。。。如你所见。。。。。
 
忠实的
 
塔瓦特

Lee Mac 发表于 2022-7-6 11:22:56

您对ssnamex的调用是完全冗余的,ssget“:N”将父实体添加到选择集,子实体可以在ssnamex返回的信息中找到。
 
要获取这些实体,可以使用以下内容:
 
(vl-remove-if 'listp (mapcar 'cadr (ssnamex <SelSet>)))

Tharwat 发表于 2022-7-6 11:27:07

除了选择集之外,它没有!!!
 
但问题是。。。。。。。。
 
为什么在每次选择后正常调用NCOPY后会出现清除消息框?
 
这不是在第一次实施代码之前。。。。!!
 
顺致敬意,
 
塔瓦特

Lt Dan's l 发表于 2022-7-6 11:46:28

 
如果我想同时得到“x”和“n”?这种选择会奏效吗?
我试图做的是选择所有(2。“blockname”)甚至嵌套的blockname并替换。我编写了替换代码,但想知道这个选择是否会起作用

Lee Mac 发表于 2022-7-6 11:48:39

不能将任何内容与“_X”组合,此模式不查看图形实体本身,而只是扫描图形数据库。
 
要获取嵌套块,您需要查看图形中的块定义以查找所需的块,然后相应地修改块定义。
页: [1]
查看完整版本: Nco的任意多选