申躍杰,趙正旭,郭陽,溫晉杰,左宗成,徐博賢
(石家莊鐵道大學復雜網(wǎng)絡與可視化研究所,石家莊050043)
一是隨著國民經(jīng)濟的發(fā)展,大型基礎設施的建設越來越多,規(guī)模也越來越大;二是由于鋼結(jié)構(gòu)強度高、自重輕、塑性和韌性好;三是鋼結(jié)構(gòu)部件之間一般采用焊縫、螺栓或鉚釘連接,施工方便,裝配化程度高,施工周期短;四是由于鋼材的可重復利用,大大減少了建筑垃圾,大力發(fā)展鋼結(jié)構(gòu)建筑是貫徹落實綠色低碳環(huán)保要求,提高建筑工業(yè)化水平的重要途徑,同時又可以緩解國內(nèi)鋼鐵行業(yè)產(chǎn)能過剩的現(xiàn)狀。包括但不限于以上原因,國內(nèi)大型鋼結(jié)構(gòu)產(chǎn)業(yè)蓬勃發(fā)展。深圳信興廣場、沈陽博覽中心、廣州白云機場、上海新博覽中心、上海南站、南京奧體中心、國家體育場(鳥巢)和五百米口徑球面射電望遠鏡FAST(中國天眼)等都是國內(nèi)具有代表性的鋼結(jié)構(gòu)建筑。目前鋼結(jié)構(gòu)建筑在層級高、規(guī)模大的建筑上的運用日益成熟,尤其是在大型廠房和場館等領域逐漸成為主流的建筑工藝,是未來建筑的發(fā)展方向。大型鋼結(jié)構(gòu)產(chǎn)業(yè)在迅速發(fā)展的同時,也帶來一些新問題。一是在施工過程中,大型鋼結(jié)構(gòu)施工過程一般都是高空作業(yè),危險系數(shù)要高于普通的混凝土建筑,事故時有發(fā)生,其中吊裝過程事故率尤為突出[1]。如某超長懸挑結(jié)構(gòu)整體變形不滿足規(guī)范要求而導致的施工事故[2]、某紅木制品公司的廠房因柱腳錨栓失穩(wěn)而導致的結(jié)構(gòu)倒塌事故[3]、某重型工業(yè)廠房因格構(gòu)柱未全部拉結(jié)加固到位導致主廠房結(jié)構(gòu)倒塌事故[4]。二是在大型鋼結(jié)構(gòu)建成之后,如何向外界推廣宣傳以及科普教育的問題。以中國天眼為例,天眼是于2016年建成的屬大型鋼結(jié)構(gòu)的國家重大科技基礎設施,位于貴州省黔南布依族苗族自治州平塘縣克度鎮(zhèn)大窩函的喀斯特洼坑中,交通不便導致大眾只能通過新聞報道來了解天眼。即使大眾可以到天眼所在地現(xiàn)場觀摩,身置一個500米口徑的龐大物體之中,也只能窺其一角,并不能了解天眼的全部構(gòu)造。如何將天眼通過索網(wǎng)調(diào)整反射面單元,形成300米口徑拋物面的這一過程真實客觀地展示給大眾也是問題之一。傳統(tǒng)的圖片以及視頻并不能詳細介紹天眼的構(gòu)造以及工作原理。而三維虛擬仿真技術(shù)可以做到,可以通過該技術(shù)將整個天眼的構(gòu)造以及工作時的狀態(tài)仿真,以此將深山之中的天眼向大眾科普[5]。
隨著虛擬仿真技術(shù)的發(fā)展,該技術(shù)已成功應用于建筑工程領域。而在虛擬仿真的過程中,建模是重要環(huán)節(jié)?,F(xiàn)有建模方法主要包括程序生成和借助建模工具建模兩種。其中程序生成建模需要建模人員掌握OpenGL等圖形語言的編寫,對建模人員的編程能力要求高。而從事鋼結(jié)構(gòu)建筑的設計人員一般更注重AutoCAD、3ds Max等軟件的使用,而非程序編寫。因此在大型鋼結(jié)構(gòu)的建模過程中,此方法的局限性更加明顯[6]。從而選用建模工具來對鋼結(jié)構(gòu)進行建模。但并非單獨選擇一種工具,而是選擇多種建模工具,利用建模工具各自的優(yōu)勢,來提高建模效率。
針對大型鋼結(jié)構(gòu),建立一套快速的建模方法,無論是在前期的施工過程還是后期的宣傳推廣過程,都可以縮短工期,降低成本。本文提出一種以鋼結(jié)構(gòu)節(jié)點為基礎數(shù)據(jù),然后以點成線,以線成面,最終生成模型的快速方法。并以天眼為研究對象,利用AutoCAD和3ds Max,運用該方法對天眼進行建模,驗證了其有效性。
鋼結(jié)構(gòu)主要是由鋼柱、梁鋼和鋼桁架等鋼構(gòu)件連接而成。構(gòu)件之間主要通過節(jié)點焊接,梁鋼與梁鋼之間又可搭置鋼板。所以節(jié)點可以看作是建造鋼結(jié)構(gòu)模型的基礎。選取空間一點作為坐標原點,選坐標原點應以方便表示鋼結(jié)構(gòu)節(jié)點坐標為原則。以中國天眼為例,選取天眼底端的中心點為坐標原點,可以方便地利用柱面坐標系來表示天眼中的其他節(jié)點。又因天眼形似球冠,本身具有對稱性,節(jié)點之間有規(guī)律可循,因此可以利用Excel等工具簡化數(shù)據(jù)處理過程。在構(gòu)建天眼模型的過程中,將天眼主要分為四部分[7]:饋源倉和支撐塔、反射面、圈梁和附近地形。饋源倉和支撐塔可以作為獨立物體進行精細建模,本文將不再贅述。附近地形可以通過DEM數(shù)據(jù)和衛(wèi)星影像數(shù)據(jù)來生成。下面將具體介紹圈梁和反射面節(jié)點數(shù)據(jù)的收集處理過程。
(1)確定節(jié)點編號規(guī)則
節(jié)點編號規(guī)則為:圈梁節(jié)點編號時是由上往下、由里向外、逆時針編號;反射面節(jié)點編號時是由上往下、由外向里、逆時針編號。首先確定編號規(guī)則,是為了以后數(shù)據(jù)的規(guī)范處理[8]。如果在驗證數(shù)據(jù)階段,數(shù)據(jù)出現(xiàn)錯誤,可以根據(jù)驗證結(jié)果快速鎖定數(shù)據(jù)出錯的位置。
(2)圈梁節(jié)點數(shù)據(jù)的收集
圈梁結(jié)構(gòu)分為上下兩層,共有2400個節(jié)點。第一層共有三圈,1500個節(jié)點,由內(nèi)而外分別為第一圈、第二圈和第三圈。第一圈包含600個節(jié)點,為其編號1-600;第二圈包含300個節(jié)點,為其編號601-900;第三圈包含600個節(jié)點,為其編號901-1500。圈梁第二層也分三圈,與第一層不同的是,第二層的每一圈均只有300個節(jié)點,為其編號1501-2400。
(3)反射面節(jié)點數(shù)據(jù)的收集
反射面結(jié)構(gòu)共有1957個節(jié)點,27層。如圖1所示。
圖1 反射面節(jié)點
部分層的節(jié)點個數(shù)以及節(jié)點編號如表1所示。以此類推,將反射面1957個節(jié)點編號。
表1 節(jié)點編號規(guī)則
(4)邊關系數(shù)據(jù)的收集
鋼柱和梁鋼是鋼結(jié)構(gòu)的主要組成部分,兩者可以看作是連接節(jié)點的邊。節(jié)點之間有無邊關系即可表示節(jié)點之間有無鋼柱這類構(gòu)件。以1代表有連接,以0代表無連接。與收集節(jié)點坐標信息相似,邊關系的信息也有規(guī)律可循。部分邊關系整理如表2所示。
表2 邊關系
由于圈梁和反射面結(jié)構(gòu)本身具有重復性、對稱性、有規(guī)律性,因此可以利用Excel的函數(shù)功能來簡化數(shù)據(jù)的處理過程。以天眼圈梁為例,經(jīng)實地考察,發(fā)現(xiàn)天眼圈梁是由一個基礎單元組成,其他部分可以看成該單元的復制。只要收集一個單元的數(shù)據(jù),其他部分均可以按照一定規(guī)律(如圈梁節(jié)點之間的弧度相等)進行處理。
如果在建模過程中,發(fā)現(xiàn)數(shù)據(jù)錯誤,然后再重新整理數(shù)據(jù),重新建模,將會是一個耗時耗力的過程。所以本方法提出在建模之前對數(shù)據(jù)的正確性進行驗證。利用MATLAB軟件在數(shù)值分析、矩陣計算和科學數(shù)據(jù)可視化方面的優(yōu)勢,對所有節(jié)點信息進行處理,生成模型的架構(gòu)。根據(jù)生成圖來判斷數(shù)據(jù)是否有錯誤。如果數(shù)據(jù)錯誤,在這個階段就可以對數(shù)據(jù)進行修改,避免工作后期人力物力的浪費。
(1)節(jié)點坐標轉(zhuǎn)換
首先在Excel中利用其自帶的函數(shù)功能將節(jié)點坐標的表示方式由柱面坐標系改為笛卡爾直角坐標系。將三維的節(jié)點坐標改為多個二維坐標,便于驗證。下面以x、y方向為例來說明。轉(zhuǎn)換公式如下:
公式(1)和(2)分別是x,y方向的坐標轉(zhuǎn)換公式,其中H2為每一層節(jié)點所在圓的半徑,D2為節(jié)點編號與前面所有層節(jié)點數(shù)的差,E2為該層的節(jié)點數(shù)。當所有參數(shù)確定之后,分別在兩列進行上述函數(shù)的輸入,然后雙擊單元格右下角小十字,根據(jù)節(jié)點個數(shù)完成公式的復制,從而達到節(jié)點轉(zhuǎn)換的目的。
由于節(jié)點數(shù)較多,故不一一列出,反射面第二層節(jié)點的部分坐標轉(zhuǎn)換結(jié)果如表3所示。
表3 坐標轉(zhuǎn)換結(jié)果
(2)節(jié)點數(shù)據(jù)驗證
節(jié)點的直角坐標系生成之后,將fastpoint文件(包含節(jié)點坐標信息)和fastedge文件(包含節(jié)點邊關系信息)導入MATLAB,使用MATLAB對數(shù)據(jù)正確性進行驗證。驗證過程如下:
第一步:構(gòu)建鄰接矩陣:
rowMax=max(data(:,1));
columnMax=max(data(:,2));
maxValue=max(rowMax,columnMax);
result=zeros(maxValue,maxValue);
for row=1:length(data(:,1))
result(data(row,1),data(row,2))=data(row,3);
result(data(row,2),data(row,1))=data(row,3);
end
第二步:構(gòu)建坐標矩陣:
point=[data1(:,2),data1(:,3)]
第三步:做圖仿真:
gplot(result,point)
第四步:生成圖無誤之后,確保數(shù)據(jù)無誤。
其中 max、zeros、gplot均是 MATLAB中的函數(shù)指令,max用來求最值,zeros用來生成矩陣,gplot用來對表示鄰接矩陣的節(jié)點和鏈接繪圖。
以天眼反射面和圈梁的節(jié)點數(shù)據(jù)為例,生成圖如圖2所示。其中周圍一圈為天眼上下兩層的圈梁,中間為反射面。此處截圖是為了反映驗證過程的整體效果,故犧牲了細節(jié)方面。由于天眼體型巨大,將整個模型截圖下來,會導致細節(jié)不清楚。但在實際操作過程中,如果通過整體效果看出某部分存在問題,可以放大待操作部分進行細致觀察。
圖2 反射面和圈梁的驗證結(jié)果
利用AutoCAD可以批量處理節(jié)點坐標的優(yōu)勢,將天眼所有的節(jié)點進行初步加工,生成簡單模型。然后將經(jīng)過加工的初步模型導入到3ds Max中,進行精細建模和渲染等一系列操作。
首先需要將Excel中節(jié)點的三維坐標整合到一處,整合命令為:=B2&","&C2&","&D2,其中 B2、C2 和 D2分別為x、y和z所在單元格,可根據(jù)數(shù)據(jù)所在位置調(diào)整。在AutoCAD中利用3DPOLY命令操作節(jié)點坐標生成閉合曲線。為便于管理,每層節(jié)點單獨生成閉合曲線。每兩層節(jié)點作為一組,也就是每組兩條閉合曲線,最終效果如圖3所示。圖中效果看似是兩個圓,其實是由線段拼接而成,并非圓形,放大之后可以看出。線段的端點即是節(jié)點,該曲線中包含節(jié)點的坐標信息。最后保存為dwg格式以便導入3ds Max中進行下一步操作。
圖3 閉合曲線圖
在3ds Max中導入前期生成的dwg文件,基于計算機性能考慮,每次導入一組閉合曲線。選中點層級,焊接,轉(zhuǎn)換為可編輯多邊形,然后全選連接,如果線連接無規(guī)律時,需手動連接,依次對多邊形分離。分離完成之后,將其打組便于后期管理。該操作是將帶有節(jié)點信息的線生成面片,主要依靠的是3ds Max的自動處理功能,無需過多人工操作。共27個這樣的組,也就是共27層面片,全部完成之后,依次添加到3ds Max中,最終結(jié)果的三視圖如圖4所示。
圖4 反射面的整體效果圖
天眼的反射面是由4450個反射單元組成,每個反射單元都能通過索網(wǎng)進行調(diào)節(jié)。每一個反射單元在模型上可以看做一個面片,而每一個面片都可以單獨拿出來進行操作。如果不為每個面片貼上能代表其形狀的貼圖,渲染之后,天眼的反射面就成為一個整體的球冠,不能真實反映天眼反射面的情況。而面片種類多,數(shù)量大,如果單獨為每一個面片貼圖,4450個面片就要4450次操作,工作量巨大。可以利用3ds Max自帶功能,批量為其生成貼圖,過程如下:
選中天眼反射面的所有面片(即每個多邊形),進行塌陷,將4450個面片暫時整合成一個對象。熔合閾值為0.01的節(jié)點并進行焊接。在該過程中,如果計算機性能(尤其是顯卡性能)較低,一次性處理所有面片會出現(xiàn)模型顯示不全的問題??梢钥紤]將整個反射面分割成幾大部分進行批量處理。相比于整體處理,會多幾次重復操作,但卻可以解決因計算機性能而帶來的不便。
在修改器列表中選擇uvw展開,進行快速平面貼圖。進入uv編輯界面,根據(jù)需求對所有面進行松弛,保證每條邊不會重合或者雜糅在一起。若有必要對面進行縮放,保證整個對象在綠色正方形的線框中。渲染uvw模板,保存成*.png格式的圖片。
使用Photoshop軟件,編輯上述保存的圖片,在該圖片上進行紋理繪制。將圖片中的綠色網(wǎng)格線改為灰色,RGB 參數(shù)為 5,7,0。賦予材質(zhì)背景,RGB 參數(shù)為189,189,189。以JPEG格式保存制作好的紋理貼圖,部分批量貼圖效果如圖5所示。
圖5 批量生成的部分貼圖
選取材質(zhì)球,通過材質(zhì)設置面板選擇位圖,將紋理材質(zhì)賦予到材質(zhì)球上,并將材質(zhì)貼到天眼模型上。
采用VRay渲染器對場景中的模型進行渲染。采用VRay的優(yōu)勢為有很多:一是可以與3ds Max無縫結(jié)合;二是它有廣泛的材料庫和資源;三是VRay的速度非常適合快速動畫;四是現(xiàn)實世界的材質(zhì)渲染更加真實,等等[9]。
拆分模型,使用3ds Max軟件中自帶的炸開命令,可將大部分多邊形進行拆分。每個多邊形相當于天眼中的單個反射面板,炸開后檢查是否符合反射面板的數(shù)量,若不完整,手動對其分離。經(jīng)過渲染之后的反射面的模型如圖6所示。
圖6 渲染之后的反射面
天眼模型建成之后與附近環(huán)境整合。附近環(huán)境可以通過該區(qū)域的DEM數(shù)據(jù)和衛(wèi)星影像數(shù)據(jù)生成三維模型。在該階段用到的軟件包括BIGEMAP、Global Mapper等軟件。大型鋼結(jié)構(gòu)的建模方法是本文的研究重點,而生成地形的方法又有很多,所以地形的生成過程將不再贅述。圖7是整合之后的具體效果。
大型鋼結(jié)構(gòu)雖種類繁多,結(jié)構(gòu)復雜。但鋼結(jié)構(gòu)的基本構(gòu)架卻大同小異,都是由鋼柱、梁鋼和鋼桁架等鋼構(gòu)件連接而成。以剛構(gòu)件之間的連接節(jié)點為突破點,以節(jié)點為建模的基礎數(shù)據(jù),再以點擴展到線和面,從而完成建模。整個建模過程多依賴于軟件的批量處理功能,極大減少了人工操作,提高了建模效率。而該方法需要在建模前期對鋼結(jié)構(gòu)的節(jié)點數(shù)據(jù)進行收集處理,越是規(guī)則(例如有對稱性、有重復單元)的鋼結(jié)構(gòu),節(jié)點的處理工作就越有規(guī)律可循,處理數(shù)據(jù)的時間就可大幅度降低,因此該方法更適用于規(guī)則的鋼結(jié)構(gòu)。最終通過對天眼的建模,驗證了該方法的可行性,為其他大型鋼結(jié)構(gòu)的建模提供了一種參考方法。
圖7 天眼與附近環(huán)境