河北华沃电力工程设计有限公司河北保定071051
摘要:本文主要利用Visuallisp编写,能够减少手工在AutoCAD图上提取坐标的错误和提高工作效率,保证后续工作的准确性。
关键词:AutoCAD;VisualLISP;提取坐标
UsingVisuallispwritteninAutoCADgraphicsextractionCoordinateprogram
LiuXin
(HebeiHuawoPowerEngineeringDesignCo.Ltd,Baoding,071051,China)
Abstract:ThispapermainlyusesVisualLISPtowrite,whichcanreducetheerrorofmanualextractionofcoordinatesontheAutoCADdiagramandimproveworkefficiency,andensuretheaccuracyoffollow-upwork.
Keywords:AutoCAD;VisualLISP;Extractioncoordinate
1引言
外业放样(点坐标)工作中,通常的做法如下:
(1)在AutoCAD图形文件中,手工把坐标数据抄写到纸上。
(2)再把纸上的坐标数据输入到计算机中。
(3)将输入的坐标文件数据通过传输线传到GPS手薄和全站仪上。
在步骤(1)、(2)当中都是采用手工的方法,工作当中难免会有差错,如坐标数据中的一位数字或小数点的位置错误,都导致后续放样错误,正所谓差之丝毫、逆之千里。现在利用AutoCAD中Visuallisp语言二次开发编制一个自动提取坐标程序。便可以轻松解决上述问题。
2.程序设计
2.1程序源代码
(defunc:txzb()
(command"_.layer""m""dldw""s""dldw""""")
(command"_.style""standard""hztxt.shx""3""1""0""""""")
(setqlong"D:/LX.XYZ")
(setqf(openlong"w"))
(command"osnap""node")
(while(/=dh"Z")
(setqp1(getpoint"\n>>请用鼠标选取点:"))
(setqdh(getstring"\n>>请输入点号:"))
(setqz(getstring"\n>>请输入高程:"))
(setqx(carp1)
y(cadrp1)
)
(command"text"(listxy)"0"dh)
(setqx(rtosx23)
y(rtosy23)
)
(setqzb(strcatdh","y","x","z","))
(princzbf)
(princ"\n"f)
)
(closef))
2.2程序使用方法
首先要在AutoCAD的安装目录“support”文件夹中添加字体形文件“hztx.shx”。
(1)打开AutoCAD中的*dwg文件,在左下脚“命令”栏中输入“appload”加载提取坐标的文件“提坐标txzb”,点击“加载”
(2)在左下脚“命令”栏中输入“txzb”(不分大小写)按回车键。
(3)用鼠标选取所要的点位坐标。
(4)在左下脚输入这个点的点号,如“N1”按“回车键”
(5)在左下脚输入这个点的高程,如“30.45”按“回车键”
重复(3)、(4)、(5)的步骤,如果所要的点选取完毕,在输入点号时则需要输入大写的“Z”,程序结束。会在D盘自动生成一个名为“LX.XYZ”的文件,用记事本打开即可见到提取的坐标数据,把点号为“Z”的坐标删除,另存为所需的新文件。坐标文件的数据格式为:“点号,X坐标,Y坐标,备注”。
3.结束语
本程序是在AutoCAD下Visuallisp语言二次开发的。其功能主要是利用鼠标选取*.dwg文件中的点位坐标,减少手工抄写及输入的错误、提高工作效率。但其中还有些不足:使用者需要准确无误选取图上点位、输入点号和高程。不能进行中断或输入、返回、撤销等,反复练习几次即可熟练掌握。
参考文献
[1]周乐来、马婧.《AutoCAD2008VisualLISP二次开发入门到精通》.机械工业出版社.ISBN-13:9787111237044