吳開興 李輝
摘要:針對(duì)二維計(jì)算機(jī)輔助設(shè)計(jì)(cAD)及三維建筑信息模型(BIM)工程圖紙檔案缺乏便捷高效的管理和使用手段、對(duì)工程圖紙檔案進(jìn)行增刪改等操作的處理速度較慢、二三維工程圖紙檔案信息攜帶量較低、二三維工程圖紙檔案之間無法產(chǎn)生有效聯(lián)系等問題,本文結(jié)合改進(jìn)的插入排序算法、可縮放矢量圖形(sVG)、網(wǎng)絡(luò)圖形庫(WebGL)等,對(duì)工程圖紙檔案數(shù)字化管理系統(tǒng)進(jìn)行了研究及實(shí)現(xiàn),解決了上述問題的同時(shí)也為其他同類系統(tǒng)的開發(fā)提供了借鑒。
關(guān)鍵詞:二三維工程圖紙檔案;插入排序;可縮放矢量圖形;網(wǎng)絡(luò)圖形庫
中圖分類號(hào):TP315 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)31-0259-03
工程圖紙作為設(shè)計(jì)師設(shè)計(jì)內(nèi)容的載體和工程圖紙使用方進(jìn)行各項(xiàng)相關(guān)工作的依據(jù),在工程中有著重要的地位和作用。隨著計(jì)算機(jī)輔助設(shè)計(jì)(cAD)及建筑信息模型(BIM)的普及,對(duì)工程圖紙的數(shù)字化成果交付逐漸普及,然而,對(duì)工程圖紙檔案的管理及使用上還是存在著諸多問題。
目前對(duì)工程圖紙的使用主要集中于二維CAD和三維BIM工程圖紙檔案的使用方式較為不便,且二維CAD和三維BIM工程圖紙的管理和借閱等工作也大多借助于人工進(jìn)行,工作較為繁重。
為解決上述二維CAD和三維BIM工程圖紙檔案管理及使用中存在的諸多問題,本文對(duì)工程圖紙檔案管理進(jìn)行了研究及實(shí)現(xiàn),提高了二維CAD和三維BIM工程圖紙檔案在管理、使用上的便捷性,也為同類系統(tǒng)的開發(fā)提供了借鑒。
1系統(tǒng)設(shè)計(jì)
工程圖紙檔案管理系統(tǒng)前臺(tái)頁面包括工程圖紙檔案管理、二維CAD工程圖紙使用、三維BIM工程圖紙使用三個(gè)模塊,后臺(tái)管理包括用戶、角色、權(quán)限的管理。
1.1工程圖紙檔案管理
1.1.1工程圖紙檔案排序
在已存儲(chǔ)大量工程圖紙檔案的情況下對(duì)工程圖紙檔案進(jìn)行增刪改等操作在使用一般排序方法的情況下會(huì)占用大量計(jì)算資源并耗費(fèi)大量時(shí)間。向包含大量數(shù)據(jù)并已有序的序列中增加新的數(shù)據(jù),插入排序是較優(yōu)的選擇,因而對(duì)插入排序算法進(jìn)行優(yōu)化并應(yīng)用于工程圖紙檔案排序中,以減少排序帶來的時(shí)間和計(jì)算資源的消耗。
插入排序是將多個(gè)待排序數(shù)據(jù),逐個(gè)從已排序序列的一端開始,將待排序數(shù)據(jù)的關(guān)鍵碼值與已排序序列中數(shù)據(jù)的關(guān)鍵碼值做對(duì)比,直到找到其適當(dāng)?shù)牟迦宋恢貌⒉迦搿?/p>
本文從以下4個(gè)方面對(duì)插入排序算法進(jìn)行改進(jìn)。
(1)插入排序時(shí)需將待排序數(shù)據(jù)從已排序數(shù)據(jù)序列的一端開始與已排序數(shù)據(jù)逐個(gè)進(jìn)行對(duì)比,對(duì)比次數(shù)過多,因而將二分法引入插入排序中,以減少對(duì)比次數(shù);
(2)二分法在二分點(diǎn)選取時(shí)一般以二分區(qū)間中值作為二分點(diǎn),選取方式過于粗放,因而本文通過對(duì)比待排序數(shù)據(jù)與二分區(qū)間端點(diǎn)數(shù)據(jù)的差值來選取二分點(diǎn),以減少二分次數(shù);
(3)多個(gè)未排序數(shù)據(jù)進(jìn)行插入排序時(shí),每個(gè)待排序數(shù)據(jù)都從已排序數(shù)據(jù)序列的一端開始進(jìn)行插入排序未免過于浪費(fèi)時(shí)間,因而將多個(gè)未排序數(shù)據(jù)進(jìn)行快速排序,前一個(gè)數(shù)據(jù)插入已排序數(shù)據(jù)序列后,后一個(gè)數(shù)據(jù)從前一個(gè)數(shù)據(jù)的插入位置開始進(jìn)行插入排序,以減少對(duì)比次數(shù);
(4)插入排序時(shí)因待排序數(shù)據(jù)插入已排序數(shù)據(jù)序列后,在待排序數(shù)據(jù)插入位置之后的已排序數(shù)據(jù)需向后位移一位,龐大的位移次數(shù)對(duì)時(shí)間、計(jì)算資源的消耗較多,因而引入多路插入方法,按數(shù)據(jù)量的大小設(shè)定分組長(zhǎng)度,當(dāng)數(shù)據(jù)插入分組時(shí)只將分組中處于插入位置后的數(shù)據(jù)后移,以減少位移次數(shù)。
1.2三維BIM工程圖紙使用
一般建模軟件所導(dǎo)出的三維圖紙是一個(gè)整體的三維模型,其在使用上大多局限于整體模型的瀏覽,而在實(shí)際應(yīng)用中三維圖紙檔案僅能進(jìn)行整體瀏覽顯然不敷使用,而是需要獲取各圖元實(shí)體的屬性等信息,以存儲(chǔ)并展示更多信息,并輔助各項(xiàng)工作的進(jìn)行,因此需對(duì)整體的三維圖紙進(jìn)行拆分處理,并為各圖元掛載屬性等信息,使三維工程圖紙檔案的使用不再局限于整體的瀏覽。
OBJ格式三維BIM圖紙文件格式較為簡(jiǎn)單,易于開發(fā),因而能夠從大多數(shù)BIM建模軟件中通過插件導(dǎo)出。隨著WebGL技術(shù)的發(fā)展,使用無插件的WebGL三維繪圖協(xié)議實(shí)現(xiàn)三維BIM圖紙?jiān)诰€使用成了更優(yōu)的選擇。本文使用WebGL的一個(gè)功能強(qiáng)大的類庫Cesium實(shí)現(xiàn)三維工程圖紙檔案的使用。
OBJ文件中以體、面、點(diǎn)、點(diǎn)紋理等元素來對(duì)模型進(jìn)行描述,將導(dǎo)出的一個(gè)整體的OBJ模型文件按體的不同拆分成多個(gè)只包含一個(gè)體及其所屬面、點(diǎn)、點(diǎn)紋理的OBJ模型文件,并更新面中的點(diǎn)和點(diǎn)紋理索引。將拆分后的OBJ格式模型文件通過頁面后臺(tái)調(diào)用格式轉(zhuǎn)換插件批量轉(zhuǎn)換為更為輕量化的GLTF文件,并將包括各圖元GLTF文件存儲(chǔ)地址、圖元屬性等信息存儲(chǔ)于XML文件中。通過依照XML文檔中記錄的圖元文件存儲(chǔ)地址依次讀取拆分出的三維圖元并通過Cesium顯示,讀取XML文檔中存儲(chǔ)的圖元屬性信息掛載于圖元實(shí)體上,通過對(duì)XML文檔的操作實(shí)現(xiàn)圖元信息的增刪改功能,實(shí)現(xiàn)三維BIM圖紙的在線使用。
1.3二維CAD圖紙使用
DXF格式是二維CAD行業(yè)中較為流行的開放矢量數(shù)據(jù)交換工業(yè)標(biāo)準(zhǔn)??煽s放矢量圖形(SVG)是基于可擴(kuò)展標(biāo)記語言(xML)的一種用于描述二維矢量圖形的圖形格式,能夠無插件的在瀏覽器中展示矢量圖形。本文采用解析DXF格式二維CAD圖紙并使用SVG技術(shù)進(jìn)行顯示的方式實(shí)現(xiàn)二維CAD圖紙的使用。
DXF格式以組碼標(biāo)記數(shù)據(jù)的形式區(qū)分及描述坐標(biāo)點(diǎn)、角度及樣式等矢量圖形數(shù)據(jù)。在DXF格式文檔中每個(gè)組碼或數(shù)據(jù)單獨(dú)一行,每?jī)尚袨橐唤M,前一行為組碼,決定后一行數(shù)據(jù)元素的類型。從DXF文件中能夠讀取二維CAD中圖元位置坐標(biāo)及矢量信息等數(shù)據(jù),由于SVG坐標(biāo)系與DXF中的坐標(biāo)系不同,需將DXF中點(diǎn)的坐標(biāo)轉(zhuǎn)為SVG坐標(biāo)系中的坐標(biāo)。假定Xs、Ys為點(diǎn)在SVG坐標(biāo)系中的坐標(biāo),xn、Yn為點(diǎn)在DXF中的坐標(biāo),Xmin、Ymax分別為DXF中x坐標(biāo)最小值及Y坐標(biāo)最大值,則
完成DXF文檔數(shù)據(jù)的讀取后,將DXF文檔中各圖元轉(zhuǎn)化為SVG圖元,并將其放入頁面前臺(tái)顯示,實(shí)現(xiàn)二維CAD圖紙的使用,通過對(duì)SVG中視窗的設(shè)置,實(shí)現(xiàn)二維CAD圖紙使用中的縮放功能。
工程中對(duì)二維圖紙的使用不僅僅局限于瀏覽,也需查看二維圖紙中各圖元的屬性等信息,同時(shí)為使用戶能夠更方便地了解同一圖元在二三維圖紙中的表述,為二維圖紙圖元掛載包含二維圖元屬性等信息及該圖元三維瀏覽在內(nèi)的二三維一體化信息。
判斷用戶所選二維圖元后,以二維圖元信息檢索該二維圖元所對(duì)應(yīng)的三維圖元,并在頁面中展示該圖元的三維圖元及屬性信息,并通過對(duì)XML文檔的操作,實(shí)現(xiàn)了圖元信息的增刪改功能。
2系統(tǒng)實(shí)現(xiàn)
圖紙檔案上傳及信息錄入界面如圖1所示。
圖紙檔案信息修改和補(bǔ)錄界面如圖2所示。
二維圖紙檔案使用界面如圖3所示,三維圖紙檔案使用界面如圖4所示。
3結(jié)束語
為實(shí)現(xiàn)二三維工程圖紙檔案的便捷管理及使用,提高二三維圖紙中的信息攜帶量,本文對(duì)煤礦行業(yè)工程圖紙檔案管理進(jìn)行了研究、設(shè)計(jì)和開發(fā),加強(qiáng)了工程圖檔管理系統(tǒng)的反應(yīng)速度和使用便捷性,加強(qiáng)了對(duì)三維圖紙的管理,同時(shí)通過在二維圖元的屬性中添加該圖元的三維圖元,增強(qiáng)了二三維圖紙之間的聯(lián)系,實(shí)現(xiàn)了二三維圖紙的便捷的在線使用,增加了二三維圖紙中信息的攜帶量,同時(shí)也為其他同類軟件的開發(fā)提供了借鑒。