Detaches an external reference (xref) from a drawing.
Supported platforms: Windows only
Return Value (RetVal)
No return value.
Remarks
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.
Examples
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.") )