viernes, 11 de mayo de 2012

PERSONALIZAR el AutoCAD ( V )


En la entrada anterior se describe la forma de modificar o personalizar la “interfaz” de AutoCAD. Aunque comentado todo ello en abstracto, todo el mundo reconoce el interés de ese tipo de modificaciones, dado que siempre resultan complejas y generan una cierta inseguridad en cualquiera que no disponga de una cierta soltura de manejo, también existe una tendencia natural a considerar este tipo de aspectos como algo “lejano”, que solo es útil para “especialistas” que se dedican profesionalmente a esos desarrollos.

Con el fin de romper en la medida de lo posible, esa suposición inicial, voy a tratar de desarrollar un ejemplo práctico, construyendo una pequeña personalización sobre AutoCAD que pueda resultar útil a modo de ejemplo.
                             
Voy a centrarme en la elaboración de un pequeño “menú desplegable” para insertar de forma rápida, un repertorio de “aparatos sanitarios”, ya que esta es una tarea relativamente común en la elaboración de una planta de arquitectura, y aunque tampoco resuelva grandes problemas, si puede servir de muestra sobre una forma de abordar “la personalización” para acceder a un repertorio de bloques que se insertan con frecuencia en diferentes archivos de dibujo.

Los bloques.

En primer lugar es preciso recopilar el conjunto de bloques que queremos agrupar en el nuevo menú. Este puede ser más o menos amplio, pero es conveniente agruparlo en alguna carpeta del disco, donde se puedan localizar con facilidad, y que probablemente con el tiempo vayamos modificando y/o adaptando a nuestro gusto particular. En primer lugar el repertorio va a ser bastante escueto para no extender el ejemplo, y se compone de un lavabo, bidet, inodoro, una ducha y una bañera, que una vez seleccionados, dibujados o elaborados, debemos colocar como dibujos independientes en una carpeta de nuestro disco, por ejemplo “[BLQS]”.

El nombre de los bloques es indiferente, ya que cada vez que vayamos a insertar un determinado bloque, el nombre del archivo estará escrito dentro de la “macro” o comando que automatiza esa tarea, y nosotros solo debemos “recordar” la ubicación del menú y nombre de etiqueta que hemos colocado en él, pudiendo incluso asociarle una pequeña imagen o gráfico a modo de “icono” con un tamaño de 32x32 pixel. Lo que si es importante es que el “path” o trayectoria de la carpeta donde están los bloques, se encuentre dentro la “Ruta de búsqueda de archivos de soporte” que si no estaba incluida se puede añadir con facilidad  en cuadro “opciones”, solapa “archivos”.

El nuevo Menú.

Una vez que tenemos recopilados nuestros bloques en la carpeta, sin olvidar ajustar el “punto base” de cada uno, sobre un punto singular que después resulta fácil de situar en el archivo de trabajo, cuando vayamos a insertar cada bloque. Para desarrollar el ejemplo vamos a situar un nuevo menú desplegable que llamaremos “Aparatos Snt.”, y a su vez cuando se despliegue va a contener, los bloques mencionados con arreglo al siguiente esquema:

             Aparatos Sntrs.
                           Lavabo
                           Bidet
                           Inodoro
                           Ducha
                           Bañera

Si recordamos el funcionamiento del cuadro de personalización, los pasos a seguir, son en primer lugar definir un nuevo comando para poder insertar cada uno de los bloques. Después de haber definido los cinco comandos, debemos crear o definir el nuevo menú desplegable, dentro del cual vamos a colocar los comandos. Una vez hecho esto debemos guardar el nuevo menú como un archivo “CUIx” independiente, para poder modificar o ampliar en el futuro y finalmente tenemos que trasladar o insertar el menú que hemos creado dentro del general que utilizamos en nuestro espacio de trabajo.

Los nuevos comandos.

En este punto hay que advertir que posiblemente este sea el paso más crítico o delicado, ya que en la definición de un nuevo comando, es preciso ser muy cuidadoso con todos los caracteres que se escriben, ya que cada espacio en blanco se interpreta dentro del programa como una pulsación de la barra espaciadora o la tecla “intro”. Por otra parte es preciso identificar perfectamente todas y cada una de las respuestas opcionales que tiene el comando invocado, porque cualquier desajuste siempre genera respuestas imprevistas.

La definición de cualquier nuevo comando no es más que una cadena de texto, que se anotará de forma literal en el campo correspondiente, comenzando con el nombre de la “orden” que se quiere invocar, a continuación el espacio en blanco que inicia su ejecución, e inmediatamente las respuestas o textos que requiera cada una de las opciones de esa orden concreta.

Hay que tener en cuenta que tanto el espacio en blanco como el carácter “;” son equivalentes a una pulsación de la tecla “intro” o a la barra espaciadora. El carácter “\”, genera una parada en la secuencia, que permite un respuesta del usuario ya sea señalando un punto de la pantalla, o bien escribiendo por teclado algún texto o dato que se cierra con una pulsación del “Intro”. Los datos fijos se pueden escribir dentro de la secuencia de pulsaciones de forma literal, aunque sin olvidar el comportamiento del espacio en blanco o encerrando la cadena entre comillas.

Hay que pensar que un solo espacio en blanco de más, al principio o al final de la secuencia, va a generar un “eco”, que trata de repetir la última orden ejecutada por el sistema, lanzando el mensaje correspondiente, y si las respuestas anotadas no se encuentran sincronizadas, el resultado final que se genera va a ser un “error”. Con el fin de probar y ensayar la nueva secuencia, es conveniente tratar de probarla mediante la línea de órdenes, contando y verificando las pulsaciones de una en una.

En el caso de nuestro ejemplo el nuevo comando que nos interesa se compone de una llamada a la orden “_INSERT”, y a continuación se añade el nombre del bloque que queremos insertar en el dibujo. Luego debemos programar una detención del comando para poder señalar en pantalla, el nuevo punto donde se situará exactamente el bloque que hayamos elegido. Una vez situado el punto de inserción, hay que tener en cuenta que la ejecución “paso a paso” del comando requiere otras tres respuestas, que son a su vez los factores de escala en las direcciones X e Y y el ángulo de giro para el nuevo bloque insertado.

En el caso que nos ocupa evidentemente los factores de escala en las direcciones X e Y deben ser “1”, por lo que en el comando será oportuno confirmar la opción por defecto o pulsar “Intro”, es decir escribir un “;”, sin embargo en el momento de fijar el ángulo de giro resulta oportuno devolver el control al usuario, para que el ángulo con que se inserta el bloque pueda fijarse gráficamente, es decir que debemos escribir en su lugar un “\”. Esta entrada debería terminar la ejecución de la nueva orden por lo que le línea de texto debería tener el siguiente aspecto: 
_INSERT <bloque> \;;\

El hecho de escribir el nombre de la orden en ingles precedida del subrayado de mayúsculas, se hace porque con esta notación, la orden funciona dentro de AutoCAD con independencia del idioma al que se haya traducido el programa, sin embargo si escribimos la versión “traducida”, solamente funcionara en aquellas versiones traducidas al idioma en cuestión.

Además de forzar la versión en ingles, del comando de base, es conveniente escribir al comienzo de la línea, dos veces la pulsación [Ctrl+C] con el fin de “romper” o anular cualquier posible orden transparente que pudiera estar en curso de ejecución en ese momento, lo que produciría un “error”. La forma de escribir por teclado esa pulsación es “^C”, con lo que el texto que debemos escribir en la macro quedaría:

             ^C^C_INSERT <bloque> \;;\

Ensamblar el conjunto.

Una vez que está clara, la estructura del nuevo menú y como escribir cada comando, ya solo queda ensamblar el conjunto en un nuevo archivo personalizado.

Para ello abrimos el cuadro de la interfaz de personalización, nos situamos en la solapa “Transferir”, y desde el panel derecho, accionando la opción “nuevo” podemos crear un nuevo archivo con la extensión “*.CUIx” que situamos a nuestra conveniencia dentro de las carpetas del disco.

Posteriormente pasamos a la solapa “Personalizar”, y desde la cabecera abrimos el nuevo archivo y en la lista desplegable lo seleccionamos, con el fin de mantener los nuevos comandos y sus ajustes o modificaciones asilados del resto de los archivos de personalización.
                                                                                             
Una vez situados sobre el nuevo archivo, abrimos el “nodo” de menús, y en él con ayuda del botón derecho dede el menú contextual, “creamos” el nuevo menú que vamos a llamar “Aparatos Sntrs.”.

A continuación pasamos al modulo inferior del cuadro que corresponde a la “Lista de Comandos” y que inicialmente debe encontrarse vacío porque aún no hemos definido ninguno. A la derecha en la barra de cabecera hay un botón que sirve para “crear un comando”, que una vez pulsado, nos presenta un nuevo aspecto del panel derecho, donde podremos editar o definir el nuevo comando y sus propiedades, incluido su nombre, la macro asociada y otros campos de ayuda.

A continuación vamos configurando cada nuevo comando, (Lavb. Duch. .. etc.) y en el campo de la macro escribimos el texto correspondiente actualizando debidamente el nombre del bloque que vamos a insertar. Finalmente cuando tenemos en el panel izquierdo toda la lista de los nuevos comandos ya solo queda subirlos al menú que habíamos creado y que se encuentra en el árbol general del panel izquierdo.

Cuando hemos acabado, solo queda salvar el nuevo archivo, y a continuación volvemos a pasar a la solapa “transferir”. Entonces seleccionamos en el panel izquierdo el archivo de personalización principal, y en el panel derecho el nuevo archivo que hemos creado, y solo nos queda trasladar con la pulsación sostenida, el nuevo nodo de menú desde el panel derecho a la ubicación que resulte oportuna del conjunto completo que tenemos en el panel izquierdo.

Finalmente accionando el botón “Aplicar” de la parte inferior, el sistema actualiza todo los archivos y presentará en nuestro espacio de trabajo el nuevo menú, y a partir de ese momento deben encontrarse disponibles los nuevos comandos.


No hay comentarios:

Publicar un comentario