文/瞿 燕
與普通貨架相比,立體貨架的空間利用率較高。目前,常見的立體式鋼貨架有多種,主要分為橫梁式、牛腿式、穿梭式等。鋼貨架結構的設計有一定的過程。首先,有必要建立一個模型,以確保模型在幾何上不變,明確連接節點是鉸接的還是剛性的,并確保結構的穩定性,這就涉及到結構力學。其次建立模型后,必須輸入載荷,這是鋼結構設計的重要部分。它將外部載荷轉化為結構的內力效應(剪力、彎矩、軸力等),當進行結構設計時,一定要清楚荷載取值和如何組合,荷載取值的準確與否,直接影響計算內力的準確性。鋼結構的設計,有一定的結構體系。它不是以結構軟件為主的,軟件只是服務于結構工程師,在大多數情況下,結構工程師需要對結構的概念設計做出判斷,假設輸入了一個載荷,軟件無法判斷它是什么載荷,需要結構工程師做出轉化并輸入。
目前,結構設計和分析面臨的新問題是:復雜的結構體系,大量的計算和分析,由于設計時間不足,現有功能不能完全滿足工程要求,傳統結構分析模式通常采用圖形界面下的手動操作,工作效率低下等;對此,本文提出的解決方案是通過編程方式處理大量數據,完成復雜結構的建模。例如,將API與編程結合使用就可以大大取代手動操作。實際上,工程師的主要任務是將復雜的工程問題轉化為簡單的數學模型,用VBA語言組織命令,編寫參數化設計程序,與SAP2000連接,并完成有限元建模。
本文以橫梁式立體式貨架為例,橫梁式立體式貨架又分為單深和雙深。按類型選項可分為:橫梁式單深邊列、橫梁式單深中列、橫梁式雙深邊列、橫梁式雙深中列等,如圖1、2。如果是橫梁式單深邊列,還要設置加強柱,保證結構的穩定性。貨架立柱片橫斜撐布置常見的類型有W型、X型、Z型等,如圖3。常用的步距(橫斜撐高差)600mm、750mm,一般下立柱采用步距較小的600mm,上立柱采用750mm,貨架立柱長度規范一般為12m,所以超過12m就要分段。


圖1:橫梁式單深邊列、中列布置圖

圖2:橫梁式雙深邊列、中列布置圖

圖3:貨架立柱片橫斜撐布置圖(從左到右依次為X型、W型、Z型)

圖4:背拉桿布置圖

圖5:水平拉桿布置圖
橫梁式貨架沿巷道方向的布置分為有支撐體系和無支撐體系。無支撐結構體系,沿巷道方向的穩定性由梁柱節點轉動剛度提供。有支撐結構體系,作用于前部和背部平面內的作用力傳至貨架背拉桿,背拉桿的穩定效應一般通過平面支撐傳遞給位于貨架前部和后部的各無支撐立柱,一般貨架沿高度方向全高設置支撐,有背拉布置的位置均設置水平拉桿,形成空間傳力體系,以橫梁式雙深中列為例,如圖4、5。有支撐體系和無支撐體系,垂直于巷道方向的穩定性均由立柱組提供支撐,橫梁立體式貨架節點剛度設置原則,如表1。建模分析時節點剛度設置的準確性,會直接影響構件選型。
橫梁式貨架的荷載類型分為直接荷載、間接荷載。例如作用在貨架上的直接荷載有恒載(自重)、活載(托盤貨物荷載)、 水平靜荷載(由初始彎曲、安裝偏差等所引起的水平力)等。間接荷載,例如:地震荷載等。 地震常用的計算方法有底部剪力法、振型分解反應譜法,按照中國建筑設計規范,重力荷載代表值中的質量源一般取1.0恒荷載+0.8活荷載。
基于以上荷載,鋼貨架結構設計通常采用的荷載組合包含8 種(D 表示縱向,C 表示橫向;1 表示靜力,2 表示動力;-Ser表示正常使用極限狀態組合),詳見表2。
將參數化建模的思想引入有限元分析工程,可以大幅提升工作效率。根據實際工程輸入貨架設計參數(立柱片高度、立柱片深度、橫梁長度、約束條件、單個托盤貨物重量、地震參數、立柱、橫梁截面初選等),立體式貨架的相關參數(幾何參數、加載參數)自動保存在Excel中,通過調用VBA編譯的代碼,由映射算法,將其轉化成SAP2000可識別的接口文件 ,在VBA二次開發的平臺上,成功完成Excel和SAP2000無縫對接,快速高效地完成立體式貨架參數化建模。
SAP2000是由美國CSI公司開發的通用結構分析設計軟件。SAP2000的優勢在于提供了開放的接口,SAP2000的API接口語言有很多種,其中最容易上手的是VBA,因為VBA可以直接連接到微軟的Excel。用戶不僅可以用圖形界面來建模,還可以通過編寫接口語言來建模。對于復雜結構,采用后者可以減少大量的工作量,從而縮短設計工期,在行業內形成競爭優勢。
貨架結構設計流程的有限元前處理,第一步是定義參數:貨架類型(String)、截面類參數(String)、荷載參數(Double)、 地震計算方法(String)、荷載組合(Double)、節點剛度(D o u b l e)、質量源(Double)等。第二步是數據導入:通過Cells定位到Excel對應的單元格,讀取橫梁式貨架的輸入參數,并賦值給相應的參數;如果參數對應的單元格很多時,逐一添加很耗時,可以通過循環語句來實現賦值。第三步是把輸入數據轉化為模型參數,通過循環語句實現幾何尺寸的累加并計數,這個步驟很重要;如果數據轉化成模型參數時有問題,直接影響建模的準確性,所以需要添加數據校核,通過Debug.Print自行校核模型參數轉化的準確性,此時需要打開立即窗口來檢查結果。
通過上述輸入數據,可以完成鋼貨架的有限元前處理。VBA提供了大量函數來完成前處理。結構分析前處理,如約束類型、載荷模式、載荷組合、截面參數和分析條件等,都可以通過VBA實現。不同立體式鋼貨架的結構建模有很大差異,鋼貨架建模可以從三個方面完成主體結構、支撐結構和部件特性;以橫梁貨架為例,貨架結構參數模型的層次結構分析,如圖6。
考慮到橫梁式貨架建模的復雜性,VBA程序相對較大,為了使VBA程序易于編寫、理解和更改,有必要有序地執行結構化編碼。我們所需要做的就是將大問題分成若干個小問題,這些小問題可以同時存在,本文通過VBA創建一個主過程和多個子過程來實現它,用關鍵字sub來聲明它們;主過程可以調用子過程并將參數傳遞給它們。其中子過程大致分為幾何模塊和加載模塊兩類。幾何模塊的子過程以單個部件為模塊劃分為柱、橫梁、背拉桿、連桿、水平拉桿、斜補等,加載模塊的子過程里包含荷載及組合等。幾何模塊的子工程編程的一般思路大致為:通過循環語句快速實現單個部件的幾何建模,賦予桿件截面屬性FrameObj.SetSection、材料屬性PropMaterial.SetMaterial,并設置節點剛度FrameObj.SetReleases,完成單部件的定義;其中,單部件背拉桿由于只拉不壓,可以采用命令FrameObj.SetTCLimits("1", True, 0, False, 0, 2)進行控制。
加載模塊編程大致思路如下:第一步,添加荷載模式LoadPatterns.Add,自重Dead,托盤荷載Live,水平靜荷載Live(兩個方向),地震荷載Quake(兩個方向),當計算方法采用底部剪力法時,通過LoadPatterns.AutoSeismic.SetChinese2010賦值。第二步,添加荷載工況,模態工況Modal,自重工況(Linear Static)、托盤荷載工況(Linear Static),水平靜荷載工況 (Linear Static),地震工況 (Linear S t a t i c)。第三步,添加荷載組合RespCombo. SetCaseList,通過給荷載工況賦予對應的分項系數,完成荷載組合定義,通過矩陣函數array實現。第四步,給荷載工況賦值,托盤荷載按分布荷載FrameObj.SetLoadDistributed添加,水平靜荷載按點荷載FrameObj.SetLoadPoint添加;當計算方法采用振型分解反應譜法時,通過Func.FuncRS.SetUser賦值。 第五步,添加分析模式,復雜結構一般采用非線性分析,通過LoadCases. StaticNonlinear.SetGeometricNonlinearity賦值。
主過程通過調用子過程實現單個部件組裝成三維模型,在VBA平臺上,完美地實現了EXCEL與SAP2000的無縫連接,把復雜的建模參數化,大大提高了工作效率。

表1:節點剛度

表2: 荷載組合

圖6:貨架參數化模型
最后在這里分享一小段柱片橫斜撐的小程序,之前有提到過常用的橫斜撐的三種形式:W、X、Z,具體通過FrameObj.AddByCoord函數來實現,部分代碼如下:

工程結構設計過程是靈活運用各種知識解決實際問題的過程,所有的軟件只是結構工程師的工具,只有熟練掌握結構的概念設計,并且邏輯非常清楚,軟件才能輕松地用于工程應用中供自己使用,從而提高工作效率。通過通用辦公程序Excel的VBA,結合項目的實際需要,進行簡單的二次開發,避免了大量重復操作,實現了參數化建模,大大提高了工作效率。