首页 > 范文大全 > 正文

基于ObjectARX的交通工程绘图系统的研究与开发

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于ObjectARX的交通工程绘图系统的研究与开发范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:在市政道路交通工程设计过程中,交通标牌绘图量大,统计耗时,影响着整个设计项目的进度。本文中设计的交通工程绘图系统,采用DWGdirect中的图形交互技术、ObjectARX中的深度克隆技术,以及标牌属性的自识别技术,从自动化与智能性等方面着手,极大地提高了设计出图效率。

关键词:市政道路;DWGdirect图形;工程绘图系统

中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2017)01-0165-01

1 引言

在市政设计领域中,交通标志的绘制及其工程量统计非常重。在长达数十公里的道路上,按照设计规范逐个绘制标牌,并加以统计,是一项较为耗时的工作。为此,需要利用计算机辅助制图进行参数化设计。根据GB 5768-2009中关于道路交通标志的规定,本文将常用的交通标志归为以下几类:警告标志47种、禁令标志48种、指示标志36种、指路标志79种、旅游标志17种、辅助标志22种,并制作成模板保存到Dwg文件中。根据设计需要使用模板时,其内容和尺寸都可能被调整,这给参数化设计带来一定挑战。为此,本文使用基于DWGdirect的图形交互技术,增强参数化体验;通过深度克隆技术,快速绘制参数化修改后的标牌;再结合标牌属性的自识别,实现一键式工程量统计,提高整体设计效率。

2 DWGdirect图形交互技术

DWGdirect源于开放设计协会,是一套针对CAD文件读写的高质量类库。它可以独立于AutoDesk平台对DWG文件进行读写操作及图形查看,方便集成到Winform窗体上。本文设计的软件系统中,将DWGdirect与.net的Panel相结合,构建交通标志的展示区,如图1中的黑色背景区域,并支持标志内容的实时编辑,为用户提供了高效的交互途径。

2.1 DWGdirect加载图形文件

在读取文件之前,需要通过创建Teigha.Runtime.Services的实例来注册服务,这是调用所有DWGdirect方法的前提。文件的读取首先要通过DatabaseServices实例化数据库,然后运用ReadDwgFile方法读取指定图形文件。打开方式尽量使用OpenForReadAndAllShare模式,减少文件占用报错的机率。读取文件到数据库后,需要将其指定为当前工作的数据库。

2.2 图形交互控件的初始化

先从WinGDI.txv文件加载绘图模块并创建绘图驱动器。这涉及到Teigha.GraphicsSystem命名空间下的GsModule和Device类。然后通过Device的WindowHDC属性绑定Panel控件。接着为Dwg数据库指定上下文Context ForDbDatabase,并启用UseGsModel属性。最后通过LayoutHelperDevice.SetupActiveLayoutViews方法启动视图,完成交互控件的初始化。

针对交通标志,主要是编辑标志中的文字内容,这需要文字的选取和修改两个步骤。文字的选取主要通过绘图驱动器graphichsDevice的ActiveView,得到当前视图,然后调用其Select方法,并传入鼠标点击的位置坐标,从而得到文字对象的ID。再用TransactionManager⒍一个事务,根据ID得到文字对象,修改对应的内容、颜色等属性即可。

3 深度克隆技术

参数编辑后的交通标志需要绘制到用户CAD中,这里通过数据库之间的克隆技术来实现。克隆时需要考虑实体、符号表之间的关联,保证克隆的完备性。objectarx中数据库对象的封装,包括命名对象字典、块表、层表、字体样式表、标注样式表、线型表、视口表、UCS表、注册应用表等,它们的对应关系如图2所示。这些关系中包含硬所有、软所有、硬指针、软指针等关联关系。调用WblockClone Objects,通过深度克隆将标牌模板中的实体,及其对应的图层、字体、线型等具有指针关系和所有关系的对象,一并复制到当前图形中。

4 标牌属性自识别

标牌自识别通过扩展数据XData来实现。该机制方便自定义的应用程序进行简单的读写操作。同一实体可以为不同应用程序存储数据,这需要通过事务将RegAppTable Record添加到应用程序符号表中,完成应用程序名的注册,并通过DxfCode.ExtendedDataRegAppName数据类型,指定扩展数据所属的应用程序。XData支持的数据类型有限,其DXF组码范围为[1000,1071],且每个实体的 Xdata数据最大为16K。我们仅将标牌的类别、形状、尺寸、备注等关键信息存储到标牌外框的扩展数据中,供标牌统计时使用。

5 结语

通过对DWGdirect开放类库,以及深度克隆和扩展数据等AutoCAD二次开发技术的研究与讨论,对交通标牌的绘制与工程量统计提出了有效解决方案。其效率在实际工程应用中得到证实。交通标线的识别与自适应绘制将是下一步的研究重点。

参考文献

[1]晏韵,许超.基于DWGDirect访问AutoCAD DWG图形文件[J].工程图学学报,2010(6):178-181.

[2]饶金通,姜青山.基于ObjectARX的实体扩展数据二次开发技术研究[C].第16届全国计算机新科技与教育研讨会,2007.