如果在使用附着了外部参照的宿主图形时有人修改了该外部参照的图形,则可以使用 Reload 方法更新该外部参照图形。重载时,将在宿主图形中更新选定的外部参照图形。另外,如果已卸载外部参照,则可以随时选择重载该外部参照的图形。
本例附着外部参照,然后重载该外部参照。本例使用位于“Sample”目录中的“3D House.dwg”文件。如果没有此图像,或者此图像位于其他目录中,请为 PathName 变量插入有效的路径和文件名。
Sub Ch10_ReloadingExternalReference()
On Error GoTo ERRORHANDLER
' 定义要插入的外部参照
Dim xrefHome As AcadBlock
Dim xrefInserted As AcadExternalReference
Dim insertionPnt(0 To 2) As Double
Dim PathName As String
insertionPnt(0) = 1
insertionPnt(1) = 1
insertionPnt(2) = 0
PathName = "c:/AutoCAD 2008/sample/3D House.dwg"
' 向块添加外部参照
Set xrefInserted = ThisDrawing.ModelSpace. _
AttachExternalReference(PathName, "XREF_IMAGE", _
insertionPnt, 1, 1, 1, 0, False)
ZoomAll
MsgBox "The external reference is attached."
' 重载外部参照定义
ThisDrawing.Blocks.Item(xrefInserted.name).Reload
MsgBox "The external reference is reloaded."
Exit Sub
ERRORHANDLER:
MsgBox Err.Description
End Sub