您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 坐标提取lisp程序
坐标提取lisp程序2010-05-1720:50:07|分类:工程|标签:|字号大中小订阅;该程序主要用于CAD点(point)三维坐标提取,并将数据输出为CASS软件中使用的数据格式;输出格式:点号,,测量Y值,测量X值,测量Z值例:1,,100.3244,1232,433,25;2010-05-17;命令:plzbsc(defunc:plzbsc()(princ\n选择所需输出的点(point):)(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(nth1lxyz)));将坐标值实数转换成字符(setqsy(rtos(nth0lxyz)))(setqsz(rtos(nth2lxyz)))(setqi1(+i1));计算点序号(setqsn(rtosi120));将序号实数转换成字符(setqsxyz(strcatsn,,sy,sx,sz))(write-linesxyzff)))(setqi(+i1)));repeat)(prompt*命令:plzbsc*输出格式(点号,,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)));求得高程点坐标pt(setqpy(rtos(nth1pt)));提取测量坐标Y值(setqpx(rtos(nth0pt)));提取测量坐标X值(setqpz(rtos(nth2pt)));提取测量坐标Z值(setqsxyz(strcatpxpypz))(write-linesxyzff)(prin1))(prompt***************C:gcdtq*****************)(prin1)连续选取高程点并输出到文本2010-05-1815:33:49|分类:工程|标签:|字号大中小订阅;2010-05-18武赤公路;用于提取地形图中的高程点(碎步点)坐标,同时可以提取点(point)的坐标;本程序的缺点是不能过滤对象,同时也成为了他的优点;没有限制点的样式,块也可以,点也可以;;本程序设计保存文件是可以在已有文件中继续添加数据,但是序号不再累积;这样可以判断不同时期选取的数据(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(rtos(nth0pt)));提取测量坐标洗X值(setqpz(rtos(nth2pt)));提取测量坐标系Z值(setqpi(rtosi20))(setqpxyz(strcatpi,,px,py,pz));输出为CASS数据格式(write-linepxyzff);写入文本(setqen(entsel\n选择下一个高程点回车结束选择:))(setqi(+i1)))(closefile)(prin1))(prompt**从CASS中提取高程点或(point)点坐标,*C:gcdtq*高程点提取**)(prin1)横断面数据提取(待修改)2010-05-1821:59:09|分类:工程|标签:|字号大中小订阅(defunc:hdm()(setvarcmdecho0);指令执行过程不响应;计算方位角(setqff(open(getfiled文件保存为c:/hdm1)a))(setqzh(getreal请输入桩号:));计算横断面上点到中心线的垂距,数值分正负(setqpt1(getpoint\n拾取纵断面上的一点:));用于确定横断面上的零点位置(setqx1(carpt1));给纵断面上一点X赋值x1(setqy1(cadrpt1));给纵断面上一点Y赋值y1(setqpt2(getpoint\n拾取纵断面上的第二点:));用于确定横断面上的零点位置(setqx2(carpt2));给纵断面上一点X赋值x1(setqy2(cadrpt2));给纵断面上一点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(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(entsel\n选择下一个高程点回车结束选择:)))(closefile)(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()(princ\n选择所需输出的点(point):)(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(nth1lxyz)));将坐标值实数转换成字符(setqsy(rtos(nth0lxyz)))(setqsz(rtos(nth2lxyz)))(setqi1(+i1));计算点序号(setqsn(rtosi120));将序号实数转换成字符(setqsxyz(strcatsn,,sy,sx,sz))(write-linesxyzff)))(setqi(+i1)));repeat)(prompt*只适合point点命令:plzbsc*输出格式(点号,,Y,X,Z)**)(prin1)从CASS提取高程点坐标输出到文本2010-05-2223:15:18|分类:工程|标签:高程点提取cass|字号大中小订阅:2010-05-17(defunc:gcdtq()(setvarcmdecho0);指令执行过程不响应(setqen(entsel选择高程点:));要求碰选一个高程点(setqff(open(getfiled文件保存为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))(prompt***************C:gcdtq*****************)(prin1);修改后可以实现连续提取2011--02--25(defunc:gcdtq()(setvarcmdecho0);指令执行过程不响应(setqff(open(getfiled文件保存为f:/dat1)a))(setqn0)(while;循环语句(setqen(entsel\n选择高程点:));要求碰选一个高程点(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(strcatpn,,px,py,pz))(write-linesxyzff)(prin1)(princsxyz)))(prompt*****C:gcdtq***提取高程点输出为CASS格式****)(prin1);VLISP与EXCEL之间连接及数据传输和函数集2011-05-2908:35:14|分类:工程|标签:|字号大中小订阅;;;*************************************************************************;;;;;;DSX-API-Excel.LSP;;;;;;VisualLISPActiveXAPIforExcel97,2000andXP;;;;;;Copyright(C)2002DavidM.Stein,Allrightsreserved;;;;;;*************************************************************************;;;;;;Version2002.2205/15/02:Initialrelea
本文标题:坐标提取lisp程序
链接地址:https://www.777doc.com/doc-4842597 .html