趙正旭,薛曉榮,郭陽,李東年,鐘謙,張蜀新
(1.青島理工大學機械與汽車工程學院,青島266520;2.石家莊鐵道大學復雜網絡與可視化研究所,石家莊050043;3.中國科學院國家天文臺,北京100012)
建筑是人類賴以生存、工作的人工環境。鋼結構建筑是一種新興產業,我國鋼結構建筑的發展和應用滯后于國外,國內普遍偏向于建造大型的建筑,而這些大型建筑的背后就需要有好的鋼結構[2]。復雜的鋼結構建筑由于其設計想法和理念僅僅通過圖紙不容易被理解和接受,而通過建模實現鋼結構建筑的可視化可以很好地表達設計師的設計理念,設計師可以通過虛擬仿真技術實現鋼結構建筑的虛擬仿真。在虛擬仿真的過程中,建模是最重要環節[3]。隨著計算機技術、三維仿真技術、信息技術的高速發展,耗時而低效的傳統手工建模建筑方法已經遠遠無法滿足應用市場的需求,快速化、智能化、自動化的建筑建模方法已經逐漸受到人們重視[4]。而建于貴州黔南布依族苗族自治州平塘縣克渡鎮金科村的大窩凼的世界上最大口徑射電望遠鏡(簡稱FAST),同樣需要模型來傳遞天眼設計理念。天眼模型的圈梁部分由圓鋼管和焊接異型構件組成,通過焊接球和節點板連接,盡管設計圖已經給出了所有圓鋼管和焊接異型構件的幾何信息和截面信息,但是圓鋼管和焊接異型構件尺寸不一,結構復雜,采用手動建模的方式不僅耗時耗力,而且建模精度不易控制,所以通過手動建模很難快速完成。
基于以上背景,本文將使用Blender 建模軟件,利用Python 內建腳本實現Fast 圈梁三維模型的快速自動化構建,可以大大減少了手動建模的工作量,加快建模任務的進度。
在計算機網絡時代,信息安全對于國家安全有著至關重要的作用,網絡是信息傳遞的媒介,操作系統作為網絡安全的保障,也是國家信息安全的保障。FAST作為國家重大科技基礎設施,我們將采用國產操作系統中標麒麟操作系統來進行建模。中標麒麟操作系統是一種采用Linux 內核的操作系統,安全性、穩定性、可靠性和免費性是Linux 的優點[5]。作為一個開源操作系統,中標麒麟有以下優點:
(1)強大的跨平臺應用部署能力。
(2)強大的軟硬件適配能力。
(3)強大的設備管理能力和多任務管理能力。
(4)高效、易用的桌面操作環境。
3DS Max 是一款非常好的3D 建模軟件,它擁有性價比高、使用者多,上手容易的優點,但是它不兼容中標麒麟操作系統,所以我們選擇了Blender 這一款開源的多平臺輕量級全能三維動畫制作軟件。Blender 具有建模、雕刻、綁定、粒子、動力學、動畫、交互、材質、渲染,音頻處理,視頻剪輯以及運動跟蹤,后期合成等的一系列動畫短片制作解決方案,并以Python 為內建腳本,支持yafaray 渲染器,同時還內建游戲引擎,商業創作永久免費。
500m 口徑射電望遠鏡(Five-hundred-meter-Aperture-Spherical-Telescope),簡稱FAST,為國家重大科學工程。FAST 建于貴州黔南布依族苗族自治州平塘縣克渡鎮金科村的大窩凼,貴州屬于卡斯特地貌,有著得天獨厚的地理優勢,選取貴州山區洼地作為FAST 的臺址,建造完成500m 口徑射電望遠鏡。
FAST 目前是世界上第一大單口徑射電望遠鏡,將在未來20 至30 年保持世界一流地位。天眼工程利用貴州喀斯特地區的洼坑作為望遠鏡臺址,加之全新的設計思路,使其突破了望遠鏡的百米工程極限,開創了建造巨型射電望遠鏡的新模式。整體效果如圖1所示。

圖1 FAST整體效果圖
FAST 整體結構由以下部分組成:
(1)主索:主索用于支承FAST 反射面板,主索網呈球面結構,以網格方式編織而成,球面直徑為500m,總計6740 根。
(2)下拉索:索網通過下拉索與地面設置的促動器相連,促動器通過收縮和拉伸來控制下拉索,從而控制面板角度的變化,實現觀測拋物面。
(3)格構柱與圈梁:用于支承主索網。
(4)格構柱基礎:用于支承格構柱。

圖2 FAST結構布置三維圖
本文將對500m 口徑射電望遠鏡天眼的圈梁部分進行建模,圈梁內圈直徑500.8m,外圈直徑522.8m,高5.5m,寬11m,為立體桁架結構,由圓鋼管和焊接異型構件組成。圈梁布置分為A 區、B 區、C 區、D 區和E區,每個區左右跨度呈72 度角,5 個區的圈梁構件布置與構件截面具有1/5 旋轉對稱性。所以,圈梁的建模只需要建1/5 單元,剩余部分只需旋轉復制即可。A 區結構由60 個單元組成,每個單元之間呈0.99-1.45 度,每個單元由上弦、下弦、上下弦間連桿組成。
圈梁建模將分為兩個部分,圈梁主體部分和滑動支座建模。圈梁主體部分主要分為圈梁上弦構件,圈梁下弦構件,圈梁立面構件。圈梁上弦構件包括上弦環向弦桿,上弦徑向弦桿,上弦面內斜腹桿。圈梁下弦構件包括下弦環向弦桿,下弦徑向弦桿,下弦面內斜腹桿。圈梁立面構件包括上弦環向弦桿,環向斜腹桿,豎腹桿,徑向斜腹桿。圈梁整體結構如圖3 所示。

圖3 圈梁整體結構
圈梁鋼結構主要由圓鋼管、焊接球和焊接工字鋼連接組成。由于工程實際需要,每個圓鋼管、焊接球、焊接工字鋼構件長度,尺寸不盡相同。圓鋼管構件截面表如表1 所示。

表1
圈梁上弦構件可以分為A 區、B 區、C 區、D 區、E區5 個區,A 區可以分為60 個單元,每個單元的平面構件說明圖如圖4 所示。

圖4 上弦平面構件說明圖
圈梁下弦構件可以分為A 區、B 區、C 區、D 區、E區5 個區,A 區可以分為60 個單元,每兩個單元對稱分布,每兩個單元的平面構件說明圖如圖5 所示。

圖5 下弦平面構件說明圖
圈梁立面構件可以分為A 區、B 區、C 區、D 區、E區5 個區,A 區可以分為60 個單元,每個單元的立面構件說明圖如圖6 所示。

圖6 立面構件說明圖
圈梁三維模型的構建需要進行三方面工作:①圈梁構件數據的收集和處理。②通過Python 構建圈梁三維實體模型。③通過手動建模完成滑動支座部分模型。其中,構建圈梁三維實體模型需要Blender 內建腳本Python 的支持。Python 語言是一種面向對象、解釋性的計算機語言,具有功能強大、語言簡練的特點,它提供了大量運算、建模、仿真模塊[6]。Blender 是一款三維動畫制作軟件,它可以實現跨平臺,雖然Blender 這款軟件簡單小巧,但是它可以實現建模、渲染、動畫等多種功能。而且Blender 支持Python 內建腳本,利用Python 可以實現圈梁模型的自動快速化構建。
首先,需要根據圈梁結構設計圖,分解圈梁結構得到不同的構件類型,如連接桿件、焊接球、滑動支座等。并記錄不同類型構件的數量、長度、尺寸以及連接方式。匯總所有信息生成Excel 文件并保存。
要想通過Python 是實現圈梁的建模,關鍵在于能夠表示每個構件的中心點坐標,和它相對于初始位置的旋轉角度。我們以h1 立面的下弦環向弦桿為例,介紹如何通過數學的方法建立模型。簡化模型如圖7所示。

圖7 下弦環向弦桿簡化圖
圖中AB 代表下弦環向弦桿,下弦環向弦桿長度已知,C 為AB 中點,OA 和OB 代表圈梁內圈半徑,半徑長為250.4m。圖中已知圈梁半徑OB 和下弦環向弦桿長度AB,勾股定理可以得到角度AOB 和角度COB 和OC 長度,角度COX 可以表示出來,已知角度COX 和圓心到下弦環向弦桿中心的距離OC,通過這兩個已知量可以求得AB 中心點C 的坐標。然后需要知道下弦桿的旋轉角度,新建下弦桿的默認初始位置垂直于X軸與Y 軸所在平面,在C 點建立一根圓柱,然后將圓柱繞X 軸旋轉90。,再繞Z 軸旋轉角度COX,這樣AB 下弦環向弦桿的位置和旋轉角度就可以確定了。每一個下弦環向弦桿的中心點坐標和它相對于初始位置的旋轉角度就都可以得到,通過Python 代碼循環的建立每一個構件即可得到跨度為72。的下弦環向弦桿。下弦環向弦桿在H1、H2、H3 立面共有3 個圓環,3 個圓環建模原理相同,實際建模模型如圖8 所示。

圖8 下弦環向弦桿
接下來是下弦焊接球和下弦徑向豎桿的建模過程。簡化模型如圖9 所示。
CD 表示下弦環向弦桿,C 點和D 點是焊接球的位置,AC 和BD 代表下弦徑向豎桿,長度為5.5m,可以利用圖7 中求得的角度和已知的OC、OD、AC、BD 長度分別表示C 和D 點焊接球以及AC 和BD 下弦徑向豎桿的坐標。接下來需要確定AC 徑向豎桿的旋轉角度,首先在AC 中點新建圓柱,圓柱默認位置垂直于X 軸和Y 軸所在平面,將圓柱以Y 軸為中心旋轉90。,再以Z軸為中心旋轉角度AOX。已知中心點坐標和旋轉角度,利用Python 代碼實現模型構建。
接下來是下弦面內斜腹桿的建模,下弦面內斜腹桿簡化模型如圖10 所示。

圖10 下弦面內斜腹桿
AE、CE、GE、IE 表示下弦面內斜腹桿,長度已知,OG 表示圈梁內圈半徑,OA 表示圈梁外圈半徑,以CE斜桿為例,首先需要找出CE 斜桿的中心點坐標,OC 和OE 長度已知,由圖7 易知,角度EOX 和角度COX 可以求得,通過OC 和OE 長度以及角度EOX 和角度COX 可以求得C 點和E 點的坐標,通過E 點和C 點的坐標可以求出求出CE 中心點的坐標。已知BC、BE、CE 的長度,通過余弦公式,易求得角度BEC。先在CE中心點坐標建一根圓柱,然后繞Y 軸旋轉90。,再繞Z軸旋轉角度BOX,再繞Z 軸負方向旋轉角度BEC,即可得到CE 下弦面內斜腹桿。AE、GE、IE 建模原理相同,實際建模模型如圖11 所示。

圖11 下弦模型
圈梁上弦構件、下弦構件和立面構件建模原理基本相同,最終圈梁主體部分的三維模型如圖12 所示。

圖12 圈梁模型
(1)滑動支座
圈梁與格構柱之間通過滑動支座連接,滑動支座共100 個,分別位于50 個格構柱頂。滑動支座作為圈梁的支承結構,主要為了解決格構柱高度分布不均勻對整體結構剛度的影響,通過滑動支座釋放圈梁的環向約束。
(2)滑動支座結構
滑動支座包括圈梁與格構柱支撐節點以及圈梁與格構柱滑動連桿。支撐節點結構簡單,包括加勁板、圓管、拉索耳板、主索、雙向滑動支座。滑動連桿包括圓管、節點耳板、桿端封板、水平連桿、單耳板、加勁板。水平連桿長度根據放樣決定。
(3)滑動支座的建模
滑動支座的建模需要找準每個物體相對于坐標原點的位置,以及每個物體的尺寸大小,然后把各個物體組裝起來。有一些特殊形狀的物體需要用到布爾工具,Blender 中的布爾修改器可以在模型之間計算得出新的物體,可以得到模型之間交集、并集、差值后的模型效果。其中雙向滑動支座的建模需要用到布爾操作,新建兩個圓柱,通過布爾差值運算得到雙向滑動支座底座。圈梁與格構柱支撐節點中的6 塊加勁板,前后左右對稱,可以通過旋轉復制得到。其實際建成模型如圖13 所示。

圖13 滑動支座模型
FAST 是目前世界上最大的單口徑射電望遠鏡,擁有中國自主知識產權,它的設計體現了我國自主創新能力和綜合國力。FAST 圈梁結構是望遠鏡的索網的之承結構,本文對FAST 圈梁結構的建模是基于中標麒麟國產操作系統,在開源的三維動畫制作軟件中,利用Python 內建腳本建模和手動建模方法相結合,在數據信息翔實的情況下,可以對圈梁模型進行快速構建,大大提高了建模效率。然而,本文對FAST 圈梁的建模依然有它的局限性,因為它只適合于有規律可循的模型構建,對于結構復雜,無規律可循的模型還需要去找尋其他的建模方法。