坐标提取lisp程序

上传人:工**** 文档编号:469731699 上传时间:2022-12-07 格式:DOC 页数:22 大小:185KB
返回 下载 相关 举报
坐标提取lisp程序_第1页
第1页 / 共22页
坐标提取lisp程序_第2页
第2页 / 共22页
坐标提取lisp程序_第3页
第3页 / 共22页
坐标提取lisp程序_第4页
第4页 / 共22页
坐标提取lisp程序_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《坐标提取lisp程序》由会员分享,可在线阅读,更多相关《坐标提取lisp程序(22页珍藏版)》请在金锄头文库上搜索。

1、坐标提取lisp程序2010-05-1720:50:07|分类:工稈|标签:|字号大中小订阅;该程序主要用于CAD点(point)三维坐标提取,并将数据输出为CASS软件中使用的数据格式输出格式:点号,,测量Y值,测量X值,测量Z值例:1,100.3244,1232,433,25;2010-05-17;命令:plzbsc(defunc:plzbsc()(princn选择所需输出的点(point):)(setqss(ssget);选取坐标点(setqn(sslengthss);计算坐标点数量(setqff(open(getfiled文件保存为f:/dat1)w);保存路径(setqi0)(rep

2、eatn(setqspt(ssnamessi)(setqept(entgetspt)(if(=(cdr(assoc0ept)POINT)(progn(setqlxyz(cdr(assoc10ept)(setqsx(rtos(nth1仪yz);将坐标值实数转换成字符(setqsy(rtos(nth0lxyz)(setqsz(rtos(nth2lxyz)(setqi1(+i1);计算点序号(setqsn(rtosi120);将序号实数转换成字符(setqsxyz(strcatsn,sy,sx,sz)(write-linesxyzff)(setqi(+i1);repeat)(prompt*输出格式(

3、点号,Y,X,Z)*)(prin1)地形图上提取碎步点(高程点)坐标并输出到文本2010-05-1808:50:38|分类:工程|标签:|字号大中小订阅利用程序提取地形图上碎步点的三维坐标。并输出到记事本中,该程序待修改的地方是不能选取点,并输出数据,待改正。(defunc:gcdtq()(setvarcmdecho0);指令执行过程不响应(setqen(entsel选择高程点:);要求碰选一个高程点(setqff(open(getfiled文件保存为f:/txt1)a)(setqen_data(entget(caren);取得元体资料列表(setqpt(cdr(assoc10en_data)

4、;求得高程点坐标pt(setqpy(rtos(nth1pt);提取测量坐标Y值(setqpx(rtos(nth0pt);提取测量坐标X值(setqpz(rtos(nth2pt);提取测量坐标Z值(setqsxyz(strcatpxpypz)(write-linesxyzff)(prin1)(promptn*I!(prin1)连续选取高程点并输出到文本2010-05-1815:33:49|分类:工程|标签:|字号大中小订阅;2010-05-18武赤公路;用于提取地形图中的高程点(碎步点)坐标,同时可以提取点(point)的坐标;本程序的缺点是不能过滤对象,同时也成为了他的优点;没有限制点的样式,

5、块也可以,点也可以;;本程序设计保存文件是可以在已有文件中继续添加数据,但是序号不再累积;这样可以判断不同时期选取的数据(defunc:gcdtq()(setvarcmdecho0);指令执行过程不响应(setqff(open(getfiled文件保存为f:/dat1)a)(setqen(entsel选择高程点:);要求碰选一个高程点(setqi1);生成序号(whileen(setqen_data(entget(caren);取得元体资料列表(setqpt(cdr(assoc10en_data);求得高程点坐标pt(setqpy(rtos(nth1pt);提取测量坐标系Y值(setqpx(r

6、tos(nth0pt);提取测量坐标洗X值(setqpz(rtos(nth2pt);提取测量坐标系Z值(setqpi(rtosi20)(setqpxyz(strcatpi,px,py,pz);输出为CASS数据格式(write-linepxyzff);写入文本(setqen(entseln选择下一个高程点回车结束选择:)(setqi(+i1)(closefile)(prin1)(prompt*从CASS中提取高程点或(point)点坐标,*高程点提取*)(prin1)横断面数据提取(待修改)2010-05-1821:59:09|分类:工程|标签:|字号大中小订阅(defunc:hdm()(se

7、tvarcmdecho0);指令执行过程不响应;计算方位角(setqff(open(getfiled文件保存为c:/hdm1)a)(setqzh(getreal请输入桩号:);计算横断面上点到中心线的垂距,数值分正负(setqpt1(getpointn拾取纵断面上的一点:);用于确定横断面上的零点位置(setqx1(carpt1);给纵断面上一点X赋值x1(setqy1(cadrpt1);给纵断面上一点Y赋值y1(setqpt2(getpointn拾取纵断面上的第二点:);用于确定横断面上的零点位置(setqx2(carpt2);给纵断面上一点X赋值x1(setqy2(cadrpt2);给纵断

8、面上一点Y赋值y1计算纵断面(pt1-pt2)方位角(setqj1(atan(/(-y2y1)(+(-x2x1)0.00000001)(setqj2(/(*j1180)pi)(if(-y2y1)0)(setqsgn1);符号判断(if(=(-y2y1)0)(setqsgn0)(if(-y2y1)0)(setqsgn-1)(setqfwj(+(-180(*90sgn)j2);方位角计算(setqang(/(*fwjpi)180)(setqen(entsel选择高程点:);要求碰选一个高程点(whileen(setqen_data(entget(caren);取得元体资料列表(setqpt(cdr

9、(assoc10en_data);求得高程点坐标pt(setqpy(nth1pt);提取测量坐标系Y值(setqpx(nth0pt);提取测量坐标洗X值(setqpx2(sinang)(setqpx3(cosang)(setqcj(-(*(-pyy1)(cosang)(*(-pxx1)(sinang);计算垂直距离(cj)(setqdist(rtoscj20)(setqpz(rtos(nth2pt)提取测量坐标系Z值(setqpdz(strcatdist,pz);输出为CASS数据格式(write-linepdzff);写入文本(setqen(entseln选择下一个高程点:)(closefi

10、le)(prin1)(prompt*从CASS中提取高程点或(point)点坐标,*C:hdm*输出横断面数据(平距,高程)*)(prin1)批量提取CAD中点(point)三维坐标2010-05-2223:11:43|分类:默认分类|标签:|字号大中小订阅;该程序主要用于CAD点(point)三维坐标提取,并将数据输出为CASS软件中使用的数据格式输出格式:点号,,测量Y值,测量X值,测量Z值例:1,100.3244,1232,433,25;2010-05-17罗泽钢中国葛洲坝集团基础工程有限公司;命令:plzbsc(defunc:plzbsc()(princn选择所需输出的点(point)

11、:)(setqss(ssget);选取坐标点(setqn(sslengthss);计算坐标点数量(setqff(open(getfiled文件保存为f:/dat1)w);保存路径(setqi0)(repeatn(setqspt(ssnamessi)(setqept(entgetspt)(if(=(cdr(assoc0ept)POINT)(progn(setqlxyz(cdr(assoc10ept)(setqsx(rtos(nth1仪yz);将坐标值实数转换成字符(setqsy(rtos(nth0lxyz)(setqsz(rtos(nth2lxyz)(setqi1(+i1);计算点序号(setq

12、sn(rtosi120);将序号实数转换成字符(setqsxyz(strcatsn,sy,sx,sz)(write-linesxyzff)(setqi(+i1);repeat)(prompt*只适合point点*输出格式(点号,Y,X,Z)*)(prin1)从CASS提取高程点坐标输出到文本2010-05-2223:15:18|分类:工程|标签:高程点提取cass|字号大中小订阅:2010-05-17(defunc:gcdtq()(setvarcmdecho0);指令执行过程不响应(setqen(entsel选择高程点:);要求碰选一个高程点(setqff(open(getfiled文件保存为

13、f:/txt1)a)(setqen_data(entget(caren);取得元体资料列表(setqpt(cdr(assoc10en_data);求得高程点坐标pt(setqpy(rtos(nth1pt);提取测量坐标Y值(setqpx(rtos(nth0pt);提取测量坐标X值(setqpz(rtos(nth2pt);提取测量坐标Z值(setqsxyz(strcatpxpypz)(write-linesxyzff)(prin1)(promptn*I!(prin1);修改后可以实现连续提取2011-02-25(defunc:gcdtq()(setvarcmdecho0);指令执行过程不响应(s

14、etqff(open(getfiled文件保存为f:/dat1)a)(setqn0)(while;循环语句(setqen(entseln选择高程点:);要求碰选一个高程点(redraw(caren)3);亮显高程点(setqn(+n1)(setqpn(rtosn20)(setqen_data(entget(caren);取得元体资料列表(setqpt(cdr(assoc10en_data);求得高程点坐标pt(setqpy(rtos(nth1pt);提取测量坐标Y值(setqpx(rtos(nth0pt);提取测量坐标X值(setqpz(rtos(nth2pt);提取测量坐标Z值(setqsxyz(strcatp

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号