CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2024 开发者帮助

HorizontalTextPosition 属性 (ActiveX)

2024-5-18 19:08| 发布者: admin| 查看: 122| 评论: 0|原作者: admin|来自: AutoCAD

HorizontalTextPosition 属性 (ActiveX)

指定尺寸文本的水平对齐方式。

支持的平台:仅限 Windows

签名

VBA:

object.HorizontalTextPosition
对象

类型:Dim3PointAngularDimAlignedDimAngularDimArcLengthDimRotated

此属性应用于的对象。

属性值

只读:

类型:枚举acDimHorizontalJustification

  • acHorzCentered:文本沿扩展线之间的尺寸线居中。
  • acFirstExtensionLine:文本位于第一行扩展线旁边。
  • acSecondExtensionLine:文本位于第二个扩展行旁边。
  • acOverFirstExtension:文本位于上方,并与第一个扩展行对齐。
  • acOverSecondExtension:文本位于上方,并与第二条延长线对齐。

言论

注意:此属性将覆盖给定尺寸的 DIMJUST 系统变量的值。

例子

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

可视化 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")
)

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2025-1-19 06:40

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部