Descomposición de referencias de bloque

AutoCAD ActiveX

 
Descomposición de referencias de bloque
 
 
 

Utilice el método Explode para romper una referencia de bloque. Con ello podrá modificar el bloque, o añadir o borrar los objetos que lo definen.

Presentación de los resultados de la descomposición de una referencia de bloque

Este ejemplo crea un bloque y añade un círculo a su definición. Después se inserta el bloque en un dibujo, como referencia de bloque. A continuación se descompone la referencia de bloque y se muestran los objetos resultantes de este proceso junto con su tipo de objeto.

Sub Ch10_ExplodingABlock()
    ' Define the block
    Dim blockObj As AcadBlock
    Dim insertionPnt(0 To 2) As Double
    insertionPnt(0) = 0
    insertionPnt(1) = 0
    insertionPnt(2) = 0
    Set blockObj = ThisDrawing.Blocks.Add _
                     (insertionPnt, "CircleBlock")
    ' Add a circle to the block
    Dim circleObj As AcadCircle
    Dim center(0 To 2) As Double
    Dim radius As Double
    center(0) = 0
    center(1) = 0
    center(2) = 0
    radius = 1
    Set circleObj = blockObj.AddCircle(center, radius)
    ' Insert the block
    Dim blockRefObj As AcadBlockReference
    insertionPnt(0) = 2
    insertionPnt(1) = 2
    insertionPnt(2) = 0
    Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock _
               (insertionPnt, "CircleBlock", 1#, 1#, 1#, 0)
    ZoomAll
    MsgBox "The circle belongs to " & blockRefObj.ObjectName
    ' Explode the block reference
    Dim explodedObjects As Variant
    explodedObjects = blockRefObj.Explode
    ' Loop through the exploded objects
    Dim I As Integer
    For I = 0 To UBound(explodedObjects)
        explodedObjects(I).Color = acRed
        explodedObjects(I).Update
        MsgBox "Exploded Object " & I & ": " _
                            & explodedObjects(I).ObjectName
        explodedObjects(I).Color = acByLayer
        explodedObjects(I).Update
    Next
End Sub