TextPosition Property (ActiveX)

Specifies the dimension text position.

Supported platforms: Windows only

Signature

VBA:

object.TextPosition
object

Type: Dim3PointAngular, DimAligned, DimAngular, DimArcLength, DimDiametric, Dimension, DimOrdinate, DimRadial, DimRadialLarge, DimRotated

The objects this property applies to.

Property Value

Read-only: No

Type: Variant (three-element array of doubles)

A 3D WCS coordinate representing the text position of the dimension.

Remarks



Examples

VBA:

Sub Example_TextPosition()
    ' This example creates an aligned dimension and then changes the
    ' TextPosition property for that dimension.
    
    Dim dimObj As AcadDimAligned
    Dim point1(0 To 2) As Double
    Dim point2(0 To 2) As Double
    Dim location(0 To 2) As Double
    
    ' Define the dimension
    point1(0) = 5#: point1(1) = 3#: point1(2) = 0#
    point2(0) = 10#: point2(1) = 3#: point2(2) = 0#
    location(0) = 7.5: location(1) = 5#: location(2) = 0#
    
    ' Create an aligned dimension object in model space
    Set dimObj = ThisDrawing.ModelSpace.AddDimAligned(point1, point2, location)
    ZoomAll
    MsgBox "The current text position for the dimension is " & dimObj.TextPosition(0) & ", " & dimObj.TextPosition(1) & ", " & dimObj.TextPosition(2), vbInformation, "TextPosition Example"
    
    ' Change the text position location
    location(0) = 8.5: location(1) = 7: location(2) = 0
    dimObj.TextPosition = location
    dimObj.Update
    
    ' Return the endpoint of the first extension line
    ' Note that the return value is a Variant
    Dim retPoint As Variant
    retPoint = dimObj.TextPosition
    
    MsgBox "The new text position for the dimension is " & dimObj.TextPosition(0) & ", " & dimObj.TextPosition(1) & ", " & dimObj.TextPosition(2), vbInformation, "TextPosition Example"
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_TextPosition()
    ;; This example creates an aligned dimension and then changes the
    ;; TextPosition property for that dimension.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; Define the dimension
    (setq point1 (vlax-3d-point 5 3 0)
          point2 (vlax-3d-point 10 3 0)
          location (vlax-3d-point 7.5 5 0))
    
    ;; Create an aligned dimension object in model space
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq dimObj (vla-AddDimAligned modelSpace point1 point2 location))

    (vla-ZoomAll acadObj)
    (setq textPosition (vlax-variant-value (vla-get-TextPosition dimObj)))
    (alert (strcat "The current text position for the dimension is " (rtos (vlax-safearray-get-element textPosition 0) 2) ", "
                                                                     (rtos (vlax-safearray-get-element textPosition 1) 2) ", "
                                                                     (rtos (vlax-safearray-get-element textPosition 2) 2)))
    
    ;; Change the text position location
    (setq location (vlax-3d-point 8.5 7 0))
    (vla-put-TextPosition dimObj location)
    (vla-Update dimObj)
    
    ;; Return the endpoint of the first extension line
    ;; Note that the return value is a Variant
    (setq retPoint (vlax-variant-value (vla-get-TextPosition dimObj)))

    (alert (strcat "The new text position for the dimension is " (rtos (vlax-safearray-get-element retPoint 0) 2) ", "
                                                                 (rtos (vlax-safearray-get-element retPoint 1) 2) ", "
                                                                 (rtos (vlax-safearray-get-element retPoint 2) 2)))
)