Você está na página 1de 10

FUNCION Y SINTAXIS

(DEFUN <simb> <lista argum> <expr>...)

3.3.1.1Principales Instrucciones de Autolisp

a) Crear y declarar variables


(SETQ <simb1><expr1>[<simb2><expr2...])

(ATOMS-FAMILY formato [lista_smbolos])


b) Instrucciones de Comandos de AutoCAD
(COMMAND <argumentos> <opciones...>)

Los puntos se pueden tambin especificar como una cadena de


texto, con las coordenadas separadas por comas (ejemplo,
"50,50").

(QUOTE expresin) o tambin: (expresin)

c) Captura de puntos
(GETPOINT [punto_base] [mensaje])
(GETCORNER punto_base [mensaje])
d) Captura de datos numricos
(GETINT [mensaje])

(GETREAL [mensaje])
e) Distancias y ngulos
(GETDIST [punto_base] [mensaje])

(GETANGLE [punto_base] [mensaje])

(GETORIENT [punto_base] [mensaje])


f) Cadenas de texto
(GETSTRING [ T ] [mensaje])
g) Acceso a variables de estado de AutoCAD

(GETVAR nombre_variable)

(SETVAR nombre_variable valor)

h) Manejo bsico de listas


(CAR lista)

ACCION

se utiliza precisamente para definir funciones o programas de AutoLISP

Da el valor de la expresin <expr1> a la variable que es <simb1>, el de <expr2> a <simb2>, y as sucesiv


las variables no estn previamente definidas, las crea.

Muestra una lista con todos los smbolos definidos actualmente

permite llamar a comandos de AutoCAD desde AutoLISP, entre comillas dobles ("")

Si se especifica como argumento de COMMAND el smbolo predefinido "pause", la orden se interrumpe hasta que s
introduzca los datos que se requieran, pudiendo hacerlo de forma dinmica mediante "arrastre". Durante se introdu
datos (puede ser un valor, una opcin, un punto, etc.) contina la ejecucin de COMMAND desde AutoLISP.

Evita que se evalen los smbolos y los toma como literales

solicita un punto al usuario


solicitar y aceptar un punto
solicita y acepta un nmero entero

Solicita y acepta numeros enteros y reales

Introducida la distancia por teclado o directo indicando dos puntos en pantalla

Pide que el usuario introduzca un ngulo

Pide que el usuario introduzca un ngulo

acepta una cadena de caracteres introducida por teclado


Extraemos o capturamos el valor actual de cualquier variable de sistema

asignar valor a nombre_variable

EJEMPLO
(DEFUN S::STARTUP ()
--(COMMAND "_purge" "_all" "" "_n")

(SETQ x 5 y "Hola" z ' (a b) w 25.3)


25.3
COMMAND:

!x
!y
!z
!w
necesita un parmetro o argumento obligatorio llamado formato

(COMMAND "lnea" ' (50 50) pt2 2 2)


(SETQ pT2 (getpoint '(50 50) "Segundo punto: "))
"lnea" ' (50 50) pt2 "")

(COMMAND

(COMMAND "circulo" "50,50" "10" "lnea" "50,50" pause "")

(QUOTE (SETQ x 22.5)) devuelve (SETQ x 22.5)


(QUOTE hola)
(QUOTE (+ 3 3 3))

(SETQ pt1 (GETPOINT '(30 50) "Segundo punto: "))


(SETQ pt2 (GETPOINT ' (30 50) "segundo punto: "))

(GETCORNER (50 50))


(Getint "Cual es tu edad? : ")

(Getreal "cual es tu edad?:)

(GETVAR "blipmode")
(GETVAR "aperture")
(GETVAR "blipmode")
(GETVAR "dimtad")
(GETVAR "modemacro")
(SETVAR "filletrad" 2)
(SETVAR "proxygraphics" 0)
(SETVAR "attdia" 1)

DEVUELVE

Devuelve el valor atribuido a la ltima variable


25.3
5
"Hola"
(a b)
25.3
los smbolos se devuelven en una lista, separado cada nombre de otro por
un espacio en blanco

Cada argumento es evaluado y enviado a AutoCad como respuesta a


sus mensajes o preguntas

Las rdenes que leen directamente informacin del teclado TEXTO-DIN y


BOCETO, no se pueden usar con la funcin COMMAND. evitar rdenes
que abandonan el control del Editor de Dibujo SALTRAZ, o SCRIPT.

El literal de la expresin indicada, sin evaluar


devuelve HOLA
devuelve (+ 3 3 3)
Las coordenadas de dicho punto en forma de lista de tres valores
reales (X, Y y Z).
Se necesita obligado que se indique un punto base para el
rectngulo (el argumento es obligatorio)

devuelve un numero real

devuelve la distancia (siempre un nmero real)

devuelve el valor del angulo introducido, siempre ser un nmero


real en radianes

devuelve los ngulos con el origen 0 grados siempre en la posicin


positiva del eje X del SCP actual y el sentido positivo antihorario

devuelve dicha cadena, en forma de cadena (entre comillas)


Si la variable indicada no existe, devuelve nil.

devolver valor como respuesta

OBSERVACIONES

no utilizar con SETQ smbolos de variables que coincidan con nombre de comandos de AutoLISP

formato slo puede tomar dos valores: 0 1. Si es 0 los smbolos se devuelven en una
lista, separados por un espacio en blanco. Si es 1, los smbolos se devuelven entre
comillas

Los nombres de rdenes y de opciones se envan como listas de dos o tres nmeros reales; si se
especifican hay que hacerlo precedidos de QUOTE; introducir la cadena vaca"" provoca un
RETURN
Comandos tipo "GET...", como GETPOINT no se pueden utilizar directamente como argumentos de
COMMAND
Si se da una orden transparente en la interrupcin de "pause" (como 'ZOOM o 'ENCUADRE), la
funcin COMMAND permanece temporalmente suspendida. Esto permite efectuar los zoom o
encuadres que desee antes de reanudar la funcin COMMAND introduciendo los datos.

Se puede utilizar con cualquier expresin de AutoLISP


Al introducir un literal de expresin la haremos con el apstrofo, ya que con QUOTE no funcionar
slo tendr validez cuando se utilice solo, sin ms funciones

Esta funcin aguarda a que se introduzca un punto, bien sea por teclado o sealando en
pantalla

La diferencia es la forma de visualizar dinmicamente el arrastre, es un rectngulo elstico


El valor del nmero debe estar entre 32768 y 32767

si se da un carcter no numrico se produce un error de AutoLISP

mensaje funciona igual. y punto_base incluye un punto a partir del que se visualiza una
lnea elstica hasta introducir un segundo punto para la distancia.
El ngulo puede introducirse por teclado o mediante dos puntos en pantalla con el cursor,
se utiliza para medir angulos relativos
independiente de los valores de las variables ANGBASE y ANGDIR. Se utiliza sobre todo
para medir ngulos absolutos.

El nombre de la variable debe ir entre comillas, y el valor asignado debe ser coherente con
la informacin que guarda la variable. Si no es as, AutoLISP devuelve el error AutoCAD
rejected function
Si no existe la variable se devuelve el mismo error que si se le introduce un valor errneo.

Você também pode gostar