CAD插入外部参照时可选择两种方式:附加型和覆盖型,可能不少人并没有关注到参照类型,有些网友关注到了,但在看过公众号之前发布的介绍外部参照文章后还是没太弄明白。这两个类型确实不太好理解,有必要在通过一个简单实例解释一下。
在插入外部参照时,对话框中就可以选择参照类型,如下图所示。
在一般情况下,二者没有什么区别,只有当发生嵌套引用(就是当前文件插入外部参照后又作为参照文件插入到其他图纸中)时,两者的差别才会显示出来。如果采用附加型,嵌套的外部参照也会链接到当前图形文件中。而覆盖型,嵌套的外部参照则不会链接到当前图形文件中,覆盖方式还可避免出现循环引用(当前文件通过另一文件引用它自己)的情况。
上面这一段文字确实不好理解,如果举一个例子就很容易理解了。
1、开一张新图,用ATTACH或XREF命令插入一张DWG图纸(外部参照.dwg)作为外部参照,在插入时使用默认的附着型,插入点和比例、角度随意,可以都用默认值。插入后,将图纸另存为B.DWG。
2、打开XREF外部参照管理器,查看文件参照的树状图,如下图所示。
3、再新建一张图纸,插入相同的图纸文件(外部参照.dwg),但参照类型设置为覆盖型,另存为C.dwg,插入后效果如下图所示。
除了外部参照管理器中图纸前的图标和详细信息中的类型不同外,插入外部参照后的两张图纸看不出有任何不同,也就是为什么前面说一般情况下两者没有什么区别。
那什么叫嵌套引用,两者到底有什么区别呢?
将B和C作为外部参照插入到另一个文件里,就知道什么叫嵌套引用,也就知道附着型和覆盖型有什么区别了。
4、再新建一张图纸,将B和C都作为外部参照插入进来,此时不用管参照类型,将图纸保存为A.DWG。再看A.DWG文件的外部参照文件的树状结构,才能看出B和C两者的区别了,如下图所示。
当B和C作为外部参照插入到A中时,B和C中插入的图纸:外部参照.dwg就是其中的嵌套参照。B中选择附加型插入“外部参照.dwg”,里面嵌套的“外部参照.dwg”就跟B一起被插入到当前图:A.DWG中来;C中选择覆盖型插入“外部参照.dwg”,里面嵌套的“外部参照.dwg”就被忽略了。
如果我们平时根本不会用到上面样例中两级或多级嵌套参照,插入外部参照时完全可以不用关注参照类型。如果要使用嵌套参照时,就可以通过附加型和覆盖型来控制图纸在作为外部参照插入到其他图纸时是否带上下一级的外部参照。
当存在相互参照或循环参照时况建议用覆盖型方式插入,所谓相互参照:A图引用B图,B图又反过来引用A图,这样就形成了循环引用。当两个人互相参照对方图纸绘图的时候就可能出现这种情况,虽然CAD对这种循环引用会提示并进行相应处理,但如果确实需要相互参照的时候,建议使用覆盖型插入参照。
有些情况可能更复杂,比如A引用B,B引用C,C又引用A,这种情况虽然没有相互引用,但最终也形成了一个环形的循环参照。当软件提示存在循环参照的时候,最好检查一下,看是因错误而导致出现这种情况,还是确实需要用这样的方式循环参照。如果是错误,可以将错误的参照拆离。如果不是错误,必须注意使用覆盖型参照来避免出现循环。
当然,还有更复杂的循环参照状况,比如A引用了B和C,B引用了A和C,C又引用了B和A。不知道实际工作中是否真的存在这种状况,我尝试用这样的方式创建了三个文件,并采用了默认的附加型。三个文件创建成功了,CAD针对循环参照进行提示和处理,当图形文件在文件树上一级或几级中已经出现过,文件链接将被打断,此图纸将被忽略。但当我对图纸经过几次简单的修改、卸载和重载后,CAD崩溃了。也就是说这种复杂的循环参照的情况CAD软件也可能出现处理错误,因此在实际工作中最好避免出现循环参照的情况,如果确实需要进行循环参照,最好在插入外部参照的时候合理设置参照类型。