余剑
(蚌埠市勘测设计研究院,安徽蚌埠 233000)
利用.Net实现纵横断面中百米桩的自动绘制
余剑∗
(蚌埠市勘测设计研究院,安徽蚌埠 233000)
利用VB.NET对AutoCAD进行二次开发,实现了纵横断面中百米桩的自动绘制,极大地方便了内业工作量。
纵横断面;百米桩;Visual Basic 2005
纵横断面测量在平常的市政工程中经常会遇到,在外业数据采集完成后,就要进行内业成果的整理了。根据设计院的要求,要提交规定的Excel格式、带状平面图。而带状平面图上要有百米桩的高程数据。以前的做法就是根据Excel表格手工输入里程桩高程。非常不方便,费时费力,而且容易出错。
Visual Basic 2005是微软开发的一种基于.NET类库的语言,它虽然简单,但能解释某些复杂的事件。随着语言的不断发展,AutoDesk公司为了让AutoCAD的二次开发具有更多的语言,他们把CAD的常用功能封装成类库,并提供给了.Net语言。这样开发者就可以利用Visual Basic 2005开发出简单的功能了。
(1)读取断面文件
由于提供的是Excel文件,所以程序设计时采用xls扩展名的文件。当然可以根据不同的需要来设置不同的文件扩展名。
(2)提取百米桩的高程
纵横断面文件格式如图1所示。
图1 纵横断面格式
提取如0+100、0+200这样的百米桩数据,如图2所示。
图2 提取的数据
(3)选取要绘制百米里程桩的道路中心线
所选取的多线段必须是连续的,如果多线段的方向和道路的里程方向不相符,那么可以把多线段的方向重置,使得与之相符。
(4)绘制百米里程桩。结果如图3所示。
图3 百米里程桩
在.Net开发AutoCAD时,是利用类来实现各种功能的。主要内容如下:
(1)为百米里程桩建立一个Data类,用来存储里程数据。
Visual Basic 2005是一种易学易懂的语言。用此语言来进行AutoCAD二次开发非常方便。本程序根据在实际中的应用而开发出来的,实现了纵横断面百米里程桩的自动绘制,在工作中方便了内业人员,提高了工作效率。
[1] AutoCAD.NET开发人员手册.
[2] AutoCAD 2006帮助文件.
Civil 3D Application in the Calculation of Earthwork
Yu Jian
(Bengbu Geotechnical Engineering and Surveying Institute,Bengbu 233000,China)
This article is to AutoCad with vb.net secondary exploitation,to achieve a cross-section in 100 m automatic draw pile,which greatly eases the workload within the industry.
cross-section;Hundred meters piles;Visual Basic 2005
1672-8262(2011)02-139-02
P209
B
2010—09—17
余剑(1981—),男,工程师,主要从事城市测量工作。