1、将以下程序复制到TXT文件中,然后另存为exm.lsp文件。
程序如下:
;;-------------------------------------------------------------
;;转换“多重插入块”为“普通块”。
(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)
)
2、如图是“多重插入块”,
3、加载刚保存的exm.lsp文件。
4、提示加载完成后,关闭。
5、输入“exm"命令,然后按提示操作,选择多重块。
6、然后,按空格,终止命令。
7、输入"x"打散,就OK了。
8、完成效果图。
多重插入引用的分解
炸开“多重插入引用”的方法以及制作
1.“多重插入引用”的制作:
用minsert命令,提示块名,在cad工作目录下找一张图,键入这个图名,
然后到提示行数或列数时,输入2以上,但行距或列距输入0。
这样一个多重插入引用制作完成,无法用explode炸开了。
多重块不是重复定义块,而是在矩形阵列中插入一个块的多重引用。
多重块是由命令minsert插入一个块而形成,其在正常情况下不能被分解。
但若是用普通的方法构建的多重块,可以删除掉,然后用insert再插入它原来引用的块即可。
不过,若它原来引用的块是匿名块(即名称前带*的块,只能用程序构建),就不是那么简单的了。
这是,你就需要程序(或者说插件)来还原。
vlx程序就是一个插件。也就是我上面说的编程实现。
若不会编程,也没有插件,下面的方法四(方法三也可以实现)。
2.炸开方法如下:
方法一:
点击这个多重引用,看它的名字,然后再用minsert命令,插入这个名字,只不过都按默认的行数(1行)列数一直回车。
这样插入的这个块就可以炸开了。
方法二:
双击这个块,出现参照编辑对话框,点确定,出现参照编辑工具条;
用explode炸开;
然后点击参照编辑工具条从工作集删除对象,选中所有图形,回车;
再点击参照编辑工具条上的放弃对参照的修改。
此时再用explode就可以炸开了。
方法三:
1、打开原文件后,输出为*.wmf文件,
2、新建空*.DWG文件,插入*.wmf文件,
3、输入另外一个炸开命令:xplode回车
4、选图层(TA),大功告成。
可惜的是文字都炸开了,填充也炸了,图层只有一个,而且文件比较大。
附件为wmf文件
方法四:
1、在任何版本中打开图件(只要能打的开就行)
2、选中图,打开属性对话框,将行和列均改为1。
3、另存为R14以下(包括R14)版本格式。
4、打开R14,打开刚才另存的图,保存。
(记住,这步尤其重要,必须是R14不能是cad2002及以上版本)
好了,你再用任何版本的cad打开看看。
另外一种方法就是编程,直接炸开即可。
有的CAD图形由于加了密,整张图纸无法分解,
这时候我们就不能对里面的构件进行转化,
如果你用分解命令命令行会提示找到1个,
1 个是多重插入引用,
此时是无法分解的。
这时候可能是由于CAD加密造成的,
我们可以用CAD的UNLOCKDWG命令对图纸进行解密,
解密后的图纸就能用分解等相关命令进行操作了。
注:该命令需要加载插件lockdwg.VLX支持,可以从网上下载
输入X再选择快回车
选中,输入“EXPLODE”