啊业_48384 发表于 2014-11-24 15:54:14

求帮忙,获得文件名读不出到记事本 ,错误

(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)
)

自贡黄明儒 发表于 2014-11-24 16:20:51

首先要确定你的"*.nc"文件是否在支持目录下,不然找不到的。

ll_j 发表于 2014-11-24 17:29:45

文件内容读不出来很可能是文件没有关闭的问题,粗粗看了一下程序,你打开的是ep,关闭的是file3,所以文件无法读出。
另在程序的一个判断中使用了exit退出(这是不可取的),在exit之前也没有关闭打开的文件。

啊业_48384 发表于 2014-11-24 18:55:49

那点样改帮我改下我不会的

啊业_48384 发表于 2014-11-24 18:56:39

多谢各位

本帖最后由 啊业_48384 于 2014-11-24 19:37 编辑

多谢各位.....................

啊业_48384 发表于 2014-11-24 18:59:24

求各位帮改下

啊业_48384 发表于 2014-11-24 19:03:38

还是不行.读到了就是没有文件名

本帖最后由 啊业_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-24 21:56:39

本帖最后由 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)
)

啊业_48384 发表于 2014-11-25 09:12:03

不行呀,不要带有.dwg

啊业_48384 发表于 2014-11-25 09:16:02

ZZXXQQ 发表于 2014-11-24 21:56 static/image/common/back.gif


错误: 参数类型错误: FILE "-104.400"
页: [1] 2
查看完整版本: 求帮忙,获得文件名读不出到记事本 ,错误