- UID
- 13074
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-10-28
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
这是开始学Lisp学习时写的,用来展绘坐标点并记点号或者高程等字符注记,在Acad 2000上运行。运行速度不快(约10点/s)
加载程序后,输入“zd”命令就可运行。
数据格式:
第一行为总点数
第二行是:1点 点名,1点 编码,1点 Y(东)坐标,1点 X(北)坐标,1点 高程
.........................
第n行是:n-1点 点名,n-1点 编码,n-1点 Y(东)坐标,n-1点 X(北)坐标,n-1点 高程
例:4
1,f1,497728.882,86448.407,14.267
2,dx,497726.893,86454.135,14.575
3,gcd,497720.004,86453.003,13.654
4,dl,497728.950,86454.895,14.513
数据文件扩展名为dat(*.dat)
*******************************************************************
;;;本程序用于坐标点展。数据格式沿用南方仪器公司cass的格式
;;;点名,编码,Y(东)坐标,X(北)坐标,(Z)高程
;;;如果要展代码、高程请将(command "zoom" "e")中的"e"改成"e2"或者是""h""
- (defun C:zd (/ fi b n e e2 y x h n2 p1 p2)
- ;;; (print
- ;;; "\n 您好!欢迎您!这里是展绘点号程序,确认后,选择数据文件\n"
- ;;; )
- (setq fi (open
- (getfiled "请选择数据文件" "" "dat" 8)
- "r"
- )
- )
- (setq b
- (read
- (read-line fi)
- )
- )
- (setq n 1)
- (command "layer" "s" "0" "")
- ;;; (setvar "AutoSnap" 0)
- (while (<= n b)
- (setq d
- (read-line fi)
- )
- ;;;读取点号( 数据格式是:点号,代码,Y坐标,X坐标,高程)
- (setq start-pos (vl-string-search "," d 0))
- (setq e
- (substr d 1 start-pos)
- )
- ;;;读码
- (setq n2 (1+ start-pos))
- (setq start-pos (vl-string-search "," d n2))
- (setq e2
- (substr d (1+ n2) (- start-pos n2))
- )
- ;;;读取横坐标
- (setq n2 (1+ start-pos))
- (setq start-pos (vl-string-search "," d n2))
- (setq y
- (substr d (1+ n2) (- start-pos n2))
- )
- ;;;读取纵坐标
- (setq n2 (1+ start-pos))
- (setq start-pos (vl-string-search "," d n2))
- (setq x
- (substr d (1+ n2) (- start-pos n2))
- )
- ;;;读取高程
- (setq n2 (1+ start-pos))
- (setq start-pos (vl-string-search "," d n2))
- (setq h
- (substr d (1+ n2))
- )
- ;;; 进行展点
- (setq y1 (read y))
- (setq x1 (read x))
- (setq h1 (read h))
- (setq p1 (list y1 x1 h1)
- p2 (list (+ y1 0.5) (- x1 0.75))
- )
- (command "point" p1)
- (command "text" p2 1 0 e)
- (setq n (1+ n)
- )
- )
- (close fi)
- (command "zoom" "e")
- ;;; (setvar "AutoSnap" 1)
- )
*****************************************************************************
请大家指教. |
|