本帖最后由 mandala 于 2011-11-9 23:11 编辑
xiaxiang 发表于 2011-11-8 08:24
“不知道如何加上判断每个选择集中总图元数,及每个图元相互位置关系的条件语句?”
难吧?没有思路吧, ...
想了好久,感觉上还是可以办到的,我的思路就是直接用(cdr(assoc 10 (entget ent)))这个点的位置来判断每个图元间的相互关系,循环遍历!
下边这个lsp是用来选择一个选择集,然后找出整个图纸中所有跟其形状一样的选择集,然后用一个形来原地替换每个选择集!
现在暂时做了一个替换只包含三个图元的选择集,其实做包含4个、5个、6个乃至任意数目图元的选择集,思路也是一样的!
要试这个lsp的话,要把其中两句插入形的语句:
(command "shape" "149" (cdr (assoc 10 (entget (ssname ss 0)))) "1" "0")
(command "shape" "149" (cdr (assoc 10 (entget ss1ent))) "1" "0")
随便改一下,因为你们电脑中没有一个叫“149”的形。比如改成插入一个块,或者画一根线什么的,比如:
(command "insert" "???图块名" (cdr (assoc 10 (entget ss1ent))) "1" "0")等等。
由于匆忙,lsp写得比较粗糙,抛砖引玉,请大家指教。
|