读得到坐标就是没有获得当前文件名,求帮忙
(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-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)
)
ZZXXQQ 发表于 2014-11-24 21:43 static/image/common/back.gif
错误: 参数类型错误: FILE "-104.400"
不行。不要带有.dwg
页:
[1]