Вы находитесь на странице: 1из 2

(setq linea1 (strcat "\nFuncion GRADIENTE que permite crear los puntos y la linea

de gradiente"
"\nAutor: Miguel F. Sep�lveda"
"\ne-mail: miguel.sepulveda@terra.com.pe"
"\nEste programa se distribuye tal como esta."
"\n@COPYLEFT"))
(setq linea2 (strcat "\nSe puede:"
"\n - Copiar"
"\n - Distribuir"
"\n - Modificar"
"\n - Mejorar"
"\nNo se puede:"
"\n - pedir ayuda si no funciona"))

(alert (strcat linea1 linea2))


(defun c:Gradiente ()
(princ)
(prompt "Comando GRADIENTE creado")
(princ)
(setq osmode-old (getvar "osmode"))

(setq m1 (getreal "\nPendiente de Dise�o: "))


(setq difZ (getreal "\nCurvas cada X mt.:"))
(setq r1 difz)
(setq r2 (/ (* 100 difz) m1))
(command "layer" "m" "rasante1" "" "")
(setvar "osmode" 32)
(setq nVert 1)
(setq pto0 (getpoint "\Punto 1: "))
(command "circle" pto0 r1)
(command "circle" pto0 r2)
(setq Vertices (strcat "(setq Pto" (itoa nVert) " Pto0)"))
(eval (read Vertices))
(setq ent1 (entlast))
(redraw ent1 3)
(setq nVert (1+ nVert))
(while
(setq ptoN (getpoint "\nProximo Punto:: "))
;(command "point" ptoN)
(command "circle" ptoN r1)
(setq pto0 ptoN)
(command "erase" ent1 "")
(command "circle" ptoN r2)
(setq ent1 (entlast))
(redraw ent1 3)
(setq Vertices (strcat "(setq Pto" (itoa nVert) " pto0)"))
(eval (read Vertices))
(setq nVert (1+ nVert))
)
(command "erase" ent1 "")

; dibuja Eje
(setq n1 1)
(command "layer" "m" "GRADIENTE-PL" "")
(setq pto_ins (eval (read (strcat "Pto" (itoa n1)))))
(command "Pline" pto_ins )
(repeat (- nVert 1)
(setq pto_pl (eval (read (strcat "Pto" (itoa n1)))))
(setq pto_pl2d (list (nth 0 pto_pl) (nth 1 pto_pl)))
(setq n1 (+ n1 1))
(command pto_pl2d)
)

(command "")
(princ)
)

Вам также может понравиться