Debido a que las directrices se asocian con su anotación, cuando la anotación se mueve el punto final de la directriz se mueve con ella. Conforme se desplaza el rectángulo de tolerancia y el texto de la anotación, el segmento final de la línea directriz alterna la conexión entre las caras izquierda y derecha de la anotación, según la relación de la anotación con el penúltimo punto (el segundo por el final) de la directriz. Si el punto medio de la anotación se encuentra a la derecha del penúltimo punto de la directriz, ésta se enlaza a la derecha; de lo contrario, el enlace se realiza a la izquierda.
Cuando se elimina un objeto del dibujo mediante los métodos Erase, Add (para agregar un bloque) o WBlock, se rompe la asociatividad. Cuando la directriz y su anotación se copian juntas en una misma operación, la nueva copia es asociativa. No es asociativa si se copian por separado. Si la asociatividad se rompe, por ejemplo por copiar sólo el objeto Leader o borrar la anotación, la línea de conexión de la directriz desaparece.
Asociación de una línea directriz a una anotación
En este ejemplo se crea un objeto MText. Después se crea una línea directriz utilizando el objeto MText como anotación.
Sub Ch5_AddAnnotation()
Dim leaderObj As AcadLeader
Dim mtextObj As AcadMText
Dim points(0 To 9) 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
' Create the MText object in model space
textString = "Hello, World."
insertionPoint(0) = 5
insertionPoint(1) = 5
insertionPoint(2) = 0
width = 2
Set mtextObj = ThisDrawing.ModelSpace. _
AddMText(insertionPoint, width, textString)
' Data for Leader
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
' Create the Leader object in model space and associate
' the MText object with the leader
Set annotationObject = mtextObj
Set leaderObj = ThisDrawing.ModelSpace. _
AddLeader(points, annotationObject, leaderType)
ZoomAll
End Sub