我有一个txt文件,里面是一些点的x,y坐标和坐标点对应的地面标高。如下: X坐标 Y坐标 地面标高812886.20 810811.50 22.91812886.15 810811.53 21.87812886.16 810811.53 19.52812885.20 810810.37 19.49812884.36 810809.39 22.87812884.34 810809.37 21.87
我有一个txt文件,里面是一些点的x,y坐标和坐标点对应的地面标高。如下:
X坐标 Y坐标 地面标高
812886.20 810811.50 22.91
812886.15 810811.53 21.87
812886.16 810811.53 19.52
812885.20 810810.37 19.49
812884.36 810809.39 22.87
812884.34 810809.37 21.87
812884.35 810809.37 19.52
812893.44 810801.57 22.74
812893.50 810801.65 21.34
812893.55 810801.68 19.92
现在问题是,有什么简便的方法或程序能准确的在相对应的坐标点插入一个图块并标上相对应的地面标高。如:+19.92
注:上面是某地的地面标高值,准备在该地段进行管路设计。
当然我可以一个一个自己找到坐标点,再加上地面标高值,但是太多的怎么办?? 谢谢!
该帖已经结帖了!!
2楼
我也不会
回复
3楼
用lisp编程
你的图块命名有没什么规律
回复
4楼
我写了一个,供你参考
(defun c:cs3 ()
(setvar "CMDECHO" 0)
(SETQ YH_datafileID (OPEN "d:\\zb.txt" "r"))
(setq YH_filedata (read-line YH_datafileID))
(while (/= YH_filedata nil)
(if (= YH_filedata "X坐标 Y坐标 地面标高") (setq YH_filedata (read-line YH_datafileID)))
(setq n1 1)
(while (and (/= (substr YH_filedata n1 1) " ") (/= (substr YH_filedata n1 1) ""))
(setq YH_PTX (substr YH_filedata 1 n1))
(setq n1 (+ n1 1))
)
(setq n2 (+ n1 1))
(while (and (/= (substr YH_filedata n2 1) " ") (/= (substr YH_filedata n2 1) ""))
(setq YH_PTY (substr YH_filedata (+ n1 1) (- n2 n1)))
(setq n2 (+ n2 1))
)
(setq n3 (+ n2 1))
(while (and (/= (substr YH_filedata n3 1) " ") (/= (substr YH_filedata n3 1) ""))
(setq YH_PTZ (substr YH_filedata (+ n2 1) (- n3 n2)))
(setq n3 (+ n3 1))
)
(setq YH_PT (list (atof YH_PTX) (atof YH_PTY)))
(command "insert" "d:\\YH_block.dwg" YH_PT "1" "1" "0")
(command "text" "J" "ML" YH_PT (getvar "textsize") "0" YH_PTZ)
(setq YH_filedata (read-line YH_datafileID))
)
(close YH_datafileID)
(princ)
)
回复
5楼
文件名叫zb.txt
图块名叫YH_block.dwg
以上文件均放置在D盘根目录下,注意图块插入点的制作,用appload加载,运行命令为cs3
回复
6楼
谢谢!我先试试看,如果可以的话,再上来道谢了!
因为比较急。
回复
7楼
试过,但是不能运行。。将所有资料传上了,麻烦看看问题出在哪里?
回复
8楼
你装个aotocad 2006 3d试试,非常快就能把你想要的东东得到。
回复
9楼
我试过自己的程序,没有问题的,如果有必要的话,加我QQ吧,我帮你调试!
QQ:29715648
请注明给排水在线
回复
10楼
我靠重赏之下必有勇夫啊,我也很想学一下编程。。
回复
11楼
确实是,高手就是高手;还这么热心,真该多奖些分.
回复