榮輝
摘要:核電作為清潔能源,是未來能源發展的必然趨勢。目前,核電設計方基本都采用了三維設計工具完成核電站的三維布置工作。在模型瀏覽方面,由于此類設計軟件較為昂貴,其UI界面針對的群體是設計人員,工程公司、施工方、制造方、業主等相關方則不易使用,所以其一般使用軟件開發商提供的三維模型瀏覽軟件進行數字模型瀏覽。但這種方法存在軟件不能完全滿足企業個性化需求,以及軟件升級服務限制、軟件版權費用、客戶端安裝文件龐大等一系列問題。因此,急需一款可以進行Web方式進行模型瀏覽的輕量化引擎來解決上述問題。
關鍵詞:三維設計;三維引擎;可視化;Java3D
中圖分類號:TP391.9 文獻標識碼:A 文章編號:1007-9416(2017)03-0103-01
1 研究背景及意義
從二十世紀五十年代開始,人類就正式開始了和平利用核能。作為世界上第一個商業運行的美國希平港核電站,其于1957年開始正式并網發電。當前,對于核電站設計,設計方基本都采用了三維設計工具完成核電站的三維布置工作。目前市面上的此類主流設計工具主要有Intergraph公司的SmartPlant 3D/PDS,AVEVA公司的PDMS等產品。這些系統采用以三維模型為對象的可視化協同設計技術和以數據庫為核心的集成化設計技術,使各專業設計人員可按照自動化和標準化的工作流程設計工具在本地或異地開展工作,并可共享企業各類技術資源,從而縮短工程建設周期,提高質量,降低投資。
以Intergraph公司的PDS產品為例,該系統提供了一種清晰描述工廠和空間設計的手段,實現包括建筑、結構、設備、管道、通風、支吊架、電氣、儀表等各專業領域的智能三維設計,能生成工廠三維數字化設計模型,并可進行二三維數字化校驗,三維數字化碰撞檢查、漫游及生成設計圖紙、報表、設備材料清單;具有強大的數據庫支持能力,可對項目的數據進行存儲、管理和再處理;具備完善、方便和適宜于處理核工程等復雜項目的設計能力,能進一步提高設計工作效率和減少設計過程的差錯,從根本上實現三維數字化實體模型設計應用能力,實現較高水平的設計自動化。為了最大化的利用核電站的三維模型,需要一種載體進行模型的瀏覽,當然,使用設計軟件可以瀏覽這些三維模型,但是這些設計軟件較為昂貴,另外其UI界面針對的群體是設計人員,工程公司、施工方、制造方、業主等相關人員則不易使用。當前,大多數的做法是利用軟件商提供的瀏覽軟件進行模型瀏覽,例如鷹圖公司開發的SmartPlant Review軟件、Autodesk公司開發的Navisworks等軟件。但是,這些商業軟件不能完全滿足企業個性化的要求,并且都需要安裝較大的客戶端,但隨著互聯網技術的發展,用戶有直接使用Web方式進行模型瀏覽的輕量化實際需求。因此,研究開發一種基于Web的輕量化模型在線瀏覽系統,實現核電三維模型的在線瀏覽顯得尤為迫切。
2 系統設計
2.1 需求分析
核電站三維模型在線瀏覽系統至少需要實現以下三個功能模塊,即模型處理模塊、人機交互模塊以及Web集成模塊。(1)模型處理模塊實現模型格式的自動轉換,模型載入時的初始化。(2)人機交互模塊包含場景操作和模型操作,場景操作主要針對的是整個三維場景的旋轉、平移、縮放以及場景的居中顯示。模型操作主要包含模型選擇,以及在此基礎上的針對選擇模型距離測量、屬性查詢和居中顯示等。(3)Web集成模塊主要實現系統與Web集成時的運行參數配置、接收由Web傳輸的模型顯示信息,顯示指定的三維模型。在用戶執行屬性查詢等操作時,需要根據用戶操作更新頁面信息。
2.2 總體方案
Java3D是 Java 語言在三維圖形領域的擴展, Java3D 有純粹的面向對象結構。其數據結構采用的是 Scene Graphs Structure(場景圖),就是一些具有方向性的不對稱圖形組成的樹狀結構。場景圖中線和線的交匯點稱為節點(Node),節點之間的線表示各個實例之間的關系。Virtual Universe 是根節點,每一個場景圖的 Virtual Universe 是唯一的。在 Virtual Universe 下面是 Locale 節點,每一個 Locale 可以擁有多個 BranchGroup 節點。所有三維形體的位置信息(TransformGroup Nodes)都建立在 BranchGroup 節點之上。TransformGroup Node 用來設定 Shape3D 在 Virtual Universe 中的位置。Shape3D Node 是三維圖形節點,代表三維世界中的每個形體。位于場景圖最下層的是兩個葉子節點:三維體的外觀(Appearance)和幾何信息(Geometry),這兩個節點定義了一個三維體的顯示效果。
結合Java3D的場景特點,設計本系統場景結構。整個三維場景有一個根節點BranchGroup,在該節點下包含了針對整個三維場景進行位姿變換的節點TransformGroup。在根節點里面還添加了三個對整個場景進行位姿變換的行為類:Rotate(旋轉)、Translate(平移)、Zoom(縮放)。這三個行為類的操作對象都是針對場景位姿變換節點。同時,在根節點下還包含了一個鼠標選擇行為,用于選擇模型。
模型加載至Java3D之后成為一個BranchGroup,該節點下方的每一級TransformGroup對應于下級子節點相對于上級節點的一次三維空間坐標變換。在處于葉節點的TransformGroup中包含了代表該形體幾何信息的Shape3D節點,每一個Shape3D節點都有外形輪廓節點Geometry和外觀屬性節點Appearance組成。
2.3 模型處理、載入及初始化
由PDS等建模工具生成的模型并不能直接被Java3D讀取,需要轉換成OBJ或VRML等格式。VRML具有與Java3D相似的場景結構,數據可讀性較好。本文采用VRML作為模型格式。同時,對于轉換后的VRML模型必須對其數據格式進行規范,以便Java3D程序可以讀取模型的唯一標識碼。
Java3D通過VrmlLoader來加載VRML模型。每個VRML模型在加載到Java3D的場景中時,相應的VRML節點也會轉換成Java3D的節點。為了實現交互性,并最大限度的降低內存消耗,提高渲染性能,在VRML節點加載成為Java3D的live節點之前必須對相應轉換成的Java3D節點做出若干設置。
3 Web集成
為了以Web的方式實現核電三維模型的在線瀏覽,需要將本系統嵌入在JavaEE的JSP頁面中。用戶通過相應JSP頁面來顯示本系統。系統在開發時以Java Applet的形式實現,并且在JSP頁面初始化時,將所需要顯示的模型以參數的形式傳輸給本系統,本系統通過TCP/IP協議將模型從模型文件服務器緩存至客戶機,進而加載渲染。從而簡單、直觀地查看模型的設計數據,并可基本實現商用瀏覽引擎的基本操作功能。此外,該系統還可應用于碰撞模型的查看,便于用戶快速定位碰撞點,從而快速修改設計。
4 結語
核電站三維模型在線瀏覽系統實現了核電設計三維模型以Web的方式在線瀏覽,可應用于模型瀏覽、屬性查詢、測量,二三維模型比對,碰撞模型瀏覽等,滿足了相關人員的模型瀏覽需求,提高了工作效率,節省了企業相關經費。
參考文獻
[1]張杰.JAVA3D交互式三維圖形編程[M].北京:人民郵電出版社,1999.
[2]胡小強.虛擬現實技術與應用[M].北京:高等教育出版社,2004,106-120.
[3]高新瑞.Java 3D與計算機三維動態圖形網絡編程設計[M].北京:清華大學出版社,2014,205-433.