可以拆离外部参照定义,以便从图形中完全删除外部参照。也可以删除单独的外部参照实例。拆离外部参照定义会删除与该外部参照关联的所有依赖符号。如果从图形中删除所有外部参照的实例,则在下次打开图形时,AutoCAD 会删除外部参照定义。
要拆离外部参照,请使用 Detach 方法。不能拆离嵌套的外部参照。
本例附着外部参照,然后再将其拆离。本例使用位于“Sample”目录中的“3D House.dwg”文件。如果没有此图像,或者此图像位于其他目录中,请为 PathName 变量插入有效的路径和文件名。
Sub Ch10_DetachingExternalReference()
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."
' 拆离外部参照定义
Dim name As String
name = xrefInserted.name
ThisDrawing.Blocks.Item(name).Detach
MsgBox "The external reference is detached."
Exit Sub
ERRORHANDLER:
MsgBox Err.Description
End Sub