HorizontalTextPosition Property (ActiveX)

Specifies the horizontal justification for dimension text.

Supported platforms: Windows only

Signature

VBA:

object.HorizontalTextPosition
object

Type: Dim3PointAngular, DimAligned, DimAngular, DimArcLength, DimRotated

The objects this property applies to.

Property Value

Read-only: No

Type: acDimHorizontalJustification enum

Remarks

Note: This property overrides the value of the DIMJUST system variable for the given dimension.

Examples

VBA:

Sub Example_HorizontalTextPosition()
    ' This example creates an aligned dimension in model space
    ' and cycles the dimension text through different
    ' horizontal alignments
    
    Dim dimObj As AcadDimAligned
    Dim point1(0 To 2) As Double, point2(0 To 2) As Double
    Dim location(0 To 2) As Double
    Dim CurrentValue As String
    
    ' Define the dimension
    point1(0) = 5: point1(1) = 5: point1(2) = 0
    point2(0) = 9: point2(1) = 5: point2(2) = 0
    location(0) = 5: location(1) = 7: location(2) = 0
    
    ' Create an aligned dimension object in model space
    Set dimObj = ThisDrawing.ModelSpace.AddDimAligned(point1, point2, location)
    ThisDrawing.Application.ZoomAll

    ' Read and display current text position
    Select Case dimObj.HorizontalTextPosition
        Case acHorzCentered:        CurrentValue = "centered"
        Case acFirstExtensionLine:  CurrentValue = "aligned to first extension line"
        Case acSecondExtensionLine: CurrentValue = "aligned to second extension line"
        Case acOverFirstExtension:  CurrentValue = "aligned over first extension line"
        Case acOverSecondExtension: CurrentValue = "aligned over second extension line"
    End Select
    
    MsgBox "The dimension is " & CurrentValue

    ' Force the alignment of the dimension text to the first extension line
    dimObj.HorizontalTextPosition = acFirstExtensionLine
    ThisDrawing.Regen acAllViewports
    MsgBox "Dimension text is now aligned to the first extension line"
   
    ' Force the alignment of the dimension text to the second extension line
    dimObj.HorizontalTextPosition = acSecondExtensionLine
    ThisDrawing.Regen acAllViewports
    MsgBox "Dimension text is now aligned to the second extension line"

End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_HorizontalTextPosition()
    ;; This example creates an aligned dimension in model space
    ;; and cycles the dimension text through different
    ;; horizontal alignments
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; Define the dimension
    (setq point1 (vlax-3d-point 5 5 0)
          point2 (vlax-3d-point 9 5 0)
          location (vlax-3d-point 5 7 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)

    ;; Read and display current text position
    (cond
        ((= (vla-get-HorizontalTextPosition dimObj) acHorzCentered) (setq CurrentValue "centered"))
        ((= (vla-get-HorizontalTextPosition dimObj) acFirstExtensionLine) (setq CurrentValue "aligned to first extension line"))
        ((= (vla-get-HorizontalTextPosition dimObj) acSecondExtensionLine) (setq CurrentValue "aligned to second extension line"))
        ((= (vla-get-HorizontalTextPosition dimObj) acOverFirstExtension) (setq CurrentValue "aligned over first extension line"))
        ((= (vla-get-HorizontalTextPosition dimObj) acOverSecondExtension) (setq CurrentValue "aligned over second extension line"))
    )
    
    (alert (strcat "The dimension is " CurrentValue))

    ;; Force the alignment of the dimension text to the first extension line
    (vla-put-HorizontalTextPosition dimObj acFirstExtensionLine)
    (vla-Regen doc acAllViewports)
    (alert "Dimension text is now aligned to the first extension line")
   
    ;; Force the alignment of the dimension text to the second extension line
    (vla-put-HorizontalTextPosition dimObj acSecondExtensionLine)
    (vla-Regen doc acAllViewports)
    (alert "Dimension text is now aligned to the second extension line")
)