想写一个点选数字,然后按指定列数保存进一个文件的lisp,之前试过通过的,但今天用起来却说"错误: 参数类型错误: FILE 1",不明原因,请哪位高手指点一二 代码如下: (defun C:Re (/ flnm fn SS ) (SETVAR "CMDECHO" 0) (setq flnm (getstring "File name(输入txt文件绝对路径):")) (setq Num (getint "Column(列的数量):")) (setq StrB "" StrC "") (while T (setq StrA "" StrB "") (setq n 1) (WHILE (<= n Num) (princ "请选择数据" n) ; (princ n) (setq s (ssget ":S" '((0 . "MTEXT,TCH_MTEXT,TEXT,MTEXT,TCH_TEXT")))) (setq ents (entget (ssname s 0))) (setq StrC (cdr (assoc 1 ents))) (setq ents (ssname s 0)) ;;删除已记录的数值 (entdel ents) (if (= StrA "") (setq StrB StrC) (setq StrB (strcat StrA "\t" StrC)) ) (setq StrA StrB) (setq n (1+ n))) (setq fn (open flnm "a")) (write-line StrA fn) ;;记录数值 (close fn) ) (princ "按ESC结束") (SETVAR "CMDECHO" 1) )
|