(EB)超级炸弹(炸块/嵌套块)
超级炸弹,刚刚出炉,能炸开块与嵌套块,不管嵌套多少层,榨干为止!!!!炸完后的图元以选择集的方式进行亮显!!!
本帖最后由 gaics 于 2021-11-20 12:20 编辑
(defun c:xk (/ qf ss err *error* retune)
(defun retune (msg)
(setvar "Qaflags" qf)
(setq *error* err)
(princ msg)
)
(setq err *error*)
(setq *error* retune)
(setq qf (getvar "Qaflags"))
(command "_undo" "be")
(setvar "Qaflags" 1)
(if (setq ss (ssget '((0 . "INSERT"))))
(while (setq ss (ssget "_P" '((0 . "INSERT"))))
(command ".explode" ss "")
)
)
(setvar "Qaflags" qf)
(command "_undo" "e")
(princ)
)
论速度,我觉得还是这个快一些 本帖最后由 wzg356 于 2021-11-19 20:30 编辑
差很多
这样有偏见?
(defun explo(en / e e0)
(setq e(entlast))
(command "_explode" en)
(while (setq e(entnext e))
(setq e0(cdr(assoc 0 (entget e))))
(if(wcmatch e0 "INSERT,DIMENSION" )(explo e))
)
)
mokson 发表于 2021-11-20 14:26
Qaflags 参数有什么功能?
QAFLAGS是个未公布的变量。如果QAFLAGS=0,那么用LISP执行(command "explode" ss "")的时候仅仅能炸开选择集的第一个实体;如果QAFLAGS=1,可以炸开选择集所有实体。 讚喔,感謝fangmin723大分享 非常感谢楼主分享好程序 wzg356 发表于 2021-11-19 20:29
差很多
这样有偏见?
(defun explo(en / e e0)
好精简啊这个 非常感謝樓主分享好程序 感謝你分享這麼方便的工具
謝謝! 本帖最后由 fangmin723 于 2021-11-20 12:17 编辑
gaics 发表于 2021-11-20 11:32
(defun c:xk (/ Q ss)
(setq Q (getvar "QAFLAGS"))
(command "_undo" "be")
在我的中望2014的CAD上测试,只炸开了前3个,其他的都失败了
fangmin723 发表于 2021-11-20 12:16
在我的中望2014的CAD上测试,只炸开了前3个,其他的都失败了
(setvar "Qaflags" 1)