CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

相关分类

箭头2块属性 (ActiveX)

2023-1-3 22:35| 发布者: admin| 查看: 519| 评论: 0|来自: AutoCAD

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

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

支持的平台:仅窗口

签名

工 务 局:

object.Arrowhead2Block
对象

类型:三点角度,暗对齐,暗,暗弧长度,暗角直径,旋转

此属性适用的对象。

属性值

只读:

类型:字符串

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

言论

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

例子

工 务 局:

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

Visual 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 )

GMT+8, 2024-5-19 14:30

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部