Cuando empezamos a crear nuestras propias rutinas LISP para progeCAD, es bastante habitual que al principio las utilicemos con frecuencia y, con el tiempo, acabemos olvidándonos de ellas. Guardamos los archivos .LSP en una carpeta, creamos nuevas rutinas y, después de unos meses, tenemos una pequeña colección de herramientas que sabemos que existen, pero que no siempre recordamos cómo se llaman o dónde están.
Una solución sencilla es integrar estas rutinas en el propio entorno de progeCAD mediante el CUI (Customize User Interface). De esta forma podemos crear un menú personalizado en el que aparezcan nuestras herramientas y acceder a ellas de la misma manera que accedemos a cualquier otro comando del programa.
En este ejemplo vamos a utilizar dos rutinas que forman parte de mi trabajo habitual: CCC, que utilizo para crear mis capas, y RASANTE, que permite colocar automáticamente una rasante tomando como referencia un punto determinado (muy interesante para los arquitectos).
1. Las dos rutinas
Partimos de dos archivos LISP, por ejemplo CCC.LSP y RASANTE.LSP. Cada uno contiene una rutina que podemos ejecutar desde la línea de comandos de progeCAD.
En el caso de CCC.LSP, el comando que utilizamos será CCC, mientras que en RASANTE.LSP el comando será RASANTE. Esta diferencia es importante porque, cuando posteriormente creemos los botones en el CUI, no vamos a llamar directamente al archivo .LSP, sino al comando que contiene la rutina.
Por ejemplo, si dentro de CCC.LSP encontramos una definición como (defun c:CCC ...), significa que el comando que progeCAD reconoce es CCC. Lo mismo ocurre con RASANTE.
La idea, por tanto, es muy sencilla: tenemos dos archivos LISP, pero desde el punto de vista de progeCAD tenemos dos nuevos comandos llamados CCC y RASANTE.
2. Comprobar primero que funcionan
Antes de modificar el CUI conviene comprobar que las dos rutinas funcionan correctamente. De esta manera evitamos mezclar un posible problema del LISP con un problema de configuración del menú.
Para ello podemos cargar temporalmente cada archivo mediante el comando APPLOAD. Cargamos CCC.LSP y, una vez cargado, escribimos CCC en la línea de comandos. Si la rutina crea correctamente nuestras capas, sabemos que funciona y que el nombre del comando es correcto.
Hacemos lo mismo con RASANTE.LSP. Después de cargarlo escribimos RASANTE y comprobamos que la rutina realiza correctamente su función, es decir, que permite colocar la rasante de forma automática tomando como referencia el punto que indiquemos.
Este paso es importante porque nos permite comprobar que el problema no está en las propias rutinas. Si ambas funcionan escribiendo sus respectivos comandos en la línea de comandos, ya podemos pasar a integrarlas en la interfaz de progeCAD.
Yo cree una carpeta en c:/progeCAD donde coloco todas las lisp para facilitar que el programa las encuentre. Dicha ruta se la he especificado al programa en la ventana de configuración. Esto ya lo he explicado alguna vez pero si tienes problemas te lo puedo explicar personalmente.
3. Abrir el CUI
Para personalizar la interfaz de progeCAD utilizaremos el editor CUI, que podemos abrir escribiendo CUI directamente en la línea de comandos y pulsando Enter.
El CUI permite modificar diferentes elementos de la interfaz del programa. Podemos personalizar menús, barras de herramientas, comandos y otros elementos de la configuración de usuario.

En nuestro caso no necesitamos modificar toda la interfaz. Simplemente vamos a utilizar el CUI para crear dos comandos personalizados y posteriormente colocarlos dentro de un menú que podamos identificar fácilmente como nuestro conjunto de herramientas de arquitectura.
4. Crear el comando CCC
Dentro del CUI debemos localizar la lista de comandos y crear un nuevo comando. Podemos llamarlo CCC – Crear capas, de manera que el nombre que aparezca en nuestra interfaz sea suficientemente descriptivo y no tengamos que recordar únicamente qué significa la abreviatura CCC.
En la descripción podemos indicar, por ejemplo, que se trata de una herramienta para crear y configurar las capas normalizadas de nuestra plantilla de arquitectura.
El elemento más importante es la macro asociada al comando. En este caso escribiremos:
^C^C_CCC
La parte CCC es el nombre del comando que queremos ejecutar. Los caracteres ^C^C sirven para cancelar cualquier comando que estuviera activo antes de ejecutar nuestra rutina.

Por tanto, cuando seleccionemos este elemento desde nuestro futuro menú, progeCAD cancelará el comando que estuviera activo y ejecutará directamente CCC.



5. Crear el comando RASANTE
A continuación creamos un segundo comando siguiendo exactamente el mismo procedimiento. En este caso podemos llamarlo RASANTE – Colocar rasante, de forma que el nombre nos indique claramente qué hace la herramienta.
La macro será:
^C^C_RASANTE
De nuevo, RASANTE es el nombre del comando definido dentro de nuestro archivo LISP. Cuando seleccionemos esta opción desde el menú, progeCAD ejecutará directamente nuestra rutina.
En este punto ya tenemos creados en el CUI nuestros dos comandos personalizados: uno para crear las capas mediante CCC y otro para colocar las rasantes mediante RASANTE.
6. Crear nuestro menú
Una vez creados los dos comandos, podemos crear un menú específico para nuestras herramientas. Podemos llamarlo HERRAMIENTAS ARQUITECTURA, aunque el nombre puede ser el que mejor encaje con nuestra forma de trabajar.
Dentro del menú añadimos los dos comandos que acabamos de crear. El resultado será algo parecido a:
HERRAMIENTAS ARQUITECTURA
CCC – Crear capas
RASANTE – Colocar rasante
Aunque inicialmente solo tengamos dos rutinas, no debemos preocuparnos por que el menú parezca demasiado pequeño. Precisamente estamos creando una estructura que podremos ampliar a medida que desarrollemos nuevas herramientas.
Más adelante podremos añadir rutinas para revisar capas, limpiar dibujos, generar cuadros, automatizar mediciones o resolver cualquier otra tarea repetitiva que vayamos incorporando a nuestro sistema de trabajo.
7. El resultado
Después de aplicar la personalización podremos acceder a nuestras rutinas desde el menú de progeCAD. Al seleccionar HERRAMIENTAS ARQUITECTURA → CCC – Crear capas, el programa ejecutará nuestra rutina CCC.
De la misma manera, al seleccionar HERRAMIENTAS ARQUITECTURA → RASANTE – Colocar rasante, se ejecutará la rutina RASANTE.
La diferencia puede parecer pequeña, pero en el trabajo diario resulta muy útil. Ya no necesitamos abrir APPLOAD, buscar un archivo LISP en una carpeta y recordar cómo se llamaba el comando que debíamos ejecutar. La herramienta está integrada en nuestro propio menú y podemos acceder a ella directamente.
8. El problema que debemos resolver: cargar las rutinas
Hay, sin embargo, una cuestión que debemos tener en cuenta. El CUI no incorpora dentro del menú el código de nuestros archivos LISP. Lo que hemos creado es simplemente una orden que le dice a progeCAD: «cuando el usuario pulse aquí, ejecuta CCC» o «ejecuta RASANTE».
Por tanto, las rutinas tienen que estar cargadas en progeCAD para que esos comandos existan. Si cerramos el programa, volvemos a abrirlo y los LISP no se cargan automáticamente, al pulsar nuestro menú podemos encontrarnos con un mensaje indicando que CCC o RASANTE no son comandos reconocidos.
Esto significa que tenemos que resolver una segunda parte de la configuración: conseguir que nuestras rutinas estén disponibles automáticamente cuando iniciamos progeCAD. La mejor solución es mantenerlas en una carpeta específica de nuestra biblioteca CAD y configurar su carga automática, en lugar de depender de tener que utilizar APPLOAD cada vez que abrimos un dibujo.
Espero que la información te haya sido útil. Cada semana iré ampliando la cantidad de artículos dedicados al CAD, incorporando ejemplos prácticos sobre los temas tratados. Aunque existen otros programas de CAD, en este blog daremos prioridad a ProgeCAD, sin que ello signifique que la mayoría de los comandos no sean compatibles con la mayoría de los programas de CAD del mercado. Y si te ha quedado alguna duda con el artículo puedes hacerme un comentario en el siguiente cuadro, que te la intentaré resolver.






Deja una respuesta