Thank You.
I assume the running command was snapping back to the original coordinates, still not too sure about this. However, your suggestion got me back in the game, looks to be running smoothly. Now to add a few more options...
Thanks,
Dan
Below is the revised code (no slope/grades option just yet):
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 7/25/06 ;;
;; 3d Polyline with User defined Elevations ;;
;; ;;
;; PROGRAM PROVIDED "AS IS" AND WITH ALL FAULTS, ;;
;; AND DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM ;;
;; WILL BE UNINTERRUPTED OR ERROR FREE. ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:plel (/ oldecho oldos pnt1 elev1 pnt1e pntx elevx)
(setq oldecho (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq pnt1 (getpoint "\nSpecify start point of polyline: "))
(setq elev1 (getreal "\nStart elevation: "))
(setq pnt1e (subst elev1 (last pnt1) pnt1))
(command ".3dpoly")
(while
(if (= pntx nil)
(progn
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(command pnt1e)
(setvar "osmode" oldos)
(setq pntx (getpoint pnt1e "Pick point: "))
) ;end progn
(setq pntx (getpoint pntx "Pick Point: "))
) ;end if
(command pntx)
(setq elevx (getreal "\nElevation: "))
(setq pntx (subst elevx (last pntx) pntx))
(command "undo")
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(command pntx)
(setvar "osmode" oldos)
) ;end while
(command "")
(setvar "cmdecho" oldecho)
(princ)
)