Aunque parecida a la ventana de texto de AutoCAD en el hecho de que se puden introducir funciones para evaluarlas y obtener el resultado en pantalla, la Consola es una herramienta de mucha mayor potencia y existen varias diferencias en su manera de operar que es importante tener en cuenta.
Por ejemplo, para conocer el valor asociado a un símbolo no es necesario, como en AutoCAD, precederlo de un signo de admiración <!>. Basta teclear el nombre de la variable y pulsar <INTRO>. En la Consola se emiten una serie de mensajes de diagnóstico durante la ejecución de las funciones y si se encuentra un error interrumpe la ejecución y habilita un nuevo nivel de evaluación donde podemos ensayar cambios en valores de variables y realizar pruebas para detectar los problemas existentes. De producirse un nuevo error, se habilita un nuevo nivel y así sucesivamente, hasta que decidamos regresar al nivel superior. Las baras de desplazamiento de la consola nos permiten revisar los resultados anteriores.
Las prestaciones más importantes de la Consola se resumen a continuació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 la Consola o tecleando <SHIFT> + <F10> abre un menú contextual de funciones y opviones VLISP. Esto facilita, por ejemplo, copiar y pegar texto en la línea de comandos de la consola, buscar texto e iniciar las utilidades de depuración VLISP.
La Consola Visual LISP en Entorno Multidocumento (MDI)
AutoCAD 2000 es capaz de abrir varios dibujos a la vez. Esto se conoce como Interfaz Multidocumento (Multiple Document Interface - MDI) en contraposición con la interfaz de documento único de versiones anteriores*. Hay una única ventana de Consola para todos los dibujos AutoCAD abiertos. Cuando se utilizan las barras de desplazamiento para revisar las expresiones y mensajes de la consola, los veremos todos, aunque se hayan emitido para distintos dibujos. Esta es otra diferencia en relación con la ventana de texto de AutoCAD, que sólo es capaz de mostrar los comandosque corresponden al dibujo activo. Dicho de otra manera, cada dibujo tiene su propia ventana de texto, pero comparten una sóla Consola VLISP. El cambio de contexto es automático al cambiar de dibujo en AutoCAD. El dibujo activo en AutoCAD es siempre el dibujo activo en VLISP. El nombre del dibujo activo aparece en la barra de título de la aplicación.
- Cut
- Borra el texto seleccionado de la Consola y lo transfiere al Portapapeles de Windows**.
- Copy
- Copia el texto seleccionado al Portapapeles de Windows**.
- Paste
- Pega el contenido del Portapapeles de Windows en la posición indicada 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 este curso. Encontraremos fragmentos de código como éste (que fue ya citado 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 el ratón y copiarlo (<CTRL> + <V>), para después pegarlo en la consola.
Hecho esto, pulsamos <INTRO> para que se evalúe el contenido de la 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 reales representando las coordenadas X, Y, Z. Supongamos que queremos utilizar la lista:
'((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 podemos copiar y pegar) una nueva expresión con el nombre de la función y la lista como único argumento:
Y entonces, pulsando <INTRO> obtendremos el resultado devuelto:
Obsérvese cómo los colores identifican los componentes de las expresiones, rojo para los paréntesis, azul para las funciones, verdeazul para los números reales. Una vez evaluada los colores del texto 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 de documento único. Para ello se activa la variable de sistema SDI. El valor por defecto de SDI es 0, cambiándolo a 1 se pasa a trabajar en modo de documento único. Trabajando en este modo, la ventana de texto de AutoCAD contendrá los comandos emitidos para los sucesivos dibujos abiertos.
** Es posible realizar operaciones de cortar, copiar y pegar entre la consola de VLISP y la ventana de texto de AutoCAD.