啊业_48384 发表于 2014-11-24 20:42:30

读得到坐标就是没有获得当前文件名,求帮忙

(defun c:tt()
   (setvar "cmdecho" 0)
   (setq FIL_PATH "c:\\dwg\\cnc\\")
   (setq FIL_NUM (file_num))
;;;取得文件编号
(setq file3 (strcat "\n请输入文件名<" FIL_NUM ">:"))
(setq wj_name (getstring file3))
(setq file3 (open (strcat FIL_PATH wj_name ".nc") "w"))
(if (= wj_name "")
    (setq wj_name FIL_NUM)
)

(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:43:04

本帖最后由 ZZXXQQ 于 2014-11-25 21:17 编辑

(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:25:46

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


错误: 参数类型错误: FILE "-104.400"

不行。不要带有.dwg
页: [1]
查看完整版本: 读得到坐标就是没有获得当前文件名,求帮忙