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.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzTfvS8sSkk1YpEGIzDrQ2dDfLuNoNgVioMdYyxa9L-5elL0WbsY8-tyvVKvr-YSaaG7sxBjxHJv6bvui1eSxgFNz_xb3V3J3WT9duDxhHAVO9SHFNSGek3Iz5eKaL9s2oL1SJF-Ba6-Ed/s200/7PA_7.1.jpg)
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.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8oQLrhw0XFrMv06nQ9szZQ062qmm9yl0iZ1ipveUmPxWSUQtg3e72iOm8ea_BgKHgMOLyB_JHnOFLcHPymqQMSz-XX1wgdm-dxQsfyDwGeW-1AYxc5UA7oFHKmqlhc0SJZ2TXnmsY8JHY/s200/7PA_7.2.jpg)
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.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicJaYthPSus6-PMadDpmXul4qQtgB9U-1RAwm8VMy8kftVyp_0i4XgAPrpFUPvd1_3dgiMj4RvJPkDPM3ce5nyhlD23FUXkg9XOg9RbIqrHgYJF5sBWs9V1ey9UmK0UkolZpCHAbcfulTW/s200/7PA_7.3.jpg)
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.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-Cr3O8F03ROvpMSUc8MGQGgqAU1cQdEyJepMKT2lmsCCF3MBWyvys0-UjnGBdF5P-hktLisC6Frp2cx6fc04iQS-kpH2TOv0wCFFceVPoeY7_fqx58NwtUmJy3K2lwaSmChob1tQ7hEvM/s200/7PA_7.4.jpg)
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 de programación 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 de 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.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWRkdgX7rxNnfvbeJqYtDxYYbYCkJ3pmH0_1Ky7_fl4Yi2plQmsgLAwKhq-tRWPZ1_CRUbFos7TTHqeHOL4s7NatjtdWMOGIFXwsb4lOsQJ2RTklEgZD_UI4MjyFN80GL5SUuWaQqZ1llJ/s200/7PA_7.5.jpg)
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.
No hay comentarios:
Publicar un comentario