Buscar en este blog

lunes, 14 de enero de 2013

Matrices asociativas (11)


2013 (2012+)
Las herramientas de edición estudiadas en el capítulo anterior de esta serie se correspondían con conceptos y propiedades que ya estaban disponibles en los comandos de creación de Matrices asociativas (punto Base, Elementos, Columnas, Filas, Niveles, etc.). Todos estos conceptos se refieren a propiedades generales de las matrices, que afectan globalmente a todos los elementos del objeto matriz.

A partir del presente capítulo estudiaremos las herramientas de edición que afectan a los elementos de las matrices de forma individual. Esto permite que una única matriz asociativa disponga de varias clases distintas de elementos, que se puedan modificar de forma individual algunas de las propiedades generales de los elementos (posición, color, escala y rotación), o incluso que se puedan suprimir algunos de sus elementos.

Iniciaremos este artículo con la exposición de algunos conceptos generales sobre la estructura interna de las matrices asociativas que puede servir de ayuda a la hora de comprender mejor las herramientas de edición individual de elementos de que disponemos.

Continuaremos con el estudio de la sustitución o reemplazo de elementos cuya finalidad es la de conseguir que una única matriz pueda incorporar varios tipos de elementos distintos en su composición. Finalizaremos con un ejemplo práctico de esta característica.

Composición de las matrices asociativas

Internamente, una matriz asociativa es una inserción o referencia de un bloque sin nombre (anónimo) al que AutoCAD dota de funcionalidad. La definición de este bloque está compuesta por los elementos de la matriz, que a su vez son referencias a otro bloque anónimo especial en cuya definición se incluyen los objetos designados para formar parte de los elementos de la matriz.

Cuando se crea una nueva matriz asociativa con los correspondientes comandos de creación que hemos visto en capítulos anteriores, el proceso que sigue AutoCAD es el siguiente
  1. Con los objetos seleccionados para formar parte de los elementos de la matriz, AutoCAD crea una definición de bloque anónimo (sin nombre) utilizando el punto Base definido en el comando de creación como punto Base de inserción del bloque.
  2. A continuación inserta una referencia al bloque definido (elemento) en cada uno de los puntos de inserción que forman la matriz. La escala de inserción es siempre uniforme e igual a 1 (x=y=z=1). La rotación u orientación en el espacio de cada elemento (referencia a bloque) dependerá del tipo de matriz y de las propiedades de la matriz que estudiamos en los capítulos correspondientes de esta serie (Girar objetos para matrices polares y Alinear elementos y Dirección Z para matrices de camino).
  3. Finalmente, para crear el objeto matriz, se define un segundo bloque anónimo que se inserta en el mismo punto base que el primer elemento de la matriz y que está constituido por los elementos de la matriz (referencias al bloque anónimo del elemento).
El hecho de que los elementos de una matriz asociativa estén constituidos por referencias a bloque, produce una notable reducción del número real de objetos que se almacenan en memoria y, por lo tanto, del tamaño de archivo, lo que redunda en una mayor eficacia en las operaciones de redibujado y regeneración. Este ahorro será más importante cuanto mayor sea el número y la complejidad de los elementos utilizados en la definición de la matriz.

Comprender la estructura de bloques anónimos anidados es fundamental para controlar perfectamente las propiedades generales de los elementos de la matriz (capa, color, tipo de línea, grosor, …). AutoCAD controla y obliga a que cualquier modificación de estas propiedades que se realice sobre el objeto matriz se propague inmediatamente a sus elementos, lo que significa que los bloques de los elementos heredan automáticamente las propiedades generales de la matriz asociativa a la que pertenecen.

Reemplazar elemento

Todas y cada una de las matrices que hemos visto hasta el momento tenían en común que todos sus elementos eran iguales. Sin embargo, es perfectamente factible que una única matriz esté compuesta por dos o más tipos de elementos distintos.

A continuación se enumeran los diferentes procedimientos que se pueden utilizar para reemplazar un elemento de la matriz asociativa.
  1. Ejecute el comando EDITARMATRIZ (ARRAYEDIT) por cualquiera de los métodos estudiados en el artículo anterior, designe la matriz a editar y a continuación seleccione la opción Reemplazar (REPlace).
  2. Mediante el botón Reemplazar elemento situado en el panel Opciones de la ficha contextual Matriz en la cinta de opciones, visible cuando una matriz asociativa está seleccionada.
  3. Opción Reemplazar elemento situado en el submenú Matriz del menú contextual al que se accede pulsando el botón derecho del ratón cuando una matriz asociativa está seleccionada.
  4. Nota: Los métodos 2 y 3 no hacen otra cosa que ejecutar la opción de comando Reemplazar del comando EDITARMATRIZ descrita en el primer procedimiento sobre la matriz previamente seleccionada.
La secuencia de la opción Reemplazar (REPlace) del comando EDITARMATRIZ (ARRAYEDIT) es la siguiente:

Seleccione los objetos de reemplazo: (seleccionar)...(Intro)
Seleccione el punto base de los objetos de reemplazo o [punto Clave] <Centro de gravedad>: (Intro)
Seleccione un elemento de la matriz para reemplazar u [Objetos de origen]: (seleccionar cada elemento a reemplazar)...(Intro)

Una vez seleccionados los objetos que formarán parte de la definición del nuevo elemento, se solicita el punto base del elemento, que no es otro que el punto base del nuevo bloque anónimo que se utilizará para definir los nuevos elementos. Como ocurría en los comandos de creación de matrices asociativas, el punto Base se puede definir de tres formas:
  • Precisando un punto cualquiera mediante su designación directa en pantalla o introduciendo sus coordenadas por línea de comando.
  • La opción punto Clave (Key point) permite asociar el punto base del elemento con un punto de restricción de uno de los objetos designados, de forma que se mantendrá la coincidencia entre ambos aún cuando se modifique la geometría del objeto al que pertenece el punto clave. Puede consultar el artículo La restricción de Coincidencia de la serie dedicada al dibujo paramétrico para obtener una descripción más detallada de los puntos de restricción.
  • Pulsando Intro (opción por defecto) se acepta el punto base propuesto, que coincide con el Centro de gravedad de los objetos designados, el cual se corresponde con el punto medio de los centros de los paralelepípedos circunscritos (BoundaryBox o CajaLímite) a cada uno de ellos respecto del sistema de coordenadas universal.
Nota: En la designación del punto Base AutoCAD muestra una línea dinámica entre un punto de referencia y el cursor que permite introducir coordenadas relativas a dicho punto. Aunque pudiera parecer lo contrario, este punto de referencia no es el Centro de gravedad de la opción por defecto sino el punto base del primer elemento de la matriz.

A continuación AutoCAD solicita la selección de los elementos de la matriz que serán sustituidos por el nuevo elemento. Se debe seleccionar de forma individual cada uno de los elementos a reemplazar, y la sustitución se visualizará inmediatamente, en tiempo real, sin esperar a terminar el comando. Pulse Intro cuando desee terminar el reemplazo de elementos.

La opción Objetos de origen (Source objects) reemplaza la definición del elemento original, es decir sustituye todos los elementos que no hubieran sido reemplazados con anterioridad.

Finalizada la operación de sustitución de elementos, el comando EDITARMATRIZ (ARRAYEDIT) permanece activo incluso cuando la opción Reemplazar (REPlace) se hubiera ejecutado desde la cinta de opciones o desde el menú contextual (ver procedimientos 2 y 3 más arriba). Pulse Intro por segunda vez para terminar la edición de la matriz.

En el siguiente video se muestra un ejemplo de una sustitución múltiple de elementos en una matriz rectangular de tres filas y cuatro columnas. En una primera operación se utiliza la opción Objetos de origen (Source objects) para sustituir la definición del elemento original (círculo rojo) por una nueva definición de elemento (triángulo magenta), con lo que se reemplazan todos los elementos originales de la matriz. A continuación se sustituyen los elementos de la segunda columna por un segundo tipo de elemento (cuadrados verdes) y para terminar se reemplazan los elementos de la cuarta columna por un tercer tipo (pentágonos azules).
Como se puede observar, el resultado es una matriz asociativa rectangular perfectamente funcional con tres tipos de elementos diferentes en la que el elemento triángulo es considerado como el elemento principal y el cuadrado y el pentágono como elementos secundarios.

Si se añaden posteriormente nuevos elementos a la matriz mediante la incorporación de nuevas filas, columnas o niveles, estos siempre serán del tipo perteneciente a la definición del elemento principal (el triángulo magenta en el ejemplo).
Parece lógico pensar que si se quieren realizar varias operaciones seguidas de reemplazo de elementos, se ejecute repetidamente la opción Reemplazar sin salir del comando EDITARMATRIZ. Sin embargo, esto produce un resultado totalmente inesperado y anómalo. El siguiente video es una variación del ejemplo anterior con el objeto de ilustrar el problema.
Como se puede apreciar, una vez reemplazados los elementos de la segunda columna con una nueva definición de elemento (triángulo magenta), se selecciona la opción Reemplazar por segunda vez sin salir del comando EDITARMATRIZ con el fin de definir un tercer tipo de elemento (cuadrado verde) para la tercera columna de la matriz. En el momento de seleccionar el primer elemento de la tercera columna para reemplazarlo suceden dos cosas que, a nuestro parecer, no debieran ocurrir:
  • Se deshace la operación de reemplazo efectuada anteriormente sobre los elementos de la segunda columna.
  • Los nuevos elementos reemplazados no se corresponden con los objetos seleccionados en la segunda ocasión (cuadrado verde) sino con los elementos sustituidos en la primera operación de reemplazo (triángulo magenta).
La única forma de evitar este mal funcionamiento de la opción Reemplazar es salir completamente del comando EDITARMATRIZ y volver a ejecutarlo de nuevo desde el principio tal y como vimos en el ejemplo del primer video.

Ejemplo práctico de reemplazo de elementos

En el siguiente ejemplo utilizaremos el archivo de dibujo PilaresMat2.dwg que contiene el resultado de los dos primeros ejemplos estudiados en el capítulo 9 de esta serie, al que se ha añadido el dibujo en planta de un nuevo pilar, de tipo circular y de 0.60 m de diámetro, que utilizaremos para realizar una operación de reemplazo sobre algunos de los elementos de la matriz rectangular de pilares cuadrados.
  1. Si AutoCAD está cerrado, inicie el programa y abra el dibujo PilaresMat2.dwg que contiene la planta de pilares de un edificio que comenzamos a definir en los dos primeros ejemplos del capítulo 9. Además, a la izquierda del dibujo se encuentra la definición de un nuevo pilar como el de la figura anterior.
  2. Inicie la opción Reemplazar (REPlace) del comando EDITARMATRIZ (ARRAYEDIT) por cualquiera de los métodos descritos en el cuadro del epígrafe anterior, seleccionado la matriz rectangular de pilares de cuatro filas y cinco columnas del dibujo.
  3. Como objetos de reemplazo, seleccione el pilar circular situado a la izquierda del dibujo incluyendo sus dos ejes y pulse Intro para terminar la selección.
  4. Pulse Intro por segunda vez para aceptar el punto Base propuesto por defecto que coincidirá con el centro de gravedad de los objetos seleccionados. Opcionalmente también puede designar el centro del círculo o la intersección de los ejes del pilar como punto Base del nuevo elemento. A nuestro parecer este segundo método es preferible, ya que permite asegurar con precisión que el punto base se encuentre situado en el centro del pilar.
  5. A continuación, seleccione uno por uno los tres primeros elementos de la primera fila de la matriz para proceder a su sustitución.
  6. Pulse dos veces la tecla Intro, la primera para finalizar la opción Reemplazar y la segunda para salir del comando EDITARMATRIZ.
  7. Guarde el dibujo para utilizarlo en próximas entregas de esta serie.
El video siguiente muestra el proceso y resultado final del ejemplo que acabamos de describir.

0 comentarios: