原地踏步 发表于 2010-6-14 08:37:00

[求助]如何通过过滤器选择GROUP

<p>ACAD2004 图形中存在若干编组(group)</p>
<p><font face="Verdana">(setq ss (ssget '((102 . "{ACAD_REACTORS")))</font>)</p>
<p>选择后ss始终为nil</p>
<p>请问:应该如何通过过滤器选择编组呢?</p>

caoyin 发表于 2010-6-14 10:18:00

<p><strong><font face="Verdana"><font face="Verdana"><font face="Verdana">ACAD_REACTORS 标记不代表就是组,需要通过其他方法来实现。组的定义储存</font>在词典中。</font></font></strong></p>

原地踏步 发表于 2010-6-14 10:51:00

<p>请问该用什么方法呢?</p>
<p>如果不带过滤器全部选择,再一个一个判断,是可以找出来。但我想缩小选择范围,只选组,应该怎么做呢?</p>

淮上 发表于 2010-6-14 13:48:00

<p><font face="Verdana">(command "_.select" "_group" "*" "")</font></p>
<p>(ssget "_P")</p>
<p>&nbsp;</p>
<p><font face="Verdana">(command "_.select" "_group" "组名" "")</font></p>
<p>(ssget "_P")</p>

原地踏步 发表于 2010-6-15 09:59:00

<p>谢谢淮上朋友!</p>
<p>我是想交互选择,因此程序中不带"X",也不带"组名"。</p>
<p>另外,复制一下组,组名就变了,谁记得了那么多组名呢?因此通过组名去找组,可能用处也不大。</p>

xhq1954425 发表于 2010-6-15 16:55:00

<p>淮上……好人,我记得他,我认为他已经回答了你的问题了!</p>

原地踏步 发表于 2010-6-22 19:26:00

<p>有谁能指点小弟一下?</p>
<p>在此先谢谢了。</p>

Ljdickey 发表于 2010-6-23 14:50:00

组是比较特殊的对象,淮上的方法实用

Casa小宝 发表于 2013-7-14 11:38:21

;选择单个群组,并返回群组的第一个物体
(defun Ca_SelGroup( / ssg entg)
(setq pickstyle (getvar 'PICKSTYLE))
(setvar 'PICKSTYLE 1)
(setq ssg (ssget ":E:S"))
(setvar 'PICKSTYLE pickstyle)
(setq entg (ssname ssg 0))
(if (not(= (cdr (assoc 102 (entget entg))) "{ACAD_REACTORS"))
    (progn
    (alert "\n选择的物体不是组,请重新选择:")
    (Ca_SelGroup)
    ))
entg
)
页: [1]
查看完整版本: [求助]如何通过过滤器选择GROUP