; Copyright 2000 EMT Software, Inc. ; (defun C:XYZIN (/ #ECHO #OSNP #OLDERR @NEWERR #FN #DL #RES #LN #TMP #CNT #X #Y #Z) (defun @NEWERR (%A) (setq *error* #OLDERR) (setvar "cmdecho" #ECHO) (setvar "osmode" #OSNP) (cond ((= %A "Function cancelled") nil) (T (princ (strcat "\nerror: " %A ":\n")))) (princ)) (setq #OLDERR *error*) (setq #ECHO (getvar "cmdecho")) (setq #OSNP (getvar "osmode")) (setq *error* @NEWERR) (setvar "cmdecho" 0) (setvar "osmode" 0) (initget "Comma Tab") (setq #RES (getkword "\nType of file to import [Comma/Tab]: ")) (if (or (not #RES) (= #RES "Comma")) (setq #DL ",") (setq #DL "\t")) (setq #FN (getfiled "Select an Import Data File" "" "txt" 0)) (if #FN (progn (SETQ p1 '(0 0 0)) (setq #FN (open #FN "r")) (while (setq #LN (read-line #FN)) (setq #TMP "" #CNT 1 #X 0.0 #Y 0.0 #Z 0.0) (while (/= #LN "") (while (and (/= #LN "") (/= (substr #LN 1 1) #DL)) (setq #TMP (strcat #TMP (substr #LN 1 1)) #LN (substr #LN 2))) (if (= (type (read #TMP)) 'REAL) (progn (cond ((= #CNT 1) (setq #X (atof #TMP))) ((= #CNT 2) (setq #Y (atof #TMP))) ((= #CNT 3) (setq #Z (atof #TMP)))) (setq #CNT (1+ #CNT)))) (setq #LN (substr #LN 2) #TMP "")) (COMMAND "_.line" p1 (list #X #Y #Z)) (SETQ p1 (list #X #Y #Z)) (command "_.point" (list #X #Y #Z))) (close #FN))) (setq *error* #OLDERR) (setvar "cmdecho" #ECHO) (setvar "osmode" #OSNP) (princ)) ;;; Uncomment for the language needed. ;(princ "\n\nXYZINを入力して開始") ; For Japanese. (princ "\n\nType XYZIN to start.") ; For English. (princ)