肖云飛
(山西五建集團有限公司,山西 太原 030013)
隨著我國建筑施工技術不斷發展,憑借著輕質、高強、造型靈活、可裝配化施工等優點,鋼結構建筑在新建工程中占比日益增大。鋼結構建筑體系適用于廠房、大型公共建筑以及高層建筑等大體量建筑[1],涉及的構件繁多,在施工時會出現材料入場構件分類難、現場組焊時找不到構件以及相似構件組焊位置易混淆等問題。BIM技術以數據信息為核心載體[2],通過將構件信息與模型關聯,利用數字信息來輔助鋼結構施工建造,可以有效提高建造的效率和精度,減少人工消耗,避免返工從而保障施工進度。
工程運用BIM技術后雖然提高了生產效率,但運行體系還不成熟,在使用過程中發現以下問題:
1)軟件之間模型傳輸:BIM技術是一種管理手段,需要多軟件協同進行[3]。各軟件都具有各自的優勢,應用過程中如果多次重復建模則耗時費力,但不同軟件之間的兼容問題造成數據交互的困難。目前普遍通過IFC格式進行數據間傳輸[4],以Tekla模型傳至Revit軟件中為例,有研究表明通過修改Tekla軟件屬性設計內的高級設置和添加屬性信息可以保障IFC文件信息的完整性[5],從而使傳到Revit軟件中的模型數據不丟失。上述方法雖然解決了模型互相傳輸的問題,但模型無法在Revit軟件中進行二次幾何編輯。
2)施工現場找構件問題:大體量鋼結構工程的構件種類多、數量多、相似構件多,施工組焊時構件分類困難。遇到形狀類似構件,實際施工時會出現施工人員用錯構件以及組焊位置易混淆的現象,這樣將造成材料浪費以及構件缺失導致后續工期延誤,更嚴重可能會影響結構安全。
3)施工信息賦予效率:施工時為保障施工過程中的數字化監督和管理以及給后期運維階段提供數據支撐,實際施工時需要將許多施工過程信息內嵌到BIM模型中,如果人工手動錄入,效率低、正確率難以保障。
針對以上問題,本文將基于Revit進行二次開發,創建一套基于BIM的施工信息管理技術用于輔助鋼結構工程施工。
Dynamo是以Revit軟件為基礎的可視化編程平臺。通過可視化編程擴大了Revit使用功能的范圍,王鐘箐等[6]通過Dynamo編程實現攢尖亭參數化設計;林金華等[7]基于Dynamo編制程序通過讀取Excel數據和結合自適應族的方式生成盾構隧道三維模型??梢暬幊炭梢愿倪MUV網格,實現網格不等間距繪制[8],適用于幕墻、模板和地磚的排布。查莉[9]通過提前在Dynamo節點添加固定參數類型的方法,實現給橋梁添加材質及編號信息。Dynamo還可以結合Excel軟件,實現批量化處理,在重復性的工作上減少時間消耗,適用于大批量和機械化的工作[10]。綜上所述,Dynamo可視化目前普遍應用于參數化和流程化的設計與建模,對信息管理方面應用較少。本文將利用參數化和批量處理的優勢,編制一套輔助施工的信息化管理技術。
基于Dynamo的輔助鋼結構施工信息化管理技術主要包括:生成唯一標識名稱、快速查找構件、施工信息批量一鍵賦予三個部分,結構關系如圖1所示。
1)生成唯一標識名稱:實際操作時發現當Tekla模型以IFC格式導入Revit軟件中,構件初始狀態是一個整體,以組的形式存在,需要解組之后才允許直接點選各構件,單個構件支持復制、移動、添加過濾器等基礎功能,但是不能修改幾何尺寸。經研究發現材料和直徑相同的構件共用一個名稱,該名稱在Tekla軟件中是材料截面屬性,這與在Tekla軟件中命名情況不一樣。如果使用Revit中IFC模型的名稱輔助施工,將導致實際施工時雖然名稱相同,但構件的形狀不一定相同的情況,給構件分類增加了難度,所以需要給每個構件創建一個唯一的標識名稱。在Revit中各構件雖然有Element Id,但對于施工人員,這個標識不夠通俗易懂。通過Dynamo可視化編程,將構件名稱編碼實現構件唯一命名,生成通俗易懂的唯一標識作為索引線索,為后續信息賦予和查找構件降低難度。
2)快速查找構件:基于Dynamo編程提出快速查找構件的方法。該方法延續生成唯一標識名稱的成果,第一步,將名稱導出至Excel后用Python編寫算法快速生成唯一標識的二維碼,然后在構件生產加工時貼到相對應的構件,此算法未用到Dynamo,故不再贅述;第二步,基于Dynamo編寫的程序輸入唯一標識名稱后就能使得構件在模型中高亮顯示,為施工組焊構件展示三維焊接的位置。
3)施工信息批量一鍵賦予:利用Dynamo可視化編程實現基于模型構件批量創建所需信息參數,通過模型外填寫的Excel信息與模型映射匹配,實現一鍵賦予信息。

模型構件批量唯一命名基于Dynamo原生節點和Python語言調取Revit API實現。代碼由獲取所有構件、篩選重排序、復制構件類型、構件重命名和輸出構件名稱五部分模塊組成。核心代碼是篩選重排序、復制構件類型、構件重命名三個部分。
4.1.1 篩選重排序
該部分是通過Python語言在Python Script中編寫篩選和重新排序的算法。主要思路:第一步,將每一個構件參數轉化為String類型后,以構件類型名稱為條件進行篩選;第二步把相同名稱的構件重新歸集進行編號,以此編號當作構件的唯一標識名稱,部分代碼如圖2所示。

4.1.2 復制構件類型
篩選和重新排序部分將模型中的Element類型按照命名重新排序,復制構件類型的功能類似于手動編輯類型時的復制和重命名兩個步驟。通過前一步生成的新名稱,Python語言調取Revit API實現批量對構件進行新類型的創建,如圖3所示。

4.1.3 構件重命名
本步驟是將前兩步結果進行對應匹配,通過重新排序的Element和新的TypeId,實現IFC構件的批量重新命名。過程中使用archilab節點包中的Change Family Type節點如圖4所示,element部分輸入的是重排序的Element列表,typeid部分的數據則是由新生成的類型通過Element.Id節點獲取到Id傳入。

高亮顯示程序主要包括獲取所有構件、輸入參數、構件名稱匹配和匹配名稱高亮顯示四個部分。核心部分為構件名稱匹配和匹配名稱高亮顯示兩個部分。
4.2.1 構件名稱匹配
該部分主要功能是將輸入查詢的參數在所有構件中進行篩選匹配。構件名稱篩選模塊需要兩個輸入參數,分別為全部構件參數和需要查詢的構件名稱,如圖5所示。運算思路是將構件名稱對應匹配參數,輸出符合條件的構件在所有構件集合中的位置。

4.2.2 匹配名稱高亮
構件匹配名稱高亮顯示,該部分包含獲取構件和高亮顯示兩個自編算法模塊,如圖6所示。主要思路為繼承前一步的運算結果,在構件集合中找到需要顯示的構件,最后通過Revit API中的Selection命令定義函數實現構件高亮顯示。

本部分代碼由七個模塊組成,分別為:獲取所有構件、導入參數信息、獲取構件類型名稱、篩選定位類型、創建構件參數、導出構件參數名稱、參數檢查以及填充參數。其核心代碼為創建構件參數、參數檢查以及填充參數。
4.3.1 創建構件參數
創建參數的代碼通過Python語言自編算法而成,如圖7所示,主要由四個輸入參數,分別為全部構件名稱列表、需要賦予信息的構件名稱列表、Element列表和各構件需要創建的參數名稱。該過程整體思路是通過Excel表中匹配構件唯一標識創建所屬參數名稱,然后以項目參數的形式給各個構件賦予參數。

4.3.2 參數檢查
參數檢查目的是將Excel表格中沒有填寫信息的空格位置識別并在參數列表中刪除,如圖8所示,主要應用到Object.IsNull節點以及自編的刨去未填數據信息名稱節點。此模塊不僅可以使填寫信息時更加符合實際需求,還能將不必要的信息剔除提高代碼的運行效率。

4.3.3 填充參數
填充參數是將構件的需要賦予的詳細信息值對應填入參數中,通過在Python Script中調取Element.SetParameterByName節點實現。該節點需要兩個參數,分別為構件列表以及對應的信息列表,如圖9所示。

4.3.4 數據映射
信息賦予構件的范圍包括全部構件或部分框選構件,以構件唯一標識名稱為識別標準,通過Excel表格填寫信息進行數據映射。程序不僅支持信息更新等基本要求,還可以在Excel表格中滿足固定格式要求的情況下可以隨意增加信息種類,程序支持即使不填充詳細信息也能創建信息種類。此功能可以實現批量快速的賦予每個構件不同的信息,實際操作時僅需填寫Excel表格即可實現信息賦予的功能,極大減少了管理人員的操作步驟,達到節約時間、提高工作效率的效果。
本文研究的方法是以構件名稱為線索貫穿整個系統,所以篩選構件名稱是基礎步驟之一。本文在Python Script中編寫算法實現快速過濾的功能。篩選名稱的算法主要是利用Python語言切片的原理。算法實現思路主要分為三個部分:第一步,設置關鍵詞,篩選列表中存在此關鍵詞的元素;第二步,獲取包含關鍵詞元素的索引位置,將其放入新的列表中;第三步對新列表中元素進行切片,獲得元素對應的構件名稱,算法局部如圖10所示。

山西省某鋼結構展館由7個展廳組成,建筑面積11.7萬m2,主桁架為倒三角形曲線管桁架,單榀重72 t,跨度71 m,單榀主桁架由191個構件組成。本文以一榀主桁架為例進行效果演示,如圖11所示。

第一步生成唯一標識名稱,示例的單榀框架在程序運行前僅有一個PD351×14的類型。運行程序后如圖12所示,生成多個PD351×14的類型名稱。

第二步快速查找構件,通過在Dynamo播放器中輸入要查詢的構件名稱,運行程序后實現構件高亮顯示,如圖13所示。

第三步施工信息批量一鍵賦予,示例的單榀框架在運行程序前,在Revit中名稱為PD500×22.0的構件沒有其他參數,運行程序后,該構件自動添加了相關參數信息,如圖14所示。Dynamo運行結果顯示生成了4 584條信息。
1)通過對導入Revit軟件中的IFC模型構件名稱進行快速批量修改和一鍵信息賦予,打破以往只是鏈接在一起看模型效果但不能改的局面,真正的利用數據為項目施工服務,間接將多軟件優勢集中在一個軟件中。
2)快速查找構件模塊,通過掃碼和輸入構件名稱高亮顯示,提高現場構件分類及組焊的工作效率,避免施工時錯拿、誤拿、隨意裁切構件等造成材料損失及工期拖延的情況發生。
3)施工信息一鍵賦予,首先解決手動添加構件信息操作煩瑣、耗時的問題,極大減少時間消耗并且降低操作難度。通過Dynamo為每個構件賦予任何非幾何信息,這些信息可以用于施工人員責任追溯、勞務結算、材料廠家追溯以及質量追溯等施工管理活動。后續運維階段,通過掃描構件二維碼,獲取構件名稱,利用快速查找構件模塊即可找到模型中構件的位置及相關信息,可用于構件維護等工作。通過這種方法,將更多數據從施工階段傳入運維階段,從而可以更好的利用信息。
4)本套信息管理技術不僅適用于鋼結構工程、鋼筋混凝土結構工程、機電安裝工程、園林工程等涉及到構件的工程同樣適用。未來將繼續拓展構件查找功能以及開展施工進度管理方面的研究,將繼續挖掘數據價值,通過創造數據、收集數據、分析數據、應用數據,實現數據為項目精益建造提供更好的輔助作用。