求帮忙,获得文件名读不出到记事本 ,错误
(defun c:tt()(setvar "cmdecho" 0)
(setq FIL_PATH "c:\\dwg\\")
(setq FIL_NUM (file_num))
;;;取得文件编号
(setq tishi (strcat "\n请输入文件名<" FIL_NUM ">:"))
(setq wj_name (getstring tishi))
(setq ep (open (strcat FIL_PATH wj_name ".nc") "w"))
(if (= wj_name "")
(setq wj_name FIL_NUM)
)
(if (= wj_name "")
(setq ep (open (strcat FIL_PATH wj_name ".nc") "w"))
(progn (alert "输入的文件名错误!程式结束!") (exit))
)
(princ "\n请选择要的圆:")
(setq a (ssget))
(setq n (sslength a))
(setq i 0 m 0)
(repeat n
(setq en(ssname a i))
(setq endata(entget en))
(setq entype(cdr (assoc 0 endata)))
(if(= entype "CIRCLE")
(progn
(setq x(cadr(assoc 10 endata)))
(setq y(caddr(assoc 10 endata)))
(princ "X" file3)
(princ (rtos x 2 3) file3)
(princ "" file3)
(princ "Y" file3)
(princ (rtos y 2 3) file3)
(princ "\n" file3)
(setq m (+ 1 m))
)
)
(setq i (+ 1 i))
)
(princ (strcat "\n共有<" (itoa m) ">孔被选择!"))
(close file3)
(prin1)
) 首先要确定你的"*.nc"文件是否在支持目录下,不然找不到的。 文件内容读不出来很可能是文件没有关闭的问题,粗粗看了一下程序,你打开的是ep,关闭的是file3,所以文件无法读出。
另在程序的一个判断中使用了exit退出(这是不可取的),在exit之前也没有关闭打开的文件。 那点样改帮我改下我不会的
多谢各位
本帖最后由 啊业_48384 于 2014-11-24 19:37 编辑多谢各位..................... 求各位帮改下
还是不行.读到了就是没有文件名
本帖最后由 啊业_48384 于 2014-11-24 20:04 编辑(defun c:tt()
(setvar "cmdecho" 0)
(setq FIL_PATH "c:\\dwg\\cnc\\")
(setq FIL_NUM (file_num))
;;;取得文件编号
(setq tishi (strcat "\n请输入文件名<" FIL_NUM ">:"))
(setq file3 (getstring tishi))
(setq file3 (open (strcat FIL_PATH wj_name ".nc") "w"))
(if (= wj_name "")
(setq wj_name FIL_NUM)
)
(if (= wj_name "")
(progn (alert "输入的文件名错误!程式结束!") (exit))
)
(princ "\n请选择要的圆:")
(setq a (ssget))
(setq n (sslength a))
(setq i 0 m 0)
(repeat n
(setq en(ssname a i))
(setq endata(entget en))
(setq entype(cdr (assoc 0 endata)))
(if(= entype "CIRCLE")
(progn
(setq x(cadr(assoc 10 endata)))
(setq y(caddr(assoc 10 endata)))
(princ "X" file3)
(princ (rtos x 2 3) file3)
(princ "" file3)
(princ "Y" file3)
(princ (rtos y 2 3) file3)
(princ "\n" file3)
(setq m (+ 1 m))
)
)
(setq i (+ 1 i))
)
(princ (strcat "\n共有<" (itoa m) ">孔被选择!"))
(close file3)
(prin1)
)
本帖最后由 ZZXXQQ 于 2014-11-25 21:14 编辑
(defun c:tt()
(setq FIL_PATH "c:\\dwg\\cnc\\")
(setq FIL_NUM (getvar "DWGNAME"));;;当前文件名
(setq FIL_NUM (substr FIL_NUM 1 (- (strlen FIL_NUM) 4)))
(setq wj_name (getstring (strcat "\n请输入文件名<" FIL_NUM ">:")))
(if (= wj_name "") (setq wj_name FIL_NUM))
(setq file3 (open (strcat FIL_PATH wj_name ".nc") "w"))
(if (and (princ "\n请选择要的圆:")
(setq a (ssget '((0 . "CIRCLE"))))) (progn
(setq i 0)
(repeat (sslength ss)
(setq pt (cdr(assoc 10 (entget (ssname a i)))))
(princ "X" (rtos (car pt) 2 3) "Y" (rtos (cadr pt) 2 3) "\n" file3)
(setq i (1+ i))
)
(princ (strcat "\n共有<" (itoa i) ">孔被选择!"))
(close file3)
))
(prin1)
)
不行呀,不要带有.dwg ZZXXQQ 发表于 2014-11-24 21:56 static/image/common/back.gif
错误: 参数类型错误: FILE "-104.400"
页:
[1]
2