zhongys 发表于 2010-5-13 20:50:00

如何过滤选择集

<p>(setq ss (ssget&nbsp; '((0 . "CIRCLE,ARC"))))</p><p>选择圆与圆弧,如果在同一个中心有多个圆与圆弧,只把最大半径的圆与圆弧保留在集中,比它小的从集中移除。用什么方法可以操作.谢谢!</p><p></p>

masterlong 发表于 2010-5-13 21:45:00

<p>这个要直接过滤</p><p>即使能做到</p><p>代码也会过于复杂</p><p>其实选择以后遍历选择集挑出需要的图元</p><p>即不费事程序流程也清晰</p><p>以后修改也方便(比如你又需要按其它条件过滤)</p>

zhongys 发表于 2010-5-13 22:15:00

不是直接过滤,是选择后再过滤,如果遍历选择集,不知用min与max比较是否可行.

masterlong 发表于 2010-5-13 23:11:00

<p>这个可以的</p><p>遍历选择集</p><p>将半径提取出来组成一个数表</p><p>(apply 'max '(1 2 3 4))--&gt;4</p><p>(ssget "p" '((0 . "CIRCLE,ARC")(40 . 4)))</p><p>当然直接在遍历过程中求得最大值更简单</p>

wade320 发表于 2011-11-1 09:25:14

遍历的程序,效率会有影响,最好是先过滤,再遍历。

zzl9105 发表于 2011-11-1 15:11:01

应该是增加过滤选择的交集,我也不会,期待高人出手。
页: [1]
查看完整版本: 如何过滤选择集