Archivo de la etiqueta: personalizar el autocad

PERSONALIZAR el AutoCAD ( y VII )

Programación.

En todos los grandes programas o aplicaciones, suele haber además de las instrucciones y ordenes que ejecuta normalmente el propio programa, la alternativa de “programar” rutinas o acciones, que inicialmente no se han contemplado, pero que algún usuario concreto con conocimientos de programación, puede estar interesado en realizar o adaptar.

Cuando hablamos de entornos de programación, hay que distinguir lo que normalmente se conoce como lenguajes de “macros”, que si bien permiten un cierto nivel de programación, normalmente se limitan a almacenar una secuencia fija de órdenes o comandos ya existentes en el propio programa, para ser ejecutados en una secuencia única, incluso con la incorporación de datos fijos o variables.

En estos últimos casos el proceso interno a nivel de código de programa, que se va ejecutando en la CPU, es la propia secuencia de instrucciones del programa principal, y la rutina tampoco se sale de los límites que tenga asignados dentro del SO (sistema operativo). Cuando se habla de “entorno de programación”, las rutinas que se desarrollan son externas al programa principal y se ejecutan en la CPU del ordenador como procesos diferenciados e independientes, necesitando un control propio desde el SO.

En este aspecto el entorno de programación ha evolucionado considerablemente desde las primeras versiones del programa que se ejecutaban bajo DOS, el cual no disponía de multitarea ni de multiusuario. Después con la evolución desde W95 este panorama ha cambiado y a su vez se ha desarrollado notablemente la programación orientada a objetos, ya sea en C++ o java. También la disponibilidad de Internet y la paulatina implantación del XML, contribuyen a desdibujar o desbordar los límites tradicionales de CPU-SO-Aplicación.

Las alternativas para desarrollar algún tipo de programación dentro de AutoCAD, en la actualidad es múltiple, y el hecho de optar entre una u otra, depende sobre todo de las destrezas o preferencias de cada programador. En las versiones iniciales solo se disponía de LISP, el cual es un lenguaje de alto nivel, basado en el manejo recurrente de “listas”, que al menos en los primeros tiempos, estaba muy asociado con desarrollos de Inteligencia Artificial. Este lenguaje siempre estuvo muy vinculado con AutoCAD, probablemente por las preferencias de los desarrolladores iniciales, pero también porque su peculiar filosofía permite un manejo bastante flexible, de los distintos datos o entidades que soportan la geometría que maneja el programa.

El lenguaje LISP.

El LISP es un lenguaje “interpretado” que se procesa en tiempo real en la línea de órdenes de AutoCAD. Esto supone que sobre la propia línea se puede escribir cualquier instrucción o código de ese lenguaje, siendo inmediatamente procesada en cuanto se pulsa la tecla “intro”. Alternativamente se puede escribir cualquier programa, bajo las especificaciones correspondientes, en un archivo de texto ASCII plano con la extensión “.LSP”, y ser leído desde el propio AutoCAD ejecutando y procesando su contenido de forma inmediata.

El lenguaje LISP se basa en un manejo recursivo de funciones y listas que siempre se escriben entre paréntesis. La “lista” es el objeto básico del lenguaje, ya que cualquier función se escribe como una “lista” de palabras o datos encerrados entre paréntesis. Los elementos de la lista pueden ser: cualquier palabra separada por espacios, un número, una cadena de texto entre comillas, o bien otra lista encerrada a su vez entre paréntesis.

Si se trata de una palabra aislada en principio se interpreta como el nombre de una variable reservando el espacio de memoria oportuno. Si es un número se interpreta con arreglo a su valor numérico, que puede ser entero o real dependiendo de la presencia del punto decimal. El lenguaje admite mezclar operaciones entre enteros y reales, subiendo siempre la categoría al dato más complejo. Si se trata de una cadena entre comillas se considera como tal.

Dentro de los paréntesis se escribe siempre una sucesión de palabras o términos, de las que la primera tiene que ser necesariamente el nombre de la “función” reconocida por el propio lenguaje LISP, y el resto de términos son tratados como argumentos de la misma. Además de esto, cualquier palabra o término que se incluye en la lista puede ser a su vez otra función encerrada entre paréntesis, de tal forma que el conjunto del programa siempre queda organizado como una estructura anidada de “funciones” escritas entre paréntesis.

La ejecución del programa siempre requiere haber cargado en la memoria RAM, todo el paquete de funciones anidadas y a continuación se comienza por evaluar en primer lugar la más interna, y con el resultado se sustituye en la lista que la contenía, pasando entonces a evaluar esa nueva función, y así sucesivamente hasta concluir con la mas externa cuyo resultado se muestra en la línea de órdenes.

Naturalmente el repertorio de funciones disponible en el lenguaje, permite definir y crear nuevas funciones, acceder a los archivos del disco, a las variables de memoria, calcular expresiones numéricas, y realizar diferentes tipos de operaciones con los datos almacenados en las variables etc. La capacidad para programar en este lenguaje lógicamente se deriva de mantener un conocimiento amplio y general de ese repertorio de funciones y de las posibilidades de uso que permiten.

La Ayuda del programa dispone de una parte dedicada al LISP que incluye una descripción pormenorizada y sistemática de todas las funciones incluidas. También dispone de un “tutorial”, en el que se desarrolla un ejemplo interesante, que sirve para generar una orden o comando nuevo, que dibuja de forma automática, una banda de longitud y ancho variables, rellena con círculos de cualquier tamaño. Este ejemplo resulta interesante porque permite comprobar de una forma práctica las posibilidades y el alcance del lenguaje, además de mostrar las peculiaridades del manejo de “listas” y el uso de las funciones más comunes.

En las últimas versiones del programa, se incluye también el entorno “Visual LISP”, aunque esto en el fondo no es mas que un pequeño sistema de ventanas múltiples que incluye un pequeño editor para facilitar la escritura de código LISP, y además va marcando con colores las palabras reservadas, las variables, se identifica la presencia o falta de paréntesis permitiendo localizar y depurar los errores del código con mayor facilidad. En este caso también se puede compilar el código.

Otras alternativas.

Además del lenguaje LISP, las versiones recientes de AutoCAD, permiten desarrollar rutinas de programación en otros sistemas, lenguajes o entornos como:

 VBA (Visual BASIC)
 ActiveX
  Objet ARX
  .NET

En todos los casos se usa el paradigma de la “programación orientada a objetos”, y el desarrollo en estos entornos requiere siempre un conocimiento avanzado de cada uno,  y por supuesto conocimientos especializados de programación. Dentro de esos entornos, particularmente .NET y Objet ARX, se encuentra la posibilidad de desarrollo mediante  lenguajes de programación como C, C++, C#, etc.

Formas y Tipos de letra.

Las formas son un tipo de objeto cuyo uso es similar a los bloques, aunque presenta ciertas peculiaridades. Una de las ventajas principales es que el manejo de memoria, y la carga del procesador es mucho mas eficiente, por lo que cuando se emplean muchos elementos del modelo puede resultar mas ligero, aunque con el nivel de prestaciones de las máquinas actuales es difícil que pueda llegar a apreciarse la diferencia.

Como inconveniente para el uso de las formas cabe decir que el diseño o dibujo, que va a componer la forma, no puede realizarse directamente en la ventana gráfica, sino que las formas gráficas del dibujo deben traducirse a una “codificación” muy peculiar y luego escribirse en un archivo de texto ASCII, con la extensión SHP, que posteriormente el programa “codifica”, generando un nuevo archivo con extensión SHX, cuyo contenido binario es el que finalmente se maneja.

Uno de los principales usos de las “formas” codificadas son precisamente los “tipos” de letra originales de AutoCAD, que incluso en las primeras versiones se suministraban con las dos clases de archivo, aunque últimamente solo con el codificado SHX. En las versiones actuales del programa también se admiten las tipografías TrueType, pero en este caso no tienen nada que ver con lo que comentamos.

En general el uso adecuado para las “formas” deberían ser elementos gráficos o símbolos relativamente sencillos, con una representación fija que no requiera modificaciones frecuentes, y que se repita mucho, como pueden ser obviamente las forma de tipografía, pero también repertorios de símbolos, para mapas o cartografía, esquemas de instalaciones, notas musicales etc.

Para considerar la posibilidad de crear un repertorio personal de “formas” hay que tener en cuenta que la codificación de un dibujo complejo podría resultar demasiado laboriosa y proporcionalmente sujeta a errores.

En el manual de ayuda, se desarrolla con detalle el sistema de codificación gráfica de las formas, y se incluyen algunos ejemplos que ilustran perfectamente este sistema, e incluso se incluyen un par de archivos con la definición de una tipografía completa.

 

PERSONALIZAR el AutoCAD ( VI )

Modemacro y DIESEL.

Dentro de la personalización de AutoCAD existe la posibilidad de añadir información personalizada en la “Línea de Estado”.

Recordando uno de los primeros temas del blog, la línea de estado es aquella que se muestra en el borde inferior de la pantalla, y en su configuración incluye de izquierda a derecha, las coordenadas de posición del cursor, ya sea con actualización dinámica según el movimiento del cursor, o estática cada vez que señalamos un punto en el área gráfica de la pantalla. A continuación un conjunto de pulsadores que controlan distintos estados de funcionamiento, como los modos “orto”, “snap”, “refent”, “grid”, etc., y en el lado derecho se incluyen otros tipos de pulsadores con una lista desplegable al final, con el control sobre la posibilidad de mostrar/ocultar estos conjuntos.

Mediante el mecanismo de una variable interna identificada como “MODEMACRO” se puede añadir información personalizada, que se sitúa en el extremo izquierdo de esta línea. La variable se puede invocar desde la línea de estado, y a continuación escribir un texto. El tamaño máximo es de 4.096 caracteres, aunque obviamente se desbordaría mucho antes el tamaño máximo de la pantalla, desplazando fuera los pulsadores y paneles que se muestran normalmente y cuya configuración junto con el tamaño y resolución de la pantalla son los que en la práctica limita el tamaño máximo del texto.

Dentro de esa nueva línea podemos mostrar por ejemplo nuestro nombre, o el de la empresa aunque esa sea una información poco útil. Para ello solo habría que escribir en la línea de órdenes:

MODEMACRO:  Julio AR

A partir de ese momento veremos que el nombre “Julio AR” se muestra siempre al comienzo de la línea de estado, bien hasta que volvamos a modificar la variable, o hasta que cerremos la sesión, ya que el contenido de la variable es volátil y no se guarda en el archivo de dibujo.

Lógicamente esa información “fija” es poco relevante, pero el programa dispone a su vez de un lenguaje de macros conocido como “DIESEL”, que permite ampliar esa información de una manera mucho más útil, como puede ser el nombre de la capa actual, del color, del tipo de línea, del estilo de texto o de la acotación, y en general cualquier valor contenido en alguna variable interna del programa.

El lenguaje de macros “DIESEL” se explica en la ayuda, y básicamente permite escribir expresiones basadas en el repertorio de funciones que se enumeran, las cuales tienen un formato similar al LISP aunque precedidas por el símbolo “dólar”, de la siguiente forma.

$( funcion, variable1, variable2, .. )

Una función interesante para este uso es “ $(getvar, variable) “ que es la que permite consultar en cada momento el contenido de las variables del programa, en particular para mostrar el color actual, tipo de línea, estilo etc.

Concretamente vamos a ampliar la información de la línea de estado, incluyendo el color, la escala de tipo de línea y el estilo de texto actuales. Esa infamación si consultamos las variables del sistema a través de la ayuda correspondiente, se encuentra en las variables: “CECOLOR”, “LTSCALE”, y “TEXTSTYLE”.

Por tanto tendremos que escribir un valor para “modemacro” que incluya el texto de referencia y en su lugar las llamadas a las funciones capaces de mostrar sobre esa línea de texto, los valores correspondientes. Esto sería algo así como:

MODEMACRO: Color Actl: $(getvar, cecolor) – Estilo Texto: $(getvar, textstyle) – Escala de tipo de Línea: $(getvar, ltscale)

Evidentemente esta configuración se pierde cuando cerramos el programa, pero nada impide escribir esa macro en alguna opción particular de menú personalizada mediante la interfaz CUI que habíamos comentado en las entradas anteriores.

Fotos y Archivos de Comando.

En el momento actual, el problema de realizar “presentaciones” sobre cualquier contenido, ya sea de “AutoCAD” o de otros programas, ha cambiado notablemente con respecto a las primeras versiones, que ya disponía de una difusión universal y generalizada desde mediados de los años 80s, cuando el uso de programas como “Power Point” o los formatos PDF resultaban inimaginables.

En aquellas primeras versiones, el programa disponía de un sistema propio, que lógicamente se ha mantenido por compatibilidad hacia atrás,  y que en la actualidad se encuentra en desuso. El sistema propio se basa en la posibilidad de “capturar” imágenes asiladas, exclusivamente del área gráfica de la pantalla, y posteriormente poder mostrarlas mediante una secuencia escrita en un archivo de comandos, que el propio programa puede ir mostrando paulatinamente con retardos programados, de una forma completamente “desatendida” lo cual podría resultar útil en ciertos entornos como ferias o exposiciones.

Esa secuencia de “imágenes” previamente guardadas en archivos independientes se muestran en la pantalla gráfica superpuestos a la imagen actual, pero cualquier acción sobre el teclado, ratón, o menús o la ejecución de otro comando, hacen que la pantalla se actualice y por tanto se pierde la imagen mostrada.

Las imágenes o capturas se denominan “slides” y el programa dispone de un par de comandos, que sirven para realizar o mostrar la captura de esa imagen gráfica. Estas son “SACAFOTO(_MSLIDE)” y “MIRAFOTO(_VSLIDE)”. Estas órdenes se pueden ejecutar desde línea de órdenes, de forma que en el primer caso nos pedirá una carpeta o dirección para situar el nuevo archivo, y en el segundo el nombre del archivo que se quiere mostrar.

El archivo de comandos no es más que un archivo de texto plano (formato ASCII puro), con la extensión “*.SCR” (script) en el que se va escribiendo cada comando en una línea diferente. El archivo puede contener cualquier comando salvo aquellos que despliegan un cuadro de diálogo, aunque normalmente estos suelen disponer de versiones alternativas sin el cuadro de diálogo.

Existe además algún comando como “RETARDA(_DELAY)”, que resulta bastante útil en este tipo de archivos ya que provoca un retardo en milisegundos igual a la cifra que se incluya, hasta que se procesa el siguiente comando de la lista. A continuación se muestra como ejemplo, un fragmento de un archivo que muestra las imágenes empaquetadas en t61(b100) .. b101) .. b102) con retardos de 1 segundo.

_vslide t61(b100)
_delay 1000
_vslide t61(b101)
_delay 1000
_vslide t61(b102)
_delay 1000

 

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 32×32 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 archivoque 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.

 

PERSONALIZAR el AutoCAD ( IV )

La interfaz de usuario

Una de las características que siempre ha tenido AutoCAD desde las primeras versiones, es su gran capacidad y flexibilidad, para poder modificar la “interfaz” de usuario, adaptando esta a las necesidades o preferencias personales de cada uno.

El concepto de “interfaz”, básicamente se debe considerar como el aspecto y configuración que tiene la pantalla o ventana del programa, durante el proceso de trabajo habitual, que es a través de la que vamos cargando, seleccionando o ejecutando las órdenes que deben actuar en cada momento, además de incorporar o definir los datos de cualquier tipo, con los que vamos construyendo nuestro archivo de trabajo.

Normalmente en las primeras versiones del programa la interfaz de usuario estaba constituida por un área de menús, situada en la parte derecha de la pantalla y una pequeña zona inferior para la línea de comando con capacidad para tres o cuatro líneas de texto. El resto de la pantalla estaba ocupada por el área gráfica donde se visualizaba el dibujo que íbamos construyendo. También disponía naturalmente de una barra de título y otra de estado, donde se mostraba la información correspondiente.

El repertorio de órdenes y comandos que ha tenido disponible el programa desde sus primeras versiones ha sido muy extenso, por lo que los menús de comando tenían que disponer de algún mecanismo o sistema que permitiera ordenar racionalmente ese gran repertorio, con una estructura “anidada” o de cualquier otro tipo, para poder alcanzar tanto las diferentes “ordenes” del programa como las opciones o alternativas para la ejecución para cada una.

Por otra parte la extensión y repertorio de órdenes que se encuentran disponibles en un programa de propósito general como este, es singularmente amplio aunque sin embargo a la hora de realizar el trabajo cotidiano muchas de sus características y opciones, son formas alternativas para realizar tareas similares. Ello supone que cada usuario se va acomodando por una parte a utilizar solamente algunas órdenes con las que se siente más cómodo y por otra parte las peculiaridades de cada trabajo concreto, también contribuyen a que haya ciertos conjuntos de órdenes o alternativas que en la práctica cotidiana son poco utilizadas. El programa también permite con relativa facilidad adaptar o acomodar el uso de distintas órdenes u opciones, a un comportamiento diferente en función del uso particular, o los gustos de cada usuario. Todo esto es la base de la “personalización” del programa.

La personalización desde las primeras versiones, se desarrollaba mediante archivos [ *.MNU ], que estaban configurados como archivos de texto ASCII plano, que se podían editar o modificar mediante editores como “notepad”, o cualquier otro que no intercalase dentro del contenido, sus propios códigos. El programa se suministraba siempre con un archivo denominado “ACAD.MNU”, que se iniciaba por defecto en el arranque y contenía la estructura inicial de los distintos menús, que configuraban la interfaz, tanto de la pantalla como la tableta digitalizadota, o la pulsación de los botones del ratón.

 La estructura interna de esos archivos esta dividida en secciones, donde se escribe mediante sucesivas líneas de texto, el término que debe mostrar el menú encerrado entre corchetes, y a continuación las órdenes u opciones del programa exactamente igual que si se estuvieran escribiendo mediante el teclado en la línea de órdenes. Dentro de las instrucciones que se pueden escribir también se incluye cualquier rutina de “AutoLISP”, ya sea escrita directamente o bien a través de la carga de archivos escritos en ese lenguaje, que el programa “interpreta” en tiempo real, con lo que las posibilidades para ampliar o personalizar cualquier comportamiento de nuevas órdenes u opciones mediante un menú añadido con ese mecanismo, no tiene más limites que la propia imaginación.

Evidentemente tanto la depuración como la necesidad de comprobar que las rutinas funcionan con arreglo a las previsiones, constituyen una parte muy importante de todo este proceso. El programa en las versiones anteriores, permitía cargar módulos o partes que podían estar distribuidos en varios archivos con la extensión MNU, no obstante a partir de la versión de 2.006 se produce un cambio profundo, implantando el uso de un nuevo cuadro de “Interfaz de personalización”, que se complementa con el manejo de un nuevo tipo de archivos [ *.CUI ] ó [ *.CUIx ], que a fin de cuentas son archivos de tipo XML, en los que se centralizan y gestionan todos los datos de personalización que antes estaban en los archivos MNU, y que son actualizados de forma automática por el programa, evitando la modificación del archivo por el usuario mediante un editor.

El cuadro de Personalización.

Los antiguos archivos MNU, se pueden incorporar perfectamente en la nueva estructura, pero los archivos CUI, ya no son modificables mediante el editor de texto, sino que el programa incorpora una orden que despliega en pantalla un “cuadro de personalización”, desde el que se accede a todas las ordenes y opciones, cuyo contenido puede ser editado y modificado dentro de ese cuadro, a gusto de cada uno. Finalmente cuando se cierra el cuadro, el propio programa realiza internamente la actualización del correspondiente archivo CUI con las modificaciones realizadas.

El cuadro de personalización, se encuentra dividido verticalmente en dos partes, y dispone a su vez de otras dos solapas que controlan los estados alternativos de “Personalizar” y “Transferir”. La diferencia entre ambos radica en el uso del panel derecho, que en el caso de “Personalizar”, sirve para ir abriendo detalles o componentes de los elementos y nodos que se van seleccionando en el panel principal de la izquierda. En el caso de la opción “Transferir”, el panel derecho se utiliza para abrir, guardar o configurar archivos parciales.

El panel principal situado a la izquierda, muestra inicialmente una estructura en “arbol” que contiene todos los elementos personalizables del programa. Cuando se encuentra activo el modo “transferir” solo se muestra la estructura del arbol, y permite “copiar” o “trasladar” entre ambos paneles cualquier elemento o rama de la estructura, con la pulsación sostenida del ratón.

Cuando se encuentra activo el modo “personalizar”, la estructura se complementa en la parte inferior con un cuadro que muestra una lista completa de los comandos disponibles. A medida que se van marcando o abriendo los distintos nodos del árbol o bien los comandos de la lista inferior, el panel derecho va mostrando un texto aclaratorio sobre la función de cada uno, o bien los componentes detallados que configuran el elemento, y que son mostrados en campos de texto para que se pueden modificar y/o reescribir oportunamente sobre el panel derecho.

La estructura completa del árbol es bastante amplia y compleja por lo que lleva cierto tiempo familiarizarse con el conjunto, pero resulta muy fácil y cómoda de manejar. Uno de los primeros nodos de la estructura en árbol, es la de “espacios de trabajo”, que constituyen la herramienta básica para poder gestionar distintas configuraciones de personalización.

Los “espacios de trabajo”, constituyen la forma de guardar o recuperar una determinada configuración o aspecto de la Interfaz de usuario o espacio de trabajo. A fin de cuentas no son mas que “etiquetas”, que genera el propio usuario, y que almacenan y por tanto permiten recuperar posteriormente un determinado aspecto de la interfaz de usuario, en la que se visualizan y colocan en las distintas zonas de la pantalla los menús de barra, persiana, cinta o paletas, que usuario tuviera desplegados en la pantalla, cuando ha creado o actualizado esa etiqueta o nombre concreto.

El programa suministra por defecto cuatro espacios de trabajo que corresponden con otras tantas configuraciones de la interfaz, concebidas para facilitar el trabajo básico de dibujo y anotación en dos dimensiones, o bien un par de variantes para trabajo de modelado en 3D, y otra más para evocar el aspecto clásico del AutoCAD.

 

PERSONALIZAR el AutoCAD ( III )

Los Patrones de sombreado

Los patrones de sombreado en AutoCAD pueden responder a rellenos de color continuo o bien a patrones de líneas sucesivas que se repiten a una distancia uniforme y según el diseño con ciertos desfases cuando la línea tiene una pauta de trazos discontinuos.

El sistema de “patrones de sombreado”, funciona con arreglo a las definiciones contenidas en un tipo especial de archivos de texto plano (ASCII), que tienen la extensión “.PAT”, en concreto el programa dispone de dos de estos archivos, “acad.pat” y “acadiso.pat” que deben encontrarse en una carpeta localizada dentro de las trayectorias propias del programa.

Esos archivos tienen una organización bastante similar a los archivos de tipo de línea y lo mismo que aquellos pueden ser editados por el usuario con el fin de modificar los patrones que contienen o bien añadir otros nuevos que serán reconocidos por el programa a condición de que respeten la sintaxis y el formato específicos.

El manual de ayuda explica con bastante claridad como se elaboran los nuevos patrones, por lo que se recomienda su lectura. No obstante vamos a comentar de forma rápida la manera de crear nuevos patrones.

Dentro de los patrones de sombreado, se pueden distinguir en primer lugar patrones sencillos con línea continua, en un segundo nivel patrones con línea de trazo discontinuo, y finalmente patrones de línea con varios trazos en distintas direcciones.

Los archivos de tipo “*.pat” también admiten comentarios precedidos de punto y coma para identificar su contenido. La estructura de cada patrón, es similar a la definición de los tipos de línea aunque en este caso la definición se puede extender con otras líneas de texto. La primera línea de texto debe comenzar necesariamente con un “asterisco” y contiene dos campos separados por una “coma”. El primero es el que identifica el nombre del patrón, que no pude superar los 31 caracteres, y el segundo una descripción de texto.

A continuación el archivo puede tener una o varias líneas con el siguiente contenido:

“ángulo, origen x,origen y, delta x,delta y,trazo 1,trazo 2, …”

Esto supone escribir una serie de números separados por “comas” con los datos correspondientes al ángulo de trazado de las líneas, las coordenadas del punto por el que se pasa la primera línea del patrón, y a continuación los desplazamientos en las direcciones X e Y en las sucesivas repeticiones de la línea. Obviamente cuando el patrón de trazado es una línea continua, estos dos datos no tienen ningún interés, pero cuanto el patrón es discontinuo, esos dos números permiten ajustar tanto la separación entre líneas, como el desplazamiento relativo del patrón, a lo largo de líneas sucesivas.

Finalmente los últimos datos corresponden al trazo de la línea en sí y funcionan igual que en los archivos de patrones de línea. Si el valor del número es positivo, se dibuja el tramo correspondiente y si es negativo el espacio queda en blanco. Con el numero “0” se dibuja un punto.

El relleno con el patrón de líneas, se extiende de manera indefinida hasta llenar los “contornos” que se seleccionan al invocar la orden. Esa área se rellena de forma continua con el patrón que hemos definido hasta ocupar completamente toda la superficie con líneas paralelas a ambos lados de la inicial, con arreglo al desplazamiento relativo “delta y” y naturalmente al tamaño relativo que se especifica en la orden SOMBREA.

En todo caso el patrón de sombreado puede admitir en su definición, más de una familia de líneas repetidas cubriendo toda el área, y que a su vez pueden mantener el mismo ángulo de la primera, o bien pueden tener ángulos diferentes, sin mas que añadir nuevas líneas de texto en el archivo con la definición de los patrones.

Esta característica permite elaborar diseños de figuras que se repiten de manera uniforme y que pueden estar formadas por “estrellas, hexágonos, aparejos de ladrillo, etc, aunque con la condición de ser particularmente cuidadoso con la elaboración del diseño, y la correspondiente trascripción de los datos al archivo, además de hacer numeroso ensayos de comprobación hasta que todo funcione correctamente.

A continuación se enumeran los pasos para definir un nuevo patrón de sombreado:

1 – Abrir el archivo acad.pat o acadiso.pat en un editor de texto en formato ASCII.

2 – Crear una línea de encabezado con un asterisco y el nombre de patrón. (máx 31 caracteres)

3 – Escribir una línea de descripción que incluya:
– El ángulo en el que se dibuja la línea
– El punto de origen X,Y
– Un delta x de cualquier valor, si desea desfasar líneas alternas      en la familia de líneas
– Un delta y de cualquier valor
– Un valor para la longitud de trazo
– Un valor para una longitud de punto
– Un segundo valor opcional para una longitud de trazo          diferente
– Un segundo valor opcional para una longitud de punto    diferente

4 – Opcionalmente escribir sucesivas líneas que incluya todos los parámetros del paso anterior, manteniendo la misma dirección y distintos desfases, o bien diferentes direcciones para completar una figura compleja, como una estrella, un aparejo etc.

PERSONALIZAR el AutoCAD ( II )

Los tipos de línea

La personalización de los tipos de línea, constituye una de las primeras áreas donde aquellos aficionados a escudriñar los entresijos del programa o de cualquier otra cosa a su alcance, se internan en primer lugar, ya que a pesar de no resultar un sistema muy intuitivo, si resulta bastante fácil de operar, internándose en sus elementos con el fin de probar e imaginar nuevas alternativas o posibilidades.

El sistema de “tipos de línea”, funciona alrededor de un tipo especial de archivos de texto plano (formato ASCII puro), que tiene la extensión “*.lin”. El programa suministra de forma estándar un par de archivos con esa extensión, que son “acad.lin” y “acadiso.lin”. Cualquier usuario puede escribir nuevos archivos con una contenido diferente, que serán visibles, y podrán ser cargados solo con mantener la extensión “*.lin” y ubicarlos en alguna carpeta reconocible, o bien añadir nuevas definiciones a los archivos existentes, en cuyo caso debe tener la precaución de mantener la integridad de estos para no perder o alterar su contenido.

Estos archivos deben encontrase dentro de los directorios o carpetas del sistema, y pueden ser abiertos y editados, con cualquier editor ASCII como el “Notepad”, o bien si se utiliza cualquier otro editor de texto, hay que tener la precaución de “guardar” el archivo en ese formato, ya que si el editor intercala dentro del archivo sus propios códigos de control, este dejaría de funcionar correctamente.

Los archivos de tipo “*.lin” admiten como es habitual, comentarios precedidos de “punto y coma”, que ayudan a identificar el contenido del mismo. La estructura interna del archivo es parecida a la que se comentaba en la entrada anterior para los archivos de “comandos externos” y/o “alias de comando”, de forma que cada “tipo de línea” diferente que se incluye dentro del archivo consiste en un par de líneas de texto con las que se “codifica” el comportamiento o aspecto de la línea.

Las definiciones de cada tipo, se componen de dos líneas de texto sucesivas, de las que la primera contiene dos “campos” separados por una “,” ‘coma’, y la siguiente contiene además de una clave inicial, varios campos numéricos separados también por ‘comas’.

Los dos campos de la primera línea de texto, sirven para definir el “nombre” del tipo de línea con el que va a ser identificado dentro del programa, y a continuación una descripción del mismo, que puede incluir un texto aclaratorio o bien una especie de muestra esquemática, escrita con los caracteres mecanográficos comunes, que luego resulta muy útil, ya que esa descripción se muestra en los cuadros de diálogo del programa cuando vamos a elegir o seleccionar cada uno de los tipos.

El contenido numérico del patrón que se define en la segunda línea de texto, se basa en la idea de un trazo continuo, que solo se dibuja si el valor del número es positivo, y que cuando es negativo se deja el hueco correspondiente. Cuando el valor es “cero”, lo que representa es un punto asilado, que lógicamente solo tiene sentido si está entre dos valores negativos. Los valores numéricos naturalmente representan el tamaño de cada segmento en las unidades del dibujo, multiplicadas por el “factor de escala”, tanto del archivo de dibujo general, como del objeto de línea particular.

Con estas referencias podemos ampliar el archivo de tipos de línea con nuestros propios patrones o diseños, aunque hay que reconocer que los tipos que se suministran con el programa, además de operar correctamente con el factor de escala, que es el que suele dar más quebraderos de cabeza, casi siempre por no actuar de forma ordenada y sistemática, suelen cubrir la mayoría de las necesidades y este tipo de ampliación o personalización tampoco suele ser muy frecuente.

En todo caso la personalización de los tipos de línea, no termina solo con la distribución de puntos y discontinuidades sobre una línea recta de referencia, sino que también se pueden añadir dentro de la pauta de la línea, caracteres de texto o bien pequeños símbolos o “formas”, contenidas dentro de un archivo “SHX”.

La incorporación de texto dentro de los archivos de tipo de línea resulta sin embargo una característica mucho más útil, ya que permite especificar ciertas característica sobre algunas líneas, que pueden hacer referencia a su contenido como: “Gas”, “Alta Tensión”, o cualquier otra que sea oportuno. De hecho los archivos suministrados utilizan esta característica para generar un patrón de “zigzag”,  intercalar un par de corchetes, o un aspa para representar cercas, etc.

La forma de insertar caracteres en el archivo de tipos de línea, consiste en reemplazar uno de los números que se situaban entre ‘comas’ por un conjunto de valores encerrados entre corchetes.

Dentro de los corchetes se incluyen los siguientes campos:

[«texto»,nombreestilotexto,escala,rotación,desfasex,desfasey]

El campo “texto” identifica los caracteres que se intercalan en la línea, y el nombre del estilo identifica el “estilo de texto” que se va a emplear para representar los caracteres y que tiene que estar definido dentro del archivo de dibujo antes de cargar el tipo de línea, por lo que es recomendable utilizar el estilo “STANDARD”, ya que este siempre está definido.

A continuación se indican los valores para indicar la escala relativa, el ángulo de rotación de los caracteres y los desfases X e Y respecto a la línea de trazado, siempre identificados con su letra de referencia y a continuación del signo “=”con arreglo a la notación de ejemplo que se incluye a continuación o que se puede encontrar en el archivo de “Ayuda”.

                  [«AC»,STANDARD,S=.1,U=0.0,X=0.0,Y=-.05]

 Este codigo, supone intercalar en el patrón de línea, los caracteres “AC” representados con el estilo de texto “Standard”, a un tamaño relativo de 0.1 unidades de dibujo cada letra, las letras alineadas con la línea principal, y con un desfase de cinco centésimas negativas, respecto al centro de la línea.

Formas en los tipos de línea.

Las “formas”, son una característica poco utilizada del programa, que permite definir un conjunto de pequeños símbolos que se recopilan en un archivo, y se “codifican” mediante una geometría muy característica.

Esos símbolos se definen en un archivo de texto ASCII con extensión “*.SHP” que luego es compilado por el sistema para generar otro archivo “compilado” con la extensión SHX. El manejo de esta codificación esta pensado para que el funcionamiento interno tanto en la memoria como en el procesador sea particularmente eficaz, y de hecho es el tipo de codificación que se utilizaba en las primeras versiones para manejar los diseños de fuentes y tipografías. En resumen, un archivo SHX contiene un repertorio de formas simples o elementales, que se identifican pos un número de código ASCII o algo parecido, y se pueden insertar en cualquier dibujo a modo de pequeños bloques, aunque en este caso ya no se pueden editar, modificar o siquiera descomponer.

En un apartado específico de la Ayuda, se explica con detalle, la geometría y el sistema que permite diseñar y codificar este tipo de formas, aunque su utilización no es muy frecuente.

Cuando se dispone de un archivo de formas SHX, estas pueden ser a su vez incrustadas en los patrones de “tipo de línea” de una forma similar a los caracteres de letras, aunque en este caso se debe intercalar entra corchetes la siguiente codificación:

[nombreforma,nombrearchivoshx,transformación]

En este caso el nombre de forma es la etiqueta que identifica la “forma” dentro del archivo SHX, el nombre del archivo, es necesario para identificarlo, y además es preciso que se encuentre cargado y accesible dentro de las trayectorias reconocidas por el programa. Finalmente la transformación, es opcional, y se compone de una serie de valores que se identifican con una inicial en mayúsculas seguida del signo “=” y permiten definir distintos giros, escalas y desfases de la forma respecto a la línea principal.

Los parámetros de la transformación pueden ser:

R=## Rotación relativa
A=## Rotación absoluta
U=## Rotación vertical
S=## Escala
X=## Desfase X
Y=## Desfase Y

Un ejemplo para codificar una forma dentro del archivo de tipo de línea, puede ser:

[DIP8,pd.shx,X=0.5,Y=1,R=0,S=1]

En la “Ayuda” del programa se encuentran detalladas estas referencias.

 

 

PERSONALIZAR el AutoCAD ( I )

Hoy toca abordar un nuevo tema para continuar el desarrollo del blog. El tema elegido es la “personalización” del AutoCAD, siempre contemplada desde el punto de vista del trabajo alrededor del proyecto de arquitectura.

El AutoCAD siempre ha sido un programa o aplicación que desde los primeros momentos destacaba por sus capacidades para desarrollar componentes personalizados, aunque en las primeras etapas resultaban un poco complejas, probablemente debido más al desarrollo de los sistemas operativos y el nivel general de la informática. (No existía el sistema “Windows”, y se trabajada principalmente bajo MS-DOS, por otra parte para “editar” archivos de texto, el S.O. incluía un editor de líneas conocido como “EDLIN”, que podría calificarse como “tortura inhumana”, para cualquier principiante que tratara de iniciarse con algo de “ilusión” en el mundo de la informática.)

En la actualidad la situación ha cambiado notablemente tanto en las herramientas disponibles, como con la disponibilidad de Internet donde se pueden consultar y aclarar muchas dudas, y por otra parte el gran esfuerzo de difusión y claridad en la documentación de los distintos manuales que configuran el AutoCAD.

Si consultamos la “ayuda” de la última versión (Autocad 2012), vemos que dentro del primer apartado se ordenan cuatro entradas dedicadas al manual de usuario, la lista completa de comandos, un “manual de personalización”, y otro de controladores y periféricos.

Independientemente de este manual que tiene un carácter de recopilación general, se desarrollan también otras “guías de referencia”, respecto a los distintos entornos de programación, y particularmente el lenguaje AutoLISP, que constituye una variante del leguaje de propósito general  LISP, basado en “listas” y se encuentra disponible dentro del propio AutoCAD, constituyendo una vinculación ya tradicional del LISP con este programa.

El Manual de Personalización.

Dentro del manual de personalización se organizan los siguientes apartados:

Personalización básica 

Tipos de línea
Patrones de sombreado
La interfaz de usuario
DIESEL
Fotos y archivos de comando
Interfaces de programación
Formas y tipos de letra
Migración y transferencia

El primer punto corresponde a una descripción general, en el segundo se comentan los tipos de línea disponibles en origen, cómo se gestionan y también la posibilidad de modificar estos o generar otros nuevos a gusto del usuario. En el tercer punto se abordan los “patrones de sombreado” que tienen un tratamiento bastante paralelo con los tipos de línea del punto anterior.

En el punto 4 se aborda la personalización de la “interfaz de usuario” desarrollando la forma de acomodar y/o adaptar los “menús” y la forma de ejecutar las ordenes y comandos  del programa a una necesidad particular o simplemente a nuestros gustos personales. En el punto 5 se comenta un lenguaje específico que permite ajustar o adaptar el comportamiento de los mensajes que el programa escribe a través de la “línea de órdenes”, y también para  automatizar “macros”.

En el apartado 6 se desarrolla y explica la organización de archivos de texto que pueden ejecutar secuencias de comandos y la presentación automatizada de imágenes capturadas de la pantalla gráfica. Esto permite o bien automatizar procesos repetitivos de forma desatendida como el trazado de planos, o bien organizar presentaciones automatizadas.

El punto 7 trata una introducción a las distintas interfaces de programación: LISP, C, ActiveX, VisualBasic, ObjetARX, .NET aunque este tema, tiene lógicamente un recorrido mucho mayor, cuando se interna uno un cualquiera de los sistemas de programación. Dentro de los sistemas de programación, el correspondiente al lenguaje de listas “LISP” siempre ha estado muy ligado al AutoCAD, y ya desde las primeras versiones se incluye un “tutorial específico” sobre este lenguaje, bien explicado y con un ejemplo bastante claro sobre el manejo de las propiedad peculiares de los objetos y entidades gráficas que maneja el programa internamente.

En el punto 8 se desarrolla una forma particular para “codificar” mediante archivos de texto “ASCII”, pequeños símbolos, o incluso “tipografías” de texto, con diseños particulares o personales. Finalmente se dedica el apartado 8 a las peculiaridades de la migración y transferencia entre versiones de los distintos archivos y opciones de personalización, que de todas formas suelen estar bastante bien automatizados durante el proceso de instalación del programa.

Personalización básica

Dentro del apartado de personalización básica, el manual del programa dedica una primera parte a la ubicación de los archivos, tanto los de soporte y personalización del programa, como a los archivos de trabajo.

Incluido en este apartado se comenta también un elemento bastante singular e interesante como es el archivo de configuración “ACAD.PGP”. Este se trata de un archivo de texto plano (ASCII) que se incluye como soporte del propio programa, y mediante el cual, podemos definir y configurar nuevos “comandos” adaptados a nuestras necesidades particulares o a nuestros gustos.

El archivo se encuentra dentro de las carpetas de soporte del programa, aunque se mantiene relativamente oculto por seguridad, y en las versiones actuales del programa se accede a él desde el menú “Herramientas/Personalizar/Editar acad.pgp”. El archivo se abre con el editor “notepad” o bien aquel que hayamos configurado al hacer la instalación, como editor ASCII.

Cuando se abre el archivo, la primera parte contiene unos comentarios y recomendaciones además de las referencias apropiadas, y nos recuerda que es conveniente hacer una copia de seguridad o reserva si vamos a modificar el contenido. El funcionamiento normal es bastante simple ya que se trata de algo similar a los viejos archivos “*.bat” del sistema operativo, aunque definido dentro del entorno de AutoCAD, es decir que el programa “lee” e interpreta su contenido cada vez que se inicia su ejecución.

Dentro del archivo, los comentarios se inician con el carácter “;”, de tal forma que el resto de la línea es ignorada en la “ejecución” del proceso, pero sin embargo resulta muy útil para incluir dentro del propio archivo, algunos comentarios y explicaciones que nos ayudan a entender el funcionamiento y a identificar las referencias de su contenido.

Como ye se ha mencionado, la cabecera del archivo contiene una serie de comentarios generales, y a continuación se encuentra una sección en la que se definen los “comandos externos”. Luego incluyen otro paquete de comentarios con referencias sobre la forma de configurar los “alias de comando” incluyendo a continuación un amplio conjunto ya “preconfigurado”, y también algunas líneas adicionales de comentarios y advertencias.

Comandos externos

El funcionamiento de los “comandos externos”, se basa en escribir en una línea, un conjunto de campos separados por comas con arreglo a un orden y estructura preestablecida que el programa “interpreta” en tiempo de ejecución para poder actuar en consecuencia.

La sintaxis de la línea se explica en la ayuda del programa y tiene una estructura fija de forma que siempre es necesario escribir las “comas” ya que estas constituye el carácter separador entre los campos de datos, y su presencia resulta necesaria, aunque el “dato” correspondiente se encuentre vacío en algún caso particular.

El funcionamiento de cada línea, se basa en escribir en primer lugar el “comando” como una palabra o etiqueta que al ser identificada, cuando nosotros la escribamos posteriormente en la “línea de ordenes” durante la ejecución de AutoCAD, el programa lanzará una llamada al sistema operativo para que se ejecute la “orden”, que hemos escrito en el “segundo” campo de la línea de texto, con arreglo a los parámetros o especificaciones que se han incluido en los demás campos de esa línea.

En conclusión, podemos controlar desde dentro del autocad la ejecución de los comandos del S.O., como la orden “dir” o “type”, o bien iniciar algún programa externo como el editor ASCII “NOTEPAD” o el explorador de archivos “EXPLORER”.

La verdad es que esta utilidad tampoco tiene mucho interés con las versiones actuales del sistema operativo Windows, que ya que actualmente se dispone de una “multitarea” perfectamente implantada y completa, de tal forma que siempre es posible minimizar la ventana de ejecución del AutoCAD sin interrumpir sus tareas, accediendo al escritorio o a cualquier otra ventana del sistema operativo para operar con total independencia y simultaneidad. No obstante en los tiempos del antiguo MS-DOS esto no era posible, y este tipo de utilidad se mantiene aún por compatibilidad con las versiones antiguas.

Alias de Comando

Los “alias de comando” constituyen una utilidad parecida en cuanto a funcionamiento, pero tienen más interés y se configuran en el mismo archivo con una estructura similar a la de las órdenes externas.

En este caso la idea consiste en que podemos escribir en la línea del archivo, una primera palabra o “etiqueta”  que sea de nuestro gusto, y a continuación el nombre del comando o la orden de AutoCAD, que debe ejecutarse cuando escribamos esa primera palabra o etiqueta en la línea de órdenes.

Este mecanismo nos permite establecer un conjunto de “abreviaturas” que puedan resultar cómodas y fáciles de recordar, además de lo suficientemente cortas (una o dos letras), en lugar de los nombres habituales de las órdenes del programa, para que resulte cómodo y rápido escribir la abreviatura (una o dos pulsaciones) en la línea de texto, y ejecutar así el comando o la orden correspondiente.

La sintaxis de la línea de texto es similar, aunque ahora solo tenemos dos campos separados por una coma. El primero es el “alias” que queremos utilizar, y el segundo el nombre del comando precedido por un asterisco. También se puede utilizar el guión para invocar el comando en modo transparente, o el de subrayado para invocarlo en “ingles” con independencia de que la versión de AutCAD pueda estar traducida a otro idioma diferente.

Las abreviaturas incluidas en el archivo pueden abarcar solamente un pequeño conjunto de las órdenes más habituales, o extenderse a todas las que queramos y tampoco existe ninguna restricción, para implantar diferentes abreviaturas sobre una misma orden. La única restricción lógica es que las abreviaturas o “alias” deben ser únicas, ya que en otro caso solo estará vigente la última que se haya escrito dentro del archivo.