fangmin723 发表于 2021-11-19 16:33:31

(EB)超级炸弹(炸块/嵌套块)

超级炸弹,刚刚出炉,能炸开块与嵌套块,不管嵌套多少层,榨干为止!!!!


炸完后的图元以选择集的方式进行亮显!!!

gaics 发表于 2021-11-20 11:32:33

本帖最后由 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:29:13

本帖最后由 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))
        )       
)

gaics 发表于 2021-11-20 14:32:07

mokson 发表于 2021-11-20 14:26
Qaflags 参数有什么功能?

QAFLAGS是个未公布的变量。如果QAFLAGS=0,那么用LISP执行(command "explode" ss "")的时候仅仅能炸开选择集的第一个实体;如果QAFLAGS=1,可以炸开选择集所有实体。

bssurvey 发表于 2021-11-19 17:15:46

讚喔,感謝fangmin723大分享

669423907 发表于 2021-11-19 18:36:07

非常感谢楼主分享好程序

tigcat 发表于 2021-11-20 07:08:29

wzg356 发表于 2021-11-19 20:29
差很多
这样有偏见?
(defun explo(en / e e0)


好精简啊这个

白色微風1991 发表于 2021-11-20 08:00:55

非常感謝樓主分享好程序

p-3-ianlcc 发表于 2021-11-20 08:42:01

感謝你分享這麼方便的工具
謝謝!

fangmin723 发表于 2021-11-20 12:16:14

本帖最后由 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个,其他的都失败了

gaics 发表于 2021-11-20 12:22:01

fangmin723 发表于 2021-11-20 12:16
在我的中望2014的CAD上测试,只炸开了前3个,其他的都失败了

(setvar "Qaflags" 1)
页: [1] 2 3
查看完整版本: (EB)超级炸弹(炸块/嵌套块)