如何自动读取cad图中图形的坐标数据表格到excel
www.dimcax.com
如何自动读取cad图中图形的坐标数据表格到excel
工程桩的cad图中有很多桩,有没有程序能够自动读取cad图的桩位相对于坐标原点的坐标值并自动转到生成excel中。请多帮忙!!
d
初学lisp.如下,选择桩基,写于d:\zzb.txt文件中.
(defun c:zzb(/ os1 ss1 ss2 n n0 zbx zby str1 f1)
(setvar "cmdecho" 0)
(setq os1(getvar "osmode"))
(setvar "osmode" 0)
(princ "\n选取桩基:")
(setq ss1(ssget '((0 . "circle"))))
(setq n(sslength ss1))
(setq n0 0)
(setq f1(open "d:\\zzb.txt" "w"));打开一文本文件用于存放桩基坐标。
(while (< n0 n)
(setq e1(ssname ss1 n0))
(setq e2(entget e1))
(setq zbx(cadr(assoc 10 e2)))
(setq zby(caddr(assoc 10 e2)))
(setq str1(strcat (itoa n0) " " (rtos zbx) " " (rtos zby)))
(write-line str1 f1)
(setq n0(+ 1 n0))
)
(close f1)
(setvar "cmdecho" 1)
(setvar "osmode" os1)
(princ)
)
d
2楼代码改进后,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41;;;功能:保存圆的圆心坐标到文本文件
( c:zzb ( ss f1 i en ent pt x y str)
( filename "d:\\zzb.txt")
;;
( "\n选取圆...")
( ( ( ss ( '((0 . "circle"))))
;;写模式打开一文本文件,用于存放桩基坐标。
( f1 ( filename "w"))
)
(
( i 0)
( ( ss)
( en ( ss i)
ent ( en)
)
( pt ( ( 10 ent))
x ( pt)
y ( pt)
)
( i ( i))
;;输出
( str ( ( i)
"\t"
( x 2 4)
"\t"
( y 2 4)
)
)
( str f1)
;;文本窗口显示
( ( "\n" str))
)
;;关闭文件
( f1)
;;显示文件
( "notepad.exe" filename)
)
)
;;静默退出
()
)
好好学习cad,天天向上搞设计。
忘记从哪里找的程序,试用一下吧
请使用winrar软件打开rar压缩文件。
d
会覆盖原有的文件吧,假如需在原有的excel文件后面接着写,如何写
d