马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
该程序可以在平面图上切剖面,自动生成平距及高程,并能保存下来。注意,地形线为多段线且已赋高程才能显示高程数值,否则高称将显示为0。

- (defun c:qpm()
- (setq sblip (getvar "blipmode"))
- (setq scmde (getvar "cmdecho"))
- (setvar "blipmode" 0)
- (setvar "cmdecho" 0)
- (SETQ BLLI(GETREAL "\n 输入比例<1>:"))
- (IF (= BLLI NIL) (SETQ BLLI 1))
- (command "style" "sst" "宋体" "1.0" "0.6" "0" "n" "n")
- (SETQ BCC ())
- (SETQ QQD(GETREAL "\n 输入起始长度<m>:"))
- (IF (= QQD NIL) (SETQ QQD 0))
- (setq dd(getpoint "\n 输入起点:"))
- (setq dd10(reverse dd))
- (setq dd11(cdr dd10))
-
- (WHILE
- (setq dd1(getpoint dd "\n 下一点:"))
- (setq dd1-1(caddr dd1))
- (setq dd21(reverse dd1))
- (setq dd22(cdr dd21))
- (setq jll(distance dd11 dd22))
- (SETQ JLL1(+ (* JLL BLLI) qqd))
- (SETQ JLL-1(RTOS dd1-1 2 2))
- (SETQ JLL1-1(RTOS JLL1 2 2))
- (SETQ BCC(CONS JLL1-1 BCC))
- (SETQ JLL_L(STRCAT JLL1-1 "(" JLL-1 ")"))
- (command "text" "j" "bc" dd1 "0" jll_l)
- )
- (setq yn(getstring "\n 数据要保存吗<Y>:"))
- (IF (OR (= YN "Y") (= YN "y"))
- (PROGN
- (SETQ K 0)
- (SETQ FILED(GETSTRING "\n 输入文件名<TEM>:"))
- (IF (= FILED "") (SETQ FILED "TEM"))
- (SETQ FILED1 (STRCAT FILED ".DAT"))
- (SETQ F1(OPEN FILED1 "a"))
- (SETQ BCC1(reverse BCC))
- (SETQ BCCLEN(LENGTH BCC1))
- (WHILE (< K BCCLEN)
- (SETQ BCC2(NTH K BCC1))
- ;(PRINT BCC2)
- (WRITE-LINE BCC2 F1)
- (SETQ K(+ K 1))
- )
- (CLOSE F1)
- )
- )
- (setvar "blipmode" SBLIP)
- (setvar "cmdecho" SCMDE)
- )
|