解决多重插入引用的块
本帖最后由 【KAIXIN】 于 2012-4-13 18:16 编辑;利用重新插入法解决 砸不开的图块
(defun c:kk()
(entmake (list '(0 . "INSERT")
'(100 . "AcDbEntity")
'(100 . "AcDbBlockReference")
(cons 2 "*U1");U1为块名
(cons 10 '(0 0 0))
(cons 41 1)
(cons 42 1)
(cons 50 0)
)
)
(princ))
;;转换“多重插入块”为“普通块”。
(DEFUN C:exm ()
(setvar "cmdecho" 0)
(SETQ STM (car (ENTSEL "\n点取多重块")))
(while stm
(setq e (entget stm))
(setq stlx (cdr (assoc 0 e)))
(if (= stlx "INSERT")
(PROGN
(setq r_zm70 (assoc 70 e))
(setq c_zm71 (assoc 71 e))
(setq r_dist_zm44 (assoc 44 e))
(setq c_dist_zm45 (assoc 45 e))
(setq e (subst (cons 44 0) r_dist_zm44 e))
(setq e (subst (cons 45 0) c_dist_zm45 e))
(setq e (subst (cons 70 0) r_zm70 e))
(setq e (subst (cons 71 0) c_zm71 e))
(setq e (subst (list 100"AcDbBlockReference") (list 100"AcDbMInsertBlock") e))
(entmake e)
(entdel stm)
))
(SETQ STM (car (ENTSEL "\n点取下一多重块")))
)
(setvar "cmdecho" 1)
) 都是好程序,一哈顶!!!! 好贴,多谢分享 谢谢,学习了。 看不懂那个哪位大神能详细解释一下吗 看不懂 --小军- 发表于 2012-6-14 13:01 static/image/common/back.gif
看不懂
有些块很神奇的,炸不开的,你要炸开来编辑的话,很郁闷的,具体这种块怎么形成的我也不知道。 感谢作者的分享!
页:
[1]