南方自带提取坐标及高程点功能。可采用内置函数宏及外置Lisp函数宏或VB宏。
方法一:
1、键入命令Pl+空格,将须提出的坐标点或高程采用复合线无缝连接;
2、键入命令List+空格,选中复合线。
3、键入命令Pl+空格,将须提出的高程采用复合线闭合连接;
A、键入命令EXPLODEGCD+空格打散指定数量高程,键入第二层命令GCDTODAT+空格+GCD+空格+GCD+空格,提取“无”编码高程及坐标。
B、键入第二层命令LINKSJX1+空格+1+空格,选择指定复合线范围,提取“有”编码高程及坐标。
方法二:
1、引用lisp函数,键入命令:appload+空格,加载该函数文件(函数类型较多,不例举,后缀名为"*.lsp")。
2、键入函数抬头命令:tg+空格,直接执行。
附函数实例之一:指定局域提取高程点,仅供参考。
(defun c:tg(/ p1 p2 ss sn si i x y e fw)
(setq sn 0)
(setq p1(getpoint "\n拾取任意角点基准执行框选:"))
(if p1
(setq p2(getcorner p1 "\n拾取相对角点基准完成框选:"))
)
(if p2
(setq ss(ssget "c" p1 p2 (list(cons 8 "GCD")(cons 2 "GC200"))))
)
(if ss(progn
(setq fw(open "C:\\区域高程.ini" "w"))
(princ(strcat "[区域高程参数]\n") fw)
(setq sn(sslength ss))
(setq i 0)
(while(< i sn)
(setq si(ssname ss i))
(setq pt(cdr(assoc 10 (entget si))))
(setq x(rtos(car pt)2 3) y(rtos(cadr pt)2 3) e(rtos(caddr pt)2 3))
(princ(strcat (itoa (1+ i))"=" x "," y "," e "\n") fw)
(setq i(1+ i))
)
(close fw)
;(alert "范围高程拾取完毕,查看坐标高程。")
))
(princ "\n [坐标文件已保存至C盘]")
)