欢迎来到天天文库
浏览记录
ID:52174399
大小:261.83 KB
页数:4页
时间:2020-03-23
《在AutoCAD平台下开发通用隧洞断面绘制程序.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第1期矿山测量NO.12Ol0年2月MINESURVEYINGFeb.20lOdoi:10.3969/j.issn.1001—358X.2010.01.005在AutoCAD平台下开发通用隧洞断面绘制程序刘武陵(湖南省常德市房地产产权管理处,湖南常德415000)摘要:通过对隧洞断面测量内业工作的总结分析,利用ObjectARX及插件技术,开发完成了具有较强扩展性和适用性的通用隧洞断面绘制软件。关键词:0bjectArx;插件;隧洞;断面绘制;超欠挖面积中图分类号:P209文献标识码:B文章编号:1001—358X(2010)01—0018—04由于隧洞工程的施工特点,需要频繁检测开挖计算)
2、,并且对一批桩号的断面进行统计汇总,将所断面,并且要求能够以最快的速度提供检测资料。有计算、统计结果按一定的格式输出到文件中,并将以往由于缺乏合适的软件,资料的处理大部分依靠计算结果用表格的形式在图上绘出。手工来完成,内业工作量大、作业时间长,常常不能2程序界面设计及时提供资料,且成果的格式不统一、式样不美观,超欠挖工程量的计算也没有实现自动化。0bject-程序共有三种界面,一是主程序的界面,它的目ARX是AutoDesk公司针对AutoCAD平台上的二次的是让使用者选择需要类型的设计参数和绘图参数开发而推出的一个开发软件包,它提供了以C++设置界面,并负责装载绘图插件和参数设置插件。为基
3、础的面向对象的开发环境及应用程序接口,能实现后的界面见图1。真正快速的访问AutoCAD图形数据库。通过利用ObjectArx开发包和VC6,成功开发了隧洞断面处理软件,可以轻松实现隧洞断面自动绘制与超欠挖工程量计算的自动化。1开发思路软件需要实现两个功能,一是实现设计断面和实测断面冈的绘制,另一个是实现超欠挖工程量计算和相关的统计功能。断面绘制功能的主要任务是:实现设计断面的绘制、实测断面的绘制,超欠挖图1主程序界面及绘图插件界面标注、绘制图框、图签、绘制超欠挖表格的绘制。每一种类型的设计断面插件都有自己的界面,隧洞的实测横断面图的绘制方法就是将实测设计断面插件界面的作用是为了让使用者根据
4、实际的断面数据点展到图上,然后再用线按顺序连接断面形状输入响应的设计参数。起来。设计横断面的绘制方法就比较复杂,首要绘图参数界面让使用者可以设置图形的绘制属问题是设计断面的数据如何获取?由于不同的洞性,比如:线型、颜色、所在图层、线宽、部分注记文字室其设计参数均不同,故其设计断面也千差万别。的内容、注记式样、字体尺寸等参数。但通常隧洞横断面的设计外形多是圆弧、圆、矩形、城门洞等形状,而这些形状可以通过一些固定3绘图、计算插件设计的参数来确定,因此我们就能够用这些参数来表绘图、计算插件有三个主要的功能。第一个功示不同类型的设计断面。能是接受用户输人的设计参数并绘制出响应的设计超欠挖工程量计算功
5、能的任务是针对某一桩号断面图,第二个功能是由实测断面数据绘制出隧洞的断面进行超欠挖面积的计算(面积将用于方量的的实测断面图,第三个功能是根据生成的设计断面l8第1期刘武陵:在AutoCAD平台下开发通用隧洞断面绘制程序2009年2月图和实测断面图来计算和标注超欠挖面积。下咖面将∞具体介绍该插件的实现方法。~3.1接口函数将每一种类型的设计断面用一个插件来实现,并且所有的绘图插件都提供相同接口函数,这样主程序图3梯形断面里就可以用同样的代码来实现不同设计断面绘制功(2)圆弧和圆型断面能,从而使用主程序可以通过插件来扩展自己的功能对于横断面为圆弧或圆的断面(图4),只需要而不用从新编译发行。插件
6、的图形描述见图2。知道半径R和这段圆弧的弦长S这两个设计参数。用弦长来区分优弧、劣弧、圆。规定设计参数中弦长大于0表示为劣弧,弦长小于0表示为优弧,弦长等于0表示为圆。图2绘图插件接口示意图主程序通过调用插件的函数DrawDMInDll来绘制设计断面和实测断面以及各种注记等。通过Get—Dlg来获得DLL中创建的对话框对象指针,使DLL图4圆弧、圆形设计断面中的对话框可以显示在主程序界面中。用GetPlug—(3)城门、马蹄型断面Info来获得插件的名称、类型等信息。GetVersion用这种形状的断面可以通过上面两种形状结合而来获得插件的版本信息,保证正确版本的插件被调用。成,见图5,城门
7、型断面的形状可以用下列参数来控制:圆弧部分的半径、矩形部分的高度日、矩形(马由于每个不同的绘图插件界面里的对话框类是蹄型)部分的上底宽度和弦长S一样,下底宽度,不一样的,而要使所有的插件提供的接口函数完全用S值的正负来表示优弧和劣弧。一致,可以利用C++的多态性来达到目的。3.2绘图方法类为了实现源码级的代码复用,这里定义了一个绘图抽象基类,该类只把public类型的函数暴露给用户,其它的函数和变量被封装在类
此文档下载收益归作者所有