需要帮助
尊敬的各位:,我是这个论坛的新用户。我下载了一个autolisp,通过按顺序选择文本来生成CSV文件。它很早就开始工作了。但在格式化我的电脑后,它给出了一个错误。
请帮助任何人。
(定义c:Csv-S()
(setq r1(ssget))
(setq p1(ssget“p”(列表(cons 0“TEXT”)))
(setq f(打开“c:\\code.csv”“w”)
(setq m1 1)
(setq ind 0)
(重复
(sslength p1)
(setq r3(ssname p1 ind))
(setq p2(entget r3))
(setq p3(cdr(assoc 11 p2)))
(setq s1(cdr(assoc 1 p2)))
(setq x(rtos(汽车p3)2 4))
(setq y(rtos(cadr p3)2 4))
(setq z(rtos(caddr p3)))
(setq m11(itoa m1))
(setq L1(strcat S1”,“x”,“y”,“S1”,“F”)
(写入行L1 f)
(setq ind(+1 ind))
(setq m1(+1 ind)))
(关闭f)
(警报“Hi-CODE.txt-在C驱动器中导出,请在Excel中打开”)
(普林斯)
CSV-IN。LSP 试试这个:-
(defun c:test (/ a f i obj pnt)
(if (setq a (ssget '((0 . "text"))))
(progn
(setq f (open "c:\\code.csv" "w"))
(repeat (setq i (sslength a))
(setq obj (entget (ssname a (setq i (1- i)))))
(setq pnt (cdr (assoc 11 obj)))
(write-line
(strcat (cdr (assoc 1 obj))
","
(rtos (car pnt) 2 3)
","
(rtos (cadr pnt) 2 3)
","
(rtos (caddr pnt) 2 3)
","
"F"
)
f
)
)
(close f)
(alert
"Hi -CODE.txt- is Exported in C drive \n Please Open in Excel"
)
)
)
(princ)
) 谢谢你的回复,但它仍然不起作用。
它怎么不起作用?是否加载?它能跑吗?它创建文件了吗?Did代码。txt在运行之前已经存在?将返回的内容张贴到命令行错误或其他位置。链接到你下载文件的地方会很有用。satishrajdev的代码比您的代码干净得多,但是如果没有任何提示或注释,很难知道您希望代码做什么。 对不起,根据我的设置,我错把“f:\\code.csv”改成了“c:\\code.csv”,但忘了替换它
我现在已经更新了代码检查。 有一些调整(未经测试):
(defun c:test ( / csv des enx idx sel )
(setq csv "C:\\code.csv") ;; CSV to be created (will be overwritten if exists)
(if (setq sel (ssget '((0 . "TEXT"))))
(if (setq des (open csv "w"))
(progn
(repeat (setq idx (sslength sel))
(setq enx (entget (ssname sel (setq idx (1- idx)))))
(write-line
(strcat (cdr (assoc 1 enx)) ","
(apply 'strcat
(mapcar '(lambda ( x y ) (strcat (rtos x 2 3) y))
(cdr (assoc (if (= 0 (cdr (assoc 72 enx)) (cdr (assoc 73 enx))) 10 11) enx))
'("," "," ",F")
)
)
)
des
)
)
(close des)
)
(princ (strcat "\nUnable to open \"" csv "\" for writing."))
)
)
(princ)
) 现在它运行良好。
谢谢你的帮助。
页:
[1]