Arrowhead1Block Property (ActiveX)

Specifies the block to use as the custom arrowhead for the first end of the dimension line.

Supported platforms: Windows only

Signature

VBA:

object.Arrowhead1Block
object

Type: Dim3PointAngular, DimAligned, DimAngular, DimArcLength, DimDiametric, DimRotated

The objects this property applies to.

Property Value

Read-only: No

Type: String

The name of the block to use as the arrowhead for the first end of the dimension line.

Remarks

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

Examples

VBA:

Sub Example_ArrowHead1Block()
    ' 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.Arrowhead1Block
    
    MsgBox "The arrowhead block name for this object is: " & BlockName
    
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_ArrowHead1Block()
    ;; 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-Arrowhead1Block DimPointAngularObj))
    
    (alert (strcat "The arrowhead block name for this object is: " BlockName))
)