求炸块与炸组结合
在论坛收集了两个好程序:一个是炸块的,一个是炸组的如何把两个程序合二为一呢?能让其有块炸块有组炸组!(先选后炸)谢谢!
;炸开嵌套块(无痕.2004.4+菡萏.2012.04.09
(defun c:xx(/ *error* ss qf)
(defun *error* (msg)
(setvar "qaflags" qf)
(princ msg)
(princ)
)
(setq qf (getvar "qaflags"))
(setvar "qaflags" 1)
(princ"\n炸块")
(setq ss (ssget '((0 . "INSERT" ))))
(while (setq ss (ssget "P" '((0 . "INSERT" ))))
(command ".explode" ss ""))
(setvar "qaflags" qf)
(princ)
)
;炸组(wwwliuyu 2008.08.21)
(defun c:xxx()
(if(setq en(entsel "选择要炸开的组: "))
(progn
(setq gr(cdr(assoc 0 (entget(cdr(assoc 330(entget(car en))))))))
(if (= "GROUP" gr)
(entdel (cdr(assoc 330(entget(car en)))))
(prompt "所选对象没有被分组!")
)
)
)
(princ)
)
试试 不知道是不是这样;;; 炸开嵌套块或组-阿甘修改2012.7.14
(defun c:xx (/ *error* ent gr i msg n qf ss)
(defun *error* (msg)
(setvar "qaflags" qf)
(princ msg)
(princ)
)
(setq qf (getvar "qaflags"))
(setvar "qaflags" 1)
(princ "\n选择要炸开的块或组")
(setq ss (ssget))
(setq n (sslength ss))
(setq i (- n 1))
(repeat n ; 先删除组
(setq ent (ssname ss i))
(setq gr (cdr (assoc 0 (entget (cdr (assoc 330 (entget ent)))))))
(if (= "GROUP" gr)
(entdel (cdr (assoc 330 (entget ent))))
)
(setq i (1- i))
)
(while (setq ss (ssget "P" '((0 . "INSERT")))) ; 再炸开嵌套块
(command ".explode" ss "")
)
(setvar "qaflags" qf)
(princ)
) 上浮一下,哪位大师方便帮帮忙? 怪事!!!
我的发帖时间是: 2012-7-5 21:30:38 ,
print1985 的回帖时间是:2012-7-5 21:30:39 ,
只相差一秒!!!!!
我今天早上登陆时系统都没有提示已有回复!!!!
什么情况!!!!!!!!!!!!! 用不了呢,为什么啊? 感谢分享,正在找这个功能
页:
[1]