CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2022 开发者帮助

Arrowhead2Block 属性 (ActiveX)

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

Arrowhead2Block 属性 (ActiveX)

指定要用作尺寸线第二端的自定义箭头的块。

支持的平台:仅限 Windows

签名

VBA:

object.Arrowhead2Block
对象

类型:Dim3PointAngularDimAlignedDimAngularDimArcLengthDimDiametricDimRotated

此属性应用于的对象。

属性值

只读:

类型:字符串

用作尺寸线第一端箭头的块的名称。

言论

注意:此属性将覆盖给定维度的DIMBLK2系统变量的值。

例子

VBA:

Sub Example_ArrowHead2Block()
    ' This example creates an aligned dimension object in model space
    ' and then alters the visible appearance (shape) of the arrowhead
    ' using the ArrowHeadBlock property.
    ' Use the ArrowHeadBlock property to set the arrowhead to an existing
    ' block object containing a custom Circle object

    Dim DimPointAngularObj As AcadDim3PointAngular
    Dim AngleVertex(0 To 2) As Double
    Dim FirstPoint(0 To 2) As Double, SecondPoint(0 To 2) As Double
    Dim TextPoint(0 To 2) As Double
    Dim BlockName As String
   
    ' Define the new Dim3PointAngular object
    AngleVertex(0) = 0: AngleVertex(1) = 0: AngleVertex(2) = 0
    FirstPoint(0) = 2: FirstPoint(1) = 2: FirstPoint(2) = 0
    SecondPoint(0) = 1: SecondPoint(1) = 4: SecondPoint(2) = 0
    TextPoint(0) = 6: TextPoint(1) = 6: TextPoint(2) = 0

    ' Create the new Dim3PointAngular object in model space
    Set DimPointAngularObj = ThisDrawing.ModelSpace.AddDim3PointAngular(AngleVertex, FirstPoint, SecondPoint, TextPoint)
    ZoomAll
    
    ' Set arrowhead type to user-defined to allow
    ' the use of a block as the new arrowhead
    'dimObj.ArrowheadType = acArrowUserDefined
    DimPointAngularObj.Arrowhead1Block = "CBlock"
    DimPointAngularObj.Arrowhead2Block = "CBlock"
    ZoomAll
    
    ' Read and display current arrowhead block name
    BlockName = DimPointAngularObj.Arrowhead2Block
    
    MsgBox "The arrowhead block name for this object is: " & BlockName
    
End Sub

可视化 LISP:

(vl-load-com)
(defun c:Example_ArrowHead2Block()
    ;; This example creates an aligned dimension object in model space
    ;; and then alters the visible appearance (shape) of the arrowhead
    ;; using the ArrowHeadBlock property.
    ;; Use the ArrowHeadBlock property to set the arrowhead to an existing
    ;; block object containing a custom Circle object
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))

    ;; Define the new Dim3PointAngular object
    (setq AngleVertex (vlax-3d-point 0 0 0)
          FirstPoint (vlax-3d-point 2 2 0)
          SecondPoint (vlax-3d-point 1 4 0)
          TextPoint (vlax-3d-point 6 6 0))

    ;; Create the new Dim3PointAngular object in model space
    (setq modelSpace (vla-get-ModelSpace doc))  
    (setq DimPointAngularObj (vla-AddDim3PointAngular modelSpace AngleVertex FirstPoint SecondPoint TextPoint))
    (vla-ZoomAll acadObj)
    
    ;; Use the custom block as the new arrowhead, the block must exist in the drawing
    (vla-put-Arrowhead1Block DimPointAngularObj "CBlock")
    (vla-put-Arrowhead2Block DimPointAngularObj "CBlock")
    (vla-ZoomAll acadObj)
    
    ;; Read and display current arrowhead block name
    (setq BlockName (vla-get-Arrowhead2Block DimPointAngularObj))
    
    (alert (strcat "The arrowhead block name for this object is: " BlockName))
)

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-12-15 11:34

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部