今天网友在群里提了一个问题,说在插入图块时提示参照自身、无效,如下图所示。
经过交流后发现了问题所在,他是要将一张DWG图纸作为图块插入到当前图中,但图中并没有同名的外部参照,插入的图纸也不和当前图纸同名,而之所以出现这个提示,是因为文件名中有括号【】,将文件名中的括号删除后,再插入就没有问题了。但后来我又研究了一下,发现并不只是图纸文件名的问题,不同版本表现还不一样,但我并没有研究各种可能的情况,但将结果跟大家分享一下,大家遇到类似情况可以自己分析一下是什么原因。
一、图纸文件名中有图块不支持的字符
无论是文件名和图块名,都有不支持的字符,但文件名显然支持更多的字符,如果我们不注意在文件名中使用了图块名不支持的字符,就有可能在讲此图纸文件作为图块插入时,就会出现错误提示。
图块名到底不支持哪些字符呢?
我们可以选择一个图形后输入B回车,打开块定义对话框,在名称栏输入一个*号,此时就会弹出一个提示对话框,告诉我们块不支持的字符,如下图所示。
而文件名不支持哪些字符也可以用同样的方法知道,随便找一个文件,修改文件名时输入一个*号,也会列出文件名不能包含的字符,如下图所示。
可以看到文件名可以支持逗号、分号、单引号、等号,而图块名是不支持的,所以出现错误可以检查一下图纸名是不是在不注意的情况下使用了类似的字符。
解决办法:
很简单,将文件名中这类特殊字符删掉。
二、图中已经插入了同名的外部参照
如果图中已经将某一张图纸作为外部参照插入到当前图中,就无法再将这张图作为图块插入了。外部参照虽然跟图块有很多区别,但还是有很多跟图块类似的特性,也可以说在外部参照被加载后,其实就相当于一个图块,两者都可以用参照边界REFEDIT进行编辑,都可以用XCLIP裁剪。图块无法重名,外部参照和图块也不能重名。因此,当图中已经有同名的外部参照的时候,将此图纸作为图块插入时会明确提示不能插入,如下图所示。
这种情况要确定外部参照和要作为图块插入的图纸是不是同一张图纸,如果是的话,最好在同一张图中只采用一种方式来插入。
解决办法:
如果外部参照和作为图块的图纸不是同一张图,只是文件重名了,可以将图块文件重命名。
如果两者是同一张图,那就只能保留一种形式。
三、文件名中带【】的低版本文件
在第一种情况的截图中我们看到图块不支持的字符并不包括【】,但为什么文件名中包含这样的字符图纸作为图块插入的时候却会提示无效呢?
这个原因我也解释不清了,这个情况非常奇怪!
我用2018版格式保存一个名字带【】的图纸,然后在2018版里插入图块时是可以正常从插入的,如下图所示。
我在2007版里也保存了类似的图纸,在2007版插入时就会像那位网友遇到的一样会提示无效。
但奇怪的是,我在2018里将2007保存的文件作为图块插入却会提示无效,如下图所示。
我也没有再试别的版本是什么情况,也不知道是不是还有类似的特殊字符会导致出现这样的问题,也不太明白为什么同样是2018版AUTOCAD,低版本图纸不支持,高版本图纸却支持。
解决办法:
遇到插入图块提示无效,如果文件名中不包含图块明确表明不支持的字符,但包含特殊符号时可以先尝试删除后再插入。
四、图纸格式不正确或无效文件
如果作为图块插入的图纸本身在当前CAD中就无法正常打开,比如图纸格式比当前CAD版本高、图纸损坏严重或者从其他格式文件直接改成DWG或DXF扩展名,打开时会提示是无效文件,这种图纸在作为图块插入的时候,也会提示无效,如下图所示。
如果文件名没有问题,出现类似提示的时候,就需要看看图纸是否能正常打开,需要去弄清楚图纸不能打开的原因。
上面是我目前想到的几种情况,当然可能还有其他情况,大家如果还知道其他情况请留言补充,如果你遇到的情况不是上述几种情况,但自己又找不出原因时也可以留言或将图纸传给我来研究。