Blocks Property (ActiveX)

Gets the Blocks collection for the drawing.

Supported platforms: Windows only

Signature

VBA:

object.Blocks
object

Type: Database, Document

The object this property applies to.

Property Value

Read-only: Yes

Type: Blocks

The Blocks collection for the drawing.

Remarks

No additional remarks.

Examples

VBA:

Sub Example_Blocks()
    ' This example first finds the Blocks collection
    ' using the Blocks property. It then adds a new
    ' block to the Blocks collection.
    
    Dim blkColl As AcadBlocks
    Dim newBlock As AcadBlock
    Dim insertionPnt(0 To 2) As Double
    
    ' Get the Blocks collection
    Set blkColl = ThisDrawing.Blocks
    
    ' Define the insertion point for the new block
    insertionPnt(0) = 0#: insertionPnt(1) = 0#: insertionPnt(2) = 0#
    
    ' Add the new block into the Blocks collection
    Set newBlock = blkColl.Add(insertionPnt, "TEST")
    MsgBox "A block called " & newBlock.name & " has been added to the blocks collection", vbInformation, "Blocks Example"
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_Blocks()
    ;; This example first finds the Blocks collection
    ;; using the Blocks property. It then adds a new
    ;; block to the Blocks collection.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
  
    ;; Get the Blocks collection
    (setq blkColl (vla-get-Blocks doc))
    
    ;; Define the insertion point for the new block
    (setq insertionPnt (vlax-3d-point 0 0 0))
    
    ;; Add the new block into the Blocks collection
    (setq newBlock (vla-Add blkColl insertionPnt "TEST"))
    (alert (strcat "A block called " (vla-get-Name newBlock) " has been added to the blocks collection."))
)