绑定外部参照

AutoCAD ActiveX/VBA

 
绑定外部参照
 
 
 

使用 Bind 方法将外部参照绑定到图形,可以使外部参照成为图形的永久部分,而不再是外部参照文件。外部参照信息将成为块。更新外部参照图形时,不会更新绑定的外部参照。此过程将绑定整个图形的数据库,包括所有依赖符号。

依赖符号指命名的对象,例如块、标注样式、图层、线型和文字样式。通过绑定外部参照,可以在当前图形中使用外部参照中的命名对象。

Bind 方法只需要一个参数: bPrefixName。如果将 bPrefixName 设置为 TRUE,当前图形中外部参照图形的符号名将以 <blockname>$x$ 作为前缀,其中 x 是自动递增的整数,用于避免替代现有的块定义。如果将 bPrefixName 参数设置为 FALSE,外部参照图形的符号名会合并到当前图形中,且不包含前缀。如果存在重复的名称,AutoCAD 会使用已在本地图形中定义的符号。如果不确定图形中是否包含重复的符号名,建议将 bPrefixName 设置为 TRUE。

有关绑定外部参照的详细信息,请参见《用户手册》中的“归档包含外部参照的图形(绑定)”。

绑定外部参照定义

本例附着外部参照,然后将外部参照绑定到图形。本例使用位于“Sample”目录中的“3D House.dwg”文件。如果没有此图像,或者此图像位于其他目录中,请为 PathName 变量插入有效的路径和文件名。

Sub Ch10_BindingExternalReference()
    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).Bind False
    MsgBox "The external reference is bound."
    Exit Sub
ERRORHANDLER:
    MsgBox Err.Description
End Sub