I need this routine to work. I got it from Cadalyst Oct 2002 Zip file. It is the 3D Arc routine by Barry Brown. In the zip file it is named "arc3d.lps.txt" When opened it looks just like any other LISP routine, so I changed the name to "arc3d.lsp" but running it creates this error: The object is not in current space. *Invalid* ; error: Function cancelled So what gives? If this won't work, then does anyone know how I can draw a simple little arc in 3d? Here is the code: ;;;by Barry Bowen, Cadalyst, October 2002 (defun C:ARC3D (/ SS2 PT_LIST EL EL1 ELIST EN IN PT X Y 3DPT DST PTLIST) (setvar "osmode" 0) (command "._ucs" "_w") (setq SS2 nil SS2 (ssadd)) (setq PT_LIST nil PT_LIST '()) (setq EL (entlast)) (command "._divide" EL 24) (setq EL1 (entnext EL)) (while EL1 (ssadd EL1 SS2) (setq EL1 (entnext EL1))) (setq IN 0 EN (ssname SS2 IN) DST 0.25) (setq PT_LIST (append (list SPT) PT_LIST)) (while EN (setq ELIST (entget EN)) (setq PT (cdr (assoc 10 ELIST))) (setq X (car PT) Y (cadr PT)) (setq 3DPT (list X Y DST)) (setq PT_LIST (append (list 3DPT) PT_LIST)) (setq DST (+ DST 0.25)) (setq IN (1+ IN) EN (ssname SS2 IN)) ) (setq X (car EPT) Y (cadr EPT)) (setq 3DPT (list X Y DST)) (setq PT_LIST (append (list 3DPT) PT_LIST)) (setq PTLIST (reverse PT_LIST)) (setq IN 0) (command "._3dPOLY") (repeat (length PTLIST) (setq PT (nth IN PTLIST)) (command PT) (setq IN (1+ IN)) ) (command "") (command "._erase" SS2 EL "") ) (prompt " Type ARC3D To Execute!")