Uso de AutoLISP en las macros (Concepto)

AutoCAD

 
Uso de AutoLISP en las macros
Concepto Referencia rápida
 
 
 

Crear comandos que utilicen AutoLISP es una forma más avanzada de utilizar la función de personalización de AutoCAD.

Puede utilizar las variables y expresiones AutoLISP para crear macros que realicen tareas complejas. Para usar AutoLISP de un modo eficaz con las macros, incluya el código AutoLISP en un archivo MNL distinto. AutoCAD carga el archivo MNL al cargar un archivo CUI con el mismo nombre y en la misma ubicación.

Puede especificar archivos de AutoLISP adicionales para cargarlos en el editor Personalizar interfaz de usuario. Crear comandos que utilicen AutoLISP es una forma más avanzada de utilizar la función de personalización de AutoCAD. Examine con atención los siguientes ejemplos y la información de AutoLISP Reference y AutoLISP Developer's Guide. Para acceder a los recursos de la ayuda adicionales, haga clic en el menú ?Recursos adicionalesAyuda del desarrollador.Con un poco de experimentación y de práctica podrá utilizar esta función con eficacia.

Ejecución de una macro

Para ejecutar de forma programada una macro de menú desplegable, utilice la sintaxis siguiente:

(menucmd "Ggrupo_menús.ID_elemento=|")

La sintaxis anterior sólo funciona si la macro del menú es parte de un menú que se encuentre en la barra de menús de AutoCAD y esté disponible para su uso. Para obtener más información acerca de esta sintaxis, véase AutoLISP Reference.

Valores predefinidos

Una aplicación que utiliza preajustes de inserción de bloque podría proporcionar comandos como estos: [Set WINWID][Set WALLTHK][Insert Window]

^C^C^P(setq WINWID (getreal "Introduzca la anchura de la ventana: ")) ^P
^C^C^P(setq WALLTHK (getreal "Introduzca el grosor del muro: ")) ^P
^C^C_INSERT window XScale !WINWID YScale !WALLTHK

Este código inserta el bloque denominado “ventana”, y define la escala del eje X con la anchura actual de la ventana y la del eje Y con el grosor actual de la pared. En este ejemplo, los valores reales proceden de los símbolos AutoLISP WINWID y WALLTHK definidos por el usuario. El usuario decide cuál va a ser la rotación, de forma que la ventana pueda girar en la pared.

Ajuste de tamaño de los pinzamientos

Con los siguientes comandos, el ajuste de tamaño de los pinzamientos se puede realizar directamente:

^P(setvar "tamañopinzamiento"(1+ (getvar "tamañopinzamiento")))(redraw)(princ)
^P(setvar "tamañopinzamiento"(1- (getvar "tamañopinzamiento")))(redraw)(princ)

Para que la comprobación de estos comandos sea válida, no se pueden utilizar para la variable de sistema GRIPSIZE valores menores que 0 y mayores que 255.

Solicitud de entradas de usuario

El siguiente elemento solicita especificar dos puntos y dibuja una polilínea rectangular con los puntos especificados como esquinas.

^P(setq a (getpoint "Introduzca la primera esquina: "));\+
(setq b (getpoint "Introduzca la esquina opuesta: "));\+ 
pline !a (list (car a)(cadr b)) !b (list (car b)(cadr a)) c;^P