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

Revit幾何模型提取與Web可視化研究

2020-02-22 03:10:52羅文任玉春胡耀文
現代信息科技 2020年17期
關鍵詞:二次開發

羅文 任玉春 胡耀文

摘? 要:BIM技術是建筑產業信息化的關鍵性技術,Revit以其提供豐富的二次開發API等特點,在市場中占有絕對優勢。在瀏覽器中展示Revit三維模型有利于開發公司對于項目的設計、施工、運維等的掌控,因此該方向的研究對建筑行業很有意義。文章通過對Revit API的解析與二次開發進行研究,實現將三維建筑模型的幾何模型與數據模型的分離,將數據模型存儲于MySQL數據庫,幾何模型存儲為JSON文件,在Web端使用Three.js對JSON文件解析渲染,從而在瀏覽器端實現三維模型的重建。

關鍵詞:BIM;WebGL;Revit;二次開發;Three.js

中圖分類號:TP391.7? ? ? ?文獻標識碼:A 文章編號:2096-4706(2020)17-0017-03

Abstract:BIM Technology is the key technology of construction industry informatization. With its rich secondary development API and other characteristics,Revit has an absolute advantage in the market. Displaying the 3D model of Revit in the browser is conducive to the development companys control over the design,construction,operation and maintenance of the project,so the research in this direction is of great significance to the construction industry. Through the research on the analysis and secondary development of the Revit API,the geometric model and data model of 3D building model are separated. The data model is stored in MySQL database,and the geometric model is stored as JSON file,which is used on the Web Three.js by parsing and rendering the JSON file,the 3D model can be reconstructed in the browser.

Keywords:BIM;WebGL;Revit;secondary development;Three.js

0? 引? 言

BIM(建筑信息模型)技術是指利用BIM的特征改進建筑工程從設計到施工以及運維等一系列過程的技術,其在建筑設計領域內被廣泛討論。建筑產業升級和高質量發展的根本途徑是信息化和工業化的深度融合,BIM技術是建筑產業信息化的關鍵性基礎技術,其被廣泛認為是21世紀建筑產業創新發展的關鍵技術,是現代和未來建筑行業從業者需要學習和掌握的基本技能[1]。

Revit Architecture是由Autodesk公司開發的針對建筑行業的BIM工具,其因圖形化創建參數化構件和模型信息高度一致性的兩大特色,再加上其強大的API接口便于開發者能根據自身項目進行不同功能開發等優點,在市場中占有絕對優勢,國內從央企到地方企業對于Revit的應用也是非常普遍的[2-4]。

但是,Revit模型文件只能在Revit軟件中進行瀏覽和編輯,而很多時候人們需要通過網絡共享和顯示Revit模型,如果能將模型與復雜的建模軟件分離,用輕便的網頁形式將其展現出來并保證信息的完整性,同時提供實現Web程序與模型之間信息交互的接口,這樣開發和運維工作就可以充分利用Web技術的普及性和強大功能,大大提高了BIM開發和運維工作的效率,目前已有一些基于Web的Revit展示平臺[5-7]。

為了滿足建筑行業內部不同細分領域的需求,Revit Architecture軟件提供了大量的API,供開發者針對當前項目的實際情況進行自主研發,自主研究和開發Revit模型展示平臺有利于開發公司對于項目設計、施工、運維等步驟的掌控,能極大地提高工作效率。

因此,筆者通過對Revit API的解析與二次開發以及對對象的信息結構和獲取方法進行研究,通過對Revit API的解析與二次開發以及對對象的信息結構和獲取方法進行研究,形成基于類型過濾的數據提取方法,從而實現幾何模型重建,并且通過數據庫連通前后端,實現自定義的交互功能。

1? 基于WebGL的幾何模型重建

1.1? 幾何模型與數據模型分離

1.1.1? Revit文件插件處理流程

Revit API是Autodesk公司為開發者提供的Revit應用程序的開發接口,支持C#的二次開發,供開發者根據項目實際情況進行自主研發。Revit API通過兩種方式來擴展Revit功能:一種是Revit自帶的,使用Revit API中直接為開發者提供的函數;另一種是開發者自行編寫的。本文結合了兩種方式,共同實現插件的開發。

整個插件運行過程如圖1所示,Revit文件處理插件通過手動添加處理文件的方式將需處理Revit文件信息傳至后臺。后臺在接收到文件后,可通過文件地址、名稱、處理方式等信息自動讀取Revit文件,通過判斷所選擇的處理方式,調用不同的導出函數dataexporter.Execute()(圖中a)或jsonexport.Execute()(圖中b)。另外,當選擇同時導出方式時(圖中c),利用多線程的形式使得兩部分數據可同時導出。

需要注意的是,一般的BIM模型材質信息都十分復雜、細節較多,所以對于建筑模型中的各項具體構件,需將其在數據庫中按一定規則進行存放;此外,將模型的幾何構建信息與構件的數據信息分離,幾何模型只包含圖形等文件,不帶任何參數信息。

1.1.2? Revit數據模型提取流程

本文設計的屬性數據提取方式可分為三步操作:

第一步,對Revit元素進行分類,通過分類整理的數據列,本文可很好地依次進行元素參數的提取;

第二步,運用Revit API提供的各種過濾器將本文需要導出的數據過濾出來,并進入具體的參數提取函數;

第三步,進行具體的元素參數獲取,通過API實現具體參數數值的導出入庫,從而完成對數據的獲取。

1.2? 幾何模型存儲成JSON文件

在進行三維幾何模型數據的提取時,考慮到其中間文件既需要能夠保存Revit文件中幾何模型的數據,又需要是能被WebGL接受的數據格式[8,9],本文選擇使用JSON格式的中間文件進行幾何模型數據的存儲。

1.2.1? 幾何模型的構建

由于導出的幾何模型是以JSON格式文件進行數據存儲,并用于后期Three.js的讀取,因此需要遵照Three.js的標準格式進行生成。依據此標準格式并結合Revit內部數據結構,設計了符合需求的JSON模板,其內部主要包含有以下四類數據:

(1)Metadata:當前模型的相關信息以及生成的工具信息。

(2)Geometries:存儲當前模型所包含的頂點信息與拓撲信息。

(3)Materials:存儲當前模型所使用的材質的數組。

(4)Object:當前模型的結構以及標示所應用到的材質和幾何體標示。

1.2.2? 導出功能實現

首先,Revit API實例在進行格式轉換后需要以字符串的形式存儲在JSON文件中以便于Three.js加載,而Revit API提供了對渲染輸出渠道訪問的類:自定義導出程序類(CustomExporter Class)、導出語境接口(IExportContext)、節點渲染類(RenderNode Classes)、照相信息(CameraInfo)等。

表1提供了JSONExportContext接口部分函數及實現的功能。

通過將JSON文件格式化后發現,其文件數據是符合Three.js自定義的JSON文件的內容與格式。

1.3? Three.js解析JSON并渲染

1.3.1? Three.js特性

Three.js庫是JavaScript編寫的WebGL第三方庫,實現了基本的圖像算法,并提供了攝像機控制、燈光設置、加載模型和繪制3D物體等多種功能,是目前十分流行的圖形圖像渲染庫。

1.3.2? Revit-Three.js處理過程

JSON格式文件中的Geometries儲存的是幾何圖形構件信息,Three.js通過使用parseGeometries()函數查找儲存在該集合下的類型(type)屬性,不同的處理函數處理不同類型屬性參數,例如柱體處理屬性CylinderGeometry、參數幾何體處理屬性ParametricGeometry、圓形處理屬性CircleGeometry等。在JSON格式文件中,為了存儲參數的便捷,type對象的存儲值統一為Geometry。

JSON格式文件中的Materials儲存的是模型的材質、顏色等信息,Three.js通過使用parseMaterials()函數遍歷整個材料屬性集,將其中的所有信息提取傳輸給Three.MaterialLoader類,該類將材料屬性中的紋理、顏色等信息進行整合打包最后提交到scene對象中進行顯示。

JSON格式文件中的Children存儲的是Geometries和Materials的UUID、Name以及相關聯的屬性參數的UUID。通過不斷的循環遍歷集合,將其中的UUID與Geometries和Materials屬性相結合,讓兩個模塊中的數據結合在一起;同時通過相關聯屬性參數的UUID實現鼠標拾取以獲取屬性參數數據的功能。

最后使用Three.js的渲染器將處理得到的scene場景在畫布(Canvas)上進行構建,使三維網頁呈現出所需的Revit三維建筑模型。

2? Web端展示效果

平臺通過Revit插件將三維建筑模型中的幾何模型數據和參數數據進行導出并存于服務器中,用戶可以登錄前端管理系統平臺實現資源的遠程獲取和顯示。圖2為谷歌瀏覽器端重建的模型建筑三維視圖,可以看出在瀏覽器中構建的三維模型,除了光照、模型顏色和植物外觀上有些許不同外,其余基本沒有變化。同時,借助于數據庫中所提取到的數據,幾何模型的屬性參數在瀏覽器中也能夠查看。至此,平臺實現了在Web瀏覽器上瀏覽Revit三維建筑模型而不依賴Revit軟件的功能。

3? 結? 論

本文通過對Revit API的二次開發,實現Revit幾何模型和數據模型的分離和分別存儲。圍繞幾何模型的Web端展示展開探討,闡述了幾何信息存儲并寫入JSON文件的過程,以及運用Three.js對JSON進行解析并渲染的辦法,在Web端實現了模型重建。這種方法在數據上使幾何信息與數據信息既獨立又互相關聯,在實際情況中彌補了Revit軟件本身的笨重性,使模型在網頁端易于觀看。

參考文獻:

[1] 何善能.BIM技術在建筑工程項目中的應用價值 [J].居業,2018(4):86-87.

[2] 張平.基于BIM技術的三維監控系統應用研究 [J].鐵路技術創新,2019(4):97-101+110.

[3] 儲偉偉,華玉艷,田章華.BIM模型網頁端展示交互技術及其在隧道運維管理中的應用 [J].土木建筑工程信息技術,2018,10(1):60-64.

[4] 劉佳,張慶彬,梁秋麗.BIM模型的輕量化展示平臺研究 [J].建筑技術,2019,50(7):791-793.

[5] 楊喆,付功云,袁文祥,等.基于WebGL三維引擎的軌道交通工程BIM+GIS平臺研究 [C]// 第七屆BIM技術國際交流會——智能建造與建筑工業化創新發展論文集.廣州:《土木建筑工程信息技術》編輯部,2020:7.

[6] 李獻忠,張社榮,王超,等.基于BIM+GIS的長距離引調水工程運行管理集成平臺設計與實現 [J].水電能源科學,2020,38(9):91-95.

[7] 張海濱,王興龍,張曉娜,等.基于BIM與精益建造的數據驅動式項目管理平臺的探索與應用 [C]//第七屆BIM技術國際交流會——智能建造與建筑工業化創新發展論文集.廣州:《土木建筑工程信息技術》編輯部,2020:590-596.

[8] 趙菲.基于WebGL的古建筑BIM模型輕量化研究與實現 [D].西安:西安建筑科技大學,2018.

[9] 羅飛.RevitArchitecture三維建筑模型WebGL顯示及優化 [D].杭州:浙江工業大學,2016.

作者簡介:羅文(1999.07—),男,漢族,四川成都人,本科在讀,研究方向:軟件工程。

猜你喜歡
二次開發
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
西門子Operate高級編程的旋轉坐標系二次開發
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
基于C#的AutoCAD建筑構件庫二次開發
江西建材(2018年2期)2018-04-14 08:01:14
西門子Easy Screen對倒棱機床界面二次開發
基于全站儀二次開發的覆冰厚度測量與實現
電測與儀表(2016年9期)2016-04-12 00:29:52
Micaps3.2 版本二次開發入門淺析
西藏科技(2015年12期)2015-09-26 12:13:51
基于VB的ANSYS二次開發在變壓器抗短路性能分析中的應用
基于CATIA的橡皮囊成形毛料展開的二次開發
機械工程師(2015年9期)2015-02-26 08:38:10
ANSYS Workbench二次開發在汽車穩定桿CAE分析中的應用
汽車零部件(2014年5期)2014-11-11 12:24:32
主站蜘蛛池模板: 国产免费好大好硬视频| 国产精品网址你懂的| 精品三级在线| 久久超级碰| 久久综合一个色综合网| 99re热精品视频中文字幕不卡| 欧美成人日韩| 午夜精品久久久久久久无码软件| 亚洲制服中文字幕一区二区| 欧美成人综合在线| AV在线天堂进入| 亚洲男人天堂2020| 人妻熟妇日韩AV在线播放| 无码中文AⅤ在线观看| 欧美不卡二区| 亚洲性视频网站| 国产精品美乳| 亚洲国产欧洲精品路线久久| 日本在线亚洲| 国产在线观看91精品| 欧美中文一区| 国产v精品成人免费视频71pao| 亚洲成人黄色网址| 欧美精品高清| 成人亚洲天堂| 国产亚洲精品无码专| 欧美一道本| 日本亚洲欧美在线| 嫩草影院在线观看精品视频| 在线播放真实国产乱子伦| 亚洲国产天堂久久综合226114| 国产激情在线视频| 五月婷婷综合网| 香蕉99国内自产自拍视频| 99精品欧美一区| AⅤ色综合久久天堂AV色综合| 91国内视频在线观看| 中文字幕伦视频| jizz国产视频| 欧美成人精品一级在线观看| 国产精品一区不卡| 国产在线视频欧美亚综合| 国产精品青青| 欧美一区二区三区欧美日韩亚洲 | 91在线丝袜| 狠狠色狠狠综合久久| 精品国产一区二区三区在线观看| 国产丝袜精品| 免费无遮挡AV| 欧美国产日韩一区二区三区精品影视 | 亚洲视频免费播放| 九色综合视频网| 在线观看国产精品日本不卡网| 亚洲综合第一区| 亚洲男人的天堂在线观看| 成人91在线| 一级片一区| 日本在线免费网站| 婷婷伊人久久| 玩两个丰满老熟女久久网| 丝袜久久剧情精品国产| 免费 国产 无码久久久| 无码网站免费观看| 2018日日摸夜夜添狠狠躁| 国产美女精品一区二区| 亚洲乱码视频| 欧美啪啪精品| 国产精品第页| 91 九色视频丝袜| 国产美女一级毛片| 亚洲一区二区三区国产精品| 日本三区视频| 98精品全国免费观看视频| 制服丝袜 91视频| 在线精品亚洲国产| 成人福利一区二区视频在线| 日韩欧美国产另类| 国产91高清视频| 日韩欧美国产另类| 国产女人爽到高潮的免费视频 | 精品视频第一页| 99在线观看精品视频|