图形炸开之后,重新选中零散的图形
图形炸开之后,如何重新选中之前一直不知道如何操作,突然之间来了想法解决了。
1,首先自义定义一个选择集减去选择集的程序 ss-ss (自己动手去写)
2,炸块之前,先创建所有图元的选择集 (setq ss1(ssget "a"))
3,然后 选择要炸的块 (setq ss_block(ssget ))
4 , 然后排除 要炸的块,得到无关图元选择集 (setq ss_out (ss-ss ss1 ss_block))
5 , 炸块,获得所有图元的选择集 (setq ss2(ssget "a"))
6,用炸块之后所有图元的选择集,减去无关图元选择集(ss-ss ss2 ss_out)
以上仅供参考,图档内容比较多时,可能处理比较慢
炸完块后紧接着用(setq ss (ssget "p"))就可以得到炸完后的实体对象! 前生 发表于 2020-4-9 23:50
这个正解。我一直这么用。
我也找到了
(defun ENT_FROM(e / ss sn)
;;;;返回自实体E之后生成的实体选择集;;;;Desgined by byghbcx
(if (/= (type e) (quote ENAME))
(alert "Parameter ERROR in ENT_FROM")
)
(setq ss (ssadd))
(while e
(setq e (entnext e))
(ife
(progn
(setq sn (cdr (assoc 0 (entget e))))
(if (not (member sn
(quote
("ATTRIB" "VERTEX" "SEQEND")
)
)
)
(setq ss (ssadd e ss))
)
)
)
)
ss
)
用这个试试,copy 、mirror都可以。忘了这是谁的代码。
(setq ss (ssadd))
(setq ent (entlast))
(command "explode" en)
(while (setq ent (entnext ent))
(ssadd ent ss)
)
Gu_xl 发表于 2020-4-7 15:50
炸完块后紧接着用(setq ss (ssget "p"))就可以得到炸完后的实体对象!
用copy之后,新生成的图形呢? 前来学习学习 hpy 发表于 2020-4-7 19:56
用这个试试,copy 、mirror都可以。忘了这是谁的代码。
(setq ss (ssadd))
(setq ent (entlast))
这个正解。我一直这么用。 用vla-explode,返回结果就是你想要的 you_zy 发表于 2020-4-10 09:29
用vla-explode,返回结果就是你想要的
VLA-EXPLODE似乎是COPY+explode 前生 发表于 2020-4-10 22:44
VLA-EXPLODE似乎是COPY+explode
VLA-EXPLODE是分解原图块,但是原图块依然存在,并且原位复制出图块内的所有图元
页:
[1]
2