Redefinición de bloques
From AutoCAD ActiveX
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 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)ZoomAll' Redefine the circle in the block,' and update the block referencecircleObj.radius = 3blockRefObj.UpdateEnd Sub