亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ObjectARX和SQL Server的AutoCAD圖形數(shù)據(jù)存儲

        2016-07-06 05:54:17遼寧建筑職業(yè)學院遼寧遼陽111000
        電子測試 2016年12期
        關(guān)鍵詞:存儲數(shù)據(jù)庫

        王 蕊(遼寧建筑職業(yè)學院,遼寧遼陽,111000)

        ?

        基于ObjectARX和SQL Server的AutoCAD圖形數(shù)據(jù)存儲

        王 蕊
        (遼寧建筑職業(yè)學院,遼寧遼陽,111000)

        摘要:本文介紹了基于ObjectARX和SQL Server進行AutoCAD圖形數(shù)據(jù)存儲設計和實現(xiàn)的過程,將數(shù)據(jù)庫技術(shù)與AutoCAD軟件技術(shù)進行了有效的集成,為AutoCAD的二次開發(fā)提供了一個全新的視角。

        關(guān)鍵詞:ObjectARX;SQL Server;AutoCAD;數(shù)據(jù)庫;存儲

        0 引言

        隨著AutoCAD軟件在各個領(lǐng)域應用的不斷深入,對其進行二次開發(fā),開發(fā)出適用實際工作需要的軟件,提升AutoCAD基礎(chǔ)軟件的功能是非常必要的。

        1 基于SQL Server數(shù)據(jù)庫的AutoCAD圖形數(shù)據(jù)存儲的優(yōu)勢

        1.1 提升工程預算中統(tǒng)計、匯總的計算能力

        將AutoCAD中的圖形數(shù)據(jù)文件轉(zhuǎn)換成SQL Server 的數(shù)據(jù)庫文件,利用SQL Server數(shù)據(jù)庫強大的統(tǒng)計和匯總功能來提升AutoCAD在統(tǒng)計、匯總等工程預算中的計算能力。

        1.2 縮短二次開發(fā)的周期

        將轉(zhuǎn)換后的AutoCAD圖形數(shù)據(jù)文件作為模塊,其具有應用廣泛、通用性強、可移植性等特點,降低了二次開發(fā)難度,縮短了開發(fā)周期,節(jié)省了開發(fā)成本。

        1.3 可以對圖形數(shù)據(jù)進行批量修改

        在AutoCAD繪制圖形過程中,需要對圖層、線性、塊等屬性進行修改,將AutoCAD中的圖形數(shù)據(jù)文件轉(zhuǎn)換成的數(shù)據(jù)庫文件后,可以修改數(shù)據(jù)庫文件中字段屬性值從而對AutoCAD圖形進行快速、精準、批量的修改。

        1.4 保證數(shù)據(jù)的一致性,實現(xiàn)圖紙的批量化管理

        AutoCAD圖紙中,如平面圖、立面圖、剖面圖之間數(shù)據(jù)相互交叉、參照,可以利用SQL Server 提供的事假回滾、索引查找、用戶驗證等機制來確保數(shù)據(jù)的一致性,并實現(xiàn)圖紙的批量管理。

        2 系統(tǒng)開發(fā)工具

        基于AutoCAD體系結(jié)構(gòu)的開放性,采用ObjectARX[1]作為系統(tǒng)的開發(fā)工具,使用VC++平臺建立AutoCAD圖形數(shù)據(jù)庫和SQL Server 數(shù)據(jù)庫之間的關(guān)聯(lián),利用SQL Server 數(shù)據(jù)庫的在數(shù)據(jù)處理方面的優(yōu)勢協(xié)助管理AutoCAD的圖形數(shù)據(jù)。

        2.1 ObjectARX

        ObjectARX是AutoDesk公司針對AutoCAD平臺上的二次開發(fā)而推出的一個開發(fā)軟件包,提供了以C++為基礎(chǔ)的面向?qū)ο蟮拈_發(fā)環(huán)境和應用程序接口。ObjectARX目前最新的版本是ObjectARX2015,其是目前最為高效的開發(fā)AutoCAD的工具。ObjectARX具有直接快速訪問AutoCAD圖形數(shù)據(jù)庫、建立與AutoCAD編輯器的交互、使用MFC創(chuàng)建標準的圖形用戶界面,在其基類的基礎(chǔ)上自定義類、可以和其他編程環(huán)境進行交互等強大功能。

        2.2 開發(fā)環(huán)境

        運用ObjectARX進行AutoCAD二次開發(fā),必須首先設置好ObjectARX的開發(fā)環(huán)境。目前常用的開發(fā)環(huán)境是Microsoft Visual C++ 6.0 、Microsoft visual studio 2005、Microsoft visual studio 2008、Microsoft visual studio 2010。同時,還需要安裝ObjectARX SDK。

        3 AutoCAD 圖形數(shù)據(jù)庫

        在利用ObjectARX進行AutoCAD二次開發(fā)前,必須要對圖形數(shù)據(jù)庫進行深入的了解,才能實現(xiàn)和SQL Server數(shù)據(jù)庫之間的相互連接。

        AutoCAD本質(zhì)上是一個圖形數(shù)據(jù)庫管理程序,程序中記載著圖形中所有對象的信息,包括圖形對象和非圖形對象。圖形對象,如直線、矩形、橢圓等;非圖形對象,如圖層、標注、線性等;每個對象都有自己的屬性、方法,每一個AutoCAD圖就是這些對象的集合。

        4 數(shù)據(jù)存儲系統(tǒng)的設計

        4.1 系統(tǒng)的功能性描述

        1)系統(tǒng)進入前需要在彈出的登錄窗口內(nèi)輸入數(shù)據(jù)庫名、用戶名、密碼,輸入正確才能連接用戶建立的數(shù)據(jù)庫,進入AutoCAD軟件,進行圖形繪制。

        2)根據(jù)需要選擇需要存儲的圖形,將該圖形中的對象存儲到其相應的SQL Server數(shù)據(jù)庫表中。

        3)根據(jù)需要從SQL Server數(shù)據(jù)庫表中提取圖形數(shù)據(jù),重新繪制AutoCAD圖形。

        4)用戶可以查詢、修改、編輯、刪除圖形數(shù)據(jù),系統(tǒng)要保證AutoCAD圖形數(shù)據(jù)和SQL Server數(shù)據(jù)的一致性。

        4.2 系統(tǒng)功能模塊的劃分及系統(tǒng)框架

        根據(jù)系統(tǒng)的功能性分析,將系統(tǒng)劃分成四個功能模塊:系統(tǒng)登錄模塊、數(shù)據(jù)選取模塊、存儲轉(zhuǎn)化模塊、圖形繪制模塊。系統(tǒng)框架如圖1所示。

        圖1 系統(tǒng)基本結(jié)構(gòu)

        4.3 SQL Server數(shù)據(jù)庫結(jié)構(gòu)的設計

        4.3.1 概念模型的設計

        概念模型設計主要是在SQL Server中建立與AutoCAD圖形數(shù)據(jù)相對應的、合理表格及字段項、設置關(guān)鍵字、有效性規(guī)則、數(shù)據(jù)完整等。針對AutoCAD圖形中每個對象都建立一個表格來存儲從AutoCAD數(shù)據(jù)庫中提取出來的數(shù)據(jù)。例如:分別建立存儲圓、橢圓、圖層等各個實體的表格,表格中根據(jù)實體的屬性設置不同的字段。以直線為例,建立一個名為line-table的表格,表格中設置了14個字段,分別為 id、tuzhi_id 、startpoint_ X 、startpoint_Y、startpoint_Z 、endpoint_X、endpoint_ Y、endpoint_Z、color、linetype、linetype_scale 、visibility、layer、line_weight ,通過它們來存儲直線的ID號、圖紙的編號、直線的起始坐標、終點坐標、顏色、線型、線型比例、可見性、圖層名、線寬屬性值。同樣的方式,設計其他實體所對應的表格。

        4.3.2 邏輯模型的設計

        邏輯模型設計是將實體以及實體之間的關(guān)系反映到數(shù)據(jù)表之間的關(guān)聯(lián)上,可以用E-R圖表現(xiàn)出來。

        5 數(shù)據(jù)存儲系統(tǒng)的實現(xiàn)

        5.1 基本實體圖形數(shù)據(jù)轉(zhuǎn)化

        AutoCAD圖形是由若干基本實體圖形組成,因此實現(xiàn)AutoCAD圖形數(shù)據(jù)和數(shù)據(jù)庫間的轉(zhuǎn)化,就是基本實體之間的轉(zhuǎn)化。進一步就是基本實體屬性和存儲實體的數(shù)據(jù)表中字段之間的轉(zhuǎn)化。設計兩類函數(shù),一類是將基本實體的屬性寫入到數(shù)據(jù)庫表中,另一類是從SQL Server數(shù)據(jù)庫表中讀取相關(guān)數(shù)據(jù),調(diào)用ObjectARX中繪制基本實體的方法繪制出AutoCAD基本實體。

        5.2 圖塊實體的轉(zhuǎn)化

        在圖形的繪制過程中,會生成許多塊,如建筑圖紙中的窗塊、門塊,是由若干實體組成。在進行圖塊的存儲時,利用迭代器,遍歷AutoCAD圖形檢索出組成圖塊的若干實體,然后使用函數(shù)Explode()將其分解成若干個基本實體。利用基本實體轉(zhuǎn)化的方法來進行圖塊實體的轉(zhuǎn)化。

        5.3 繪圖模塊的實現(xiàn)

        5.3.1 創(chuàng)建AutoCAD不同的實體

        將圖形對象和非圖形對象分成實體類,如:線型類實體、文本類實體、填充類實體、標注類實體,每一個類都有相應的成員、函數(shù)、屬性。通過調(diào)用每一類自身成員函數(shù)從而生成不同類的實體對象,完成圖形數(shù)據(jù)庫的相關(guān)操作。

        5.3.2 創(chuàng)建AutoCAD圖形對象步驟如下:

        (1)Ac Db Host Application Services()->workingDatabased()->getSymbolTable(,)

        創(chuàng)建或打開圖形數(shù)據(jù)庫,并獲取塊表指針

        (2)pBlocktable->getAt( , ,)pBlocktable->close()

        獲取當前塊表指針,并關(guān)閉塊表

        (3)調(diào)用實體構(gòu)造函數(shù)、其它成員函數(shù)完成實體的創(chuàng)建、屬性設置和編輯;

        (4)將appendAttribute()函數(shù)返回的ID號保存到AcDbObjectId類型變量中。

        (5)pBlocktableRecord->appendAcDbEntity(,)添加記錄。

        (6)pBlocktableRecord->colse(),pLine->close()關(guān)閉塊表記錄和實體對象。

        非圖形對象的創(chuàng)建方法參照圖形對象的創(chuàng)建方法。

        5.3.3 AutoCAD 圖形對象和非圖形對象的關(guān)聯(lián)

        非圖形對象表是對繪圖環(huán)境進行設置的,要把圖形對象和非圖形對象進行關(guān)聯(lián)才能最終繪制出需要的AutoCAD 圖形。常用的圖層表、文本樣式、尺寸樣式的關(guān)聯(lián)方法不同。圖層的關(guān)聯(lián)通過setlayer()來實現(xiàn)的,關(guān)聯(lián)文本樣式通過setTextStyle(),通過預先定義好的函數(shù)來關(guān)聯(lián)尺寸標注樣式。

        6 結(jié)束語

        基于ObjectARX和SQL Server的AutoCAD圖形數(shù)據(jù)庫系統(tǒng),是針對一般的AutoCAD圖形數(shù)據(jù)的存儲、管理問題,所以其具有通用性,可以將這一功能定義成一個模塊,可以在其他的ObjectARX開發(fā)程序中直接調(diào)用,擺脫兩種數(shù)據(jù)文件復雜的轉(zhuǎn)化過程,具有實用性。

        參考文獻

        [1]張帆 朱文俊AutoCAD ObjectARX(VC)開發(fā)基礎(chǔ)與實例教程[M].中國電力出版社,2014.06

        [2]董玉德,趙韓.CAD二次開發(fā)理論與技術(shù)[M].合肥:合肥工業(yè)大學出版社,2009.11

        Auto CAD graphics data storage based on ObjectARX and Server SQ

        Wang Rui
        (LIAONING JIANZHU VOCATONAL UNIVERSITY,LiaoNing LiaoYang,111000)

        Abstract:This paper introduces based on ObjectARX and SQL server of AutoCAD graphic data storage design and implementation process, the database and AutoCAD software techniques for effective integration, for the secondary development of AutoCAD provides a new perspective.

        Keywords:ObjectARX;SQL Server;AutoCAD;database;storage

        作者簡介

        王蕊(1980.9-),女,遼寧省遼陽市人,碩士,講師,計算機科學與技術(shù)專業(yè)。

        猜你喜歡
        存儲數(shù)據(jù)庫
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        檔案管理中電子文件的存儲探究
        條形碼技術(shù)在涂裝生產(chǎn)中的應用
        云計算與虛擬化
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        大型機電設備出口包裝防護
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        成人区人妻精品一熟女| 天天爽天天爽天天爽| 日韩二三区| 国产传媒剧情久久久av| 美女免费观看一区二区三区| 秋霞在线视频| 久青草久青草视频在线观看| 亚洲AV无码国产永久播放蜜芽| 中文字幕二区三区在线| 亚洲中文字幕在线综合| 成人日韩熟女高清视频一区| 中文字幕在线精品视频入口一区| 欧美z0zo人禽交欧美人禽交| 日韩欧美国产自由二区| 成人综合久久精品色婷婷| 一区二区亚洲 av免费| 一区二区三区四区在线观看日本 | av免费网站不卡观看| 日本不卡高字幕在线2019| 中文字幕人妻熟女人妻洋洋| 成人亚洲欧美久久久久| 亚洲精品成人一区二区三区| 久久99精品久久久久久噜噜| 少妇厨房愉情理伦片免费| 午夜无码亚| 久草手机视频在线观看| 水蜜桃在线观看一区二区| 天堂aⅴ无码一区二区三区| 99热门精品一区二区三区无码| 亚洲情精品中文字幕99在线| 亚洲网站一区在线播放| 屁屁影院ccyy备用地址| 久久精品国产亚洲vr| 全程国语对白资源在线观看| 中文字幕av人妻少妇一区二区| 亚洲国产天堂久久综合| 久久免费大片| 久久精品国产亚洲av夜夜| 国产精品毛片va一区二区三区| 免费a级毛片无码a| 中文字幕乱码av在线|