永发信息网

CAD的多重插入块如何分解?别人发给我一个图,无法炸开,X命令没有用!谁知道 可以将程序发给我

答案:2  悬赏:30  手机版
解决时间 2021-01-31 12:26
  • 提问者网友:凉末
  • 2021-01-30 14:49
使用X的话选中不了需要分解的块~
最佳答案
  • 五星知识达人网友:青尢
  • 2021-01-30 15:49
多重插入引用的分解(cad块的分解)
多重插入引用的分解
炸开“多重插入引用”的方法以及制作

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支持,可以从网上下载。
全部回答
  • 1楼网友:爱难随人意
  • 2021-01-30 17:00
把以下内容保存为lsp文件(如exm.lsp),加载后运行exm既可把“多重插入块”转换为“普通块”,然后既可用“explode”分解。 如果不懂把图纸发给我:1025344364@qq.com ;;------------------------------------------------------------- ;;转换“多重插入块”为“普通块”。 (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) )
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯