把数据表导出到excel出错!求解释,谢啦
(DEFUN C:R1()(SETQ P0 (GETPOINT "\n 第一个数据点:"))
(while (/= nil)
(setq p1 (polar p0 0 80))
(setq p2 (polar p1 0 80))
(setq p3 (polar p2 0 80))
(setq p4 (polar p3 0 80))
(setq p5 (polar p4 0 80))
(setq ss-p (list p0 p1 p2 p3 p4 p5))
(setq s1 (mapcar '(lambda(x)
(setq pp (polar (polar x 0 80) (* 1.5 pi) 22))
(setq s (ssget "c" x pp '((0 . "*text"))))
(cdr(assoc 1 (entget (ssname s 0)))))
ss-p
))
(setq s2 (apply '(lambda (x y z x1 y1 z1)
(strcat x "," y "," z "," x1 "," y1 "," z1)
)
s1
))
(setq ff (open "d:\\2.csv" "w"))
(write-line s2 ff)
(close ff)
(setq p0 (polar p0 (* 1.5 pi) 22))
)
)
总是出错!!!
数据表的每个格子大小为(长)80*(宽)22,一行为6格 错的一塌糊涂!
(while (/= nil)
。。。
死循环了!
(setq ff (open "d:\\2.csv" "w"))
(write-line s2 ff)
(close ff)
文件永远只记录一组数据!
其他没细看! Gu_xl 发表于 2013-5-3 15:21 static/image/common/back.gif
错的一塌糊涂!
(while (/= nil)
。。。
有时候不知道具体有多少组数据就让它循环着,不知道怎么跳出。。。。。。
(setq ff (open "d:\\2.csv" "w"))
怪不得最多就一组最后的数据 (DEFUN C:R1()
(SETQ P0 (GETPOINT "\n 第一个数据点:"))
(while (/= (progn
(setq px (polar (polar p0 0 80) (* 1.5 pi) 22))
(setq sx (ssget "c" p0 px '((0 . "*text"))))
)nil)
(setvar "osmode" 0)
(setq p1 (polar p0 0 80))
(setq p2 (polar p1 0 80))
(setq p3 (polar p2 0 80))
(setq p4 (polar p3 0 80))
(setq p5 (polar p4 0 80))
(setq ss-p (list p0 p1 p2 p3 p4 p5))
(setq s1 (mapcar '(lambda(x)
(setq pp (polar (polar x 0 80) (* 1.5 pi) 22))
(setq s (ssget "c" x pp '((0 . "*text"))))
(cdr(assoc 1 (entget (ssname s 0)))))
ss-p
))
(setq s2 (apply '(lambda (x y z x1 y1 z1)
(strcat x "," y "," z "," x1 "," y1 "," z1)
)
s1
))
(setq ff (open "d:\\2.csv" "a"))
(write-line s2 ff)
(close ff)
(setvar "osmode" 16383)
(setq p0 (polar p0 (* 1.5 pi) 22))
)
)
改了下 选择集循环?while的用法查下资料吧!
页:
[1]