999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

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

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

?

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

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

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

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

0 引言

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

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

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

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

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

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

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

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

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

AutoCAD圖紙中,如平面圖、立面圖、剖面圖之間數(shù)據(jù)相互交叉、參照,可以利用SQL Server 提供的事假回滾、索引查找、用戶驗證等機(jī)制來確保數(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)境和應(yīng)用程序接口。ObjectARX目前最新的版本是ObjectARX2015,其是目前最為高效的開發(fā)AutoCAD的工具。ObjectARX具有直接快速訪問AutoCAD圖形數(shù)據(jù)庫、建立與AutoCAD編輯器的交互、使用MFC創(chuàng)建標(biāo)準(zhǔn)的圖形用戶界面,在其基類的基礎(chǔ)上自定義類、可以和其他編程環(huán)境進(jìn)行交互等強(qiáng)大功能。

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

運用ObjectARX進(jìn)行AutoCAD二次開發(fā),必須首先設(shè)置好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進(jìn)行AutoCAD二次開發(fā)前,必須要對圖形數(shù)據(jù)庫進(jìn)行深入的了解,才能實現(xiàn)和SQL Server數(shù)據(jù)庫之間的相互連接。

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

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

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

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

2)根據(jù)需要選擇需要存儲的圖形,將該圖形中的對象存儲到其相應(yīng)的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)的設(shè)計

4.3.1 概念模型的設(shè)計

概念模型設(shè)計主要是在SQL Server中建立與AutoCAD圖形數(shù)據(jù)相對應(yīng)的、合理表格及字段項、設(shè)置關(guān)鍵字、有效性規(guī)則、數(shù)據(jù)完整等。針對AutoCAD圖形中每個對象都建立一個表格來存儲從AutoCAD數(shù)據(jù)庫中提取出來的數(shù)據(jù)。例如:分別建立存儲圓、橢圓、圖層等各個實體的表格,表格中根據(jù)實體的屬性設(shè)置不同的字段。以直線為例,建立一個名為line-table的表格,表格中設(shè)置了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號、圖紙的編號、直線的起始坐標(biāo)、終點坐標(biāo)、顏色、線型、線型比例、可見性、圖層名、線寬屬性值。同樣的方式,設(shè)計其他實體所對應(yīng)的表格。

4.3.2 邏輯模型的設(shè)計

邏輯模型設(shè)計是將實體以及實體之間的關(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)化。進(jìn)一步就是基本實體屬性和存儲實體的數(shù)據(jù)表中字段之間的轉(zhuǎn)化。設(shè)計兩類函數(shù),一類是將基本實體的屬性寫入到數(shù)據(jù)庫表中,另一類是從SQL Server數(shù)據(jù)庫表中讀取相關(guān)數(shù)據(jù),調(diào)用ObjectARX中繪制基本實體的方法繪制出AutoCAD基本實體。

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

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

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

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

將圖形對象和非圖形對象分成實體類,如:線型類實體、文本類實體、填充類實體、標(biāo)注類實體,每一個類都有相應(yīng)的成員、函數(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()

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

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

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

6 結(jié)束語

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

參考文獻(xiàn)

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

[2]董玉德,趙韓.CAD二次開發(fā)理論與技術(shù)[M].合肥:合肥工業(yè)大學(xué)出版社,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-),女,遼寧省遼陽市人,碩士,講師,計算機(jī)科學(xué)與技術(shù)專業(yè)。

猜你喜歡
存儲數(shù)據(jù)庫
數(shù)據(jù)庫
財經(jīng)(2017年15期)2017-07-03 22:40:49
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
檔案管理中電子文件的存儲探究
條形碼技術(shù)在涂裝生產(chǎn)中的應(yīng)用
云計算與虛擬化
結(jié)構(gòu)化電子病歷的設(shè)計及應(yīng)用
淺敘國產(chǎn)存儲技術(shù)之發(fā)展
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
大型機(jī)電設(shè)備出口包裝防護(hù)
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 青青青国产视频手机| 狠狠色丁香婷婷综合| 国产精品美女网站| 无码中文字幕乱码免费2| 亚洲欧美成人在线视频| 超清无码熟妇人妻AV在线绿巨人 | 中国美女**毛片录像在线| 国产凹凸一区在线观看视频| 日韩精品亚洲一区中文字幕| 欧美午夜网| 狠狠操夜夜爽| 欧美性色综合网| 九色视频最新网址| 日韩最新中文字幕| 全色黄大色大片免费久久老太| 午夜毛片免费观看视频 | 精品国产欧美精品v| 中文字幕乱码中文乱码51精品| 精品福利国产| 国产精品大尺度尺度视频| 无码精品福利一区二区三区| 精品在线免费播放| 伊人久热这里只有精品视频99| 亚洲开心婷婷中文字幕| 91精品国产福利| 国产第二十一页| 无码福利日韩神码福利片| 永久毛片在线播| 色妞www精品视频一级下载| 亚洲熟女中文字幕男人总站| 日韩 欧美 国产 精品 综合| 美女一区二区在线观看| 国产91透明丝袜美腿在线| 青青操国产| 欧美国产精品拍自| 亚洲区第一页| 日韩欧美国产区| 自拍偷拍欧美日韩| 日韩色图在线观看| 91成人试看福利体验区| jizz在线免费播放| 免费精品一区二区h| 亚洲全网成人资源在线观看| 国产女人18毛片水真多1| 国产黄色片在线看| 久久香蕉国产线看精品| 狠狠色香婷婷久久亚洲精品| 国产精品欧美亚洲韩国日本不卡| 黄色成年视频| 波多野结衣一区二区三区四区视频| 亚洲a免费| 久久人与动人物A级毛片| 女人18毛片水真多国产| 亚洲国产欧美国产综合久久 | 久久青青草原亚洲av无码| 日本国产精品| 国产手机在线ΑⅤ片无码观看| 欧美一区中文字幕| 成年午夜精品久久精品| 中文字幕免费视频| 免费看黄片一区二区三区| 国产欧美另类| 毛片免费观看视频| 日韩欧美国产区| 国内精品伊人久久久久7777人| 人禽伦免费交视频网页播放| 国产成人永久免费视频| 亚洲中文在线视频| 欧美性精品| 日韩精品毛片人妻AV不卡| 区国产精品搜索视频| 一本久道久久综合多人| 国产导航在线| 激情在线网| 国产经典免费播放视频| 国产青青草视频| 亚洲狠狠婷婷综合久久久久| 69av在线| 久久鸭综合久久国产| 国产亚洲精品在天天在线麻豆| 国产精品99久久久久久董美香| 亚洲无码高清一区|