1、之一
多重插入引用的分解
炸开多重插入引用的方法以及制作
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支持,可以从网上下载。
参考:http://blog.sina.com.cn/s/blog_58026b910100bhmx.html
插件下载地址:
------------------------------------------------------------------------------------------------------------------
2、之二
把以下内容保存为lsp文件(如exm.lsp),加载后运行exm既可把多重插入块转换为普通块,然后既可用explode分解。加载后运行lockb可把普通块转换为多重插入块
;;-------------------------------------------------------------
;;转换多重插入块为普通块。
(DEFUNC:exm()
(setvarcmdecho0)
(SETQSTM(car(ENTSEL\n点取多重块)))
(whilestm
(setqe(entgetstm))
(setqstlx(cdr(assoc0e)))
(if(=stlxINSERT)
(PROGN
(setqr_zm70(assoc70e))
(setqc_zm71(assoc71e))
(setqr_dist_zm44(assoc44e))
(setqc_dist_zm45(assoc45e))
(setqe(subst(cons440)r_dist_zm44e))
(setqe(subst(cons450)c_dist_zm45e))
(setqe(subst(cons700)r_zm70e))
(setqe(subst(cons710)c_zm71e))
(setqe(subst(list100AcDbBlockReference)(list100AcDbMInsertBlock)e))
(entmakee)
(entdelstm)
))
(SETQSTM(car(ENTSEL\n点取下一多重块)))
)
(setvarcmdecho1)
)
;;--------------------------------------------------------------------
;;转换普通块为多重插入块
(DEFUNC:lockb()
(setvarcmdecho0)
(SETQSTM(car(ENTSEL\n点取块)))
(whilestm
(setqe(entgetstm))
(setqstlx(cdr(assoc0e)))
(if(=stlxINSERT)
(PROGN
(setqr_zm70(assoc70e))
(setqc_zm71(assoc71e))
(setqe(subst(cons701)r_zm70e))
(setqe(subst(cons711)c_zm71e))
(setqe(subst(list100AcDbMInsertBlock)(list100AcDbBlockReference)e))
(entmakee)
(entdelstm)
))
(SETQSTM(car(ENTSEL\n点取下一块)))
)
(setvarcmdecho1)
)
;;--------------------------------------------------------------------
原文:http://www.boxuesky.com/read-htm-tid-37299.html
---------------------------------------------------------------------------------------------------------------
3、之三
在ACAD中不能分解的情况如下:
1.EXPLMODE系统变量设置为0的时候,插入了一个不等比的块.
2.以不等比的方式插入一个三维实体作为对象的块.
3.无名块
4.使用MINSERT命令插入超过1个块.
5.外部参照文件.
6.对象被置为锁定层.
-----------------------------------------------------------------------------------------------------------
4、之四
多重插入引用就是我们经常会使用的图纸加密技术。永远无法解开的死锁。
你选中图纸中的对象后,先看看特性是什么,选中后看特性,是光栅文件,你拿原子弹都无法炸开。的。
5、之五
解决方法:全选按.x回车
没有评论:
发表评论