Descomposición de referencias de bloque
From AutoCAD ActiveX
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 blockDim circleObj As AcadCircleDim center(0 To 2) As DoubleDim radius As Doublecenter(0) = 0center(1) = 0center(2) = 0radius = 1Set circleObj = blockObj.AddCircle(center, radius)' Insert the blockDim blockRefObj As AcadBlockReferenceinsertionPnt(0) = 2insertionPnt(1) = 2insertionPnt(2) = 0Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock _(insertionPnt, "CircleBlock", 1#, 1#, 1#, 0)ZoomAllMsgBox "The circle belongs to " & blockRefObj.ObjectName' Explode the block referenceDim explodedObjects As VariantexplodedObjects = blockRefObj.Explode' Loop through the exploded objectsDim I As IntegerFor I = 0 To UBound(explodedObjects)explodedObjects(I).Color = acRedexplodedObjects(I).UpdateMsgBox "Exploded Object " & I & ": " _& explodedObjects(I).ObjectNameexplodedObjects(I).Color = acByLayerexplodedObjects(I).UpdateNextEnd Sub