亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Revit 二次開(kāi)發(fā)的PCR 實(shí)驗(yàn)室參數(shù)化建模研究

        2024-05-06 02:59:46鄭躍群王傳林關(guān)嘉琪
        關(guān)鍵詞:二次開(kāi)發(fā)實(shí)驗(yàn)室

        鄭躍群,王傳林,關(guān)嘉琪,崔 飛

        (1.汕頭大學(xué)工學(xué)院土木與環(huán)境工程系,廣東 汕頭 515063;2.廣東科藝普實(shí)驗(yàn)室設(shè)備研制有限公司,廣東 佛山 528100)

        0 引 言

        聚合酶鏈?zhǔn)椒磻?yīng)實(shí)驗(yàn)(PCR)實(shí)驗(yàn)室是對(duì)病毒進(jìn)行PCR 實(shí)驗(yàn)的特殊生化場(chǎng)所,在近年來(lái)人類與新型冠狀病毒的戰(zhàn)役中發(fā)揮了舉足輕重的作用.相較于其他工程項(xiàng)目,國(guó)內(nèi)PCR 實(shí)驗(yàn)室建設(shè)項(xiàng)目的設(shè)計(jì)目前主要還是基于CAD 軟件進(jìn)行二維設(shè)計(jì),這種工作效率低下的設(shè)計(jì)模式不利于應(yīng)對(duì)日漸復(fù)雜的全球生化環(huán)境.

        建筑信息模型技術(shù)(BIM)作為土木工程行業(yè)的重要工具,可以通過(guò)數(shù)字化的正向設(shè)計(jì),實(shí)現(xiàn)項(xiàng)目各階段信息的集成與共享,從而提高設(shè)計(jì)、施工和運(yùn)營(yíng)效率[1-2].然而,現(xiàn)有的BIM 核心軟件Revit 在工程實(shí)際上還存在部分功能不夠健全、在特殊項(xiàng)目上缺乏針對(duì)性等缺點(diǎn).因此,廣大學(xué)者針對(duì)具體功能要求的特點(diǎn),通過(guò)二次開(kāi)發(fā)等途徑對(duì)Revit軟件功能進(jìn)行了不同程度優(yōu)化與拓展.為解決一線土木行業(yè)從業(yè)者在Revit 二次開(kāi)發(fā)上的信息差問(wèn)題,宋強(qiáng)[3]對(duì)Revit API 二次開(kāi)發(fā)工作中常見(jiàn)的基礎(chǔ)代碼類型,如族類型的訪問(wèn)、獲取、編輯、創(chuàng)建等進(jìn)行了提煉總結(jié),為國(guó)內(nèi)二次開(kāi)發(fā)工作提供基礎(chǔ)參考.在自動(dòng)化建模方面,為解決Revit 軟件在裝飾方面不夠自動(dòng)化的弊端,歐陽(yáng)春生等[4]通過(guò)對(duì)Revit進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)在已有建筑模型中自動(dòng)識(shí)別房間邊界并通過(guò)邊界自動(dòng)創(chuàng)建裝飾模型.在參數(shù)化建模方面,為節(jié)省結(jié)構(gòu)工程師在建模方面的時(shí)間與精力,薛忠華[5]提出通過(guò)對(duì)Revit 進(jìn)行二次開(kāi)發(fā)實(shí)現(xiàn)空間網(wǎng)格參數(shù)化建模的解決方案.在裝配式構(gòu)件設(shè)計(jì)方面,黃巖等[6]通過(guò)對(duì)Revit 軟件進(jìn)行二次開(kāi)發(fā),擴(kuò)充了構(gòu)件庫(kù)內(nèi)關(guān)于裝配式構(gòu)件的內(nèi)容,減少了裝配式構(gòu)件設(shè)計(jì)的繁瑣步驟,提高了裝配式項(xiàng)目設(shè)計(jì)效率.Liu[7]以裝配式地鐵項(xiàng)目為例,通過(guò)二次開(kāi)發(fā)改進(jìn)了協(xié)同設(shè)計(jì)的功能,通過(guò)自動(dòng)信息訪問(wèn),提高了裝配式項(xiàng)目設(shè)計(jì)效率.

        在PCR 實(shí)驗(yàn)室項(xiàng)目的應(yīng)用上,BIM 技術(shù)可以顯著提高項(xiàng)目設(shè)計(jì)效率和質(zhì)量,以提高PCR 實(shí)驗(yàn)室建設(shè)能力.然而,目前在PCR 實(shí)驗(yàn)室建設(shè)項(xiàng)目領(lǐng)域,BIM 技術(shù)尚未得到具有針對(duì)性的深入應(yīng)用.在工程實(shí)際中,PCR 實(shí)驗(yàn)室設(shè)計(jì)工作中具有大量專業(yè)特殊性與流程重復(fù)性的設(shè)計(jì)要求與設(shè)計(jì)步驟[8].這些繁瑣的設(shè)計(jì)要求與步驟使一線設(shè)計(jì)人員在提高出錯(cuò)率的同時(shí)也降低了工作效率.因此,本文擬利用C#面向?qū)ο笳Z(yǔ)言基于Revit 軟件進(jìn)行二次開(kāi)發(fā)研究,以某疾控中心PCR 實(shí)驗(yàn)室建設(shè)項(xiàng)目為例,提出一種針對(duì)PCR 實(shí)驗(yàn)室項(xiàng)目中墻體與地板兩大經(jīng)典構(gòu)件進(jìn)行參數(shù)化建模的解決方案.

        1 Revit 二次開(kāi)發(fā)的實(shí)現(xiàn)

        1.1 Revit 二次開(kāi)發(fā)的實(shí)現(xiàn)目標(biāo)

        Revit 是Autodesk 公司在BIM 領(lǐng)域推出的核心工具軟件,因其具有功能強(qiáng)大且操作簡(jiǎn)單的優(yōu)點(diǎn)已被廣泛應(yīng)用于各種工程設(shè)計(jì)工作中.但對(duì)于PCR 實(shí)驗(yàn)室建設(shè)項(xiàng)目而言,Revit 軟件明顯存在著以下兩個(gè)方面不足:1)原構(gòu)件庫(kù)中不存在符合PCR 實(shí)驗(yàn)室設(shè)計(jì)要求的構(gòu)件類型;2)對(duì)于常見(jiàn)構(gòu)件的實(shí)例化無(wú)法通過(guò)與用戶交互進(jìn)行直接的一鍵參數(shù)化建模.

        為解決上述兩個(gè)問(wèn)題,本研究擬基于一線設(shè)計(jì)工作中應(yīng)用最廣的2018 版Revit 進(jìn)行二次開(kāi)發(fā)研究,針對(duì)PCR 實(shí)驗(yàn)室構(gòu)件特點(diǎn)在Revit UI 界面進(jìn)行RibbonTab 功能區(qū)擴(kuò)充,通過(guò)創(chuàng)建新的RibbonPanel 與PushButton 等控件,豐富預(yù)設(shè)構(gòu)件類型;并在此基礎(chǔ)上完成構(gòu)件參數(shù)傳遞,實(shí)現(xiàn)構(gòu)件模型的一鍵參數(shù)成模.通過(guò)執(zhí)行本研究插件,最終可實(shí)現(xiàn)Revit 2018 UI 界面升級(jí)效果,如圖1 所示.

        圖1 UI 界面升級(jí)效果

        1.2 Revit 二次開(kāi)發(fā)實(shí)現(xiàn)原理與方法

        在Revit 軟件中,每一個(gè)可以被選擇和修改的對(duì)象都被稱為元素,如墻體、門窗等構(gòu)件.每個(gè)Revit 元素都有與之關(guān)聯(lián)的屬性和參數(shù),這些屬性和參數(shù)決定了元素的外觀、位置和性能[9].Revit 軟件提供了一系列應(yīng)用程序接口(API)供用戶對(duì)Revit 元素信息進(jìn)行訪問(wèn)與修改,從而實(shí)現(xiàn)自定義功能擴(kuò)展與軟件優(yōu)化[10].基于此原理,本研究工作將使用具有簡(jiǎn)潔、高效等優(yōu)點(diǎn)的C#面向?qū)ο蟪绦蛘Z(yǔ)言,在微軟公司的Visual Studio 編程平臺(tái)上,針對(duì)PCR 實(shí)驗(yàn)室項(xiàng)目建筑構(gòu)件特點(diǎn)進(jìn)行Revit 二次開(kāi)發(fā)工作,并最終生成目標(biāo)解決方案文件.Revit 軟件通過(guò)加載解決方案文件,便可進(jìn)行文檔信息的訪問(wèn)以及功能的更新升級(jí)[11].

        本研究對(duì)Revit 進(jìn)行二次開(kāi)發(fā)的技術(shù)路線如圖2 所示.根據(jù)操作內(nèi)容不同,技術(shù)路線中具體實(shí)現(xiàn)步驟可分四個(gè)步驟:1)創(chuàng)建.Net 類庫(kù)項(xiàng)目;2)添加官方引用;3)編寫核心代碼;4)注冊(cè)加載插件. 在添加官方引用的步驟中,添加引用的Revit 官方程序集RevitAPI.dll 與RevitAPIUI.dll 對(duì)Revit 軟件功能豐富以及文檔信息修改起到了至關(guān)重要的作用.其中,RevitAPI.dll 提供Revit 核心功能支持,RevitAPIUI.dll 則提供用戶交互界面支持,二者缺一不可. 編寫核心代碼的步驟是Revit 二次開(kāi)發(fā)中最主要的工作內(nèi)容,該部分內(nèi)容將在第2 節(jié)實(shí)驗(yàn)室構(gòu)件參數(shù)化設(shè)計(jì)研究中詳細(xì)闡述.

        圖2 Revit 二次開(kāi)發(fā)技術(shù)路線

        1.3 解決方案的程序邏輯

        在Revit 二次開(kāi)發(fā)工作中,一個(gè)最終文件稱之為解決方案,其一般由多個(gè)程序集組成,不同程序集負(fù)責(zé)不同的功能執(zhí)行.根據(jù)功能任務(wù)分類,在本研究中的程序集可以分為前端與后端兩種類型,其中前端程序集負(fù)責(zé)與用戶在界面上進(jìn)行參數(shù)交互等功能,后端程序集負(fù)責(zé)在文檔內(nèi)進(jìn)行信息訪問(wèn)與修改等功能.

        本研究的解決方案內(nèi)部程序集之間的調(diào)用邏輯如圖3 所示.以墻體構(gòu)件為例,UI.cs程序集負(fù)責(zé)在Revit 軟件的界面上拓展RibbonTab 以及RibbonPanel、PushButton 等控件;MaterialsCreator.cs 程序集負(fù)責(zé)生成Revit 原有材質(zhì)庫(kù)內(nèi)不存在的特殊材質(zhì),如彩鋼板中的玻鎂夾心等;WallProgram.cs 程序集負(fù)責(zé)實(shí)例化WallWindow.xaml 程序集從而打開(kāi)WPF 窗口供用戶進(jìn)行建模參數(shù)交互;最終WPF 窗口將建模參數(shù)返回至CreateWall.cs程序集中,由CreateWall.cs 進(jìn)行墻構(gòu)件類型的實(shí)例化與放置.同理,樓板構(gòu)件類型的邏輯也按此順序調(diào)用.

        圖3 內(nèi)部程序集調(diào)用邏輯

        2 PCR 實(shí)驗(yàn)室構(gòu)件參數(shù)化設(shè)計(jì)研究

        2.1 PCR 實(shí)驗(yàn)室常用材質(zhì)生成的開(kāi)發(fā)研究

        2.1.1 PCR 實(shí)驗(yàn)室常用材質(zhì)

        PCR 實(shí)驗(yàn)室由于其專業(yè)特殊性,對(duì)于建筑構(gòu)件有著嚴(yán)格的材質(zhì)要求,例如要求室內(nèi)墻體內(nèi)壁光潔,不吸附且易清潔;地板整體平整,無(wú)滲漏且不光滑[12].為滿足以上專業(yè)需要,工程實(shí)際中隔墻材質(zhì)一般采用玻鎂夾心彩鋼板、地板材質(zhì)一般采用PVC 塑膠.然而,以上特殊構(gòu)件類型的材質(zhì)在Revit 原始材質(zhì)庫(kù)里并不存在,因此有必要通過(guò)二次開(kāi)發(fā)工作,人為對(duì)Revit 材質(zhì)庫(kù)進(jìn)行豐富.例如,在彩鋼板墻類型中,彩鋼板與夾芯玻鎂這兩種材質(zhì)都需要特別預(yù)設(shè).同時(shí),彩鋼板與PVC 的材質(zhì)顏色由于工程實(shí)際中的款式運(yùn)用較為靈活,在顏色設(shè)置上需要根據(jù)設(shè)計(jì)需求進(jìn)行實(shí)時(shí)參數(shù)化設(shè)置.

        2.1.2 在Revit API 中生成材質(zhì)

        在Revit 材質(zhì)板塊的研究工作中,解決方案里MaterialsCreator 程序集負(fù)責(zé)材質(zhì)生成的功能實(shí)現(xiàn),其通過(guò)繼承API 中基礎(chǔ)數(shù)據(jù)DataBase(DB)級(jí)別的Materials 類對(duì)當(dāng)前文檔的材質(zhì)元素進(jìn)行訪問(wèn)操作. 在Revit API 中,Materials 類代表Revit 項(xiàng)目中的材質(zhì)元素.通過(guò)繼承Materials 類進(jìn)行編程,二次開(kāi)發(fā)人員可以對(duì)Revit 當(dāng)前文檔的材質(zhì)元素進(jìn)行訪問(wèn)、創(chuàng)建、修改等相關(guān)操作.

        在本解決方案中,MaterialCreator 程序集主要由Execute、CreateMaterial、FindMaterialsByName 三類函數(shù)組成,其主要功能由表1 所示. CreateMaterial 函數(shù)又根據(jù)彩鋼板、玻鎂夾心、PVC 三種自定義材質(zhì)中材質(zhì)的不同,具體分為CreateMaterial1、CreateMaterial2、CreateMaterial3 這3 個(gè)函數(shù).這3 個(gè)CreateMaterial 函數(shù)各自獨(dú)立,最后由Execute 函數(shù)統(tǒng)一進(jìn)行實(shí)例化進(jìn)行材質(zhì)生成.其中,以創(chuàng)建彩鋼板這一新材質(zhì)為例的CreateMaterial1 函數(shù)如圖4 所示.

        表1 程序集MaterialsCreator 中各函數(shù)與功能

        圖4 在Revit API 中實(shí)現(xiàn)彩鋼板新材質(zhì)創(chuàng)建的CreateMaterial1 函數(shù)

        基于以上函數(shù)之間的調(diào)用運(yùn)行,MaterialsCreator 程序集可實(shí)現(xiàn)Revit 軟件的材質(zhì)文檔內(nèi)對(duì)于PVC、彩鋼板、玻鎂夾心等PCR 實(shí)驗(yàn)室常用材質(zhì)的補(bǔ)充,為后續(xù)二次開(kāi)發(fā)工作中PCR 實(shí)驗(yàn)室構(gòu)件建模的實(shí)現(xiàn)做好準(zhǔn)備.

        2.2 PCR 實(shí)驗(yàn)室墻體構(gòu)件建模的開(kāi)發(fā)研究

        2.2.1 PCR 實(shí)驗(yàn)室墻構(gòu)件特點(diǎn)

        根據(jù)相關(guān)規(guī)范,PCR 實(shí)驗(yàn)室等生物化學(xué)學(xué)科實(shí)驗(yàn)室的室內(nèi)建筑構(gòu)件在潔凈與防火等方面要求會(huì)遠(yuǎn)高于其他普通建筑.以PCR 實(shí)驗(yàn)室項(xiàng)目為例,室內(nèi)墻體構(gòu)件要求具有防火性能好、表面光潔不易吸附、易消毒清潔等特性[12].為滿足相關(guān)要求,工程實(shí)際中通常使用彩鋼板或者鋁合金材質(zhì)的隔墻對(duì)不同工作區(qū)進(jìn)行隔斷.

        基于此,本研究將針對(duì)設(shè)計(jì)工作中普遍利用的玻鎂夾心彩鋼板隔墻等墻類型進(jìn)行參數(shù)化建模開(kāi)發(fā)研究.

        2.2.2 RevitAPI 墻構(gòu)件參數(shù)化建模實(shí)現(xiàn)

        在PCR 實(shí)驗(yàn)室墻體構(gòu)件的二次開(kāi)發(fā)研究中,將按照不同種類的墻類型編寫不同獨(dú)立的程序集,每個(gè)程序集負(fù)責(zé)生成一種預(yù)定義的墻類型供用戶在Revit Ribbon UI 界面上進(jìn)行選擇.實(shí)現(xiàn)墻類型構(gòu)件參數(shù)化建模的程序集代碼邏輯與關(guān)鍵步驟如圖5 所示.

        圖5 墻構(gòu)件程序集代碼邏輯與關(guān)鍵步驟

        為進(jìn)行系統(tǒng)性介紹,研究將以混凝土彩鋼板內(nèi)墻類型的實(shí)現(xiàn)為例進(jìn)行研究分析.

        首先,代碼將對(duì)彩鋼板這一新材質(zhì)進(jìn)行獲取或創(chuàng)建.通過(guò)材質(zhì)名稱檢索的形式,在Revit 當(dāng)前的文檔內(nèi)使用foreach 循環(huán)對(duì)Revit 材質(zhì)庫(kù)進(jìn)行檢索篩選.若Revit 當(dāng)前的文檔內(nèi)已經(jīng)存在彩鋼板材質(zhì),則直接進(jìn)行調(diào)用;若Revit 當(dāng)前文檔內(nèi)不存在彩鋼板材質(zhì),則需對(duì)其進(jìn)行創(chuàng)建生成.通過(guò)調(diào)用外部程序集MaterialCreator 中的CreateMaterial1 函數(shù)可實(shí)現(xiàn)對(duì)彩鋼板材質(zhì)生成.對(duì)于混凝土材質(zhì)可直接使用FilteredElementCollector 在Revit 文檔內(nèi)進(jìn)行訪問(wèn)獲取.

        然后,代碼將在Revit 內(nèi)創(chuàng)建新的墻類型.對(duì)于新墻類型的創(chuàng)建,由于Revit 無(wú)法直接生成墻類型元素,因此代碼需對(duì)當(dāng)前Revit 文檔內(nèi)默認(rèn)的墻類型進(jìn)行復(fù)制并創(chuàng)建的操作,從而間接地創(chuàng)建出一個(gè)新的墻類型.

        接著,代碼將對(duì)新墻構(gòu)件類型的Compound Structure Layer 結(jié)構(gòu)層進(jìn)行修改. 在Revit API 中,Compound Structure Layer 是指由多個(gè)不同材料和厚度組成的墻、樓板、屋頂?shù)葮?gòu)件的層結(jié)構(gòu).Compound Structure Layer 可以由不同的材料組成,如混凝土、磚塊等.通過(guò)使用API,用戶可以直接訪問(wèn)并修改復(fù)合結(jié)構(gòu)層的厚度、材質(zhì)類型、密度等各種屬性.在彩鋼板隔墻類型例子中,Compound Structure Layer 結(jié)構(gòu)層代碼與Revit 軟件內(nèi)墻構(gòu)件屬性信息的映射關(guān)系如圖6 所示.

        圖6 API 結(jié)構(gòu)層代碼與Revit 軟件墻構(gòu)件信息的映射關(guān)系

        在Compound Structure Layer 結(jié)構(gòu)層中,材質(zhì)層厚度(width)以及材質(zhì)顏色(RGB)是程序代碼的重點(diǎn)參數(shù).其中,width 是指當(dāng)前材質(zhì)結(jié)構(gòu)層的厚度,其數(shù)據(jù)格式為double雙精度浮點(diǎn)數(shù),用戶通過(guò)設(shè)置width 數(shù)值可以改變材質(zhì)結(jié)構(gòu)層厚度.RGB 是國(guó)際工業(yè)界顏色標(biāo)準(zhǔn)格式之一,其通過(guò)調(diào)節(jié)紅綠藍(lán)三色代碼(Red,Green,Blue)達(dá)到各種顏色的顯示[13].在Revit 中,材質(zhì)顏色屬性也由RGB 格式進(jìn)行設(shè)置.在插件中,用戶可通過(guò)Revit 軟件內(nèi)設(shè)置即時(shí)彈出WPF 對(duì)話窗口進(jìn)行參數(shù)輸入,從而實(shí)現(xiàn)Compound Structure Layer 結(jié)構(gòu)層的width 以及RGB 參數(shù)交互.Revit 內(nèi)WPF 參數(shù)交互窗口設(shè)計(jì)效果如圖7 所示.

        圖7 Revit 內(nèi)WPF 參數(shù)交互窗口設(shè)計(jì)效果

        為將用戶在WPF 彈出窗口上輸入的width、RGB 這兩種參數(shù)接收到Compound Structure Layer 結(jié)構(gòu)層對(duì)應(yīng)的位置中,需要將參數(shù)定義為屬性數(shù)據(jù)類型.通過(guò)使用C#代碼中{get;set;}屬性這一數(shù)據(jù)類型,可以將WPF 窗體上的width、RGB 參數(shù)賦值到結(jié)構(gòu)層的代碼上,從而實(shí)現(xiàn)Revit API 內(nèi)墻體中不同Compound Structure Layer 結(jié)構(gòu)層的參數(shù)化建模.

        基于以上建模代碼,可生成彩鋼板隔墻構(gòu)件結(jié)構(gòu)層效果如圖8 所示.

        圖8 彩鋼板隔墻構(gòu)件結(jié)構(gòu)層效果

        最后,代碼將實(shí)現(xiàn)新墻類型默認(rèn)放置方式.在Revit API 官方參考指南與以往其他Revit 墻構(gòu)件的二次開(kāi)發(fā)案例中,墻實(shí)例生成通常只能依托于三維坐標(biāo)點(diǎn)(X,Y,Z)進(jìn)行連線后放置.這種基于三維坐標(biāo)點(diǎn)進(jìn)行連線的墻實(shí)例生成方式,在實(shí)際設(shè)計(jì)工作中局限性較大,難以真正達(dá)到通過(guò)Revit 二次開(kāi)發(fā)實(shí)現(xiàn)操作簡(jiǎn)便,工作高效的研究目的.為解決這種困難,本程序集的代碼另辟蹊徑,通過(guò)使用SetDefaultElementTypeId 函數(shù)將彩鋼板隔墻設(shè)置為默認(rèn)墻體類型,接著使用PostCommand 函數(shù)實(shí)現(xiàn)默認(rèn)建筑墻類型放置,從而間接地使新墻類型實(shí)現(xiàn)鼠標(biāo)跟隨式放置.對(duì)于Revit API 新墻構(gòu)件放置,官方代碼與升級(jí)代碼兩種代碼對(duì)比如圖9 所示.

        圖9 關(guān)于Revit API 新墻類型官方代碼與升級(jí)代碼對(duì)比

        對(duì)墻體放置代碼的升級(jí)后,代碼在內(nèi)容上更為簡(jiǎn)潔,由于不存在水平坐標(biāo)、標(biāo)高、偏移等過(guò)多的變量而不易導(dǎo)致出錯(cuò);從功能上看,可使Revit API 預(yù)設(shè)墻體具有與Revit UI界面默認(rèn)墻體一致的跟隨鼠標(biāo)放置效果,實(shí)現(xiàn)真正意義上的便捷式參數(shù)化建模.

        2.3 PCR 實(shí)驗(yàn)室地板構(gòu)件建模的開(kāi)發(fā)研究

        2.3.1 PCR 實(shí)驗(yàn)室地板構(gòu)件特點(diǎn)

        根據(jù)相關(guān)規(guī)范,PCR 實(shí)驗(yàn)室地板構(gòu)件要求具備無(wú)縫隙、無(wú)滲漏、耐腐蝕等特點(diǎn)[11].相較于墻構(gòu)件,PCR 實(shí)驗(yàn)室地板構(gòu)件的選擇相對(duì)單一,在工程實(shí)際中,通常將PVC 材質(zhì)運(yùn)用于地板構(gòu)件表面上.作為一種新型輕質(zhì)地面裝飾材料,PVC 地板在結(jié)構(gòu)上一般由耐磨層、印花膜層以及玻璃纖維層組成,其易清潔抗腐蝕的特性能夠滿足許多特殊場(chǎng)所的規(guī)范要求,因而被廣泛運(yùn)用于各種生化醫(yī)療專業(yè)場(chǎng)所中.

        在PCR 實(shí)驗(yàn)室地板構(gòu)件的應(yīng)用上,PVC 地板結(jié)構(gòu)較為簡(jiǎn)單,主要工藝為在混凝土上鋪裝一層PVC 塑膠板.基于此,本研究將以PVC 地板為例,對(duì)PCR 實(shí)驗(yàn)室地板構(gòu)件進(jìn)行參數(shù)化建模開(kāi)發(fā)研究.

        2.3.2 Revit API 地板構(gòu)件參數(shù)化建模實(shí)現(xiàn)

        在Revit API 中,地板構(gòu)件與墻體構(gòu)件的參數(shù)化建模實(shí)現(xiàn)方法基本一致,在代碼思路上,兩者都是通過(guò)獲取或創(chuàng)建特殊材質(zhì)、創(chuàng)建新構(gòu)件類型和放置構(gòu)件實(shí)例這三個(gè)步驟完成功能實(shí)現(xiàn);在代碼內(nèi)容上,兩者所調(diào)用的函數(shù)有其相似之處,如獲取材質(zhì)的FilteredElementCollector、結(jié)構(gòu)層GetCompoundStructure 以及WPF 窗體交互等等. 由于篇幅限制原因,此處將不過(guò)多展開(kāi)兩者相似的概念與操作流程等內(nèi)容.

        在創(chuàng)建地板構(gòu)件類型的步驟中,相較于墻體構(gòu)件,地板構(gòu)件對(duì)復(fù)合結(jié)構(gòu)層信息進(jìn)行訪問(wèn)操作時(shí),除了設(shè)置材質(zhì)厚度width 與材質(zhì)顏色RGB 這兩個(gè)參數(shù)與用戶進(jìn)行UI 交互,還需將EndCapCondition 端部條件設(shè)置為NoEndCap 無(wú)端部條件,從而使構(gòu)件模型不受任何額外的材料或組件封裝其端部.如果不對(duì)地板構(gòu)件的端部條件設(shè)置為無(wú)端部條件,將會(huì)影響構(gòu)件模型的可視化渲染、碰撞檢測(cè)、幾何測(cè)量等方面的效果,導(dǎo)致模型信息不準(zhǔn)確.綜上,地板構(gòu)件建模代碼實(shí)現(xiàn)如圖10 所示.

        圖10 地板構(gòu)件建模代碼實(shí)現(xiàn)

        在實(shí)現(xiàn)構(gòu)件放置的步驟中,不同于墻體構(gòu)件的跟隨鼠標(biāo)放置,地板構(gòu)件將通過(guò)自動(dòng)識(shí)別房間邊界進(jìn)行地板放置.在Revit 初始化的設(shè)置中,地板的放置一般需要自行繪畫邊界線,在操作上較為繁瑣且容易出錯(cuò).為了解決以上弊端,在本二次開(kāi)發(fā)工作中將采用目前國(guó)內(nèi)外Revit 二次開(kāi)發(fā)案例中較為前沿的自動(dòng)識(shí)別邊界放置構(gòu)件的編程思路,實(shí)現(xiàn)通過(guò)自動(dòng)識(shí)別房間邊界放置地板構(gòu)件.具體實(shí)現(xiàn)步驟為房間元素獲取、獲取房間元素邊界,以邊界進(jìn)行地板放置.地板構(gòu)件放置代碼實(shí)現(xiàn)如圖11 所示.

        圖11 地板構(gòu)件放置代碼實(shí)現(xiàn)

        其中,在房間元素獲取的步驟上,由于房間元素較為特殊,屬于SpatialElement 空間元素,因此FilteredElementCollector 元素過(guò)濾器需要在代碼中針對(duì)空間元素進(jìn)行過(guò)濾,若像普通元素直接進(jìn)行篩選將導(dǎo)致過(guò)濾結(jié)果為空.在地板構(gòu)件放置的步驟上,代碼將通過(guò)foreach 循環(huán)對(duì)所有的房間進(jìn)行遍歷,若房間面積不為0,則使用GetBoundarySegments函數(shù)將每個(gè)房間的邊界進(jìn)行獲取并設(shè)置為曲線數(shù)組.最終,通過(guò)使用Create.NewFloor 地板構(gòu)件實(shí)例化函數(shù),可將房間邊界的曲線數(shù)組設(shè)置為地板邊界線、房屋標(biāo)高設(shè)置為地板標(biāo)高,一鍵實(shí)現(xiàn)地板構(gòu)件的放置.

        3 工程實(shí)例研究

        3.1 工程實(shí)例信息

        某疾控中心PCR 實(shí)驗(yàn)室平面圖如圖12 所示,其室內(nèi)面積總計(jì)154 m2,按功能分區(qū)可分為污物通道、中央過(guò)道、PCR 實(shí)驗(yàn)1 室、PCR 實(shí)驗(yàn)2 室共4 個(gè)區(qū)域,并設(shè)專門緩沖室.其中,PCR 實(shí)驗(yàn)1 室分為試劑準(zhǔn)備室、樣品制備室、擴(kuò)增與分析室、緩沖室3 個(gè)工作間,PCR 實(shí)驗(yàn)2 室在1 室的基礎(chǔ)上將擴(kuò)增與分析室拆分為兩個(gè)獨(dú)立工作間.

        圖12 某疾控中心PCR 實(shí)驗(yàn)室平面圖

        按業(yè)主要求,該P(yáng)CR 實(shí)驗(yàn)室墻構(gòu)件采用厚度50 mm,顏色RGB 代碼為(255,250,240)的花卉白色玻鎂夾心彩鋼板作為功能區(qū)隔墻,北面外墻為厚度200 mm 的輕質(zhì)混凝土,需要在室內(nèi)對(duì)其進(jìn)行彩鋼板鋪裝.地板構(gòu)件采用厚度為10 mm,顏色RGB 代碼為(0,139,69)的春綠色PVC 塑膠地板進(jìn)行鋪裝.

        3.2 建模分析與研究

        通過(guò)使用加裝本研究插件的Revit 對(duì)PCR 實(shí)驗(yàn)室進(jìn)行建模研究,可得BIM 建筑模型如圖13 所示.針對(duì)該P(yáng)CR 實(shí)驗(yàn)室項(xiàng)目建模,可分為以下兩個(gè)關(guān)鍵步驟:

        圖13 PCR 實(shí)驗(yàn)室建筑模型效果圖

        (1)墻體構(gòu)件布置

        在Revit 內(nèi)完成軸網(wǎng)繪制之后,進(jìn)入墻體構(gòu)件布置環(huán)節(jié).使用插件進(jìn)行升級(jí)后的Revit可直接在“PCR 實(shí)驗(yàn)室建筑建?!边x項(xiàng)卡下選擇“彩鋼板隔墻”墻類型進(jìn)行參數(shù)化建模.通過(guò)在WPF 彈窗輸入厚度50 mm 與RGB 顏色代碼(255,250,240)這兩個(gè)參數(shù),將一鍵實(shí)現(xiàn)花卉色彩鋼板的類型生成與實(shí)例布置.實(shí)現(xiàn)彩鋼板隔墻在室內(nèi)進(jìn)行功能區(qū)隔斷布置后,可再次點(diǎn)擊“混凝土彩鋼板外墻”針對(duì)北面混凝土外墻進(jìn)行布置,此過(guò)程不必再進(jìn)行彩鋼板顏色參數(shù)交互.

        (2)地板構(gòu)件布置

        在完成墻體構(gòu)件與房間布置后,進(jìn)入地板構(gòu)件布置環(huán)節(jié).類似于墻體構(gòu)件的操作,在Revit 功能區(qū)選擇“PVC 地板”按鍵即可進(jìn)行WPF 彈窗參數(shù)交互,此處輸入厚度10 mm,RGB 顏色代碼(0,139,69)即可一鍵生成春綠色PVC 地板類型,并自動(dòng)識(shí)別所有房間邊界進(jìn)行地板構(gòu)件實(shí)例化布置.

        為驗(yàn)證最終插件在PCR 實(shí)驗(yàn)室設(shè)計(jì)建模工作中的可用性,功能性以及高效性,可將其與未使用插件的原版Revit 進(jìn)行性能對(duì)比分析如表2 所示,分析結(jié)果如下:

        表2 使用插件升級(jí)前后Revit 性能對(duì)比

        (1)在可用性上,使用插件后的Revit 界面更加直觀友好,參數(shù)設(shè)置操作便捷;

        (2)在功能性上,使用插件后的Revit 彌補(bǔ)了原本在PCR 實(shí)驗(yàn)室建模內(nèi)容上的缺失,提供了最基礎(chǔ)的建模能力,并可進(jìn)行自定義建模參數(shù),提供了更個(gè)性化的建模能力;

        (3)在高效性上,使用插件后的Revit 在構(gòu)件布置的操作方式上避免了繁瑣的手動(dòng)設(shè)置,在墻體構(gòu)件的布置上克服了以往Revit API 二次開(kāi)發(fā)案例中只能定點(diǎn)布置的局限性,在地板構(gòu)件的布置上可自動(dòng)識(shí)別房間邊界進(jìn)行布置,極大提高了建模效率.

        4 總 結(jié)

        本文采用C#程序語(yǔ)言對(duì)Revit 2018 進(jìn)行二次開(kāi)發(fā),通過(guò)結(jié)合PCR 實(shí)驗(yàn)室建設(shè)項(xiàng)目的構(gòu)件設(shè)計(jì)特點(diǎn),開(kāi)發(fā)出一款能夠?qū)CR 實(shí)驗(yàn)室墻體與地板兩種經(jīng)典構(gòu)件進(jìn)行參數(shù)交互的建模插件.通過(guò)工程實(shí)例建模驗(yàn)證分析,可得以下結(jié)論:

        (1)該插件擴(kuò)充了Revit 材質(zhì)庫(kù)與構(gòu)件庫(kù),在一定程度上解決了Revit 軟件在PCR實(shí)驗(yàn)室建設(shè)項(xiàng)目設(shè)計(jì)工作上缺乏針對(duì)性材質(zhì)類型與適用性構(gòu)件類型的功能短板問(wèn)題.

        (2)該插件在墻體構(gòu)件的放置功能上克服了以往Revit API 案例中只能基于坐標(biāo)點(diǎn)連線進(jìn)行放置的局限性,通過(guò)將API 新墻類型設(shè)置為默認(rèn)墻類型并自動(dòng)放置,從而實(shí)現(xiàn)與Revit 初始?jí)?gòu)件一樣的跟隨鼠標(biāo)動(dòng)態(tài)放置效果.

        (3)該插件在一定程度上解決了BIM 技術(shù)在PCR 實(shí)驗(yàn)室建設(shè)項(xiàng)目這一方面的問(wèn)題,可基于此進(jìn)一步開(kāi)發(fā)專屬各類實(shí)驗(yàn)室領(lǐng)域的Revit 建模插件,或進(jìn)行工程信息導(dǎo)出與模型效果渲染等方面研究.

        猜你喜歡
        二次開(kāi)發(fā)實(shí)驗(yàn)室
        電競(jìng)實(shí)驗(yàn)室
        電競(jìng)實(shí)驗(yàn)室
        淺談基于Revit平臺(tái)的二次開(kāi)發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        西門子Operate高級(jí)編程的旋轉(zhuǎn)坐標(biāo)系二次開(kāi)發(fā)
        淺談Mastercam后處理器的二次開(kāi)發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        電競(jìng)實(shí)驗(yàn)室
        電競(jìng)實(shí)驗(yàn)室
        電競(jìng)實(shí)驗(yàn)室
        電競(jìng)實(shí)驗(yàn)室
        Micaps3.2 版本二次開(kāi)發(fā)入門淺析
        西藏科技(2015年12期)2015-09-26 12:13:51
        乳乱中文字幕熟女熟妇| 91精品国产综合成人| 一本大道久久a久久综合| 精品国产乱码一区二区三区| 日本av亚洲中文字幕| 人妻色综合网站| 亚洲日韩乱码中文无码蜜桃臀 | 亚洲av午夜国产精品无码中文字| 精品丝袜人妻久久久久久| 国产桃色精品网站| 国产成人精品久久二区二区91| 久久久久人妻精品一区三寸| 无码aⅴ在线观看| 亚洲国产一区二区三区在观看| 日本一区二区不卡在线| 成人乱码一区二区三区av| 无码毛片aaa在线| 国产免费人成视频在线观看播放| 24小时在线免费av| 亚洲裸男gv网站| 精品四虎免费观看国产高清| 男女视频网站免费精品播放| 日韩精品人妻中文字幕有码在线| 国产农村妇女毛片精品久久| 亚洲第一看片| 一区二区三区日本久久| 亚洲av午夜精品无码专区| 久久久久久久久久久国产| 国产成人永久在线播放| 久久久人妻一区二区三区蜜桃d| av狠狠色丁香婷婷综合久久 | 经典亚洲一区二区三区| 男人国产av天堂www麻豆| 国产亚洲日韩在线三区| 草莓视频在线观看无码免费| 婚外情长久的相处之道| 一品二品三品中文字幕| 熟女人妻丰满熟妇啪啪| 亚洲综合在不卡在线国产另类| 国产三级久久久精品麻豆三级| 亚洲成人777|