Ayuda con una rutina!

Me gustaría saber como puedo aplicar el numero obtenido con getreal para ue me dibuje una linea en por o en y del numero obtenido en la variable que pide getreal.
Gracias.
¿Cómo puedo aprender autolispy dcl?
¿Qué me aconsejas?
Respuesta
1
Para leer un dato de Getreal se hace de la siguiente forma (ejemplo):
(Defun c:greal ()
(Setvar "cmdecho" 0)
(Setq dist (getreal "\nIngrese distancia: "))
(Setq pti (getpoint "\nIngrese punto de inicio de linea recta: "))
(Setq ang 0)
(Setq ptf (polar pti ang dist))
(command "_line" pti ptf "")
(Setvar "cmdecho" 1)(prin1)
)
Explicación:
Linea 1, con c:greal se define el nuevo comando que ejecutara la rutina.
Linea 2, GETREAL, getreal te permite ingresar un numero real, es decir con decimales por ejemplo 50.25 la cual se guardara en la variable dist, la que se ocupara más adelante.
Linea 3, GETPOINT, getpoint permite ingresar un punto en la pantalla, ya sea pinchando en la pantalla o ingresando sus coordenadas, el punto obtenido se guardara en la variable pti (punto inicial), la cual se ocupara más adelante.
Linea 4, se almacena en la variable ang el valor 0 que se ocupara como angulo.
Linea 5, ptf, a partir de pti, ang y dist, se obtiene ptf (punto final), POLAR permite amarrarce desde el ultimo punto, en este caso se empezar desde pti, con un angulo 0 (ang) y una distancia por (dist).
Linea 6, Ahora solo queda llamar al comando LINE, la linea se dibujara desde pti hasta ptf en linea recta.
En la explicación omití la variable de sistema CMDECHO, esta variable con valor 0 desactiva los ecos de mensajes de la linea de comandos de AutoCAD, es decir, que al ejecutar la rutina no se mostrara ningún mensaje, por ejemplo el del comando LINE, finalmente la variable se restablece con el valor 1. Esta variable es exclusiva para AutoLISP...
Bueno en resumen con GETREAL puedes ingresar un valor real, y guardarle en una variable para ocuparla más adelante en la rutina:
(Setq dist (getreal "\nIngrese distancia: "))
Por lo general para distgancias se ocupa GETDIST, pero para el ejemplo sirve bien...
También existe una funciona para ingresar solo números enteros llamada GETINT, la secuencia es la misma que GETREAL, solo que cambias GETREAL por GETINT...
Ahora te recomiendo que ingreses a las dos siguientes páginas:
http://personales.unican.es/togoresr/
http://webs.demasiado.com/autocad/
Espero que me hayas entendido, pero sino solo vuelve a preguntar y con gusto te ayudare...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas