Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. (defun c:cr()
5. (princ)
6. )
Ahora guarda este archivo como “círculo.lsp”, luego en AutoCAD usa el comando
“appload” para ubicar este archivo, cargar este código y almacenarlo en su
memoria.
Observarás que este nuevo comando te solicita primero los datos necesarios
antes de dibujar el círculo, analizaremos juntos el código de este comando:
https://www.devcadlisp.com/autolispdev/aprende-a-programar-en-autolisp-post-5-escritura-de-funciones-con-variables/ 1/4
5/7/22, 10:53 Aprende a programar en AutoLisp Post #5: Escritura de funciones con variables | DevCADLisp
1. (defun c:cr()
La función “defun”, permite definir una nueva función de usuario, puede definir
una función para ser llamada mediante un nombre de comando desde AutoCAD
(como este caso) sólo agregando el prefijo “c:” antes del nombre de la función o
solo como bloque de código que puede ser llamado desde otra función.
Ok, se que necesitas mas explicación y aquí va, la función getpoint está
solicitando al usuario que indique un punto, este punto indicado en pantalla
obtiene coordenadas, que pueden ser cualquiera, ahí termina el trabajo de
getpoint, ahora, para que esas coordenadas obtenidas no queden flotando, las
almacenaremos en una variable, para ello le daremos ese trabajo a la
función setq que sirve para almacenar valores a variables, en este caso las
coordenadas obtenidas se almacenan en la variable PC.
A esta altura, te das cuenta que ya tenemos los dos valores que necesita el
comando “circle” para dibujar un círculo, así que vamos a dibujarlo con
AutoLisp con la función command.
https://www.devcadlisp.com/autolispdev/aprende-a-programar-en-autolisp-post-5-escritura-de-funciones-con-variables/ 2/4
5/7/22, 10:53 Aprende a programar en AutoLisp Post #5: Escritura de funciones con variables | DevCADLisp
* Agregamos el “_” antes del nombre del comando para que éste sea aceptado para
cualquier idioma de AutoCAD, porque si solo invocas al comando “circle” en AutoCAD
en español sin el “-” no lo reconocerá debido a que el comando en AutoCAD en
español es “circulo”.
Eso es todo, con ese código se dibujará el círculo, pero, un momento ¿y la línea
siguiente de código?, bien, la quinta línea que es esta:
5. (princ)
PRÁCTICA:
1. Rutina 1:
1. (defun c:no()
2. (setq pno (getpoint "\Indica el punto del nuevo origen del UCS: "))
4. (princ)
5. )
2. Rutina 2:
1. (defun c:texto()
6. (princ)
7. )
https://www.devcadlisp.com/autolispdev/aprende-a-programar-en-autolisp-post-5-escritura-de-funciones-con-variables/ 3/4
5/7/22, 10:53 Aprende a programar en AutoLisp Post #5: Escritura de funciones con variables | DevCADLisp
¿Qué te pareció esta práctica?, ¿me podrías indicar mediante tu comentario que
hace aquí cada comando (el comando “no” y el otro comando “texto”)?
1. defun
2. setq
3. getpoint
4. getreal
5. getstring
6. command
7. princ
https://www.devcadlisp.com/autolispdev/aprende-a-programar-en-autolisp-post-5-escritura-de-funciones-con-variables/ 4/4