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

基于Teigha的復(fù)雜水利AutoCAD數(shù)據(jù)的讀取

2016-04-21 07:10:08豆喜朋王志軍河南省水利勘測(cè)有限公司
河南水利與南水北調(diào) 2016年2期
關(guān)鍵詞:水利數(shù)據(jù)庫(kù)

□豆喜朋 □王志軍(河南省水利勘測(cè)有限公司)

?

基于Teigha的復(fù)雜水利AutoCAD數(shù)據(jù)的讀取

□豆喜朋□王志軍(河南省水利勘測(cè)有限公司)

摘要:Aut oCAD具有價(jià)格高、專(zhuān)業(yè)針對(duì)性不強(qiáng)、操作相對(duì)復(fù)雜等缺點(diǎn),然而,DWG數(shù)據(jù)庫(kù)是水利工程最常用的文件格式之一,水利DWG數(shù)據(jù)是水利信息的重要載體,是實(shí)現(xiàn)水利信息化管理的必要條件,所以水利軟件研發(fā)過(guò)程中必須兼容DWG文件格式。DWG文件以塊形式進(jìn)行組織管理,圖塊是DWG數(shù)據(jù)重要的組成部分,通過(guò)表唯一索引其包含的對(duì)象實(shí)體。Tei ghafor. dwg是面向?qū)ο蟮拈_(kāi)源類(lèi)庫(kù),文章在Net框架下實(shí)現(xiàn)了復(fù)雜水利DWG數(shù)據(jù)的快速讀取,并在開(kāi)源GIS平臺(tái)Worl dWi nd三維空間上的精確顯示。

關(guān)鍵詞:Tei ghafor. dwg;CAD;數(shù)據(jù)庫(kù);水利

1 引言

AutoCAD是一款強(qiáng)大的二維繪圖軟件,多年來(lái)在多個(gè)領(lǐng)域得到廣泛應(yīng)用。作者以為還有以下幾點(diǎn)不足:第一,AutoCAD可廣泛應(yīng)用于諸多領(lǐng)域,其為用戶(hù)提供了基本的作圖工具,但在具體行業(yè)業(yè)務(wù)流程中缺乏專(zhuān)業(yè)性;第二,AutoCAD功能較多,對(duì)某一類(lèi)用戶(hù)往往只用其中幾個(gè)功能,軟件采購(gòu)時(shí)往往存在較大浪費(fèi);第三,AutoCAD源自美國(guó)Autodesk公司,其操作習(xí)慣與國(guó)人存在較大差別??梢?jiàn)我們針對(duì)專(zhuān)業(yè)應(yīng)用領(lǐng)域,研發(fā)定制性強(qiáng)、有自主版權(quán)的CAD軟件是很有必要的。

但是Autodesk針對(duì)DWG數(shù)據(jù)格式迄今并未公開(kāi)其數(shù)據(jù)結(jié)構(gòu),其高效的數(shù)據(jù)組織、快速的數(shù)據(jù)索引機(jī)制、高壓縮的數(shù)據(jù)存儲(chǔ)一直是眾多國(guó)內(nèi)類(lèi)似軟件無(wú)法達(dá)到的。AutoCAD的數(shù)據(jù)交換通過(guò)DXF格式實(shí)現(xiàn),但是DXF文件格式不僅占用磁盤(pán)空間較大,而且其圖塊讀取速度也大大降低,少量DXF數(shù)據(jù)讀取速度尚可接收,但對(duì)于復(fù)雜的數(shù)據(jù)其讀取速度將會(huì)成為軟件的瓶頸。因此文章針對(duì)復(fù)雜的水利DWG數(shù)據(jù)庫(kù),基于Teighafordwg開(kāi)放組件,實(shí)現(xiàn)直接、快速、準(zhǔn)確的讀取DWG文件,并對(duì)水利典型DWG數(shù)據(jù)進(jìn)行了交換實(shí)現(xiàn)。

2 Tei gha For. DWG技術(shù)

開(kāi)放設(shè)計(jì)協(xié)會(huì)(Open Design Allianee)是一個(gè)致力于設(shè)計(jì)開(kāi)發(fā)專(zhuān)門(mén)用于讀取AutoCAD數(shù)據(jù)的非盈利組織,其核心技術(shù)組件是Teigha,Teigha是一套全新的面向?qū)ο蟮念?lèi)庫(kù),支持Dgn、Dwg、Pdf等多種格式之間的轉(zhuǎn)換,同時(shí)支持多個(gè)操作平臺(tái)。Teighafor.dwg是Teigha的一個(gè)子集,前身叫OpenDWG、DWGdirect。可以讀取各版本AutoCAD數(shù)據(jù),圖形顯示上支持GDI、 OpenGL、DirectX,對(duì)DWG文件的讀、寫(xiě)具有高效性和高安全性。

Teighafor.dwg對(duì)內(nèi)提供DWG各個(gè)版本文件格式近乎完美兼容性接口。向下屏蔽DWG內(nèi)部數(shù)據(jù)結(jié)構(gòu)和版本差異,向上提供統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)表達(dá)信息模型。Teighafor.dwg在OpenDWG基礎(chǔ)上極大的提升了讀取CAD信息的速度。類(lèi)庫(kù)從功能上劃分為以下幾個(gè)重要模塊:一是在類(lèi)庫(kù)初始運(yùn)行時(shí),類(lèi)的入口識(shí)別以及注冊(cè)信息。二是標(biāo)示DWG中實(shí)體數(shù)據(jù)。三是數(shù)據(jù)對(duì)象的渲染表達(dá)。四是點(diǎn)、線(xiàn)、面等幾何通用類(lèi)。五是標(biāo)示邊界表示法的類(lèi)。六是圖形類(lèi)。同時(shí)以矢量化界面顯示。

Teighafor.dwg類(lèi)庫(kù)把DWG文件所包含的各類(lèi)信息以一系列對(duì)象的形式保存到內(nèi)存中。這些對(duì)象具有各自的類(lèi)型并能實(shí)現(xiàn)不同的功能,所以我們就能易于理解和操作這些信息。Teighafor.dwg類(lèi)庫(kù)把每個(gè)DWG文件抽象為一個(gè)OdDbDatabase類(lèi),每個(gè)OdDbDatabase類(lèi)有九個(gè)數(shù)據(jù)表類(lèi)型,并為這些表類(lèi)型建立了一個(gè)索引類(lèi),索引類(lèi)中通過(guò)字典保存類(lèi)的結(jié)構(gòu)信息。

字典類(lèi)型是個(gè)索引類(lèi),存儲(chǔ)了每個(gè)表類(lèi)的位置索引,可以快速定位到所指向的表。每個(gè)表對(duì)象都包含多條相應(yīng)的記錄項(xiàng),如TableText、TableVIew、TableLayer等包含多條相應(yīng)記錄TextRecord、ViewRecord、LayerRecord,分別存儲(chǔ)了標(biāo)注、視圖和圖層相關(guān)信息。

3 DWG數(shù)據(jù)組織

DWG是一種保密格式,通過(guò)二進(jìn)制流保存文件,由于對(duì)DWG文件結(jié)構(gòu)不了解,普通用戶(hù)無(wú)法直接讀取,只能通過(guò)AutoCAD軟件解析二進(jìn)制流文件,以可編輯的圖形文件可視化展示。

每個(gè)DWG文件將整個(gè)數(shù)據(jù)庫(kù)文件分解為幾種標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型,如單字節(jié)整型、字符型、雙精度浮點(diǎn)型等。因此很方便的用高級(jí)程序設(shè)計(jì)語(yǔ)言(如C++、java、C_Sharp)進(jìn)行直接存取和處理。每個(gè)DWG數(shù)據(jù)庫(kù)文件有文件頭、實(shí)體、表、塊體和應(yīng)急頭部五部分組成。

DWG文件頭存放著DWG文件標(biāo)志、各種索引、版本信息及AutoCAD軟件中的一部分系統(tǒng)變量,是讀取DWG文件的入口,DWG文件的所有尋址操作的地址均從頭部的有關(guān)參數(shù)計(jì)算而來(lái)。應(yīng)急頭是在DWG文件尾部保存的一些重要索引文件,這些索引同樣可以快速定位到相關(guān)位置,是文件頭的備份。表可以提高定位速度。記錄了每類(lèi)對(duì)象的屬性描述。塊實(shí)體是一組圖形實(shí)體的集合,每個(gè)塊實(shí)體都和一個(gè)塊表唯一對(duì)應(yīng),方便快速索引到每個(gè)實(shí)體對(duì)象。圖形中所有幾何對(duì)象按照一定順序統(tǒng)一存放在實(shí)體部,DWG圖形實(shí)體包含幾種基本圖元素,如:點(diǎn)(Point)、線(xiàn)(Line、Ray、Mline、Pline、Spline等)、圓(Circle)、圓弧(Are)、塊(Block)、尺寸標(biāo)注(Dimension)等。每個(gè)實(shí)體用唯一編碼標(biāo)識(shí),分為實(shí)體頭和實(shí)體尾。實(shí)體頭描述了實(shí)體的基本屬性信息,各個(gè)實(shí)體頭基本一致。

4 DWG圖塊數(shù)據(jù)讀取流程

圖塊的讀取是基于Teighafor.dwg服務(wù)類(lèi)的,所以首先要開(kāi)啟Services服務(wù)類(lèi),之后為DWG文件創(chuàng)建相應(yīng)的Database,通過(guò)調(diào)用ReadDwgFile(FilePath)方法加載指定的DWG文件,具體流程如下圖所示:

圖1 DWG圖塊讀取流程圖

首先根據(jù)DWG數(shù)據(jù)庫(kù)獲得塊表指針BlockTable,通過(guò)GetObject方法截取模型空間的塊表記錄,遍歷每個(gè)模型空間的塊表記錄實(shí)例分別讀取。Entity.GetRXClass()方法獲得實(shí)體的不同類(lèi)型,如RXClass為AcDbLine表示直線(xiàn),RXClass為AcDbPolyline表示多線(xiàn),為多線(xiàn)段時(shí)可以通過(guò)Get Segment Type()得到多線(xiàn)段不同的段類(lèi)型(Segment Type)分別讀取,保存多線(xiàn)段節(jié)點(diǎn)在Point2dCollection集合中。

5 實(shí)例應(yīng)用及結(jié)語(yǔ)

水利工程數(shù)據(jù)以測(cè)量數(shù)據(jù)和地質(zhì)數(shù)據(jù)為主,為使數(shù)據(jù)最大限度的重用,必須精確提取DWG數(shù)據(jù)文件,基于Teighafor.dwg技術(shù)的DWG文件圖塊提取高效精確的解決了這一問(wèn)題。針對(duì)河南省二級(jí)河流DWG數(shù)據(jù)進(jìn)行讀取,利用TEIGHAFOR.DWG技術(shù)讀取DWG文件塊,讀取的數(shù)據(jù)可以無(wú)損的保存為自定義格式和其他通用格式。不僅方便外業(yè)作業(yè),減少內(nèi)業(yè)數(shù)據(jù)轉(zhuǎn)換工作量,而且可以利用自主研發(fā)軟件實(shí)現(xiàn)專(zhuān)業(yè)性強(qiáng)、定制性高的快速、高效的完成工作任務(wù)。讀取DWG文件圖塊效果如下,圖2為CAD原始數(shù)據(jù)和讀取到系統(tǒng)中的DWG數(shù)據(jù):

圖2 Aut oCAD原始數(shù)據(jù)和讀取數(shù)據(jù)對(duì)比圖

采用Teighafor.dwg直接讀取DWG文件和用二進(jìn)制方式讀取通用DXF格式對(duì)比如下所示:由于Teighafor.dwg直接讀取DWG文件,而DWG文件采用塊索引壓縮存儲(chǔ)方式,所以對(duì)記錄條數(shù)相同的同一數(shù)據(jù)DXF數(shù)據(jù)占用的存儲(chǔ)空間是DWG文件的三倍多,讀取速度上DXF采用二進(jìn)制流方式讀取,而Teighafor.dwg用塊為索引,采用優(yōu)化算法讀取速度快,效率對(duì)比如表1:

表1 讀取效果對(duì)比表

可見(jiàn)利用TEIGHAFOR.DWG強(qiáng)大的讀寫(xiě)DWG格式數(shù)據(jù)的功能,可以直接的、快速的讀取DWG文件,極大提高了數(shù)據(jù)讀取的準(zhǔn)確度和效率。在實(shí)際工作中對(duì)DWG數(shù)據(jù)重用和信息一體化管理有極高的使用價(jià)值。

參考文獻(xiàn)

[1]于文潔,王鈕. Aut oCAD標(biāo)注屬性信息提取的研究.青島:青島大學(xué)學(xué)報(bào)(自然科學(xué)版), 2007, 2: 55-61.

[2]晏韻,許超.基于DWGDi rect訪(fǎng)問(wèn)Aut oCADDWG圖形文件[J].工程圖學(xué)學(xué)報(bào). 2010(06).

[3]孫炎,羅曉沛.基于DWGDi rect實(shí)現(xiàn)Aut oCAD與ArcGIS的數(shù)據(jù)交換[J].計(jì)算機(jī)工程與設(shè)計(jì). 2009(07).

[4]陸振朋. Aut oCAD二次開(kāi)發(fā)及在工程設(shè)計(jì)中的應(yīng)用[J].鐵路通信信號(hào)工程技術(shù). 2011(06).

(責(zé)任編輯:韋詩(shī)佳)

收稿日期:2015-10-23

中圖分類(lèi)號(hào):TP391. 72

文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1673-8853(2016)02-0053-02

猜你喜歡
水利數(shù)據(jù)庫(kù)
為奪取雙勝利提供堅(jiān)實(shí)水利保障(Ⅱ)
為奪取雙勝利提供堅(jiān)實(shí)水利保障(Ⅰ)
水利信息化
水利宣傳
水利監(jiān)督
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
主站蜘蛛池模板: 久久婷婷国产综合尤物精品| 熟女视频91| 国产成人精品男人的天堂| 91视频精品| 毛片手机在线看| 青青青国产在线播放| 亚洲美女一区| 成人午夜视频网站| 免费一级毛片在线播放傲雪网| 欧美午夜网| 在线免费看片a| 极品av一区二区| 色哟哟国产精品| 国产精品毛片一区| 日本三级欧美三级| 亚洲A∨无码精品午夜在线观看| 久久久噜噜噜| 88国产经典欧美一区二区三区| 国产视频一区二区在线观看| 综合五月天网| 成人小视频网| 国产视频大全| 中文字幕日韩视频欧美一区| 亚洲成肉网| a国产精品| 亚洲国产中文在线二区三区免| 巨熟乳波霸若妻中文观看免费| 91小视频版在线观看www| 蜜桃视频一区二区| 亚洲人成人伊人成综合网无码| 欧洲av毛片| 天天视频在线91频| 久久久久久国产精品mv| 九九热视频在线免费观看| 亚洲v日韩v欧美在线观看| 青青操国产视频| 毛片免费观看视频| 69综合网| 91热爆在线| 国产sm重味一区二区三区| 无码精油按摩潮喷在线播放| 国产成人精品午夜视频'| 国产欧美日韩综合一区在线播放| 欧洲成人免费视频| 国产99在线观看| 国产欧美视频在线观看| 国模极品一区二区三区| 久久国产精品娇妻素人| 国产国语一级毛片| 国产va在线观看| 亚洲精品日产AⅤ| 免费观看精品视频999| 日韩福利在线视频| av在线5g无码天天| 本亚洲精品网站| 国产一区二区三区在线观看视频 | 无码内射在线| 精品视频一区二区三区在线播| 网友自拍视频精品区| 国产福利在线观看精品| 久久精品免费国产大片| 成年人视频一区二区| 国产一级α片| 国外欧美一区另类中文字幕| 久久性视频| 色综合成人| 久久精品亚洲中文字幕乱码| 成人无码一区二区三区视频在线观看| 亚洲欧美自拍一区| 激情午夜婷婷| 成年人国产网站| 中国精品久久| jizz国产在线| h视频在线观看网站| 狠狠久久综合伊人不卡| 欧美成人第一页| 热这里只有精品国产热门精品| 久久99精品久久久久久不卡| 国产亚洲视频免费播放| 免费欧美一级| 四虎成人精品在永久免费| 五月婷婷中文字幕|