炸开“嵌套块”,任意多层嵌套
(defun c:exnest ( / doc ent )
(while
(progn (setvar 'errno 0) (setq ent (car (entsel "\nSelect block: ")))
(cond
( (= 7 (getvar 'errno))
(princ "\nMissed, try again.")
)
( (null ent) nil)
( (/= "INSERT" (cdr (assoc 0 (entget ent))))
(princ "\nSelected object is not a block.")
)
)
)
)
(if ent
(progn
(vlax-for obj
(vla-item
(vla-get-blocks (setq doc (vla-get-activedocument (vlax-get-acad-object))))
(LM:name->effectivename (cdr (assoc 2 (entget ent))))
)
(exnest:explode obj)
)
(vla-regen doc acallviewports)
)
)
(princ)
)
(defun exnest:explode ( obj / lst )
(if
(and
(= "AcDbBlockReference" (vla-get-objectname obj))
(vlax-write-enabled-p obj)
(not (vl-catch-all-error-p (setq lst (vl-catch-all-apply 'vlax-invoke (list obj 'explode)))))
)
(progn
(foreach obj lst (exnest:explode obj))
(vla-deleteobj)
)
)
)
**** Hidden Message ***** 好东西,谢谢分享 谢谢分享程序!!!!!!
回复学习,谢谢 多谢分享! 感谢楼主分享 {:2_26:}{:2_26:}{:2_26:} 多谢分享,这个好使。 本帖最后由 434939575 于 2018-11-22 21:57 编辑
炸不开多次重复插入不等比例块。 拜读楼主的经典大作! 这个非常好,谢谢提供。 看到了LM函数。 {:1_1:}学习
拜读拜读大作 士士火电站起来没