Redefinición de bloques

AutoCAD ActiveX

 
Redefinición de bloques
 
 
 

Para redefinir un bloque se puede utilizar cualquiera de los métodos y propiedades del objeto Block. Al redefinir un bloque, todas las referencias a ese bloque del dibujo se actualizarán inmediatamente para reflejar la nueva definición.

La redefinición afecta a las inserciones de bloque ya efectuadas y a las futuras. Los atributos constantes se pierden y son reemplazados por atributos constantes nuevos. Los atributos variables permanecen intactos, incluso si el nuevo bloque no tiene atributos.

Redefinición de objetos en una definición 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. El círculo de la definición de bloque se actualiza y la referencia de bloque se actualiza automáticamente.

Sub Ch10_RedefiningABlock()
    ' 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
      
    ' Redefine the circle in the block,
    ' and update the block reference
    circleObj.radius = 3
    blockRefObj.Update
End Sub