怎么提取坐标和高程阿?
<P>单位催的紧,谢谢了</P><P>在我所粘贴的dwg文件里,有两个点,数字表示高程,</P>
<P>每个点可以用属性显示出来,但有好几千个点,太急了。</P>
<P>输出格式为:</P>
<P> x y 高程</P>
<P>675.2875 449.1828 -6.7</P>
<P>691.748 420.6027 -7.6</P> 请试用以下程序
(defun c:zbtq()
(setq xtblm '("cmdecho" "osmode" "dimzin"))
(setq xtblz (mapcar 'getvar xtblm))
(mapcar 'setvar xtblm '(0 0 0))
(if (setq fff (getfiled "请选择存盘的文件名" "" "txt" 1))
(if (setq p1 (getpoint "\n请指定提取范围左下角点:"))
(if (setq p2 (getcorner p1 "\n请指定提取范围右上角点:"))
(if (setq ssa (ssget "w" p1 p2 '((0 . "TEXT"))))
(progn
(setq ff (open fff "w"))
(setq n (sslength ssa) i 0)
(princ "x y 高程" ff)
(repeat n
(grtext -1 (strcat "共有" (itoa n) "个点,正在提取第" (itoa (1+ i)) "个点!"))
(setq ent (ssname ssa i)
dxf (entget ent))
pt(assoc 10 dxf)
)
(princ (strcat "\n"
(rtos (nth 1 pt) 2 5) ""
(rtos (nth 2 pt) 2 5) ""
(cdr (assoc 1 dxf))
)
ff
)
(setq i (1+ i))
)
(close ff)
)
(alert "所选范围内无任何文本!")
)
(alert "未请指定提取范围右上角点!")
)
(alert "未请指定提取范围左下角点!")
)
(alert "选择存盘的文件!")
)
(mapcar 'setvar xtblm xtblz)(princ)
)
<P>使用南方CASS和EXCEL,很方便解决问题!</P> 南方的不行 <P>我给你编了一个程序,加载文件后,输入命令hight,选择图中文字,结果在文件c:\hight.txt中。</P> <P>我给你编了一个程序,加载文件后,输入命令hight,选择图中文字,结果在文件c:\hight.txt中。</P> <P>我试试。。</P>
页:
[1]