论基于ObjectARX的自定义实体在地下管线数据处理中的应用论文

时间:2019-11-15 07:41:44 论文范文 我要投稿

论基于ObjectARX的自定义实体在地下管线数据处理中的应用论文

  摘 要:采用ObjectARX的自定义实体开发技术,可以实现管线数据与管线实体的图形及几何表现实时匹配,创建AutoCAD中没有的管线自定义实体,高效的完成管线数据的采集与编辑。

论基于ObjectARX的自定义实体在地下管线数据处理中的应用论文

  关键词:

  关键词:地下管线 ObjectARX 自定义实体 反应器 C++

  在从事城市地下管线探测中一般分为三个阶段。第一阶段:外业物探数据收集;第二阶段:内业做业,查错改错;第三个阶段:提交数据。其中,第一阶段和第二阶段是工作最繁重、主要的过程,一般由各个探测单位在监理和甲方的管理下进行,各单位需要在外业检查通过的基础上生成管线图,进行成图、查错、检查、图面修饰,提交符合甲方要求的管线数据。AutoCAD的图形编辑功能更简便、高效、实用,使用的人员更广泛,AutoCAD的DWG/DXF格式现已成为管线图形标准,所以采用AutoCAD平台开发管线数据采集软件是一个兼顾效率和价格的较好选择。

  对AutoCAD二次开发中,0bjectARX是AutoCAD本身自带的开发库,是功能最强大,运行效率最高的,0bjectARX不但可以访问AutoCAD的所有资源,还具有C++高效的内存、运行效率。0bjectARX除了生成、编辑、管理所有AutoCAD实体对象,还可以创建特定的AutoCAD自定义实体,充分发挥C++特有的面向对象编程思维(OOP)的优势,很好的融入AutoCAD本身,最大化的提高AutoCAD处理数据的效率。

  1 管点、线自定义实体的基本要求

  一是访问的快捷性;二是属性数据的写入与读取高效性;三是图形的表现实时性;四是点和线之间的逻辑关系清晰性;五是属性与图形表现之间的关系统一性。

  2 自定义管线点、管线实体

  自定义实体,是采用C++继承的方法,在ObjectARX提供的对象基类上,派生一个包含开发者特定数据,特定方法,并具有特定图形表现的新的C++对象类,可以完全控制其数据内容、存储方法及图形表现,可以很好区分AutoCAD提供的实体对象。是一种高效灵活、性能优异的开发方法。

  2.1 定义新实体类(自定义实体)

  在ObjectARX中,所有具有图形表现的数据库对象均被视为实体,类名为AcDbEntity,实体具有颜色、线型、线型比例,可见性.层,线宽、绘图样名等属性。派生新的管线类时,可以选择这类为基类。

  2.2 方法的实现

  为了实现管点、线特定的一些特性,需要重载基类的'成员虚函数来实现。

  主要成员函数功能

  dwgOutFieldsDWG格式的保存

  dwgInFieldsDWG格式的读取

  dxfOutFieldsDXF格式的保存

  dxfInFieldsDXF格式的保存

  worldDraw模型窗口的图形的绘制

  getGripPoints获取对象的夹点

  moveGripPointsAt移动对象的夹点

  transformBy对象的几何变换(缩放,旋转等)

  2.3 数据的封装

  管点、线都有特定的一些静态属性数据和一些动态数据。静态属性如:管点的坐标,点号;管线的起点,终点等。可根据系统的需求封装到实体对象中,通过实现DWG/DXF对应的写入、写出成员函数来进行对应的操作。

  3 自定义实体的优势

  AutoCAD实体对象对属性数据的存取主要提供扩展数据(xdata)或扩展词典这两种方法,以下就对自定义实体和AutoCAD提供的实体对象扩展数据进行比较分析。

  功能AutoCAD实体自定义实体

  识别首先使用打开实体,然后获取相应的扩展数据来区分管点、线和地形或者其他实体。1. isKindOf()直接测试区别;

  2. acdbOpenObject()直接打开实体测试。

  数据的存取扩展数据得到的是一个链表,要遍历链表才能得到相应的属性。可以实现更好的算法来更高效的实现数据存取如Map表。

  图形表现只能依据既定的方法来表现图形可以根据系统的要求,自由的设计实现图形的表现方法

  从对比结果上看,无论从效率和实现方法上来论,自定义实体都有无可比拟的优势。在实际对管线的操作中,都是以上几个功能的组合重复的应用,所以自定义实体在效率上具有绝对的优势。

  4 使用objectARX的扩展MFC创建界面

  ObjectARX有一系列的MFC用户界面与一些类相关,创建满足具体需要的具有AutoCAD风格的自己的界面。如:自定义管点、线实体的双击事件,属性显示事件等。

  5 结语

  采用0bjectARX开发管线数据采集系统,高效简洁,性能优异。目前,相当多的管线施工单位采用这一技术,关于AutoCAD二次开发在城市地下管线数据的采集与管理中,多数讨论的是如何将扩展数据或扩展字典附加到AutoCAD提供的基本实体中,虽然这两种方法也能添加对象专有数据,但这两种方法在效率和处理能力上来说还是有一定的局限性,不能很友好、高效率的处理万量级管线数据。利用0bjectARX的高级技术,在数据组织和方法实现上具有高度的自由性和灵活性,利用自定义类的高度集成的优势,再连接关系数据库,使得数据组织结构化,简洁明了,全面的挖掘0bjcctARX的潜力.

【论基于ObjectARX的自定义实体在地下管线数据处理中的应用论文】相关文章:

1.论博弈论在电力定价中的应用论文

2.论絮凝剂的在水处理中的应用论文

3.论焊轨车在换轨施工中的应用论文

4.吉他在乐队中的应用论文

5.光影在美学中的应用的论文

6.超声在异位妊娠诊断中的应用论文

7.高粱在各种食品中的综合应用论文

8.GPS在石油勘探中的应用论文