Descargar

Macros de botón en AutoCAD versión 2009


Partes: 1, 2

    1. Sobre creación de macros de botón por la interfaz _cui
    2. Consideraciones generales para elaborar una cadena macro de botón
    3. La interfaz de personalización de AutoCAD, comando _cui
    4. Análisis de macros de botón

    Sobre creación de macros de botón por la interfaz _cui

    Una macro de botón es una cadena de caracteres y de argumentos, definida especialmente para el modo de actuar de un determinado botón de AutoCAD.

    Crear nuevos botones con sus cadenas-macros asociadas es otro modo de personalizar AutoCAD. Aqui vale lo dicho anteriormente sobre lenguaje DIESEL en modemacro, y se agregan nuevos elementos del lenguaje de macros, y del lenguaje AutoLISP particulares para crear botones.

    Componentes posibles en la cadena-macro:

    • 1. Caracteres especiales de control.

    • 2. Comandos de AutoCAD o comandos definidos en VisualLisp.

    • 3. Cadenas DIESEL.

    • 4. Listas o Programas en AutoLISP.

    *Una macro de botón puede tener la extensión que se desee, no tiene limitaciones en tal sentido, pero es conveniente elaborarla dentro de un

    procesador de texto plano como el Notepad de Windows en una sola línea,

    y luego copiarla dentro del editor de macros de la interfaz _cui de AutoCAD.

    Consideraciones generales para elaborar una cadena macro de botón

    1- Cancelar comando en ejecución antes de empezar cualquier otro comando:

    Salvo que se trate de un comando ejecutable de manera transparente, se necesita terminar cualquier comando para empezar otro, ello lleva a que la cadena macro deba empezar con ^C^C, lo que significa CANCELAR

    COMANDO + INICIAR COMANDO, aunque se puede iniciar un comando solo con ^C, pero de manera normal es ^C^C…..Si es un comando ejecutable en modo transparente solo hace falta anteponer un apóstrofo <" > al mismo, caso de "_.dist….

    Un comando en modo transparente puede ser invocado en medio de la ejecución de otro, caso de consultar una distancia dentro del comando _copy…….

    Una macro para ejecutar _dist de manera repetitiva, requiere el cierre de cada comando anterior para repetir el siguiente pero en este caso no se puede usar en modo transparente, la macro sería:

    *^C^C_.dist …….y se sale con ESCAPE.

    2 – Significancia de todos los caracteres en una cadena macro:

    Al escribir una cadena macro de botón debemos pensar que todo lo ingresado es interpretado literalmente por AutoCAD, desde el primer carácter hasta los espacios en blanco (Los que equivalen en el script a pulsar la barra de espacio en la ventana de comandos durante un comando cualquiera)…….Esto debe estudiarse detenidamente al ver cada carácter de control…..

    3 – Modo de terminar una cadena macro:

    Dependerá de lo que se requiere dejar en movimiento iniciado luego de pulsar ese botón de la interfaz….

    *Supongamos que tengo una rutina en Vlisp y quiero hacerle un botón particular, mi rutina se llama "escaclic", entonces la macro que necesito dice:

    ^C^C_escaclic

    Recordemos al analizarla que todos los caracteres de la macro tienen relevancia, hasta espacios en blanco, aún si al final tuviera un espacio de ese tipo…

    Comienza con ^C^C…escapa de todo comando activo y devuelve línea de comando…

    Luego "_" guión bajo para traducción a cualquier idioma…..

    Luego invoca al comando "escaclic"….

    Y allí termina sin nada más porque "escaclic" ya viene determinado con la rutina llamada.

    La macro anterior también pudo ser:

    ^C^Cescaclic

    O también:

    ^C^C_.escaclic

    *Lo mismo pasaría si hago una macro que me invoque un comando cualquiera

    y nada más:

    ^C^C_layer

    *Si necesito crear un botón donde se producen pasos internos y solicitudes de comando, ya requiero preveer distintos casos posibles de terminación para la cadena:

    • Terminar con ENTER con punto y coma ";" :

    Es el caso más frecuente, es terminar una macro ingresando todas las opciones de comando y datos hasta terminar en ENTER, ejemplo de aplicación de comando _line con dos pausas para ingresar dos puntos y finaliza el comando con INTRO:

    Partes: 1, 2
    Página siguiente