Inserción de bloques

AutoCAD ActiveX

 
Inserción de bloques
 
 
 

Se puede utilizar el método InsertBlock para insertar bloques o dibujos completos en el dibujo actual. El método InsertBlock requiere seis valores como entrada: el punto de inserción, el nombre del bloque o dibuje que se inserta, el factor de escala X, el factor de escala Y, el factor de escala Z, y el ángulo de rotación.

Los dibujos insertados en otros dibujos son considerados por AutoCAD como referencias a bloques. Las siguientes inserciones refieren a la definición de bloque (que contiene la descripción geométrica del bloque) con parámetros de posición, escala y rotación distintos. Si se modifica el dibujo original una vez insertado, las modificaciones no tendrán efecto en el bloque insertado. Si quiere que el bloque insertado refleje las modificaciones realizadas en el dibujo original, puede definir de nuevo el bloque mediante la reinserción del dibujo original. Para ello puede utilizar el método InsertBlock.

Si inserta un dibujo a modo de bloque, el bloque adquiere automáticamente el nombre del archivo. Después de crear el bloque, puede cambiar su nombre mediante la propiedad Name.

Por defecto, el punto base para la inserción de dibujos en AutoCAD tiene las coordenadas (0, 0, 0). Se puede modificar el punto base de un dibujo, si abre el dibujo original especifica un punto base de inserción diferente para la variable de sistema INSBASE con el método SetVariable. AutoCAD empleará el nuevo punto base la próxima vez que inserte el dibujo.

Si el dibujo insertado contiene objetos PaperSpace, dichos objetos no se incluyen en la definición de bloque del dibujo actual. Para usar los objetos dibujados en espacio papel en otros dibujos, abra el dibujo original y defina los objetos del espacio papel como un bloque con el método Add. La inserción de un dibujo en otro se puede realizar tanto en espacio papel como en espacio modelo.

Una referencia a bloque no puede iterarse para encontrar los objetos originales que la componen. Sin embargo, se puede iterar la definición de bloque original, o se puede descomponer la referencia a bloque en sus componentes originales.

También se puede insertar una matriz de bloques con el método AddMInsertBlock. Este método no inserta un bloque en el dibujo, como hace InsertBlock, sino que inserta una matriz del bloque especificado. Este método devuelve un objeto MInsertBlock.

Para obtener más información acerca de la inserción de bloques, véase “Inserción de bloques” en el Manual del usuario.

Definición e inserción de un bloque en un dibujo

Este ejemplo define 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.

Sub Ch10_InsertingABlock()
    ' 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
End Sub
NotaUna vez insertado, el SCU del archivo externo se alinea en paralelo con el plano XY del sistema de coordenadas personales (SCP) del dibujo actual. De esta forma, un bloque procedente de un archivo externo puede insertarse con cualquier orientación en el espacio previa definición de las coordenadas SCP.