Asociatividad de las directrices

AutoCAD ActiveX

 
Asociatividad de las directrices
 
 
 

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