Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Autolisp PDF
Autolisp PDF
CONTENIDO
PREMBULO 5
OBJETIVOS 7
INTRODUCCIN 7
LISTAS: 9
TOMOS: 9
SET: 10
SETQ: 11
CREACIN DE PROGRAMAS 12
DEFUN : 14
A) CUANDO SE DEFINE EL NOMBRE DE UN PROGRAMA: 14
B) CUANDO DE DEFINE ALGUNA SUBRUTINA: 15
REPEAT: 15
WHILE: 16
Capacitacin Pgina 1
Laboratorio de cmputo de ingeniera Curso de AutoLISP
MANEJO DE MENSAJES 16
FUNCIONES EN AUTOLISP 18
FUNCIONES BASICAS 22
FUNCIONES ARITMTICAS 23
ABS : (ABS N) 23
EXP : (EXP N) 23
EXPT : (EXPT N P) 24
GCD : (GCD A B C) 24
LOG: (LOG N) 24
MAX : (MAX A B C ...) 24
MIN : (MIN A B C ...) 25
REM : (REM X Y) 25
SQRT: (SQRT X) 25
FUNCIONES TRIGONOMTRICAS 25
ATAN : (ATAN X) 25
COS : (COS X) 26
SIN : (SIN X) 26
Capacitacin Pgina 2
Laboratorio de cmputo de ingeniera Curso de AutoLISP
AND: 27
OR: 27
FUNCIONES DE CADENA 28
FUNCIONES DE CONVERSIN 29
OPEN 31
CLOSE (CLOSE ARCHIVO) 31
FINDFILE (FINDFILE ARCHIVO) 31
LOAD (LOAD"PROGRAMA.LSP") 32
READ (READ CADENA) 32
READ-LINE (READ-LINE ARCHIVO) 32
WRITE-LINE (WRITE-LINE ARCHIVO) 32
FUNCIONES DE DEPURACIN 33
Capacitacin Pgina 3
Laboratorio de cmputo de ingeniera Curso de AutoLISP
FUNCIONES VARIAS 33
TEXTSCR (TEXTSCR) 33
GRAPHSCR (GRAPHSCR) 33
VER (VER) 33
QUIT, EXIT 33
Capacitacin Pgina 4
Laboratorio de cmputo de ingeniera Curso de AutoLISP
CURSO DE AUTOLISP
PREMBULO
El presente desarrollo tiene como objetivo el conocer ampliamente la forma en que estn
interrelacionados los archivos del programa, directorios, mens, utileras e iconos; todo
esto para facilitar la familiarizacin del usuario con el paquete y poderle permitir detectar
errores y fallas, as como una gil localizacin de las mismas.
Algunos archivos importantes, son todos aquellos del formato ACAD*.*, ya que se trata
de archivos que cuentan con parmetros de funcionamiento propios del programa, se
pueden citar los siguientes:
Capacitacin Pgina 5
Laboratorio de cmputo de ingeniera Curso de AutoLISP
ACAD.DWG: Es el archivo en el que se encuentran las opciones que por default siempre
estn activadas al iniciar un dibujo nuevo, tales como la opcin de desactivar las marcas de
la pantalla con el comando BLIPMODE (OFF), para evitar llenar nuestra pantalla de
marcas (cruces) cada vez que se ejecute algn comando (EJ. Line)
ACAD.EXE: Archivo ejecutable con el que corre el programa, debiendo de ser invocado
por el ACADR12.BAT para dar de alta las configuraciones de rutas de bsqueda de
informacin.
ACAD.LIN: Archivo que contiene la informacin referente a los tipos de lnea manejados por
AUTOCAD.
ESTRUCTURA DE DIRECTORIOS
Capacitacin Pgina 6
Laboratorio de cmputo de ingeniera Curso de AutoLISP
REQUERIMIENTOS DE AUTOLISP
OBJETIVOS
Extender las posibilidades grficas del AUTOCAD para fines prcticos, como una
herramienta auxiliar en el diseo y solucin de problemas. Dar a conocer a los alumnos
los alcances y las limitaciones de la programacin en AUTOLISP.
Al trmino del presente curso, los alumnos sern capaces de disear aplicaciones
especificas de acuerdo a sus necesidades grficas y de dibujo en AUTOCAD.
INTRODUCCIN
Este lenguaje es utilizado para generar rutinas orientadas al uso especifico del
AUTOCAD. Permite desarrollar programas y funciones para el manejo de entidades de tipo
grfico.
Capacitacin Pgina 7
Laboratorio de cmputo de ingeniera Curso de AutoLISP
Como puede darse cuenta el usuario, dicho lenguaje de programacin es propio del programa
de CAD de AUTODESK (AUTOCAD), por lo que su uso se limita a implementar
aplicaciones especficas de acuerdo a las necesidades del usuario a un problema de
diseo o de dibujo determinado, valindose de todas la funciones y herramientas de
dibujo que proporciona el AUTOCAD, logrando obtener soluciones muy poderosas dentro
de este ambiente.
Para aquellos usuarios que estn muy familiarizados con la programacin en los
lenguajes BASIC y C, el AUTOLISP les resultara muy semejante y de gran simplicidad, ya
que su estructura, forma de validar variables, algoritmos y secuencias lgicas son muy
parecidas; con las distincin de que aqu por lo general se emplearan artificios para obtener
elementos de dibujo de AUTOCAD, tales como lneas, arcos, polilneas, elipses, etc.
Hay que tomar en cuenta que el nmero ms pequeo que se puede manejar dentro de
AUTOLISP es: -32768 y el ms grande: +32767, lo cual se debe de tener siempre presente
cuando se editen frmulas o se validen variables, ya que de existir un nmero fuera de ese
rango, se cerrara a los valores anteriormente mencionados.
En comparacin con otros lenguajes de programacin, en AUTOLISP no se nombran los
renglones de programa con algn nmero que los anteceda para registrarlos (P.ej: BASIC,
FORTRAN), sino que los programas se efectan de acuerdo al orden en que estn
invocadas sus subrutinas y a su vez, en el orden en que se escriben los renglones.
Antes de cualquier cosa, hay que tener en cuenta que AUTOLISP difiere entre el uso de
las maysculas y minsculas, siendo muy importante considerar esto cuando se definan
variables o nombres de subrutinas.
Por lo que se recomienda que siempre se escriban este tipo de datos con MAYSCULAS
para facilitar la programacin y evitar posibles confusiones en el uso de la notacin.
Capacitacin Pgina 8
Laboratorio de cmputo de ingeniera Curso de AutoLISP
LISTAS:
Son cadenas de elementos, entre parntesis, separados entre s por espacios. Dichos
elementos pueden ser variables de tipo numrico, alfanumrico, o validaciones de las mismas.
Ej. (A B C D E)
Es una lista que contiene 5 elementos, que son: A, B, C, D y E, separados cada uno de
ellos entre parntesis y todos ellos entre parntesis. Aqu dichos elementos pueden ser
variables.
TOMOS:
Son por lo general los elementos de las listas, y se identifican por que no existen espacios
entre sus caracteres.
Es una lista formada por dos tomos (ABC y DEF) de 3 caracteres cada uno.
Como se ver ms adelante, la instruccin SETQ nos permite guardar en una variable el
contenido de otra o de alguna serie de operaciones, y se vuelve indispensable su uso, cuando
se editan frmulas.
(SETQ Y (+ (* M X) B))
Capacitacin Pgina 9
Laboratorio de cmputo de ingeniera Curso de AutoLISP
Hay que notar, que para editar las frmulas, hay que hacer un uso muy extensivo y apropiado
de los parntesis para que la frmula exprese lo que necesitamos. En este caso, en el primer
juego de parntesis se hace el producto de M * X, en el segundo se suma el resultado del
primero al valor de la variable B, y posteriormente en la variable Y se almacena toda la
operacin completa.
Otro ejemplo, puede ser el hecho de que se requiera emplear la frmula para el clculo
de la pendiente de la recta, M = (Y2 - Y1) / (X2 - X1), la lnea de programacin en
AUTOLISP es la siguiente:
Las instrucciones fundamentales que nos permiten dar valores a las variables, son las
siguientes:
SET:
Es una instruccin que asigna el valor de una determinada expresin a un smbolo
determinado.
Capacitacin Pgina 10
Laboratorio de cmputo de ingeniera Curso de AutoLISP
Su sintaxis es la siguiente:
(SET A 5)
El inconveniente de emplear esta instruccin consiste en que slo se puede asignar valor a
una variable por cada comando, es decir, por cada lnea de programacin, siendo este
de tipo numrico exclusivamente (dato o frmula).
SETQ:
Funciona de manera semejante a SET, pero con la diferencia de que permite validar varias
variables al mismo tiempo, haciendo esto a la manera de una LISTA, pudiendo guardar
textos en las variables. Su sintaxis es la siguiente:
Ej. Si se quisiera guardar el texto: "SALLE" en la variable "B", y el nmero "5" en la variable
"A", empleando una sola lnea, dicha lnea de nuestro programa seria la siguiente:
(SETQ A 5 B "SALLE")
Aqui se tienen 4 tomos en una lista, donde con el comando SETQ realizamos la
validacin de las variables de inters por parejas, as que es importante considerar el orden
que se emplea en escribir dicha informacin.
Anlogamente, si quisiramos validar en una misma lnea: A=1, B=2, C=3, nuestra lnea de
programacin sera:
(SETQ A 1 B 2 C 3)
Capacitacin Pgina 11
Laboratorio de cmputo de ingeniera Curso de AutoLISP
CREACIN DE PROGRAMAS
El archivo del programa se deber hacer en algn procesador de textos o editor de sistema
operativo, salvndose en la modalidad de slo texto con extensin *.lsp, un ejemplo puede
ser el siguiente.
; UNIVERSIDAD LA SALLE
; PROGRAMA HECHO POR .....
(DEFUN C:NOMBRE()
(ALGORITMOS O SECUENCIAS)
...
...
)
En donde "NOMBRE" es el nombre con el cual deseamos que sea reconocido nuestro
programa como un comando adicional del AUTOCAD, algoritmos y secuencias son
procedimientos de programacin que se requieran para inicializar una serie previa de
instrucciones (tales como dar valores a variables, definir lmites del dibujo, nmero de
vistas, factores de textos o lneas, subrutinas, etc.)
Los ";" empleados, nos ayudan a escribir notas o mensajes dentro de nuestro programa, que
son ignorados al momento de ejecutar la aplicacin. Esto con la finalidad de colocar
comentarios tales como el nombre del autor, descripcin del programa o sus rutinas, etc.
Ntese la sintaxis requerida, cada lnea de programa debe de llevar un parntesis al inicio y
otro al final, de manera semejante el parntesis que indica el inicio de la rutina principal
que contiene al nombre del programa, es cerrado al concluir este .
Hay que considerar que cada subrutina que se emplee ms adelante requerir a su vez de
un parntesis a su inicio, y otro a su terminacin, al igual que lneas de programa que
contengan frmulas.
Una vez hecho lo anterior, desde la lnea de comandos de AUTOCAD, se llama al programa
de AUTOLISP de la siguiente forma:
(LOAD"NOMBRE.LSP")
Y una vez que fue cargado, aparece en pantalla el nombre con el cual AUTOCAD lo
reconoce, siendo ste el previamente definido por la funcin DEFUN C: NOMBRE
Capacitacin Pgina 12
Laboratorio de cmputo de ingeniera Curso de AutoLISP
Las subrutinas son partes de nuestro programa que nos permiten distribuir eficientemente
los pasos o tareas que los forman, por ejemplo se pueden destinar subrutinas para definir
valores fijos de variables, otras para pedir informacin al usuario, otras para hacer clculos y
otras para trazar entidades de dibujo.
La sintaxis es muy semejante a la de la rutina principal, ya que aqu no se especificar la
definicin de un nombre de programa. Un ejemplo puede ser una subrutina que trace una
lnea a 2 puntos con coordenadas conocidas como 2,3 y 5,6:
(LINEA1()
(COMMAND "LINE" "2,3" "5,6" C)
)
Es importante sealar, que entre los parntesis que estn despus del nombre de la subrutina,
se pueden escribir las validaciones de las variables que estn interactivas entre el programa
principal y las subrutinas, requiriendo una estricta sintaxis y orden en el listado de las
mismas para lograr una ejecucin eficiente del programa. Otra opcin ms fcil es dejar
vaco ese espacio para que AUTOLISP reconozca automticamente este tipo de variables,
tal y como se hizo anteriormente.
Capacitacin Pgina 13
Laboratorio de cmputo de ingeniera Curso de AutoLISP
DEFUN:
Es la instruccin empleada en la validacin de programas y sus respectivas subrutinas, es
decir, le indica a AUTOLISP el nombre con el que se llama desde AUTOCAD un
programa de LISP y los nombres de sus rutinas.
(DEFUN C:NOMBRE()
:
)
Las instrucciones que definen lo que hace nuestro programa de AUTOLISP, se incluyen
donde se colocaron los puntos suspensivos y termina o se cierra el parntesis que se abre
desde el DEFUN, pudindose llamar alguna subrutina, P.ej:
(DEFUN C:NOMBRE()
(INICIO)
:
)
En ste ltimo ejemplo, nuestro programa se llama NOMBRE, y lo primero que hace al
ejecutarse, es ir a la subrutina INICIO y ejecutar las instrucciones ah contenidas,
posteriormente regresar a esta rutina (PROGRAMA PRINCIPAL) y ejecutar las
instrucciones siguientes hasta concluirlas todas.
Capacitacin Pgina 14
Laboratorio de cmputo de ingeniera Curso de AutoLISP
Ejemplos:
(DEFUN INICIO()
:
)
REPEAT:
Instruccin que permite ejecutar un proceso o subrutina un determinado nmero de
veces, ejemplo:
(SETQ A 10)
(SETQ B 100)
(SETQ X 4)
(REPEAT X
(SETQ A (+ A 10))
(SETQ B (+ B 100))
)
En este ejemplo, se validan primero las variables A y B con 10 y 100 respectivamente, luego
se ejecuta cuatro veces el proceso de incrementar A en 10 y B en 100, de tal forma que
cuando termine el ciclo definido por el REPEAT, A valdr 50 y B valdr 500.
Capacitacin Pgina 15
Laboratorio de cmputo de ingeniera Curso de AutoLISP
WHILE:
Funciona en forma semejante al REPEAT, pero efecta algn ciclo slo mientras se cumpla
algn tipo de condicionamiento, P.ej:
(SETQ A 1)
(WHILE (<= A 10)
:
(SETQ A (+ 1 A))
En este ejemplo, el ciclo definido por los puntos suspensivos, se ejecuta siempre y cuando
la variable A sea menor o igual a 10, por lo que es indispensable colocar dentro del proceso
repetitivo a un contador, o a algn otro tipo de validacin para la variable A, para que sta
cambie y la rutina no se efecte en forma indefinida.
MANEJO DE MENSAJES
Dentro de AUTOLISP es posible mandar mensajes para ser ledos por el usuario de nuestros
programas, habiendo varias formas de hacerlo:
Un ejemplo puede ser el siguiente: Donde nuestro archivo de slo texto se llama L0.LSP
; CURSO DE AUTOLISP
;
; ESTE PROGRAMA DIBUJA UNA LINEA DE LOS PUNTOS 2,3 A 5,6 Y
; DESPLIEGA UN MENSAJE DE AVISO CUANDO TERMINA.
(DEFUN C:L0()
(COMMAND "LINE" "2,3" "5,6" C)
(ALERT "Fin del trazo de la lnea")
)
En este ejemplo, tenemos unas lneas al inicio de nuestro programa con comentarios que
sern ignorados por AUTOCAD al momento de ejecutar nuestro programa.
Capacitacin Pgina 16
Laboratorio de cmputo de ingeniera Curso de AutoLISP
; CURSO DE AUTOLISP
;
; ESTE PROGRAMA DIBUJA UNA LINEA DE LOS PUNTOS 2,3 A 5,6 Y
; DESPLIEGA UN MENSAJE DE AVISO CUANDO INICIA Y CUANDO
TERMINA.
(DEFUN C:L0()
(PROMPT "\n DIBUJO DE 1 LINEA" )
(COMMAND "LINE" "2,3" "5,6" C)
(ALERT "Fin del trazo de la lnea")
(PROMPT "\n FIN DEL PROGRAMA" )
)
Capacitacin Pgina 17
Laboratorio de cmputo de ingeniera Curso de AutoLISP
FUNCIONES EN AUTOLISP
Son instrucciones que nos permiten pedir informacin para poderla almacenar
posteriormente en alguna variable. Dicha validacin se har siempre empleando la instruccin
SETQ vista anteriormente, donde se escribe en nuestra lnea de programa primero SETQ y
el nombre de la variable deseada, luego la debida instruccin de entrada de datos con algn
comentario entre comillas, que es el que aparecer como mensaje en la lnea de comandos
de AUTOCAD.
La importancia de todas estas instrucciones consiste en que son la manera en que se puede
introducir informacin por el usuario una vez que se esta ejecutando algn programa de
AUTOLISP, para ser almacenada en alguna variable. De acuerdo al tipo de informacin
que se necesite, es la instruccin que se emplear, pudiendo ser alguna de las siguientes:
Capacitacin Pgina 18
Laboratorio de cmputo de ingeniera Curso de AutoLISP
Aqu lo que se est haciendo es que la computadora solicite al usuario dos puntos o
coordenadas, mediante la aparicin de un texto en pantalla, que es el que se encuentra
entre comillas, posteriormente calcula la distancia entre ellos y lo almacena en la variable X.
Para efectos de comentarios o textos en combinacin con este comando, se acostumbra usar
el comando PROMPT para enviar textos hacia la lnea de comandos de AUTOCAD.
Capacitacin Pgina 19
Laboratorio de cmputo de ingeniera Curso de AutoLISP
En este ejemplo, en la variable F se est almacenando el valor que en ese momento tenga la
variable PDMODE del SETVAR de AUTOCAD. Hay que recordar que dentro del
SETVAR, PDMODE define el estilo (tipo) de simbologas para dibujar puntos en alguna
coordenada.
Si PDMODE en ese instante tena como valor 34 (correspondiente a un punto formado por
un crculo, una lnea vertical y otra horizontal), entonces F tomar el valor de 34. Para la
utilizacin de GETVAR, resulta indispensable el conocimiento completo de todas las
variables que maneja AUTOCAD dentro del SETVAR, as como sus aplicaciones para fines
de dibujo.
EN GENERAL:
Cuando se especifique un tipo de dato a almacenar en una variable y el usuario proporcione
otro, AUTOLISP mandar un mensaje de error con el que le avisa al usuario.
Un caso comn es el querer almacenar un texto en una variable empleando GETREAL,
querer almacenar un nmero fraccional empleando GETINT, etc.
Capacitacin Pgina 20
Laboratorio de cmputo de ingeniera Curso de AutoLISP
FUNCIONES MATEMTICAS
Hay que notar que para cada una de las 4 funciones anteriores se pueden usar mas de 2
nmeros dentro de los parntesis, para realizar la operacin deseada, algunos ejemplos son:
(- 50 40 2.5) Lo cual nos da la siguiente operacin: (50 - 40) - 2.5, resultando 7.5 como valor
devuelto por AUTOLISP.
(/ 100 20 2) Da como resultado 2, ya que siendo enteros todos los nmeros, AUTOLISP a
su vez devuelve un resultado entero.
Para obtener el resultado deseado de 2.5, la lnea de programa sera: (/ 100.0 20.0 2.0),
hay que tomar en cuenta esto para las dems funciones.
En caso de que slo se escriba un slo nmero, lo devolver como resultado para cualquiera
de estas funciones,
AUTOLISP tambin maneja el nmero 3.141592654, reconocindolo como pi, de tal forma
que se puede usar como constante dentro de AUTOLISP.
Capacitacin Pgina 21
Laboratorio de cmputo de ingeniera Curso de AutoLISP
FUNCIONES BSICAS
CAR:
Es una instruccin que sirve para analizar el primer valor de una lista, es decir, siempre nos
devuelve este valor.
En este caso, cuando se ejecuten dentro de algn programa estas 2 lneas, primero se
almacena en la variable P una lista de 3 valores que representa las coordenadas de un
punto, posteriormente en la variable X se guardar el valor de la coordenada X de ese punto.
CDR:
Funciona igual que CAR, pero con la diferencia que esta instruccin nos devuelve todos los
valores de una lista, exceptuando al primero.
LAST:
Esta instruccin nos devuelve el ltimo valor de una lista. En nuestro ejemplo anterior, si
escribimos una lnea de programa as:
(SETQ Z (LAST P))
LENGTH :
Es una instruccin que nos ayuda a conocer la extensin de una lista de datos, es decir, el
nmero de datos que contiene dicha lista.
Capacitacin Pgina 22
Laboratorio de cmputo de ingeniera Curso de AutoLISP
FUNCIONES ARITMTICAS
Estas funciones se complementan con las anteriormente descritas, tales como la suma,
resta, multiplicacin y divisin. Para utilizarse hay que seguir los criterios de uso de
parntesis como en cualquier otro lenguaje de programacin en el que se usen funciones de
este tipo.
Es importante sealar que para todas estas instrucciones en las que se emplean listas, dichas
listas deben ser por completo formadas por nmeros o variables con contenido numrico, ya
que no es posible emplear variables con contenido alfanumrico para realizar este tipo de
operaciones. De manera semejante con aquellas que slo usan una variable. El usuario
comprende que por ejemplo, no es posible sumar dos variables: X + Y, si X = "PERRO" y
Y = "GATO", necesariamente tienen que ser nmeros reales.
No hay que olvidar, que al realizar alguna operacin o funcin de tipo matemtico, dicho
resultado se debe de almacenar en alguna otra variable, empleando SETQ.
ABS : (ABS n)
Funcin que como en otros lenguajes, muestra el valor absoluto de un nmero, por ejemplo:
En este ejemplo se est almacenando en X el nmero +21.365, puesto que el valor absoluto
siempre es positivo.
EXP : (EXP n)
Con esta instruccin se obtiene el nmero de Euler = 2.7182818 elevado a una potencia
"n" determinada, de tal forma que nos ayuda a obtener el antilogaritmo natural de un nmero.
Ejemplos: (EXP 1.0), nos devuelve el valor de 2.7182818
(EXP -0.4), nos devuelve el valor de 0.67032
Capacitacin Pgina 23
Laboratorio de cmputo de ingeniera Curso de AutoLISP
EXPT : (EXPT n p)
Esta instruccin puede elevar un nmero "n" a una potencia "p",
Ejemplos: (SETQ X (EXPT 3 2)) Se almacena en X el valor de 3*3 = 9
GCD : (GCD a b c)
Es una instruccin que busca entre varios nmeros (a, b, c,..,N) su mximo comn
denominador,
Ejemplos:
(GCD 12 20)
Nos devuelve el mximo comn denominador de los nmeros almacenados en las variables
X, Y Z.
LOG: (LOG n)
Es una funcin que nos sirve para calcular el logaritmo natural de un nmero real, es decir,
usando al nmero de Euler como base, ejemplos:
(LOG 4.5) Nos devuelve:1.50408
Hay que tener cuidado de no usar nmeros negativos para el clculo de logaritmos, ya sea
cuando se usan variables o simplemente los nmeros en las instrucciones de programa, por
que como ya todos sabemos, no es posible calcular logaritmos de nmeros negativos y la
computadora nos manda algn mensaje de error.
Capacitacin Pgina 24
Laboratorio de cmputo de ingeniera Curso de AutoLISP
REM: (REM X Y)
Esta funcin sirve para obtener el residuo de dos nmeros, de tal forma que nos devuelve
el resto de la divisin de X entre Y.
SQRT: (SQRT X)
Funcin que calcula la raz cuadrada positiva de un nmero real POSITIVO, ya que en el
AUTOLISP, no se usan los nmeros de tipo complejo.
Como ya es sabido, la raz cuadrada de 4 puede ser +2 y adems -2, ya que al elevarlos al
cuadrado, ambas opciones nos dan 4. En AUTOLISP, la computadora siempre nos da el
valor positivo de una raz cuadrada.
FUNCIONES TRIGONOMTRICAS
Hay que considerar, que siempre que se utilicen estas funciones, la computadora realiza los
clculos en radianes, si se desea obtener o proporcionar a AUTOLISP un valor en grados,
hay que hacer las conversiones necesarias, considerando que 2PIradianes = 360 grados.
ATAN: (ATAN X)
Nos devuelve en radianes el valor del arco cuya tangente es un nmero, es decir: calcula
en radianes el valor del ngulo cuya tangente es el valor que estamos dando,
Capacitacin Pgina 25
Laboratorio de cmputo de ingeniera Curso de AutoLISP
COS: (COS X)
Calcula el coseno de un nmero en radianes, su sintaxis es igual a la de ATAN.
Ejemplo: (SETQ X (COS pi)) Almacena en "X" el nmero -1.0, que es el coseno en
radianes de 3.141592654...
SIN: (SIN X)
Calcula la funcin seno de un nmero
AUTOLISP no cuenta con una instruccin para calcular la funcin TANGENTE, pero es
posible calcularla mediante la siguiente identidad trigonomtrica:
El usuario puede programar una pequea rutina que calcule la TANGENTE de cualquier
nmero en radianes.
Por lo general se emplean en combinacin con funciones lgicas de tipo IF... THEN, en
donde si se cumple la condicin se ejecuta lo incluido dentro del siguiente par de parntesis,
de lo contrario se ejecuta lo incluido en la segunda pareja de parntesis.
(IF (CONDICIONES)
(VERDADERO)
(FALSO)
)
Ejemplo:
(= 4 4.00) La mquina devuelve "T" (true), siendo verdadero el algoritmo
(= 499 500 499) Nos devuelve "Nil", siendo falso el argumento.
Capacitacin Pgina 26
Laboratorio de cmputo de ingeniera Curso de AutoLISP
Donde LISTA1 y LISTA2 son variables que contienen varios elementos, es decir, una lista
Anlogamente, se sigue el mismo criterio de falso y verdadero como respuestas para los
siguientes:
(/= NUMERO1 NUMERO2) Para el caso en el que se quiera que sea verdadero cuando
2 nmeros son diferentes.
AND:
Compara 2 o ms expresiones, devolviendo verdadero solamente cuando todas las funciones
se cumplan.
(AND EXPRESION1 EXPRESION2...)
OR:
Compara 2 o ms expresiones, devolviendo verdadero cuando por lo menos alguna de las
funciones se cumpla.
Se pueden realizar combinaciones de estas 2 para atender a las necesidades del usuario,
algunos ejemplos son:
Capacitacin Pgina 27
Laboratorio de cmputo de ingeniera Curso de AutoLISP
En este ltimo ejemplo E tomar el valor de 5 si se cumple alguna de las 2 condiciones de que
forzosamente A sea igual a B o que C sea igual a D.
Hay que notar la forma en que se realizan los arreglos de parejas de parntesis, para evitar en
lo posible errores de sintaxis que sean laboriosos de localizar en algoritmos ms complejos.
FUNCIONES DE CADENA
Capacitacin Pgina 28
Laboratorio de cmputo de ingeniera Curso de AutoLISP
FUNCIONES DE CONVERSIN
Capacitacin Pgina 29
Laboratorio de cmputo de ingeniera Curso de AutoLISP
ITOA
Trabaja en forma contraria a ATOI, este comando convierte un nmero entero, en un texto
(cadena).
Capacitacin Pgina 30
Laboratorio de cmputo de ingeniera Curso de AutoLISP
OPEN
Permite abrir un archivo de slo texto, en las siguientes variantes:
En un modo que nos permite escribir en un archivo sin eliminar su contenido actual y
sin sobrescribirlo por completo, es decir: agregndolo al final del mismo.
Aqu la limitante es usar archivos de solo texto creados con COPY CON desde DOS, ya que
AUTOLISP no reconocera las marcas CONTROL+Z al final de dichos archivos y tendra
algunos problemas.
Capacitacin Pgina 31
Laboratorio de cmputo de ingeniera Curso de AutoLISP
LOAD (LOAD"PROGRAMA.LSP")
Esta instruccin ya la habamos definido previamente, ya que es la que se usa para cargar en
memoria los programas hechos en AUTOLISP.
Aqu, se almacena en la variable TEXTO la primera lnea del archivo cuyo nombre est
almacenado en la variable ARCH. Si se ejecutara por segunda vez dentro de nuestro
programa, nos devolvera la segunda lnea y as sucesivamente hasta llegar al final del
archivo.
Escribir la palabra HOLA en el archivo de texto abierto previamente, cuyo nombre esta
almacenado en la variable ARCH.
Capacitacin Pgina 32
Laboratorio de cmputo de ingeniera Curso de AutoLISP
FUNCIONES DE DEPURACIN
FUNCIONES VARIAS
TEXTSCR (TEXTSCR)
Cambia al modo de texto de AUTOCAD, equivale a presionar F1 para cambiar del modo
grfico al modo de texto.
GRAPHSCR (GRAPHSCR)
Cambia al modo grfico de AUTOCAD, equivale a presionar F1 para cambiar del modo
de texto al modo grfico.
VER (VER)
Nos muestra la versin actual de AUTOLISP que se est empleando, si se est empleando
el AUTOCAD 13, AUTOLISP nos devuelve el sig.
QUIT, EXIT
Son dos funciones que se usan para detener nuestro programa en un determinado punto y
regresar a la lnea de comandos de AUTOCAD. Ambas hacen exactamente lo mismo:
Provocan un error que da por terminado un programa de AUTOLISP.
Capacitacin Pgina 33
Laboratorio de cmputo de ingeniera Curso de AutoLISP
Crditos
Directorio
Ing. Edmundo Barrera Monsivais
Director de la Esc. de Ingeniera
Ing. Ral Morales Farfn
Secretario de Talleres y Laboratorios
Ing. Luis M. Aguilln Banda
Jefe del Laboratorio de Cmputo de Ingeniera
Ing. Luis A. Torres Lpez
Jefe del rea Acadmica y
Coordinacin del rea de Prcticas
Realizacin:
Vctor Hugo Ortega Vega
Servicio Social (Ingeniera Electrnica )
Revisin
Liliana Vicenteo Loya
Asesor de la Coordinacin del rea de Prcticas
Lourdes Revilla Avendao
Colaboradora del rea de Prcticas
Diseo y Edicin:
Capacitacin Pgina 34