Buscar en este blog

lunes, 11 de febrero de 2013

Matrices asociativas (13)


2013 (2012+)
La sustitución o Reemplazo de elementos, estudiada en el capítulo 11, permite que una misma matriz incorpore en su composición definiciones de elementos distintas de la del elemento principal.

En el capítulo anterior vimos como la edición in-situ de las matrices asociativas tiene la capacidad de modificar la definición (origen) de sus elementos, tanto del principal como de los secundarios añadidos mediante el Remplazo de elementos.

Iniciaremos este artículo con el estudio las matrices asociativas anidadas, centrándonos fundamentalmente en la edición in-situ de este tipo de matrices, a través del desarrollo de un caso práctico.

Continuaremos con la edición directa, puntual e individualizada de algunas de las propiedades generales pertenecientes a los elementos de una matriz asociativa, que completaremos también con un ejemplo práctico.

Y terminaremos analizando la opción REStablecer (RESet) del comando EDITARMATRIZ (ARRAYEDIT), que cierra el conjunto de herramientas de edición que afectan a los elementos de las matrices a nivel individual.

Matrices anidadas

La posibilidad de anidar unas matrices dentro de otras, es decir, que una matriz pueda formar parte de los elementos de otra matriz, independientemente del tipo de matriz de que se trate, abre grandes posibilidades y añade un notable nivel de complejidad a este tipo de objetos. Al igual que ocurre con los bloques, no existe un límite teórico para el nivel máximo de anidamiento de las matrices asociativas, más allá de la capacidad física de la máquina, del propio sentido común y de una correcta organización del proyecto.

En lo que respecta a la edición, la opción Origen (Source) del comando EDITARMATRIZ (ARRAYEDIT) permite utilizar la Edición in-situ sobre la matriz más externa para así poder modificar las matrices anidadas dentro de sus elementos. Es posible volver a ejecutar la opción Origen para entrar en el estado de edición in-situ de la matriz interior si lo que se desea es modificar la definición de sus elementos. Y así sucesivamente en cada nivel de anidamiento.

La única salvedad a tener en cuenta es que en el momento de cerrar la edición in-situ mediante el comando CERRARMATRIZ (ARRAYCLOSE) todas las matrices anidadas abiertas se cerrarán de una sola vez.

Ejemplo práctico de matrices anidadas

En este ejemplo utilizaremos el dibujo Mesas.dwg que, como se puede apreciar en la figura siguiente, contiene una matriz rectangular de 12 elementos repartidos en 3 filas y 4 columnas. Cada elemento de la matriz está compuesto por una mesa circular y en torno a ella una matriz polar (anidada) con 8 elementos que constituyen las sillas.
El primer objetivo del ejemplo será reducir a seis el número de sillas dispuestas en torno a cada mesa para modificar después la definición de las propias sillas.
  1. Si AutoCAD está cerrado, inicie el programa y abra el dibujo Mesas.dwg.
  2. Inicie la opción Origen (Source) del comando EDITARMATRIZ (ARRAYEDIT) por cualquiera de los métodos descritos en el capítulo anterior, seleccionado la matriz rectangular del dibujo.
  3. Seleccione cualquiera de los grupos de mesa y sillas de la matriz para proceder a su edición (en el video se ha seleccionado la mesa situada en la esquina superior izquierda).
  4. Ejecute el comando EDITARMATRIZ (ARRAYEDIT) por cualquiera de los métodos estudiados en el capítulo 10, y designe la matriz polar que representan el conjunto de sillas en torno a la mesa en edición.
  5. Seleccione la opción Elementos (Items) y consigne 6 como nuevo número de elementos de la matriz.
  6. Sin salir del comando EDITARMATRIZ (ARRAYEDIT), inicie la opción Origen (Source) y seleccione cualquiera de las sillas de la matriz (en el video se ha seleccionado la silla situada en el cuadrante superior de la matriz polar).
  7. Utilice la función Convertir en arco, que proporcionan los pinzamientos multifuncionales de la polilínea que representa la silla, para modificar los dos segmentos perpendiculares al radio de la matriz tal y como se puede apreciar en el video del ejemplo.
  8. A continuación dibuje una línea entre los dos vértices exteriores de la polilínea utilizando la referencia Punto final.
  9. Guarde los cambios y cierre el estado de edición in-situ de la matriz por cualquiera de los procedimientos descritos en el capítulo anterior. Esta operación cerrará de una sola vez todas las matrices abiertas con independencia del nivel de anidación.
  10. Guarde el dibujo con los cambios que hemos realizado.

Edición directa de elementos

La edición directa de elementos puede introducir modificaciones en algunas de las propiedades generales de los elementos seleccionados sin tener que reemplazar dichos elementos ni editar su definición (origen).

Para seleccionar elementos de una matriz asociativa de forma individual mantenga pulsada la tecla Ctrl mientras selecciona cada uno de los elementos que desea modificar (es el mismo método de selección que se puede utilizar para seleccionar otros tipos de subobjetos pertenecientes a objetos complejos de AutoCAD, como los segmentos de una polilínea o los vértices, aristas y caras de los sólidos 3D). Los elementos seleccionados se ven resaltados y con un único pinzamiento cuadrado que se corresponde con su punto de inserción. En la versión 2012 de AutoCAD los pinzamientos de los elementos se activan automáticamente (en rojo), lo que no ocurre en AutoCAD 2013 (pinzamientos azules – desactivados).

Sobre los elementos seleccionados se pueden realizar las siguientes operaciones de edición:
  • Desplazamiento. Actuando sobre el pinzamiento se puede desplazar cada uno de los elementos ya sea de forma individual o colectivamente. Para desplazar varios elementos simultáneamente en AutoCAD 2013 primero deben activarse sus pinzamientos, lo cual se realiza seleccionando cada pinzamiento mientras se mantiene pulsada tecla Mayús (ver ejemplo práctico más adelante).
  • Eliminación. Pulsando la tecla Supr o bien mediante el comando BORRA (ERASE) [alias: B] se suprimirán de la matriz asociativa todos los elementos previamente seleccionados.
  • Paleta de Propiedades. Mediante la paleta de Propiedades se pueden modificar algunas de las propiedades generales de los elementos seleccionados:
    • Color. Es posible modificar individualmente el color de los elementos de una matriz.
    • Desfase X/Y/Z. Define el desplazamiento en unidades de dibujo de cada uno de los elementos seleccionados, referido al sistema de coordenadas universal y respecto de la posición inicial de cada elemento en la matriz. Es equivalente al desplazamiento mediante pinzamiento visto más arriba.
    • Escala. Permite escalar uniformemente cada elemento respecto de su punto de inserción.
    • Rotación. Aplica un ángulo de rotación a cada elemento seleccionado respecto de su punto de inserción.
Las propiedades Capa, Tipo de línea, Escala de tipo de línea, Estilo de trazado y Grosor de línea (deshabilitadas en la paleta de Propiedades) se heredan directamente del objeto matriz y por lo tanto no se pueden modificar individualmente en sus elementos.

Hay que tener en cuenta que para que para que los cambios en las propiedades generales surtan efecto, los objetos integrantes de los elementos, al estar anidados dentro de un bloque, deben tener asignado el valor PorBloque en las propiedades correspondientes.

Al igual que ocurre con los bloques (no olvide que tanto las matrices asociativas como sus elementos son en realidad bloques anónimos), el valor de la propiedad Escala de tipo de línea es irrelevante, por lo que en la paleta de Propiedades aparece deshabilitada (de sólo lectura) y con el valor 1 tanto para el objeto matriz como para sus elementos.

Sin embargo, los comandos CAMBPROP (CHPROP) e IGUALARPROP (MATCHPROP) [alias: IP] permiten modificar esta propiedad en los objetos de Matriz asociativa y asignar valores distintos de 1, aunque esto no tenga el más mínimo efecto sobre la visualización o el trazado de las líneas afectadas.

La propiedad Hipervínculo no se puede establecer de forma individual para un elemento de la matriz a pesar de no estar deshabilitada en la paleta de Propiedades.
Lamentablemente cuando se seleccionan varios elementos simultáneamente de una matriz asociativa de tipo Polar o de Camino y se intentan modificar varias de las propiedades de Desfase, Escala o Rotación, en la mayoría de los casos se produce una corrupción de la matriz en edición y del propio dibujo así como un error fatal de la aplicación, sin que exista la posibilidad de guardar correctamente los cambios realizados. Esto ocurre en la versión 2013 de AutoCAD en español tanto en 32 como en 64 bits, con o sin el service pack 1.1 instalado. Sin embargo, esto no sucede en AutoCAD 2012, donde dichas propiedades se comportan correctamente sin ningún tipo de problema.

Ejemplo práctico de edición directa

En el siguiente ejemplo utilizaremos el archivo de dibujo PilaresMat3.dwg que contiene una retícula de pilares (ver imagen siguiente) similar a la obtenida al final del ejemplo práctico del capítulo 12 y que procedía a su vez de ejemplos estudiados en capítulos anteriores de esta serie.
  1. Si AutoCAD está cerrado, inicie el programa y abra el dibujo PilaresMat3.dwg.
  2. Pulse y mantenga pulsada la tecla Ctrl mientras selecciona secuencialmente cada uno de los 5 pilares de la segunda fila de la matriz asociativa rectangular. Al terminar la selección suelte la tecla Ctrl.
  3. Pulse la tecla Mayús mientras selecciona cada uno de los pinzamientos de los pilares seleccionados en el paso anterior. Los pinzamientos activados (seleccionados) cambian de color (generalmente a rojo). Suelte la tecla Mayús. En AutoCAD 2012 no es necesario este paso pues los elementos seleccionados mediante la tecla Ctrl tienen sus pinzamientos activados automáticamente.
  4. Seleccione el pinzamiento de cualquiera de los pilares seleccionados para comenzar el desplazamiento (estiramiento). Con el Modo Orto (F8) o el Rastreo polar (F10) activados desplace los pilares 1.5 unidades en el sentido positivo del eje Y del sistema de coordenadas (hacia la parte superior de la ventana de dibujo).
  5. Pulse la tecla Esc para cancelar la selección de los elementos.
  6. Inicie la opción Origen (Source) del comando EDITARMATRIZ (ARRAYEDIT) por cualquiera de los métodos descritos en el capítulo anterior, seleccionando la matriz rectangular de pilares.
  7. Seguidamente, seleccione cualquiera de los pilares cuadrados (azules) de la matriz para proceder a su edición (en el video se ha seleccionado el segundo pilar de la fila superior).
  8. Seleccione la polilínea de contorno del pilar en edición y abra la paleta de Propiedades mediante la combinación de teclas Ctrl+1.
  9. Asigne el valor PorBloque a la propiedad Color situada en la sección General de la paleta.
  10. Pulse la tecla Esc para cancelar la selección.
  11. Pulse el botón Guardar cambios de la ficha contextual fusionada Editar Matriz de la cinta de opciones, o bien utilice cualquiera de los procedimientos descritos en elcapítulo anterior para cerrar el estado de edición in-situ de la matriz aceptando los cambios.
  12. Mantenga pulsada la tecla Ctrl mientras selecciona secuencialmente cada uno de los 4 pilares de la última columna (situada más a la derecha) de la matriz rectangular. Suelte la tecla Ctrl.
  13. Asigne el valor rojo (1) a la propiedad Color situada en la sección General de la paleta de Propiedades (Ctrl+1). Los pasos 6 a 11 son necesarios para que el color rojo de los pilares se visualice correctamente.
  14. Pulse la tecla Esc para cancelar la selección.
  15. Pulse la tecla Ctrl y seleccione el pilar situado en la cuarta columna y tercera fila de la matriz rectangular.
  16. Para eliminar el pilar seleccionado pulse la tecla Supr o bien ejecute el comando BORRA (ERASE) [alias: B].
  17. Mantenga pulsada la tecla Ctrl mientras selecciona cada uno de los 4 pilares de la segunda columna de la matriz rectangular.
  18. Asigne el valor 1.00 a la propiedad Desfase X situada en la sección Geometría de la paleta de Propiedades (Ctrl+1) para desplazar los pilares seleccionados 1.0 unidad de dibujo hacia la derecha.
  19. Cierre la paleta de Propiedades y pulse la tecla Esc para cancelar la selección.
  20. Guarde el dibujo.

Restablecer matriz

Como hemos estudiado en estos tres últimos capítulos, de entre las herramientas de edición que afectan a los elementos de las matrices de forma individual las siguientes operaciones de edición introducen modificaciones puntuales sobre cada uno de los elementos afectados:
  • Reemplazar elemento. Introduce definiciones de elementos distintos del elemento principal.
  • Edición directa de elementos. Modifica algunas propiedades generales de los elementos (Color, Desfase X/Y/Z, Escala o Rotación) o los Elimina de la matriz.
Estas modificaciones puntuales se mantienen mientras exista el elemento de la matriz al que se refieren. Es decir, si un elemento con modificaciones puntuales dejara de existir porque se han modificado las propiedades generales de la matriz (número de filas, columnas, etc.), sus modificaciones individuales también serán eliminadas.

Además todas estas modificaciones puntuales que afectan a los elementos de forma individual se puede suprimir de una sola vez mediante la única operación de edición que resta por estudiar: el Restablecimiento de matrices.

A continuación se enumeran los diferentes procedimientos que se pueden utilizar para restablecer una matriz asociativa.
  1. Ejecute el comando EDITARMATRIZ (ARRAYEDIT) por cualquiera de los métodos estudiados en el capítulo 10, designe la matriz a editar y a continuación seleccione la opción REStablecer (RESet).
  2. Mediante el botón Restablecer Matriz 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 Restablecer situada 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 REStablecer del comando EDITARMATRIZ sobre la matriz previamente seleccionada tal como se describe en el primer procedimiento.
Esta acción solamente elimina los cambios puntuales realizados sobre elementos individuales de las matrices dejando una única definición de elementos. No afecta, por lo tanto, a las propiedades generales de la matriz (número de filas, columnas, etc.) y tampoco revierte los cambios realizados sobre la definición principal de elementos que hubieran sido realizados por medio de la operación Editar origen vista en el capítulo anterior.

0 comentarios: