【KAIXIN】 发表于 2012-4-13 18:12:23

解决多重插入引用的块

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


pzweng 发表于 2012-4-13 18:37:45

;;转换“多重插入块”为“普通块”。
(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)
)

vlisp2012 发表于 2012-4-13 19:44:36

都是好程序,一哈顶!!!!

江湖远人 发表于 2012-4-15 10:38:45

好贴,多谢分享

smartstar 发表于 2012-6-8 19:21:31

谢谢,学习了。

--小军- 发表于 2012-6-14 12:56:00

看不懂那个哪位大神能详细解释一下吗

--小军- 发表于 2012-6-14 13:01:57

                     看不懂

fcut2004 发表于 2012-10-18 20:12:09

--小军- 发表于 2012-6-14 13:01 static/image/common/back.gif
看不懂

有些块很神奇的,炸不开的,你要炸开来编辑的话,很郁闷的,具体这种块怎么形成的我也不知道。

tensir 发表于 2024-7-9 13:06:36

感谢作者的分享!
页: [1]
查看完整版本: 解决多重插入引用的块