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

基于Revit平臺的建筑管理信息系統

2017-10-24 05:31:03劉麗娜
關鍵詞:數據庫建筑信息

鄭 華 劉麗娜

(石家莊鐵路職業技術學院 河北石家莊 050061)

基于Revit平臺的建筑管理信息系統

鄭 華 劉麗娜

(石家莊鐵路職業技術學院 河北石家莊 050061)

針對基于B/S結構的BIM服務器在模型顯示、模型分析、數據統計等方面的難點問題,本文以Revit為例,通過WebGL技術和Three.js引擎,設計并實現了一種B/S結構的BIM管理信息系統,文章重點介紹了模型分析、子建筑識別與熱點處理、模型與數據庫的關聯查詢等問題。實驗結果表明,以Revit和WebGL配合來建立BIM服務器技術可行,且具有跨平臺、無插件等優點。

BIM Revit WebGL B/S 管理信息系統

1 引言

BIM(Building Information Model,建筑信息模型)技術的誕生為建筑信息化帶來了福音,理論上的BIM可以面向建筑全生命期,實現建筑各階段和各參與方之間的信息集成和共享,解決“信息斷層”和“信息孤島”的問題,提高建筑產業效率和建筑產品質量[1]。

實踐中,需要一個以實際技術搭建的系統將這些特性實現,BIM服務器應運而生。根據客戶端的形式不同,網絡結構模式可分為C/S架構與B/S架構。目前BIM服務器的主要形式為C/S架構,B/S架構的很少。這主要是Web環境的功能限制所造成的,而其中最為關鍵的便是基于瀏覽器的三維圖形加速技術[2]。

隨著HTML5標準的推出和WebGL技術的日益成熟,瀏覽器端的3D引擎問題有了好的解決方案,但作為一個開放標準,WebGL并不能解決BIM領域的特定問題,比如模型的讀取、解析、顯示、控制問題。另一個需要解決的問題是模型與數據庫之間的關聯問題,模型通常只攜帶幾何和材質信息,大量的BIM數據則存儲在數據庫服務器端,必須在模型文件和數據庫服務器之間建立關聯關系,才能實現模型的信息化管理。

本文以Revit模型為例,結合WebGL引擎,重點研究了面向Web的BIM模型的展示、遍歷、子建筑拾取、異步提示、分類統計等問題,設計了一套可行的BIM管理信息系統方案。文章最后以一棟二層建筑為例,實現了基于模型的異步提示和數據統計,實驗結果表明,基于Revit模型和WebGL引擎的BIM服務器可以支撐B/S模式的BIM管理信息系統,且具有跨平臺、無插件等優點。

2 系統設計

2.1 模型顯示

2009年8月,Khronos提出WebGL繪圖技術,它是一個跨平臺、免費的、用于在Web瀏覽器上創建三維圖形的API,基于OpenGL ES 2.0標準,使用OpenGL著色語言 GLSL,提供了類似于標準的OpenGL的API[3],可以直接在HTML5的Canvas元素中繪制三維動畫并提供硬件三維加速渲染,不需要安裝瀏覽器插件,通過JavaScript代碼即可實現三維圖像的展示。

WebGL完美地解決了現有的Web交互式三維動畫的兩個問題:第一,它通過腳本實現Web交互式三維動畫的制作,無需任何瀏覽器插件支持;第二,它利用底層的圖形硬件加速功能進行的圖形渲染,通過統一的、標準的、跨平臺的OpenGL接口實現。

目前已有大量基于WebGL技術的JavaScript庫正在開發以創建3D圖形應用,如SceneJS、WebGLU、Three.js等。在眾多的引擎中,Three.js以簡單、直觀的方式封裝了3D圖形編程中常用的對象,使用了很多圖形引擎的高級技巧,極大地提高了性能,并且是完全免費和開源的,其渲染結構如圖1所示。

圖1 Three.js的渲染結構

利用Three.js引擎提供的API,可以很容易的在Web上展示各種格式的三維模型,如dae、obj、json等。默認情況下,Three.js會將整個模型文件封裝成一個獨立的三維對象(THREE.Object3D),之后按位置被放入場景。

到目前位置,Three.js還不提供對于IFC(Industry Foundation Classes)格式的支持,該標準是由IAI(International Alliance of Interoperability)組織制定的建筑工程數據交換的標準格式,現有的基于WebGL的BIM平臺研究局限于模型顯示,并沒有進一步的數據交換與跨領域的信息顯示[2]。因此,僅對于模型顯示來說,可以通過工具對模型進行格式轉換,轉換后的顯示效果是相同的。

利用Three.js提供的各種控制類,還可以實現模型的拖拽、旋轉、縮放等人機交互功能,其中THREE.TrackballControls類適用與這類操作,預定義的鼠標操作如表1所示,當需要選取建筑內部或背面的子建筑時,該功能尤其重要。

表1 THREE.TrackballControls中的控制鍵

2.2 模型遍歷與重組

Three.js提供的API會將整個模型封裝成了一個獨立的Object3D對象,這樣一來,程序就無法對模型中的子建筑(如墻面、樓梯、窗戶等)進行拾取和單擊等操作了,盡管可以通過添加熱點,將模型的局部設置為鼠標點擊觸發[4],但這不是一種好的做法,因為熱點無法完全匹配子建筑的幾何形狀,子建筑可能是不規則形狀的,比如說樓梯。

Object3D本質上是Three.js封裝的一個抽象類,該類聲明了一些3D對象的基本私有屬性,如ID、名稱、位置、本地矩陣和世界矩陣等。除此外,該類還聲明了一個私有屬性:children數組,用于包含該3D對象的所有子類,子類本身仍然是一個Object3D對象,通過這種層級嵌套關系,Three.js可以構建復雜的3D對象。Loader方法返回的Object3D對象其實是將所有的子建筑封裝到了一個更高級別的空3D對象中。

通過遍歷模型的Children屬性,可以得到模型中的所有子建筑,為這些子建筑建立獨立的Object3D對象,并在對應的位置加入場景,可以保證模型被重構,同時還能保證用戶可以獨立地選中這些子建筑。通過為子建筑添加事件handleMouseMove和handleMouseUp,可以實現鼠標移動過程中的異步提示和單擊后的數據查詢等操作,處理流程如圖2所示。

圖2 模型遍歷與重組

Three.js并沒有提供應用層的面向對象編程機制,在子建筑類定義、3D空間中的目標拾取和鼠標事件處理等方面仍然比較繁瑣,可以借助于Tony Parisi[美]開發的Sim.js框架,這是一個基于Three.js的輕量級開發框架,可極大地簡化3D類定義和鼠標事件處理,提高程序的可讀性和可重用性。通過在Sim.js框架下定義Sim.Object類,可以將上述Children數組中的所有子建筑實例化,簡化目標拾取和鼠標事件處理程序。

2.3 模型與BIM數據間的映射

BIM數據包含了建筑全生命周期的所有數據,在Revit中,這些數據可以通過ODBC接口直接導出到數據庫,典型的數據包括:墻體類型、長寬高、體積面積、傳熱系數;窗體的透光率、日得光系數;樓梯踏板厚度、踢面高度、踢面數等等。

模型文件一般只攜帶幾何和材質信息,并不包含上述的BIM數據。因此,必須將模型文件和數據庫建立某種關聯才能實現模型的信息化管理。

Revit模型中的每一個子建筑都攜帶一個唯一的ID號,這個ID號在模型文件和數據庫中都存在,通過這個ID號,可以在模型和數據庫之間建立關聯,從而實施進一步的信息化系統開發。

實驗中發現,在Revit中直接導出obj或dae模型時,ID號會出現丟失、變形的情況,這將導致模型與數據庫失去關聯。通過在Revit中先將模型導出成FBX格式,然后在3dMax中導入FBX模型并輸出成OBJ格式,可以解決這個問題,但ID號也會變形,比如一個ID號為“32761”的子建筑經過這個轉換后,ID可能會變為“g _________900mm_______320761_”(與子建筑的類別有關)。實驗中發現,通過下面兩個正則表達式,可以從中取出需要的ID號:

(1)str = str.match(/_d+d+d+_/);

(2)str = str.toString().match(/d+/);

2.4 異步數據通信

handleMouseMove和handleMouseUp事件對應于鼠標移動和鼠標單擊操作,前者用于簡單的信息提醒,比如子建筑的名稱、族名稱等;后者用于詳細的數據查詢,比如子建筑詳細信息、族詳細信息、所有同類對象相關信息等。

handleMouseMove事件所完成的操作必須是異步的,即要求在不刷新整個網頁的前提下與Web服務器進行交互,并更新部分網頁內容。

(1)異步交互:可采用AJAX技術,他是一種用于創建快速動態網頁的技術,通過在后臺與服務器進行少量數據交換,AJAX 可以使網頁實現異步更新。

(2)數據接口:可采用JSON格式,由于其輕量性、文本性、便攜性等優點,JSON現在成為了最流行的信息交換格式,在Web項目中,JSON還與JavaScript有著天然的適應性。

利用AJAX和JSON,配合子建筑在被選中時的點亮效果,利用網頁中隨鼠標浮動的層,可以實現良好的異步提示效果。

2.5 數據查詢

盡管可以從鼠標事件中獲取到子建筑的ID號,但在Web客戶端并不知道該ID所對應的具體類型,所有的子建筑都具有相似的、唯一的ID號,他們按類型的不同存儲在不同的數據表中,僅僅通過ID號并不能確定其對應的數據表。

Revit為每一種建筑子類別(強、門、窗戶、樓梯等)建立了單獨的數據表,他們是分開存儲的,不同類別之間的表結構差別很大,比如墻體和窗戶的描述方法不同。在數據庫服務器端,可以接收到客戶端發送過來的ID號,然而還需要知道從哪張表中找到這個ID號。

通過存儲過程遍歷數據庫表,可以查到了這個ID,從而獲得子建筑的詳細信息(長寬高、體積面積等),每個子建筑還會對應一張類型表(即族信息),該子建筑所對應的族關系、族信息也可通過這個ID號進行關聯查詢。

所有的族也會有一個唯一的類型ID號,通過與前面的ID字段配合,利用視圖、函數、存儲過程等數據庫手段,可以實施更詳細的數據查詢,比如所有同類子建筑信息、建筑物整體的子類別與數量統計信息等。

3 系統實現

實例模型采用了一棟兩層建筑,模型文件5M,其中包括148個建筑單元,模型在瀏覽器中的整體展示效果如圖3所示,子建筑類別統計結果如圖4所示,鼠標移動過程中的子建筑點亮及提示效果如圖5所示,單擊子建筑后的數據統計結果如圖6所示。

圖3 建筑模型結構圖

圖4 子建筑類別統計結果

圖5 異步提示效果

圖6 子建筑詳細信息

系統調試環境為:服務器端:SQL Server 2008數據庫、IIS7.0;客戶端:Intel Core?2雙核CPU、2G內存、NVIDIA GeForce 9400 GT顯卡;軟件版本:Revit 2014中文版、3ds Max2010中文版。

4 結論

本論文針對Revit模型,利用WebGL引擎,研究了一種BIM信息化的可行方案,為成功實施B/S環境下的綜合BIM管理系統開發提供了一種有效途徑。

由于WebGL是無插件和基于JavaScript語言的,系統具有跨平臺、開源等優點,還可以很方便地部署在移動用戶端。

[1]張建平,余芳強,李丁.面向建筑全生命期的集成BIM建模技術研究[J].土木建筑工程信息技術,2012,4(01):6-14.

[2]王珩瑋,胡振中,林佳瑞.面向Web的BIM三維瀏覽與信息管理[J].土木建筑工程信息技術,2013,5(03):1-7.

[3]劉愛華,韓勇,張小壘.基于WebGL技術的網絡三維可視化研究與實現[J].地理空間信息,2012,10(05):79-81.

[4]王磊,高玨,金野.基于Web3D無插件的三維模型展示的研究[J]. 計算機技術與發展,2015,25(04):217-220.

[5]譚文文,丁世勇,李桂英. 基于webGL和HTML5的網頁3D動畫的設計與實現[J].電腦知識與技術,2011,7(28):6981-6983.

[6]霍冬,鄭偉華,盛步云.基于WebGL的機械產品三維展示技術研究[J].制造業自動化,2013,35(09):73-77.

[7]周敬敬,陳昕,吳開超.利用WebGL技術實現機房動態虛擬裝配設計的可視化[J].科研信息化技術與應用,2013,4(02):87-92.

[8]趙學偉,沈旭昆,齊越. 基于Web的交互式三維發布系統[J].計算機工程, 2007,33(22):5-7.

[9] Cantor D. WebGL Beginner’s Guide[M]. Birmingham, United Kingdom: Packt Publishing, Limited, 2012

[10]P.M.Hubbard.Approximating polyhedra with sphms for time-critical collision detection[J].ACM TrimsGraph,1996,15(3):179-210.

Building Management Information System Based on Revit

ZHENG Hua LIU Li-na
(Shijiazhuang Institute of Railway Technology Shijiazhuang Hebei 050061 China)

To solve the difficult problems of the BIM server based on B/S Structure in model shows, model analysis and data statistics, taking Revit as an example, this paper designed and implemented a BIM management information system based on B/S Structure through WebGL technology and Three.js engine. The paper mainly introduces the model analysis, the sub-building identification and the hot spot treatment, the relational query between the model and database etc. Experimental results show that building BIM server with WebGL and Revit is feasible and has the advantages of cross platform and no plug-ins.

BIM Revit WebGL B/S MIS

A

1673-1816(2017)03-0053-05

2016-06-18

鄭華(1977-),男,副教授,碩士,研究方向計算機網絡技術、Web3D。

基于B/S結構的BIM服務器中間件技術研究,QN2016215

基于物聯網和GPRS的公寓安全智能管理系統的技術研究,QN2017358

河北省科技廳技術創新引導計劃項目,16210335

猜你喜歡
數據庫建筑信息
《北方建筑》征稿簡則
北方建筑(2021年6期)2021-12-31 03:03:54
關于建筑的非專業遐思
文苑(2020年10期)2020-11-07 03:15:36
建筑的“芯”
現代裝飾(2020年6期)2020-06-22 08:43:12
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數據庫
財經(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
獨特而偉大的建筑
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 日韩av无码精品专区| 日韩天堂网| 99精品国产电影| 全免费a级毛片免费看不卡| 97超级碰碰碰碰精品| 亚洲天堂网2014| 国产精品福利一区二区久久| 欧美中文字幕在线播放| 69综合网| 日韩精品免费一线在线观看| 亚洲一区二区视频在线观看| 国产在线98福利播放视频免费| 久久激情影院| 亚洲一级毛片在线观| 国产午夜人做人免费视频中文| 99视频只有精品| 精品无码国产一区二区三区AV| 色婷婷在线影院| www.日韩三级| 99久久人妻精品免费二区| 无码高潮喷水在线观看| 成年人视频一区二区| 国产黄网站在线观看| 97亚洲色综久久精品| 国产免费网址| 国产一区在线视频观看| 又爽又大又光又色的午夜视频| 亚洲三级色| 免费国产高清精品一区在线| 亚洲午夜天堂| 国产男女XX00免费观看| 99精品免费欧美成人小视频| 中文字幕在线一区二区在线| 狠狠ⅴ日韩v欧美v天堂| 全部无卡免费的毛片在线看| 欧美A级V片在线观看| 青青青亚洲精品国产| 一区二区自拍| 欧美成人第一页| 狠狠做深爱婷婷综合一区| 国产亚洲欧美日韩在线一区| 91网在线| 国产精品99久久久久久董美香| 国产 在线视频无码| 成人国产免费| 日韩一区精品视频一区二区| 成人自拍视频在线观看| 成人亚洲天堂| 色婷婷国产精品视频| 久久人人爽人人爽人人片aV东京热| 国产91丝袜在线播放动漫| 久夜色精品国产噜噜| 亚洲三级成人| 网友自拍视频精品区| 国内精品免费| 免费人成在线观看成人片| 国产99视频在线| 亚洲欧美日韩天堂| 日韩无码黄色| 精品视频一区在线观看| 国产精品一区在线观看你懂的| 成人在线观看一区| 67194亚洲无码| 欧美色图久久| 亚洲制服中文字幕一区二区| 伊人五月丁香综合AⅤ| 久青草免费在线视频| 亚洲综合在线最大成人| 麻豆国产在线观看一区二区| 91探花在线观看国产最新| 国产精品自在线拍国产电影| 91成人在线观看视频| 国产亚洲精品97在线观看| 精品国产香蕉在线播出| 国产Av无码精品色午夜| 老司机午夜精品视频你懂的| 日本一区二区不卡视频| 国产黄色视频综合| 亚洲婷婷六月| 茄子视频毛片免费观看| 国产成人精品视频一区二区电影| 国产亚洲高清在线精品99|