曾雯琳 袁競峰 張 星
(東南大學 土木工程學院建設與房地產系,南京 210096)
建筑業對國民經濟的發展起著舉足輕重的作用,如何在保證工程項目建設速度的同時保障施工人員的健康和安全,已受到了研究學者的廣泛關注和重視。傳統的安全風險管理大多數致力于施工過程中的管理,而在設計階段便開始考慮施工安全風險管理的研究較少。
如果從全生命周期的設計和計劃階段便開始對工程項目后期安全風險進行識別和評估,并在此基礎上進行一定的設計改進,可以有效地減少施工過程中的安全事故,這一方法最早被美國國家安全委員會(National Safety Council,NSC)在其1995 年出版的《事故預防手冊》中稱作通過設計預防(Prevention through Design,PtD),其后漸漸發展出了許多不同的表達術語,如安全設計(Design for Safety,DfS)、通過設計預防施工風險(Construction Hazard Prevention through Design,CHPtD)等等。
區別于傳統的施工安全風險管理,DfS 理念立足于從工程項目全生命周期的視角出發,重點考慮在設計階段便對后期施工過程中的施工安全風險進行識別和處理,從而達到提高工程項目的施工安全性和可施工性的目的。
DfS 理念在國外的研究和應用相對國內較為廣泛,究其應用過程,目前主要通過借助一些輔助工具來實現DfS 理念,傳統的方法主要包括基于安全風險清單發展的工具、安全風險評價表和設計審查工具,如表1 所示。

表1 傳統DfS 應用方法匯總表
上述方法歸根結底都是利用文本形式的安全檢查表來審查DfS 的實施情況,這種方式要求工作人員逐項檢查表中的各項設計措施是否達標,如果單純運用該方式來達到實現DfS 的目的,往往將不僅低效而且繁瑣,難以達到預期效果。隨著BIM 等3D/4D 可視化技術在建筑業的應用迅速升溫,為推進DfS 的信息化發展提供了契機,已成為DfS 新的發展方向之一。
近年來,BIM 作為一種創新生產方式,是信息技術在建筑業的直接應用,正快速而深刻地影響著整個建筑業。BIM 是以三維數字技術為基礎,將工程全生命周期內的各種相關信息加以整合的一種全新設計模式,是工程項目信息的集成化管理系統[8]。
目前,將BIM 與DfS 結合的研究并不算多,如Taiebat(2011)建立了將安全設計知識嵌入到BIM建模系統的框架,但研究僅止于理論階段,并未加以實現[9];Sijie Zhang 等(2011)和Qi 等(2011)分別利用模型檢查軟件Solibri Model Checker 和AEC3 XABIO,在BIM 模型上對搜集的安全設計知識進行了演示[10][11];Kasirossafar 等(2012)認為借助BIM技術有利于設計者發現設計中的潛在危險,提出了將3D 模型和安全風險源集成的想法[12];Sijie Zhang(2012,2013)等將安全知識納入工程項目施工進度計劃,構建了BIM 模型的施工安全自動檢查框架[11][13][14]。
在軟件應用方面,典型的如芬蘭的Solibri 公司研發的模型檢查軟件Solibri Model Checker (SMC),它的核心價值在于可以基于規則(rule)的檢測,找出BIM 模型中和已定義規則相沖突的地方,評估建模水平,有效的檢查出模型中各專業的建模缺陷。SMC 本身提供了一些各領域的規則集(rule sets),例如,SMC 可以有效驗證設計是否符合采光標準。同時,用戶可以通過修改規則集中的參數來滿足本地化的需求。從檢查對象上來說,SMC 主要側重于模型幾何空間的檢查[15],但由于目前其并不支持公眾用戶開發新的規則,在應用起來存在一定的局限性。
總結而言,大多數將BIM 與DfS 結合的實踐研究都著重于將安全設計知識,或者說規則,導入模型檢查軟件,從而對設計進行審查,以自動識別BIM模型中的風險,而這都是依賴于BIM 的二次開發技術來實現的。因此,本文也將從這個切入點來實現對DfS 規則的應用。
基于BIM 模型來實現對DfS 規則的應用,其實質是將文本形式的DfS 規則轉化為Revit 能識別的計算機語言,基于該規則對設計進行檢查,自動識別施工安全風險,將識別結果可視化的表現出來,并提供相應設計改進措施的過程,而這個過程都是基于BIM二次開發技術來實現的,其框架如圖1 所示。

圖1 基于BIM 模型的DfS 規則應用框架
Autodesk 公司的Revit 系列軟件作為眾多BIM工具中的一種,主要致力于基礎圖形平臺和基礎數據軟件的研發,將具體功能的擴展預留給二次開發應用程序。2005 年,在Autodesk 公司推出的Revit 8.0 版本中,Revit 開始提供二次開發接口,通過調用API(Application Programming Interface,即應用程序接口),用戶可以根據自己的需要,以程序開發的方式在Revit 平臺上開發和集成相應的功能,實現對模型的定制化操作,極大地提高了軟件的可擴展性,這也是本文選擇使用Revit 軟件進行BIM 建模的關鍵所在。
Revit API 是.NET 編程接口,與Microsoft .NET Framework 2.0 兼容的語言,例如VB.NET、Managed C++和Microsoft Visual C#,均可調用該接口。通過Revit API 進行編程,用戶可以根據自己的需求,完成Revit 的二次開發工作,主要功能如下:
(1)快速創建、提取、編輯或刪除建筑模型構件,提高建模效率;
(2)訪問和編輯建筑模型中的圖形數據及參數數據;
(3)將多步連續的命令操作納入至單個命令中;
(4)執行基于BIM 的各種與建筑設計等相關的計算分析;
(5)建立外部應用程序與Revit 之間的關聯,實現互相通訊功能;
(6)實現工程所需圖檔及文檔的自動生成、導出功能;
(7)按照相關標準自動審查錯誤;
(8)創建客戶點云引擎,存儲基于對象的客戶數據等。
不難看出,Revit 二次開發給工程領域帶來了便捷和高效,合理利用上述功能,可以極大地簡化操作,顯著提高效率。本文基于DfS 規則,利用Revit API 來訪問建筑信息模型中的圖形數據及參數數據,并對提取的數據信息是否滿足相關要求加以判斷。
在Microsoft Visual Studio 平臺開發Revit 軟件,主要有兩種功能擴展方式:一是外部命令(External Command)方式,二是外部應用(External Application)方式,見表2。本文使用創建外部命令(External Command)方式,來進行Revit 具體功能的擴展。

表2 基于Visual Studio 的Revit 功能擴展方式
在Revit 2013 中,對命令的加載方式主要有兩種,一可通過安裝Revit 插件管理器Add-In Manager 來實現自動加載,二可通過加載.addin 文件到指定目錄中來實現手動加載。手工加載.addin 文件不僅繁瑣而且易于出錯,而使用Add -In Manager 加載方法可方便用戶靈活加載和卸載用戶的程序文件,使用該方法加載后程序后,可立即運行命令,而無需手工編輯.addin 文件,即使修改代碼,進行編譯后也可立即再次運行命令,無須重新啟動Revit,提高了程序的開發效率。因此,本文選用Add -In Manager 方式來加載命令。
本節基于Microsoft Visual Studio 2010 平臺,使用C# 語言,通過外部命令(External Command)擴展方式,實現Revit 上的軟件功能開發工作,需要遵循下列開發步驟:
(1)啟動VS 2010 程序集成開發環境,新建項目;
(2)引用Revit API 接口裝配文件及System.Windows.Forms;
(3)引用Revit 命名空間和Windows 窗體控件的命名空間;
(4)為命令類添加控制命令的事務模式(Transaction)和更新模式(Regeneration)兩個屬性;
(5)利用外部命令的開發方式來擴展Revit功能;
(6)編譯并運行命令。
Revit 二次開發流程如圖2 所示。

圖2 Revit 二次開發流程
至此,Revit 二次開發環境配置和流程設計工作已全部完成,下節將結基于Viusal Studio 2010 平臺,利用Revit 建模技術、Revit 二次開發技術及先進的計算機編程技術,結合具體實例,描述如何實現對DfS 規則的應用。
雖然我國還未頒布專門針對工程施工風險識別的規范、標準、指南或手冊,目前已頒布的規范、標準等條文中也不存在顯式地表明風險的語句,但通過經驗,可總結出若干對風險識別有價值的信息,比如通過識別其中的關鍵用詞:“應”、“不應”、“必須”、“嚴禁”、“宜”、“不宜”等,可以推理出可能存在的風險,如《住宅設計規范》(GB 50096)中5.8.1 條“外窗窗臺距樓面、地面的凈高低于0.90m時,應有防護設施”[16],從此條款中可以推理出“外窗窗臺凈高低于0.90m”是一個施工安全風險,在施工過程中不能有效起到對墻面洞口的防護作用,可能引發高處墜落事故。以此規則項為例,依照上文的Revit 二次開發流程對設計進行檢查,通過在VS中編程,再加載至Revit 中來判斷其是否存在“外窗窗臺凈高低于0.90m”這一施工安全風險。
先建立一個簡單的BIM 模型,使前兩扇窗的窗臺高度為0.80m,第三扇窗的窗臺高度為0.90m,其立面顯示如圖3 所示:

圖3 BIM 模型立面圖
在開發流程第5 部分中,利用外部命令的開發方式來擴展Revit 功能,核心代碼如下:
public Result Execute (ExternalCommandData commandData,ref string message,ElementSet elements)
{
UIApplication app=commandData.Application;
Document doc=app.ActiveUIDocument.Document;
ParameterValueProvider provider=new ParameterValueProvider (new ElementId (BuiltInParameter.INSTANCE_SILL_HEIGHT_PARAM));
FilterNumericRuleEvaluator evaluator=new FilterNumericLess();
FilterDoubleRule rule=new FilterDoubleRule(provider,evaluator,2.9527559055,0.0001);
ElementParameterFilter filter=new ElementParameterFilter(rule);
FilteredElementCollector collector=new FilteredElementCollector(doc);
collector.WherePasses(filter);
Selection sel=app.ActiveUIDocument.Selection;
sel.Elements.Clear();
foreach (Element elem in collector)
sel.Elements.Add(elem);
TaskDialog.Show(" 注意"," 窗臺凈高低于900mm 的窗戶個數="+collector.Count().ToString());
return Result.Succeeded;
}
啟動Revit 2013,Add -In Manager 插件加載界面和識別結果如圖4 和圖5 所示:

圖4 插件管理器界面

圖5 識別結果顯示
根據圖5 所示識別結果,通過二次開發編程代碼,在Revit 中能夠自動識別窗臺高度不足900mm窗戶的數量及位置,可以較為直觀且高效地發現設計中的錯誤或不足,如不能改進設計時,也可以在工程開工前和施工方進行交底,對其可能產生的風險進行詳細說明,有利于施工方制定全面的安全技術措施方案,有效開展施工安全管理活動。
設計階段作為項目全生命周期的一個關鍵環節,設計階段的不安全因素必然會對下游施工和維護階段的安全生產造成影響。工程項目中的施工安全問題并不僅僅和施工階段的安全管理有關,從設計階段便開始開展施工安全管理工作也同樣重要,安全設計理念便是執行這一思想的最好體現。
本文將施工安全風險管理引入設計階段,強調設計方在施工安全管理中發揮的重要作用,打破了傳統觀念上的施工安全只由施工方負責的認識局限,在理論上充實了對安全管理事前控制的研究。安全設計理念的貫徹落實要求設計人員同樣參與到施工安全管理中來,在設計階段便開始對后期施工階段安全風險進行識別,并采取能夠降低甚至消除安全風險的有效措施,從而實現工程項目全生命周期安全管理的目標,這要求設計不僅能滿足最終使用的需求,還能增強建造過程中的施工安全性和可施工性。
基于Revit 二次開發技術,借助Autodesk Revit、Microsoft Visual Studio 等相關三維建模工具及開發平臺,利用C#編程語言,本文提出了一種對設計進行自動化審查,高效識別施工安全風險,以便進一步采取規范或改進設計的措施的方法。最后,結合具體實例進行了分析,論證了該方法的可行性,這無疑是一種更加科學化、信息化、自動化的實現安全設計理念的思路,可有效減少人工識圖的理解差異,即使是施工經驗不是很豐富的設計人員,也能夠進行施工風險的識別工作,并使設計有利于保障施工安全事故的發生。
[1]Gambatese J A,Hinze J W,Haas C T.Tool to design for construction worker safety[J].Journal of Architectural Engineering.1997,3(1):32-41.
[2]Kim S,Son C,Lee D,et al.Safety assessment checklist during building design phase[M].Proceedings of CIB W99 International Conference on Global Unity for Safety and Health in Construction,2006.
[3]W P X,Redman S,Windon S.Case Studies on Risk and Opportunity at Design Stage of Building Projects in Australia:Focus on Safety of Building Projects in Australia:Focus on Safety[J].Architectural Engineering and Design Management.2008,4:221-238.
[4]Seo J W,Choi H H.Risk-based safety impact assessment methodology for underground construction projects in Korea[J].Journal of construction engineering and management.2008,134(1):72-81.
[5]Cooke T L,H B,A S N.ToolSHeD The development and evaluation of a decision support tool for health and safety in construction design[J].Construction and Architectural Management.2008,4:336-351.
[6]Duffy M.From Designer Risk Assessment to Construction Method Statements:Techniques and Procedures for Effective Communication of Health and Safety Information[C].2004.
[7]Reser K A.Safety in Design Supplement to a Constructability Program[D].Iowa State University,2012.
[8]劉秋宏.BIM 理念和技術的應用探索[J].中國建設信息.2013(06):72-74.
[9]Taiebat M.Tuning Up BIM for Safety Analysis Proposing Modeling Logics for Application of BIM in DfS[D].Virginia Polytechnic Institute and State University,2011.
[10]Jia Q,A I R R,J H,et al.Integration Of Safety In Design Through The Use Of Building Information Modeling[J].Computing in Civil Engineering.2011.
[11]Zhang S,Lee J K,Venugopal M,et al.Integrating BIM and safety:an automated rule-based checking system for safety planning and simulation[C].2011.
[12]Kasirossafar M,Shahbodaghlou F.Application of Visualization Technologies to the Design for Safety Concept[J].Forensic Engineering.2012(3):370-377.
[13]Zhang S,Lee J,Venugopal M,et al.A framework for automatic safety checking of building information models[C].2012.
[14]Zhang S J,Teizer J,Lee J K,et al.Building Information Modeling (BIM)and Safety:Automatic Safety Checking of Construction Models and Schedules[J].Automation in Construction.2013,29:183-195.
[15]吉久茂,童華煒,張家立.基于Solibri Model Checker的BIM 模型質量檢查方法探究[J].土木建筑工程信息技術.2014,6(1):14-19.
[10]中華人民共和國住房和城鄉建設部.GB50096 -2011住宅設計規范[S].北京:中國建筑工業出版社,2011.