我很惊讶你还没有把所有的标高都写进测量图中。但是我以前遇到过这样的情况,写了一个小的lisp来注释一个3D点的级别。文本被写入到小数点后两位,并且在z=零高程处写入。没有错误处理,因为我不够聪明,但这应该让你开始。
- ;3DL is a programme to annotate levels of 3D lines drawn in a ground model; eldon 2009
- (defun C:3DL (/ pt0 pt1 pt2 pt3 pt4 pt5 lev x y z)
- (setq pt0 (getpoint "\nPick level point. . . . . ")
- x (car pt0)
- y (cadr pt0)
- z (caddr pt0)
- lev (rtos z 2 2)
- pt1 (list (- x 0.18) y 0)
- pt2 (list (+ x 0.18) y 0)
- pt3 (list x (- y 0.18) 0)
- pt4 (list x (+ y 0.18) 0)
- pt5 (list (+ x 0.21) (+ y 0.09) 0)
- )
- ;(command "LINE" pt1 pt2 ""); draws a cross
- ;(command "LINE" pt3 pt4 ""); draws a cross
- (command "TEXT" "s" "LEVELS" pt5 "" "0" lev); writes a level
- )
-
|