一种实现dwg图形属性和数据库同步的方法

文档序号:6506243阅读:1051来源:国知局
一种实现dwg图形属性和数据库同步的方法
【专利摘要】本发明公开了一种实现DWG图形属性和数据库同步的方法,所述方法包括以下步骤:(1)引用托管ObjectARX托管封装类,添加引用acdbmgd.dll与acmgd.dll;(2)通过数据访问接口连接数据库,其中,读取数据库信息,为下一步骤在AutoCAD平台上成图提供数据信息;需要引用Microsoft?DAO?3.6?Object?Library;(3)在AutoCAD上创建图形实体,其中,用托管ObjectARX在AutoCAD上创建实体,可插入块、线段与文字;(4)在AutoCAD平台上读取实体信息,在AutoCAD平台上拾取块实体或者线段实体;(5)AutoCAD平台上图形实体和数据库进行连接,实现图形属性和数据库信息同步。本发明实现了图形实体和数据库的连接,用户一旦进行修改操作,图形属性和数据库的信息都会同步得到修改,实现了图库联动的目的。
【专利说明】—种实现DWG图形属性和数据库同步的方法
【技术领域】
[0001]本发明涉及AutoCAD绘图软件的优化与改进,具体涉及一种实现DWG图形属性和数据同步的方法。
【背景技术】
[0002]AutoCAD可用于二维绘图、详细绘制、设计文档和基本三维设计。现已经成为国际上广为流行的绘图工具。它的多文档设计环境,让非计算机专业人员也能很快地学会使用。在不断实践的过程中更好地掌握它的各种应用和开发技巧,从而不断提高工作效率。
[0003]但是,在地下管线内业工作中,成图软件存在不完善,使图形属性和数据库的修改不同步进行,造成内业工作效率低下的情况。

【发明内容】

[0004]鉴于现有技术的不足,本发明旨在于提供一种实现DWG图形属性和数据同步的方法,通过本发明将管线图图形属性和数据库的有机结合,根据更新机制判断图形或数据库的改动,对其对应的数据库或图形进行相应的修改,使其达到同步的效果。
[0005]为了实现上述目的,本发明采用的技术方案如下:
[0006]一种实现DWG图形属性和数据库同步的方法,所述方法包括以下步骤:
[0007](I)引用托管ObjectARX托管封装类,添加引用acdbmgd.dll与acmgd.dll ;
[0008](2)通过数据访问接口连接数据库,其中,读取数据库信息,为下一步骤在AutoCAD平台上成图提供数据信息;需要引用Microsoft DAO 3.6 Object Library ;
[0009](3)在AutoCAD上创建图形实体,其中,用托管ObjectARX在AutoCAD上创建实体,可插入块、线段与文字;
[0010](4)在AutoCAD平台上读取实体信息,在AutoCAD平台上拾取块实体或者线段实体;
[0011](5)AutoCAD平台上图形实体和数据库进行连接,实现图形属性和数据库信息同
止/J/ O
[0012]需要说明的是,所述步骤3中可通过数据访问接口连接数据库并从数据库中读取成图信息,包括点位坐标位置、属性信息,将其实体展绘在AutoCAD上,并将其属性信息写入实体的扩展数据,便于插入块实体信息的读取。
[0013]需要说明的是,所述步骤4中可通过ActiveX中GetEntity方法能够返回一个AcadEntity类型的对象和一个Variant类型变量,其中,所述Variant类型变量表示拾取点的位置。
[0014]本发明有益效果在于:
[0015]1、方便直观。本发明在AutoCAD上读取实体信息后,通过DAO连接数据库信息,并在弹出窗口显示出来;
[0016]2、快捷易用。用户可以通过窗口对数据进行添加或修改,非常方便快捷;[0017]3、实现同步。通过属性窗口,本发明实现了图形实体和数据库的连接,当用户进行修改操作,图形属性和数据库的信息都会同步得到修改,实现了图库联动的目的。
【专利附图】

【附图说明】
[0018]图1为本发明实施在AutoCAD上创建图形实体,其中可以包括块、线段和文字;
[0019]图2为本发明实施在AutoCAD平台上读取实体信息。
【具体实施方式】
[0020]下面将结合附图对本发明作进一步的描述。
[0021]需要说明的是,下述技术名词:
[0022]数据访问接口:DA0 (DataAccessObjects)
[0023]如图1、图2所示,本发明为一种实现DWG图形属性和数据库同步的方法,所述方法包括以下步骤:
[0024]步骤I,引用托管ObjectARX封装类,添加引用acdbmgd.dll与acmgd.dll ;
[0025]需要说明的是,在VB.NET中使用ObjectARX托管封装类,必须先添加引用acdbmgd.dll和acmgd.dll,然后在AutoCAD2009的安装目录下找到它们,并添加引用到工程中。其中,正如它们的名字所表示的,acdbmgd.dll包含ObjectDBX托管类,而acmgd.dll包含AutoCAD托管类。
[0026]需要进一步说明的是,在类的声明语句之前,导入ApplicationServices、DatabaseServices、Runtime、Geometry 和 EditorInput 等命名空间。
[0027]Imports Autodesk.AutoCAD.ApplicationServices
[0028]Imports Autodesk.AutoCAD.DatabaseServices
[0029]Imports Autodesk.AutoCAD.Runtime
[0030]Imports Autodesk.AutoCAD.Geometry
[0031]Imports.Autodesk.AutoCAD.EditorInput
[0032]步骤二,通过DAO连接数据库;
[0033]需要说明的是,工程使用Microsoft数据访问对象,需要引用Microsoft DAO 3.6Object Library,才能保证代码的顺利运行。通过DAO技术连接数据库文件,读取数据库信息,为下一步骤在AutoCAD平台上成图提供数据信息。其中,具体实现代码如下:
[0034]Dim DB As DA0.Database
Dim RP As DA0.Recordset
Dim RL As DA0.Recordset
Dim mdbdge As New DA0.DBEngine
MyMdb = mdbdge.Workspaces(0).0penDatabase(DataName)
RP=MyMdb.0penRecordset(LayName&"POINT", DA0.RecordsetTyp
eEnum.dbOpenDynaset)
RL = MyMdb.0penRecordset (LayName & "LINE",
[0035]
DA0.RecordsetTypeEnum.dbOpenDynaset)
[0036]步骤3,在AutoCAD上创建图形实体,包括块、线段和文字等;
[0037]使用托管ObjectARX技术在AutoCAD上创建实体,主要是插入块、线段和文字等。
[0038]需要进一步说明块实体的插入,通过DAO技术从数据库里读取成图信息,包括点`位坐标位置、属性信息(点号、点代码和点特征等)等,将其实体展绘在AutoCAD平台上,并
将其属性信息写入实体的扩展数据,以便后面插入块实体信息的读取。其中,关键实现代码
如下:
[0039]
Dim db As Database =
HostApplicationServices.WorkingDatabase O
Dim trans As Transact ion =
db.TransactionManager.StartTransact ion ()
Dim bt As BlockTable = trans.GetObject (db.BlockTableId,
OpenMode.ForWrite)
Dim btr As BlockTableRecord = trans.GetObject (bt (btr.ModelSpace), OpenMode.ForWrite)
Dim sourceDatabase As Database =
GetDatabaseFromFiIe(sourceFiIeName)[0040]把源数据库模型空间中的实体插入到当前数据库的一个新的块表记录中
[0041]Dim bobj As ObjectId =
HostApplicationSerV ices.WorkingDatabase.1nsert (newBlockName,
【权利要求】
1.一种实现DWG图形属性和数据库同步的方法,其特征在于,所述方法包括以下步骤: (1)引用托管ObjectARX托管封装类,添加引用acdbmgd.dll与acmgd.dll ; (2)通过数据访问接口连接数据库,其中,读取数据库信息,为下一步骤在AutoCAD平台上成图提供数据信息;需要引用Microsoft DAO 3.6 Object Library ; (3)在AutoCAD上创建图形实体,其中,用托管ObjectARX在AutoCAD上创建实体,可插入块、线段与文字; (4)在AutoCAD平台上读取实体信息,在AutoCAD平台上拾取块实体或者线段实体; (5)AutoCAD平台上图形实体和数据库进行连接,实现图形属性和数据库信息同步。
2.根据权利要求1所述的DWG图形属性和数据库同步方法,其特征在于,所述步骤3中可通过数据访问接口连接数据库并从数据库中读取成图信息,包括点位坐标位置、属性信息,将其实体展绘在AutoCAD上,并将其属性信息写入实体的扩展数据,便于插入块实体信息的读取。
3.根据权利要求1所述的DWG图形属性和数据库同步方法,其特征在于,所述步骤4中可通过ActiveX中GetEntity方法能够返回一个AcadEntity类型的对象和一个Variant类型变量,其中,所述Variant类型变量表示拾取点的位置。
【文档编号】G06F9/445GK103455548SQ201310308582
【公开日】2013年12月18日 申请日期:2013年7月22日 优先权日:2013年7月22日
【发明者】吴献文, 郑康贵, 张玉文 申请人:吴献文, 郑康贵, 张玉文
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1