1 / 21
文档名称:

坐标提取lisp程序.doc

格式:doc   大小:101KB   页数:21
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

坐标提取lisp程序.doc

上传人:yzhlyb 2017/2/20 文件大小:101 KB

下载得到文件列表

坐标提取lisp程序.doc

相关文档

文档介绍

文档介绍:坐标提取 lisp 程序 2010-05-17 20:50:07| 分类: 工程|标签: |字号大中小订阅;该程序主要用于 CAD 点( point )三维坐标提取,并将数据输出为 CASS 软件中使用的数据格式;输出格式: 点号,,测量 Y值,测量 X值,测量 Z值例: 1,,,1232,433,25 ;2010-05-17 ;命令: plzbsc (defun c:plzbsc() (princ "\n 选择所需输出的点( point ) :") (setq ss (ssget ));; 选取坐标点(setq n (sslength ss ));计算坐标点数量(setq ff (open (getfiled "文件保存为" "f:/" "dat" 1) "w")); 保存路径(setq i 0) (repeat n (setq spt (ssname ssi )) (setq ept (entget spt)) (if (= (cdr (assoc 0 ept)) "POINT") (progn (setq lxyz (cdr (assoc 10 ept))) (setq sx (rtos (nth 1 lxyz))); 将坐标值实数转换成字符(setq sy (rtos (nth 0 lxyz))) (setq sz (rtos (nth 2 lxyz))) (setq i1 (+i 1)); 计算点序号(setq sn (rtos i12 0)); 将序号实数转换成字符(setq sxyz (strcat sn",," sy "," sx "," sz)) (write-line sxyz ff) )) (setq i (+i 1)) );repeat ) (prompt "* << 命令:plzbsc >> *输出格式(点号,,Y,X,Z) **") (prin1) 地形图上提取碎步点(高程点)坐标并输出到文本 2010-05-18 08:50:38| 分类: 工程|标签: |字号大中小订阅利用程序提取地形图上碎步点的三维坐标。并输出到记事本中, 该程序待修改的地方是不能选取点,并输出数据,待改正。(defun c:gcdtq() (setvar "cmdecho" 0);指令执行过程不响应(setq en (entsel "选择高程点:")) ;要求碰选一个高程点(setq ff (open (getfiled "文件保存为" "f:/" "txt" 1) "a")) (setq en_data (entget (car en))) ;取得元体资料列表(setq pt (cdr (assoc 10 en_data))) ;求得高程点坐标 pt (setq py(rtos (nth 1 pt))); 提取测量坐标 Y值(setq px(rtos (nth 0 pt))); 提取测量坐标 X值(setq pz(rtos (nth 2 pt))); 提取测量坐标 Z值(setq sxyz (strcat px"" py"" pz)) (write-line sxyz ff) (prin1) ) (prompt "*************** << C:gcdtq >> *****************") (prin1) 连续选取高程点并输出到文本 2010-05-18 15:33:49| 分类: 工程|标签: |字号大中小订阅;2010-05-18 武赤公路;用于提取地形图中的高程点(碎步点)坐标,同时可以提取点( point )的坐标;本程序的缺点是不能过滤对象,同时也成为了他的优点;没有限制点的样式,块也可以,点也可以; ;本程序设计保存文件是可以在已有文件中继续添加数据,但是序号不再累积;这样可以判断不同时期选取的数据(defun c:gcdtq() (setvar "cmdecho" 0);指令执行过程不响应(setq ff (open (getfiled "文件保存为" "f:/" "dat" 1) "a")) (setq en (entsel "选择高程点:")); 要求碰选一个高程点(setq i 1); 生成序号(while en (setq en_data (entget (car en))) ;取得元体资料列表(setq pt (cdr (assoc 10 en_data))) ;求得高程点坐标 pt (setq py(rtos (nth 1 pt))); 提取测量坐标系 Y值(setq px(rtos (nth 0 pt))); 提取测量坐标洗 X值(setq pz(rtos (nth 2 pt))); 提取测量坐标系 Z值(setq pi(rtos i2 0)) (setq