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

基于Teigha的復雜水利AutoCAD數據的讀取

2016-04-21 07:10:08豆喜朋王志軍河南省水利勘測有限公司
河南水利與南水北調 2016年2期
關鍵詞:水利數據庫

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

?

基于Teigha的復雜水利AutoCAD數據的讀取

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

摘要:Aut oCAD具有價格高、專業針對性不強、操作相對復雜等缺點,然而,DWG數據庫是水利工程最常用的文件格式之一,水利DWG數據是水利信息的重要載體,是實現水利信息化管理的必要條件,所以水利軟件研發過程中必須兼容DWG文件格式。DWG文件以塊形式進行組織管理,圖塊是DWG數據重要的組成部分,通過表唯一索引其包含的對象實體。Tei ghafor. dwg是面向對象的開源類庫,文章在Net框架下實現了復雜水利DWG數據的快速讀取,并在開源GIS平臺Worl dWi nd三維空間上的精確顯示。

關鍵詞:Tei ghafor. dwg;CAD;數據庫;水利

1 引言

AutoCAD是一款強大的二維繪圖軟件,多年來在多個領域得到廣泛應用。作者以為還有以下幾點不足:第一,AutoCAD可廣泛應用于諸多領域,其為用戶提供了基本的作圖工具,但在具體行業業務流程中缺乏專業性;第二,AutoCAD功能較多,對某一類用戶往往只用其中幾個功能,軟件采購時往往存在較大浪費;第三,AutoCAD源自美國Autodesk公司,其操作習慣與國人存在較大差別。可見我們針對專業應用領域,研發定制性強、有自主版權的CAD軟件是很有必要的。

但是Autodesk針對DWG數據格式迄今并未公開其數據結構,其高效的數據組織、快速的數據索引機制、高壓縮的數據存儲一直是眾多國內類似軟件無法達到的。AutoCAD的數據交換通過DXF格式實現,但是DXF文件格式不僅占用磁盤空間較大,而且其圖塊讀取速度也大大降低,少量DXF數據讀取速度尚可接收,但對于復雜的數據其讀取速度將會成為軟件的瓶頸。因此文章針對復雜的水利DWG數據庫,基于Teighafordwg開放組件,實現直接、快速、準確的讀取DWG文件,并對水利典型DWG數據進行了交換實現。

2 Tei gha For. DWG技術

開放設計協會(Open Design Allianee)是一個致力于設計開發專門用于讀取AutoCAD數據的非盈利組織,其核心技術組件是Teigha,Teigha是一套全新的面向對象的類庫,支持Dgn、Dwg、Pdf等多種格式之間的轉換,同時支持多個操作平臺。Teighafor.dwg是Teigha的一個子集,前身叫OpenDWG、DWGdirect。可以讀取各版本AutoCAD數據,圖形顯示上支持GDI、 OpenGL、DirectX,對DWG文件的讀、寫具有高效性和高安全性。

Teighafor.dwg對內提供DWG各個版本文件格式近乎完美兼容性接口。向下屏蔽DWG內部數據結構和版本差異,向上提供統一的數據結構表達信息模型。Teighafor.dwg在OpenDWG基礎上極大的提升了讀取CAD信息的速度。類庫從功能上劃分為以下幾個重要模塊:一是在類庫初始運行時,類的入口識別以及注冊信息。二是標示DWG中實體數據。三是數據對象的渲染表達。四是點、線、面等幾何通用類。五是標示邊界表示法的類。六是圖形類。同時以矢量化界面顯示。

Teighafor.dwg類庫把DWG文件所包含的各類信息以一系列對象的形式保存到內存中。這些對象具有各自的類型并能實現不同的功能,所以我們就能易于理解和操作這些信息。Teighafor.dwg類庫把每個DWG文件抽象為一個OdDbDatabase類,每個OdDbDatabase類有九個數據表類型,并為這些表類型建立了一個索引類,索引類中通過字典保存類的結構信息。

字典類型是個索引類,存儲了每個表類的位置索引,可以快速定位到所指向的表。每個表對象都包含多條相應的記錄項,如TableText、TableVIew、TableLayer等包含多條相應記錄TextRecord、ViewRecord、LayerRecord,分別存儲了標注、視圖和圖層相關信息。

3 DWG數據組織

DWG是一種保密格式,通過二進制流保存文件,由于對DWG文件結構不了解,普通用戶無法直接讀取,只能通過AutoCAD軟件解析二進制流文件,以可編輯的圖形文件可視化展示。

每個DWG文件將整個數據庫文件分解為幾種標準數據類型,如單字節整型、字符型、雙精度浮點型等。因此很方便的用高級程序設計語言(如C++、java、C_Sharp)進行直接存取和處理。每個DWG數據庫文件有文件頭、實體、表、塊體和應急頭部五部分組成。

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

4 DWG圖塊數據讀取流程

圖塊的讀取是基于Teighafor.dwg服務類的,所以首先要開啟Services服務類,之后為DWG文件創建相應的Database,通過調用ReadDwgFile(FilePath)方法加載指定的DWG文件,具體流程如下圖所示:

圖1 DWG圖塊讀取流程圖

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

5 實例應用及結語

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

圖2 Aut oCAD原始數據和讀取數據對比圖

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

表1 讀取效果對比表

可見利用TEIGHAFOR.DWG強大的讀寫DWG格式數據的功能,可以直接的、快速的讀取DWG文件,極大提高了數據讀取的準確度和效率。在實際工作中對DWG數據重用和信息一體化管理有極高的使用價值。

參考文獻

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

[2]晏韻,許超.基于DWGDi rect訪問Aut oCADDWG圖形文件[J].工程圖學學報. 2010(06).

[3]孫炎,羅曉沛.基于DWGDi rect實現Aut oCAD與ArcGIS的數據交換[J].計算機工程與設計. 2009(07).

[4]陸振朋. Aut oCAD二次開發及在工程設計中的應用[J].鐵路通信信號工程技術. 2011(06).

(責任編輯:韋詩佳)

收稿日期:2015-10-23

中圖分類號:TP391. 72

文獻標識碼:A

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

猜你喜歡
水利數據庫
為奪取雙勝利提供堅實水利保障(Ⅱ)
為奪取雙勝利提供堅實水利保障(Ⅰ)
水利信息化
水利宣傳
水利監督
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 国产成人区在线观看视频| 亚洲人妖在线| 香蕉eeww99国产精选播放| 精品国产一区二区三区在线观看| 欧美日本视频在线观看| 午夜福利视频一区| 91福利在线观看视频| 伊人久久大香线蕉综合影视| 国产91成人| 国产人碰人摸人爱免费视频| 天天综合网色| 日韩123欧美字幕| 日韩精品亚洲人旧成在线| 国产欧美网站| 免费毛片a| 国产精品一区二区不卡的视频| 欧美成人午夜视频| 亚洲国产天堂在线观看| 久久青草视频| 丝袜国产一区| 性激烈欧美三级在线播放| 午夜一级做a爰片久久毛片| 欧美午夜网| 欧美亚洲国产视频| 69视频国产| 精品伊人久久久久7777人| 欧美综合区自拍亚洲综合绿色| 无码 在线 在线| 一区二区三区四区在线| 中文字幕乱妇无码AV在线| 亚洲国产成人精品青青草原| 欧美黄网站免费观看| 国产精品尹人在线观看| 伊人成人在线| 亚洲综合九九| 免费黄色国产视频| 91精品网站| 91久久国产成人免费观看| 色综合综合网| 亚洲成A人V欧美综合天堂| 天堂va亚洲va欧美va国产| AV熟女乱| 色噜噜狠狠狠综合曰曰曰| 国产剧情国内精品原创| 国产男人天堂| 国产剧情无码视频在线观看| 九九九国产| 欧美精品一二三区| 露脸国产精品自产在线播| 好吊日免费视频| 九色国产在线| 国产精品精品视频| 久久精品人人做人人爽| 热这里只有精品国产热门精品| 99re66精品视频在线观看 | 中文字幕色站| 亚洲高清无在码在线无弹窗| 午夜毛片免费观看视频 | 国产美女人喷水在线观看| 自拍中文字幕| 色老头综合网| 嫩草国产在线| 久久激情影院| 天天操精品| 成人韩免费网站| 激情六月丁香婷婷四房播| 国产精品自在在线午夜区app| 日韩成人免费网站| 国产精品午夜福利麻豆| 天天躁夜夜躁狠狠躁图片| 午夜福利视频一区| 亚洲欧美自拍中文| 国产第八页| 免费国产在线精品一区| 国产99欧美精品久久精品久久| 一本大道香蕉中文日本不卡高清二区| 亚洲婷婷丁香| 自拍亚洲欧美精品| 国产午夜福利亚洲第一| 香蕉国产精品视频| 最新国语自产精品视频在| 精品福利网|