13.1.1外部参照与外部块
在第6章中我们曾讲述如何以块的形式将一个图形插入到另外一个图形之中。如果把图形作为块插入时,块定义和所有相关联的几何图形都将存储在当前图形数据库中,并且修改原图形后,块不会随之更新。
与这种方式相比,外部参照(ExternalReference,Xref)提供了另一种更为灵活的图形引用方法。使用外部参照可以将多个图形链接到当前图形中,并且作为外部参照的图形会随着原图形的修改而更新。此外,外部参照不会明显地增加当前图形的文件大小,从而可以节省磁盘空间,也利于保持系统的性能。
当一个图形文件被作为外部参照插入到当前图形中时,外部参照中每个图形的数据仍然分别保存在各自的源图形文件中,当前图形中所保存的只是外部参照的名称和路径。无论一个外部参照文件多么复杂,AutoCAD都会把它作为一个单一对象来处理,而不允许进行分解。用户可对外部参照进行比例缩放、移动、复制、镜像或旋转等操作,还可以控制外部参照的显示状态,但这些操作都不会影响到原图文件。
AutoCAD允许在绘制当前图形的同时,显示多达32000个图形参照,并且可以对外部参照进行嵌套,嵌套的层次可以为任意多层。当打开或打印附着有外部参照的图形文件时,AutoCAD自动对每一个外部参照图形文件进行重载,从而确保每个外部参照图形文件反映的都是它们的最新状态。
13.1.2外部参照中的命名对象
外部参照定义中除了包含图像对象以外,还包括图形的命名对象,如块、标注样式、图层、线型和文字样式等。为了区别外部参照与当前图形中的命令对象,AutoCAD将外部参照的名称作为其命名对象的前缀,并用符号“|”来分隔。例如,外部参照exam9-1.dwg中名为“CENTER”的图层在引用它的图形中名为“exam9-1|CENTER”。
在当前图形中不能直接引用外部参照中的命名对象,但可以控制外部参照图层的可见性、颜色和线型。
附着外部参照的过程与插入外部块的过程类似,其命令调用方式为:
工具栏:“Reference(外部参照)”→
菜单:【Insert(插入)】→【ExternalReference…(外部参照)】
命令行:xattach(或别名xa)
“XrefManager(外部参照管理器)”对话框中的Attach...按钮,参见13.3.1节
调用该命令后,系统首先弹出“SelectReferenceFile(选择参照文件)”对话框,提示用户指定外部参照文件,然后显示“ExternalReference(外部参照)”对话框,如图13-1所示。
该对话框中的“Insertionpoint(插入点)”、“Scale(比例)”和“Rotation(旋转)”等项与“Insert(插入)”对话框相同,其他项的作用为:
(1)“RetainPath(保留路径)”:设置是否保存外部参照的完整路径。如果选择了这个选项,外部参照的路径将保存到图形数据库中,否则将只保存外部参照的名称而不保存其路径。
(2)“ReferenceType(参照类型)”:指定外部参照是“Attachment(附加型)”还是“Overlay(覆盖型)”,其含义为:
①“Attach(附加型)”:在图形中附着附加型的外部参照时,如果其中嵌套有其他外部参照,则将嵌套的外部参照包含在内。
②“Overlay(覆盖型)”:在图形中附着覆盖型外部参照时,则任何嵌套在其中的覆盖型外部参照都将被忽略,而且其本身也不能显示。