《多重插入块的制作,分解.docx》由会员分享,可在线阅读,更多相关《多重插入块的制作,分解.docx(9页珍藏版)》请在三一办公上搜索。
1、:)制作加密解密cad文件炸开多重插入块:)所有人:刘世华强愈愈怎么制作多重引用块到衡愈AUTOCAD为了省内存,省空间,提高效率,引进了块引用这一技术。你在当前图纸空间插入一个块,它并不是把这个块复制一遍,而是把这个块的一些属性描述引过来,O里面的 引用极像。我现在讨论的不是引用是怎么实现的,AUTOCAD最大的重头就是块,大家肯定是很了解的。我想说的是今天我和老韩研究的一个东西,AcDbMInsertBlock-多重插入块。它其实就是对块引用派生过来的一个新的东西,比普通块引用多了几个属性。具体是多了列数,行数, 列距,行距。它可以用在什么地方呢?比如你现在要插入四个一样的块就是位置不一样
2、,用普通的块引用的话,要引四次。这样还是很占资源的,效率不高。而如果用AcDbMInsertBlock, 你可以定义一个2列2行,多个插入点的AcDbMInsertBlock o AUTOCAD内部并没有复制多份引用,我写程序进去把AcDbMInsertBlock里面的每一个实体拷贝出来了,发现只有一份。 当然你不能炸开AcDbMInsertBlock,如果可以炸开你就可以发现我说的肯定是对的。多重插入块还有一个很有趣的是,它可以用来做加密,当然很容易破解掉的。大家都知道,无名块是不能够编辑的,所以可以用下面的步骤就可以生成一个只能看不能改的图。1)、把整个图作成一个块。2)、把当前图纸空间的
3、实体删除了,用Minsert把刚才那个块插入。3)、把刚才那个块的块名改成*U。到现在,这个图不能分解,也不能编辑了,呵呵。当然破解非常简单的,一个最直接的是把这个多重插入块转成单插入块,然后炸开。还有一个就是把块表名字改了,这样就可以编 辑块了。当然,你可以作得复杂一点,进入块表记录,把里面每个实体克隆一遍。“多重插入引用的制作:用minsert命令,提示块名,在cad工作目录下找一张图,键入这个图名,然后到提示行数或列数时,输72以上,但行距或列距输入0。这样一个多重插入引 用制作完成,无法用explode炸开了。多重块不是重复定义块,而是在矩形阵列中插入一个块的多重引用。多重块是由命令n
4、insert插入一个块而形成,其在正常情况下不能被分解。 但若是用普通的方法构建的多重块,可以删除掉,然后用nsert再插入它原来引用的块即可。不过,若它原来引用的块是匿名块(即名称前糊勺块,只能用程序构建),就不是那么简 单的了。这是,你就需要程序(或者说插件)来还原vlx程序就是一个插件。也就是我上面说的编程实现。若不会编程,也没有插件,下面的方法可以实现。g愈怎么加密为多重块命钢1、多重块不是重复定义块,而是在矩形阵列中插入一个块的多个引用,多重块是由命令minsert插入一个块而形成,MINSERT插入的图块叫多重插入块,有点象阵列一样把图形一成成叠加在一起,叠加的间距可用0或1的间距
5、,用0的话就是以0的间距叠加在一起。这种多种插入块其在正常情况下不能被分解。但若是用普通的方法构建的多重块,你可 以删除掉,然后用insert再插入它原来引用的块即可。不过,若它原来引用的块是匿名块(即名称前带的块,只能用程序构建)就不是那么简单分解了(这是,你就需要程序(或 者说插件)来还原。你的vlx程序就是一个插件。也就是我上面说的编程实现。若不会编程,也没有插件,就可以用我说的第一种办法解决。至于为什么能这样,你分别翻翻cad14 和cad2002以上版本的帮助文件就知道了)。对稍有编程常识的用户来说,ACAD命令不能解决,很自然就会去查这个对象的修改特性,可用命令MO或用ctrl+1
6、打开修改特性, 在修改特性窗口可以修改行列的叠加成数及行列间距等。也就是它的数据列表,原形毕露了尾巴露出来了,对付的办法也就有了。编个小程序,对付它不费吹灰之力。查看对象的 特性,普通图块与多重插入块差别在哪不是一目了然了吗(1)命令行:minsert输入块名或?:输入名称(输入你要插入的多重块名称,就是图纸的名称,输完回车,系统会自动根据你输入的图纸名称找到这张相同名称的图纸(2)这时在桌面指定一个基点后。(3)命令行要求输入XY轴的比例因子,在这直接以默认的比例因子回车。(4)这时要求你输入旋转角度,在桌面用光标指定好后单击鼠标,或者输入角度。(5)回车后命令行要求输入阵列叠加行数与列数,
7、在这里输入的叠加成数越多,以后分解的时候分解的次数就越多次。(6)回车后命令行要求输入行间距和列间距在这里输入0数,行间距与列间距数字可以为0或1,如果输入2的话就以间距2排列。(7)输入?表示列出图形中当前定义的块,或输入表示显示“选择图形文件”对话框。注意在插入过程中,不能象使用INSERT命令那样在块名前面使用星号来分解块对象。 指定插入点或比例(S)/X/Y/Z旋转(R)/预览比例(PS)/PX/PY/PZ预览旋转(PR):指定点或输入选项,在指定插入点位置之前,插入点处的选项将预置块的比例和旋转角。当使用1和0 之外的比例因子和旋转角来拖动块时,预置非常有用。如果输入下列选项之一,通
8、过为比例选项指定距离或为旋转角指定角度以响应提示。不能分解使用MINSERT命令插入的块。徼钢衡多重块的分解,多个方法野衡浊方法 点击这个多重引用,看它的名字,然后再用minsert命令,插入这个名字,只不过都按默认的行数1行)列数一直回车。这样插入的这个块就可以炸开了。方法二:双击这个块,出现参照编辑对话框,点确定,出现参照编辑工具条;Explode炸开;然后点击参照编辑工具条从工作集删除对象,选中所有图形,回车;再点击参照编辑工具条上的 放弃对参照的修改。此时再用explode就可以炸开了。方法三:用天正软件打开多重插入块图纸,用天正下的“图纸保护”菜单,把多重块再加密下(在加密中不要设密
9、码,直接回车确定)在使用天正图纸保护命令功能,把不能编辑的多重插图做 一次保护,加密好后(不用加密码),可以使用天正分解对象功能+cad分解功能一步步的对图形进行了,直到把图纸分解好后。具体介绍下步骤:(1)用天正打开加密的多重块图纸,选择图纸进行分解,显示为一个多重块不能分解:用工程管理B批量转旧,把多重块图纸加密下,(记住不要设密码,直接确定就好)比例1:1W 捕捉栅格正空极辅对象捕捉!对象追踪DY1I践宽匝 基践X插九囹柩 H图纸目录 圈定义视口 3视口敢大 遥改变比例 O布局旋转 *图形切割f 囹,牛囹条文件布图辱图层转换M图变单色卜尺寸标注 k符号标注 *工 且 卜三雅建模 k圈库初
10、案 文件布囹 雨工程管理 插*图框 g图纸目录 国定真视口 EI视口放大 显改变比例 O布局旋转 X图形切割 句旧图转换 图形导出 B批量砖旧 蝙灯解对象 :零图纸保护 院插件发布确定取消-VM. nn f=亡 i-4il 方法四: 1、在任何版本中打开图件(只要能打的开就行)2、选中图,打开属性对话框,将行和列均改为1。3、另存为R14以下(包括R14)版本格式。4、打开R14,打开刚才另存的图, 保存。(记住,这步尤其重要,必须是R14不能是cad2002及以上版本)好了,你再用任何版本的cad打开看看。另外一种方法就是编程,直接炸开即可。方法五:1、打开原文件后,输出为*.wmf文件,2
11、、新建空*.DWG文件,插入*.wmf文件,3、输入另外一个炸开命令:xplode回车4、选图层(TA),大功告成。可惜的是文字都炸开了, 填充也炸了,图层只有一个,而且文件比较大。附件为wmf文件方法六:输入“CYN-”,将多重插入块转换为普通快,然后可以一步一步的炸开编辑!方法七:把以下内容保存为lsp文件(如exm.lsp),加载后运行exm既可把“多重插入块”转换为“普通块”然后既可用“explode”分解。加载后运行lockb可把“普通块”转换为“多重插 入块”;转换“多重插入块”为“普通块”(DEFUN C:exm ()(setvar cmdecho 0)(SETQ STM (ca
12、r (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(cons440)r_dist_zm44e)(setq e(subst(cons450)c_dist_zm45e)(setq e(subst(cons70
13、0)r_zm70 e)(setq e(subst(cons710)c_zm71 e)(setq e (subst (list 100AcDbBlockReference) (list 100AcDbMInsertBlock) e)(entmake e)(entdel stm)(SETQ STM (car (ENTSEL n点 取下一多重块)(setvar cmdecho 1)方法八:有两个好工具,可以轻松炸开。一个是AutoCAD快速加载AutoLISP文件:wjjm;另一个cad加密插件,请大家使用。具体方法:AutoCAD快速加载AutoLISP文件wjjm的使用:用cad打开需要炸开的文
14、件,将wjjm直接拖入cad窗口,命令行输入wjmm,回车后按提示操作即可。操作步骤:于CAD中,选择:“工具”菜单一“加载应用程序”选项。 于对话框中选择文件“wjjm”,进行应用程序加载。 于CAD命令行中,输入“wjjm”命令,然后选择需要保护的图块,随便点击即可取消保护。方法四:(1) 、先在图层管理器里将锁定图层打开;(2) 、选中该“多重插入块”,在其属性里将行、列均改为“1;(3) 、将下段保存为exm.lsp转换“多重插入块”为“普通块”。(DEFUN C:exm ()(setvar cmdecho 0)(SETQ STM (car (ENTSEL 点取多重块)(while s
15、tm(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(cons440)r_dist_zm44e)(setq e(subst(cons450)c_dist_zm45e)(setq e(subst(cons700)r_zm70 e)(setq e(subst(c
16、ons710)c_zm71 e)(setq e (subst (list 100 AcDbBlockReference) (list 100 AcDbMInsertBlock) e)(entmake e)(entdel stm)(SETQ STM (car (ENTSEL 、点取下一多重块)(setvar cmdecho 1)(4) 、在打开了含有多重插入块的图形文件里加载“exm.lsp”,运行“exm”根据提示选中多重插入块;(5) 、运行“explode”就可以将多重插入块分解,修改了。(6)、你试试用(audit)这个指令先用“audit”车Command: audit之后“Y回车Fi
17、x any errors detected? Yes/No : 丫无名块便会自动改名Invalid block name found.Changed to AUDIT_I_041229091205-1.之后便可以分解有的CAD图形由于加了密,整张图纸无法分解,这时候我们就不能对里面的构件进行转化,如果你用分解命令命令行会提示找到1个,1个是多重插入引用,此时是无法分解的。这时候可能是由于CAD加密造成的,我们可 以用CAD的UNLOCKDWG命令对图纸进行解密,解密后的图纸就能用分解等相关命令进行操作了。注:该命令需要 加载插件lockdwg.VLX支持,如有需要本人可以在百度知道中简答或传邮件。