引线与其注释是关联的,因此当注释移动时,引线的端点也会随着移动。在移动文字注释和特征控制框注释时,引线的最后一段会根据注释与引线的倒数第二个点之间的关系,决定是附加到注释的左侧还是右侧。如果注释的中点在引线的倒数第二个点的右侧,则引线将附着到右侧,否则将附着到左侧。
使用 Erase、Add(添加块)或 WBlock 方法从图形中删除对象将失去关联性。如果在一次操作中同时复制了引线及其注释,则新的副本也具有关联性。如果分别复制它们,则新的副本没有关联性。如果因为任何原因失去了关联性,例如,只复制了 Leader 对象或删除了注释,钩线都将从引线中删除。
本例创建 MText 对象。接着使用 MText 对象作为其注释来创建引线。
Sub Ch5_AddAnnotation()
Dim leaderObj As AcadLeader
Dim mtextObj As AcadMText
Dim points(0 To 8) As Double
Dim insertionPoint(0 To 2) As Double
Dim width As Double
Dim leaderType As Integer
Dim annotationObject As Object
Dim textString As String, msg As String
' 在模型空间中创建 MText 对象
textString = "Hello, World."
insertionPoint(0) = 5
insertionPoint(1) = 5
insertionPoint(2) = 0
width = 2
Set mtextObj = ThisDrawing.ModelSpace. _
AddMText(insertionPoint, width, textString)
' 引线的数据
points(0) = 0: points(1) = 0: points(2) = 0
points(3) = 4: points(4) = 4: points(5) = 0
points(6) = 4: points(7) = 5: points(8) = 0
leaderType = acLineWithArrow
' 在模型空间中创建引线对象,并将
' MText 对象与引线关联
Set annotationObject = mtextObj
Set leaderObj = ThisDrawing.ModelSpace. _
AddLeader(points, annotationObject, leaderType)
ZoomAll
End Sub