之前有多位网友在群里问这个问题,为什么有些图块进行在位编辑的时候会提示在对其他对象的参照中发现错误:应用程序参照丢失,无法编辑,如下图所示。
由于没有可以重现的图纸,我也无法解释是什么原因。前一段时间有网友发过来一张这样的图,研究了一下,找到了原因,也找到了一个解决办法,但解决办法有点麻烦,没有找到可以自动检索并处理的工具,因此一直么有写。后来也没有找到更好的工具,因此准备抛砖引玉,看有没有哪位网友有可以更好的处理方法。
好在这种图块还可以用块编辑(BEDIT)命令,在拿到图纸后,我通过多次块编辑,分块删除图形,最后终于定位到有问题的图形,只是其中两条引线。我想引线是不是有错误或特殊数据,试着将引线炸开成直线,发现问题仍然无法解决,最后炸开后的直线直接做成图块,也同样无法在位编辑,如下图所示。
为什么这么神奇呢?!从特性面板或查询LI都看不出这条引线或炸开后的直线与其他图形有什么区别,问题到底出在哪儿呢?
我想到有些专业软件会在图形上添加一些扩展数据XDATA,利用这些数据保存一些他们需要提取的一些信息,我尝试用CAD扩展工具中的List Object XDATA的工具看了一下,果然图形附加了很多扩展数据,如下图所示。
图块之所以无法在位编辑就是因为这些扩展数据的存在,但CAD扩展工具里提供了添加扩展工具和查看扩展数据的工具,可是却没有提供清理扩展数据的工具。后来我再网上找到了一个工具可以编辑和删除扩展数据,但也不是很方便,可以在这里分享给大家。
链接:https://pan.baidu.com/s/1zLFy26obxparZVDzPp0A密码:ekv4
工具的使用方法如下:
1、输入AP,回车,加载下载的插件。
2、输入TEE,回车,就可以拾取对象查看对象的扩展数据了,如下图所示。
查看结果跟扩展工具中的功能一样,这是这里可以再对话框中编辑和删除这些数据。比较可惜的是没有一键删除的功能,我们需要一个个删除,操作很麻烦。
删除后单击确定按钮,就讲这些扩展数据的值都改成空了。
在块编辑器中将图块中的两条引线的扩展数据都设置我空以后,退出块编辑器并保存后,然后就可以对此图块进行在位编辑了,如下图所示。
使用这个工具可以解决问题,但处理起来确实有点麻烦。
首先,要找出有问题的图形就比较麻烦,虽然这个工具可以支持连续单击对象查看扩展数据,但如果图块内图形多,要定位还是有难度,查看的重点可以放在一些用专业软件或工具创建的标注或引线上。
其次,有些图形也有扩展数据,但并不影响在位编辑,比如这个图块中的几个标注也有扩展数据,如下图所示。
最后,就算定位到有问题的图形,挨个删除扩展数据也比较麻烦。
所以,如果没有特殊需要的话,遇到这种情况不放直接用块编辑去编辑图块。另外,注意这些引线和标注是用什么软件生成的,是否可以不用这些软件的功能来标注,避免后续出现类似的问题。