解决多重插入块无法分解的问题

解决多重插入块无法分解的问题

ID:12120366

大小:24.50 KB

页数:3页

时间:2018-07-15

解决多重插入块无法分解的问题_第1页
解决多重插入块无法分解的问题_第2页
解决多重插入块无法分解的问题_第3页
资源描述:

《解决多重插入块无法分解的问题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、解决多重插入块无法分解的问题2012-10-2210:27:53

2、分类:cad相关

3、标签:cad多重插入块分解

4、举报

5、字号订阅工作中遇到了无法分解的“多重插入块”的问题,正当准备纯手工绘制原图的时候,尝试百度,得到了以下的办法并解决了问题,幸哉。将下面的代码复制在记事本内,将txt文件另存为unlk.lsp文件,打开这张不能修改的图纸,在命令行输入appload选择加载程序文件unlk.lsp,命令行键入unlk,再选择不能修改的图块。。。ps,有的打散一次后,依然有些小图加密的,就可以小部分的

6、打散,步骤同上(defunc:unlk(/enent)(setqen(entsel"n请选择被加密的图形:"))(ifen(if(=(cdr(assoc0(setqent(cdr(entget(setqen(caren)))))))"INSERT")(progn(setqent(entmakex(list'(0."INSERT")(assoc2ent)(assoc10ent))))(command"_.explode"(entlast))(entdelen))))(princ"nOK,解密成功。

7、")(princ))什么是多重块?AUTOCAD为了省内存,省空间,提高效率,引进了块引用这一技术。你在当前图纸空间插入一个块,它并不是把这个块复制一遍,而是把这个块的一些属性描述引过来,跟C++里面的引用极像。我现在讨论的不是引用是怎么实现的,AUTOCAD最大的重头就是块,大家肯定是很了解的。我想说的是今天我和老韩研究的一个东西,AcDbMInsertBlock-多重插入块。它其实就是对块引用派生过来的一个新的东西,比普通块引用多了几个属性。具体是多了列数,行数,列距,行距。它可以用在什么地

8、方呢?比如你现在要插入四个一样的块,就是位置不一样,用普通的块引用的话,要引四次。这样还是很占资源的,效率不高。而如果用AcDbMInsertBlock,你可以定义一个2列2行,多个插入点的AcDbMInsertBlock。AUTOCAD内部并没有复制多份引用,我写程序进去把AcDbMInsertBlock里面的每一个实体拷贝出来了,发现只有一份。当然你不能炸开AcDbMInsertBlock,如果可以炸开你就可以发现我说的肯定是对的。多重插入块还有一个很有趣的是,它可以用来做加密,当然很容易破

9、解掉的。大家都知道,无名块是不能够编辑的,所以可以用下面的步骤就可以生成一个只能看不能改的图。1)、把整个图作成一个块。2)、把当前图纸空间的实体删除了,用Minsert把刚才那个块插入。3)、把刚才那个块的块名改成*U。到现在,这个图不能分解,也不能编辑了,呵呵。当然破解非常简单的,一个最直接的是把这个多重插入块转成单插入块,然后炸开。还有一个就是把块表名字改了,这样就可以编辑块了。当然,你可以作得复杂一点,进入块表记录,把里面每个实体克隆一遍。“多重插入引用”的制作:用minsert命令,提

10、示块名,在cad工作目录下找一张图,键入这个图名,然后到提示行数或列数时,输入2以上,但行距或列距输入0。这样一个多重插入引用制作完成,无法用explode炸开了。多重块不是重复定义块,而是在矩形阵列中插入一个块的多重引用。多重块是由命令minsert插入一个块而形成,其在正常情况下不能被分解。但若是用普通的方法构建的多重块,可以删除掉,然后用insert再插入它原来引用的块即可。不过,若它原来引用的块是匿名块(即名称前带*的块,只能用程序构建),就不是那么简单的了。这是,你就需要程序(或者说插

11、件)来还原。vlx程序就是一个插件。也就是我上面说的编程实现。若不会编程,也没有插件,下面的方法可以实现。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。