如何自动读取CAD图中图形的坐标数据表格到EXCEL
<p>工程桩的CAD图中有很多桩,有没有程序能够自动读取CAD图的桩位相对于坐标原点的坐标值并自动转到生成EXCEL中。请多帮忙!!</p> 本帖最后由 作者 于 2008-11-17 18:37:25 编辑 <br /><br /> <p>初学LISP.如下,选择桩基,写于D:\ZZB.TXT文件中.</p><p>(defun c:zzb(/ os1 ss1 ss2 n n0 zbx zby str1 f1)<br/> (setvar "cmdecho" 0)<br/> (setq os1(getvar "osmode"))<br/> (setvar "osmode" 0)<br/> (princ "\n选取桩基:")<br/> (setq ss1(ssget '((0 . "circle"))))<br/> (setq n(sslength ss1))<br/> (setq n0 0)<br/> (setq f1(open "d:\\zzb.txt" "w"));打开一文本文件用于存放桩基坐标。<br/> (while (< n0 n)<br/> (setq e1(ssname ss1 n0))<br/> (setq e2(entget e1))<br/> (setq zbx(cadr(assoc 10 e2)))<br/> (setq zby(caddr(assoc 10 e2)))<br/> (setq str1(strcat (itoa n0) " " (rtos zbx) " " (rtos zby)))<br/> (write-line str1 f1)<br/> (setq n0(+ 1 n0))<br/> )<br/> (close f1)<br/> (setvar "cmdecho" 1)<br/> (setvar "osmode" os1)<br/> (princ)<br/> )<br/> </p>2楼代码改进后,如下:
本帖最后由 作者 于 2008-11-17 22:03:03 编辑;;;功能:保存圆的圆心坐标到文本文件
(defun c:zzb (/ ss f1 i en ent pt x y str)
(setq filename "d:\\zzb.txt")
;;
(princ "\n选取圆...")
(if (and (setq ss (ssget '((0 . "circle"))))
;;写模式打开一文本文件,用于存放桩基坐标。
(setq f1 (open filename "w"))
)
(progn
(setq i 0)
(repeat (sslength ss)
(setq en(ssname ss i)
ent (entget en)
)
(setq pt (cdr (assoc 10 ent))
x(car pt)
y(cadr pt)
)
(setq i (1+ i))
;;输出
(setq str (strcat (itoa i)
"\t"
(rtos x 2 4)
"\t"
(rtos y 2 4)
)
)
(write-line str f1)
;;文本窗口显示
(princ (strcat "\n" str))
)
;;关闭文件
(close f1)
;;显示文件
(startapp "notepad.exe" filename)
)
)
;;静默退出
(princ)
) <p>忘记从哪里找的程序,试用一下吧</p> <p>会覆盖原有的文件吧,假如需在原有的excel文件后面接着写,如何写</p>
页:
[1]