Detaches an external reference (xref) from a drawing.
Supported platforms: Windows only
No return value.
Detaching an xref removes the xref from the current drawing. All copies of the xref are erased, and the xref definition is deleted. All xref-dependent symbol table information (such as layers and linetypes) is deleted from the current drawing.
You cannot detach an xref that contains other xrefs.
VBA:
Sub Example_Detach() On Error GoTo ERRORHANDLER ' Define external reference to be inserted 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/sample/City map.dwg" ' Add the external reference Set xrefInserted = ThisDrawing.ModelSpace. _ AttachExternalReference(PathName, "XREF_IMAGE", _ insertionPnt, 1, 1, 1, 0, False) ZoomAll MsgBox "The external reference is attached." ' Detach the external reference definition 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
Visual LISP:
(vl-load-com) (defun c:Example_Detach() (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; Define external reference to be inserted (setq insertionPnt (vlax-3d-point 1 1 0) pathName (findfile ".\\Sample\\Sheet Sets\\Architectural\\Res\\STAIR1.dwg")) ;; Add the external reference (setq modelSpace (vla-get-ModelSpace doc)) (setq xrefInserted (vla-AttachExternalReference modelSpace pathName "XREF_IMAGE" insertionPnt 1 1 1 0 :vlax-false)) (vla-ZoomAll acadObj) (alert "The external reference is attached.") ;; Detach the external reference definition (setq name (vla-get-Name xrefInserted)) (vla-Detach (vla-Item (vla-get-Blocks doc) name)) (alert "The external reference is detached.") )