欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種實(shí)現(xiàn)dwg圖形屬性和數(shù)據(jù)庫同步的方法

文檔序號:6506243閱讀:1104來源:國知局
一種實(shí)現(xiàn)dwg圖形屬性和數(shù)據(jù)庫同步的方法
【專利摘要】本發(fā)明公開了一種實(shí)現(xiàn)DWG圖形屬性和數(shù)據(jù)庫同步的方法,所述方法包括以下步驟:(1)引用托管ObjectARX托管封裝類,添加引用acdbmgd.dll與acmgd.dll;(2)通過數(shù)據(jù)訪問接口連接數(shù)據(jù)庫,其中,讀取數(shù)據(jù)庫信息,為下一步驟在AutoCAD平臺上成圖提供數(shù)據(jù)信息;需要引用Microsoft?DAO?3.6?Object?Library;(3)在AutoCAD上創(chuàng)建圖形實(shí)體,其中,用托管ObjectARX在AutoCAD上創(chuàng)建實(shí)體,可插入塊、線段與文字;(4)在AutoCAD平臺上讀取實(shí)體信息,在AutoCAD平臺上拾取塊實(shí)體或者線段實(shí)體;(5)AutoCAD平臺上圖形實(shí)體和數(shù)據(jù)庫進(jìn)行連接,實(shí)現(xiàn)圖形屬性和數(shù)據(jù)庫信息同步。本發(fā)明實(shí)現(xiàn)了圖形實(shí)體和數(shù)據(jù)庫的連接,用戶一旦進(jìn)行修改操作,圖形屬性和數(shù)據(jù)庫的信息都會同步得到修改,實(shí)現(xiàn)了圖庫聯(lián)動的目的。
【專利說明】—種實(shí)現(xiàn)DWG圖形屬性和數(shù)據(jù)庫同步的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及AutoCAD繪圖軟件的優(yōu)化與改進(jìn),具體涉及一種實(shí)現(xiàn)DWG圖形屬性和數(shù)據(jù)同步的方法。
【背景技術(shù)】
[0002]AutoCAD可用于二維繪圖、詳細(xì)繪制、設(shè)計(jì)文檔和基本三維設(shè)計(jì)?,F(xiàn)已經(jīng)成為國際上廣為流行的繪圖工具。它的多文檔設(shè)計(jì)環(huán)境,讓非計(jì)算機(jī)專業(yè)人員也能很快地學(xué)會使用。在不斷實(shí)踐的過程中更好地掌握它的各種應(yīng)用和開發(fā)技巧,從而不斷提高工作效率。
[0003]但是,在地下管線內(nèi)業(yè)工作中,成圖軟件存在不完善,使圖形屬性和數(shù)據(jù)庫的修改不同步進(jìn)行,造成內(nèi)業(yè)工作效率低下的情況。

【發(fā)明內(nèi)容】

[0004]鑒于現(xiàn)有技術(shù)的不足,本發(fā)明旨在于提供一種實(shí)現(xiàn)DWG圖形屬性和數(shù)據(jù)同步的方法,通過本發(fā)明將管線圖圖形屬性和數(shù)據(jù)庫的有機(jī)結(jié)合,根據(jù)更新機(jī)制判斷圖形或數(shù)據(jù)庫的改動,對其對應(yīng)的數(shù)據(jù)庫或圖形進(jìn)行相應(yīng)的修改,使其達(dá)到同步的效果。
[0005]為了實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:
[0006]一種實(shí)現(xiàn)DWG圖形屬性和數(shù)據(jù)庫同步的方法,所述方法包括以下步驟:
[0007](I)引用托管ObjectARX托管封裝類,添加引用acdbmgd.dll與acmgd.dll ;
[0008](2)通過數(shù)據(jù)訪問接口連接數(shù)據(jù)庫,其中,讀取數(shù)據(jù)庫信息,為下一步驟在AutoCAD平臺上成圖提供數(shù)據(jù)信息;需要引用Microsoft DAO 3.6 Object Library ;
[0009](3)在AutoCAD上創(chuàng)建圖形實(shí)體,其中,用托管ObjectARX在AutoCAD上創(chuàng)建實(shí)體,可插入塊、線段與文字;
[0010](4)在AutoCAD平臺上讀取實(shí)體信息,在AutoCAD平臺上拾取塊實(shí)體或者線段實(shí)體;
[0011](5)AutoCAD平臺上圖形實(shí)體和數(shù)據(jù)庫進(jìn)行連接,實(shí)現(xiàn)圖形屬性和數(shù)據(jù)庫信息同
止/J/ O
[0012]需要說明的是,所述步驟3中可通過數(shù)據(jù)訪問接口連接數(shù)據(jù)庫并從數(shù)據(jù)庫中讀取成圖信息,包括點(diǎn)位坐標(biāo)位置、屬性信息,將其實(shí)體展繪在AutoCAD上,并將其屬性信息寫入實(shí)體的擴(kuò)展數(shù)據(jù),便于插入塊實(shí)體信息的讀取。
[0013]需要說明的是,所述步驟4中可通過ActiveX中GetEntity方法能夠返回一個(gè)AcadEntity類型的對象和一個(gè)Variant類型變量,其中,所述Variant類型變量表示拾取點(diǎn)的位置。
[0014]本發(fā)明有益效果在于:
[0015]1、方便直觀。本發(fā)明在AutoCAD上讀取實(shí)體信息后,通過DAO連接數(shù)據(jù)庫信息,并在彈出窗口顯示出來;
[0016]2、快捷易用。用戶可以通過窗口對數(shù)據(jù)進(jìn)行添加或修改,非常方便快捷;[0017]3、實(shí)現(xiàn)同步。通過屬性窗口,本發(fā)明實(shí)現(xiàn)了圖形實(shí)體和數(shù)據(jù)庫的連接,當(dāng)用戶進(jìn)行修改操作,圖形屬性和數(shù)據(jù)庫的信息都會同步得到修改,實(shí)現(xiàn)了圖庫聯(lián)動的目的。
【專利附圖】

【附圖說明】
[0018]圖1為本發(fā)明實(shí)施在AutoCAD上創(chuàng)建圖形實(shí)體,其中可以包括塊、線段和文字;
[0019]圖2為本發(fā)明實(shí)施在AutoCAD平臺上讀取實(shí)體信息。
【具體實(shí)施方式】
[0020]下面將結(jié)合附圖對本發(fā)明作進(jìn)一步的描述。
[0021]需要說明的是,下述技術(shù)名詞:
[0022]數(shù)據(jù)訪問接口:DA0 (DataAccessObjects)
[0023]如圖1、圖2所示,本發(fā)明為一種實(shí)現(xiàn)DWG圖形屬性和數(shù)據(jù)庫同步的方法,所述方法包括以下步驟:
[0024]步驟I,引用托管ObjectARX封裝類,添加引用acdbmgd.dll與acmgd.dll ;
[0025]需要說明的是,在VB.NET中使用ObjectARX托管封裝類,必須先添加引用acdbmgd.dll和acmgd.dll,然后在AutoCAD2009的安裝目錄下找到它們,并添加引用到工程中。其中,正如它們的名字所表示的,acdbmgd.dll包含ObjectDBX托管類,而acmgd.dll包含AutoCAD托管類。
[0026]需要進(jìn)一步說明的是,在類的聲明語句之前,導(dǎo)入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連接數(shù)據(jù)庫;
[0033]需要說明的是,工程使用Microsoft數(shù)據(jù)訪問對象,需要引用Microsoft DAO 3.6Object Library,才能保證代碼的順利運(yùn)行。通過DAO技術(shù)連接數(shù)據(jù)庫文件,讀取數(shù)據(jù)庫信息,為下一步驟在AutoCAD平臺上成圖提供數(shù)據(jù)信息。其中,具體實(shí)現(xiàn)代碼如下:
[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上創(chuàng)建圖形實(shí)體,包括塊、線段和文字等;
[0037]使用托管ObjectARX技術(shù)在AutoCAD上創(chuàng)建實(shí)體,主要是插入塊、線段和文字等。
[0038]需要進(jìn)一步說明塊實(shí)體的插入,通過DAO技術(shù)從數(shù)據(jù)庫里讀取成圖信息,包括點(diǎn)`位坐標(biāo)位置、屬性信息(點(diǎn)號、點(diǎn)代碼和點(diǎn)特征等)等,將其實(shí)體展繪在AutoCAD平臺上,并
將其屬性信息寫入實(shí)體的擴(kuò)展數(shù)據(jù),以便后面插入塊實(shí)體信息的讀取。其中,關(guān)鍵實(shí)現(xiàn)代碼
如下:
[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]把源數(shù)據(jù)庫模型空間中的實(shí)體插入到當(dāng)前數(shù)據(jù)庫的一個(gè)新的塊表記錄中
[0041]Dim bobj As ObjectId =
HostApplicationSerV ices.WorkingDatabase.1nsert (newBlockName,
【權(quán)利要求】
1.一種實(shí)現(xiàn)DWG圖形屬性和數(shù)據(jù)庫同步的方法,其特征在于,所述方法包括以下步驟: (1)引用托管ObjectARX托管封裝類,添加引用acdbmgd.dll與acmgd.dll ; (2)通過數(shù)據(jù)訪問接口連接數(shù)據(jù)庫,其中,讀取數(shù)據(jù)庫信息,為下一步驟在AutoCAD平臺上成圖提供數(shù)據(jù)信息;需要引用Microsoft DAO 3.6 Object Library ; (3)在AutoCAD上創(chuàng)建圖形實(shí)體,其中,用托管ObjectARX在AutoCAD上創(chuàng)建實(shí)體,可插入塊、線段與文字; (4)在AutoCAD平臺上讀取實(shí)體信息,在AutoCAD平臺上拾取塊實(shí)體或者線段實(shí)體; (5)AutoCAD平臺上圖形實(shí)體和數(shù)據(jù)庫進(jìn)行連接,實(shí)現(xiàn)圖形屬性和數(shù)據(jù)庫信息同步。
2.根據(jù)權(quán)利要求1所述的DWG圖形屬性和數(shù)據(jù)庫同步方法,其特征在于,所述步驟3中可通過數(shù)據(jù)訪問接口連接數(shù)據(jù)庫并從數(shù)據(jù)庫中讀取成圖信息,包括點(diǎn)位坐標(biāo)位置、屬性信息,將其實(shí)體展繪在AutoCAD上,并將其屬性信息寫入實(shí)體的擴(kuò)展數(shù)據(jù),便于插入塊實(shí)體信息的讀取。
3.根據(jù)權(quán)利要求1所述的DWG圖形屬性和數(shù)據(jù)庫同步方法,其特征在于,所述步驟4中可通過ActiveX中GetEntity方法能夠返回一個(gè)AcadEntity類型的對象和一個(gè)Variant類型變量,其中,所述Variant類型變量表示拾取點(diǎn)的位置。
【文檔編號】G06F9/445GK103455548SQ201310308582
【公開日】2013年12月18日 申請日期:2013年7月22日 優(yōu)先權(quán)日:2013年7月22日
【發(fā)明者】吳獻(xiàn)文, 鄭康貴, 張玉文 申請人:吳獻(xiàn)文, 鄭康貴, 張玉文
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
安阳市| 开封市| 佛学| 句容市| 南安市| 榆社县| 山阴县| 石景山区| 竹北市| 新建县| 沙坪坝区| 荃湾区| 吴堡县| 东台市| 锦州市| 铜陵市| 静海县| 郓城县| 秭归县| 武邑县| 会昌县| 姚安县| 明溪县| 城固县| 介休市| 逊克县| 邛崃市| 普兰县| 遵义县| 班戈县| 泌阳县| 淮北市| 廊坊市| 玉溪市| 八宿县| 民勤县| 芷江| 清涧县| 武清区| 喜德县| 巴塘县|