坐标提取lisp 程序 2010-05-17 20:50:07| 分类: 工程 | 标签: |字号大中小 订阅 ;该程序主要用于CAD 点(point)三维坐标提取,并将数据输出为CASS 软件中使用的数据格式 ;输出格式: 点号,,测量Y 值,测量X 值,测量Z 值 例:1,,100.3244,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 ss i )) (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 i1 2 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| 分类: ...