La Consola Visual LISP


Aunque parecida a la ventana de texto de AutoCAD en el hechode que se puden introducir funciones para evaluarlas y obtener el resultado enpantalla, la Consola es una herramienta de mucha mayor potencia y existenvarias diferencias en su manera de operar que es importante tener en cuenta.

Por ejemplo, para conocer el valor asociado a unsímbolo no es necesario, como en AutoCAD, precederlo de un signo deadmiración <!>. Basta teclear el nombre de la variable y pulsar<INTRO>. En la Consola se emiten una serie de mensajes dediagnóstico durante la ejecución de las funciones y si seencuentra un error interrumpe la ejecución y habilita un nuevo nivel deevaluación donde podemos ensayar cambios en valores de variables yrealizar pruebas para detectar los problemas existentes. De producirse un nuevoerror, se habilita un nuevo nivel y así sucesivamente, hasta quedecidamos regresar al nivel superior. Las baras de desplazamiento de la consolanos permiten revisar los resultados anteriores.

Las prestaciones más importantes de la Consola se resumen acontinuación:

  • Evaluar expresiones AutoLISP y mostrar el resultado devuelto por dichas expresiones.
  • Introducir expresiones AutoLISP en líneas múltiples pulsando para el cambio de líne la combinación <CTRL> + <INTRO>. Pulsar sólo <INTRO> provocaría la evaluación de la expresión tecleada hasta entonces.
  • Evaluar múltiples expresiones a la misma vez.
  • Copiar y transferir texto entre las ventanas de la Consola y el Editor. La mayor parte de los comandos de texto están disponibles también en la Consola.
  • Recuperar expresiones tecleadas anteriormente en la Consola, pulsando la tecla <TAB>. Pulsando esta tecla varias veces se van recuperando las expresiones anteriores. Para realizar el ciclo en sentido inverso puede utilizarse la combinación <SHIFT> + <TAB>.
  • La tecla <TAB> también permite realizar una búsqueda de carácter asociativo a través del conjunto de expresiones anteriores. Si se quiere buscar anteriores expresiones de creación de variables bastaría teclear (SETQ y entonces pulsar <TAB>, con lo que se iría directamente a la última expresión tecleada que comenzaba así. Para realizar el ciclo en sentido inverso aquí también puede utilizarse la combinación <SHIFT> + <TAB>.
  • Pulsando <ESC> se elimina cualquier texto a continuación del símbolo (prompt) del evaluador.
  • Pulsando <SHIFT> + <ESC> abre una nueva Consola, dejando el texto escrito en la ventana de Consola anterior sin evaluar.
  • Al pulsar el botón derecho del ratón en cualquier punto de laConsola o tecleando <SHIFT> + <F10> abre un menú contextualde funciones y opviones VLISP. Esto facilita, por ejemplo, copiar y pegar textoen la línea de comandos de la consola, buscar texto e iniciar lasutilidades de depuración VLISP.

La Consola Visual LISP en Entorno Multidocumento (MDI)

AutoCAD 2000 es capaz de abrir varios dibujos a la vez. Estose conoce como Interfaz Multidocumento (Multiple Document Interface - MDI) encontraposición con la interfaz de documento único de versionesanteriores. Hay una única ventana de Consola paratodos los dibujos AutoCAD abiertos. Cuando se utilizan las barras dedesplazamiento para revisar las expresiones y mensajes de la consola, losveremos todos, aunque se hayan emitido para distintos dibujos. Esta es otradiferencia en relación con la ventana de texto de AutoCAD, quesólo es capaz de mostrar los comandosque corresponden al dibujo activo.Dicho de otra manera, cada dibujo tiene su propia ventana de texto, perocomparten una sóla Consola VLISP. El cambio de contexto esautomático al cambiar de dibujo en AutoCAD. El dibujo activo en AutoCADes siempre el dibujo activo en VLISP. El nombre del dibujo activoaparece en la barra de título de la aplicación.

Menú Contextual

El menú Contextual en la Consola

El pulsar el botón derecho delratón sobre cualquier lugar de la ventana de la Consola abre unmenú contextual donde, según esté o no seleccionadoalgún texto, se habilitarán algunas de las siguientes opciones:
Cut
Borra el texto seleccionado de la Consola y lo transfiere al Portapapelesde Windows.
Copy
Copia el texto seleccionado al Portapapeles de Windows.
Paste
Pega el contenido del Portapapeles de Windows en la posiciónindicada por el cursor.
Clear Console window
Vacía la Ventana de la Consola.
Find
Busca el texto especificado en la Consola.
Inspect
Abre el diálogo de la utilidad Inspect.
Add Watch
Abre la ventana de la utilidad Watch.
Apropos
Abre la ventana del Apropos.
Symbol Service
Abre el diálogo de la utilidad Symbol Service.
Undo
Deshace la última operación.
Redo
Anula el efecto del último Deshacer (Undo).
AutoCAD Mode
Transfiere toda las entradas a la línea de comandos de AutoCAD para su evaluación.
Toggle Console Log
Copia la salida de la Consola a un archivo de registro (log file).

Cómo utilizar la Consola para seguir este Curso:

La consola es la herramienta fundamental que utilizaremos para seguir estecurso. Encontraremos fragmentos de código como éste (que fue yacitado en la Introducción):

(defun extents (plist)
(list (apply 'mapcar (cons 'min plist))
(apply 'mapcar (cons 'max plist))))

Podemos seleccionar dicho fragmento en nuestro browser utilizando elratón y copiarlo (<CTRL> + <V>), para después pegarloen la consola.

Hecho esto, pulsamos <INTRO> para que se evalúe el contenido dela consola, con lo que ya estará definida la función EXTENTS.Esta función requiere como argumento una lista de puntos(entendiéndose por puntos una lista de tres números realesrepresentando las coordenadas X, Y, Z. Supongamos que queremos utilizar lalista:

'((162.75 35.76 145.99)
(127.77 25.37 91.72)(139.355 1.40 0.088)
(242.12 59.34 121.08)(260.897 64.92 30.33)
(299.29 76.33 -55.96)(187.13 -9.28 235.85)
(313.10 -37.47 96.17))

Para ello la introducirámos en la consola (también podemoscopiar y pegar) una nueva expresión con el nombre de la función yla lista como único argumento:

Y entonces, pulsando <INTRO> obtendremos el resultado devuelto:

Obsérvese cómo los colores identifican los componentes de lasexpresiones, rojo para los paréntesis, azul para las funciones,verdeazul para los números reales. Una vez evaluada los colores deltexto cambian a negro, con lo que se identifica fácilmente quéformas son las que está en condiciones de ser evaluadas.


* AutoCAD 2000 puede configurarse para trabajar en modo dedocumento único. Para ello se activa la variable de sistema SDI. Elvalor por defecto de SDI es 0, cambiándolo a 1 se pasa a trabajar enmodo de documento único. Trabajando en este modo, la ventana de texto deAutoCAD contendrá los comandos emitidos para los sucesivos dibujosabiertos.

** Es posible realizar operaciones de cortar,copiar y pegar entre la consola de VLISP y la ventana de texto de AutoCAD.