龍 天 王子茹*
(大連理工大學(xué)建設(shè)工程學(xué)部,遼寧 大連 116024)
·計(jì)算機(jī)技術(shù)及應(yīng)用·
梯形鋼屋架計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)研究
龍 天 王子茹*
(大連理工大學(xué)建設(shè)工程學(xué)部,遼寧 大連 116024)
針對梯形鋼屋架計(jì)算機(jī)可視化輔助設(shè)計(jì)問題展開了研究,依據(jù)設(shè)計(jì)規(guī)范,基于OpenGL三維圖形庫和ANSYS接口編程等技術(shù),采用面向?qū)ο筌浖O(shè)計(jì)技術(shù)實(shí)現(xiàn)了梯形鋼屋架三維可視化輔助設(shè)計(jì)系統(tǒng),通過實(shí)例驗(yàn)證取得了良好的效果。
鋼屋架,OpenGL,可視化,ANSYS
隨著計(jì)算機(jī)硬件與軟件技術(shù)的迅猛發(fā)展,計(jì)算機(jī)輔助設(shè)計(jì)在建筑領(lǐng)域的應(yīng)用也得到了長足的發(fā)展。目前一般鋼結(jié)構(gòu)設(shè)計(jì)常用的軟件有PKPM-STS,該軟件是中國建筑科學(xué)研究院開發(fā)的集平面空間于一體的功能強(qiáng)大的以鋼結(jié)構(gòu)計(jì)算為主導(dǎo)的建筑軟件,是目前國內(nèi)應(yīng)用最廣泛,被絕大多數(shù)設(shè)計(jì)院所認(rèn)可的鋼結(jié)構(gòu)計(jì)算程序之一。還有適合于網(wǎng)架結(jié)構(gòu)設(shè)計(jì)的SFCAD或MST軟件和適用于桁架結(jié)構(gòu)設(shè)計(jì)的3D3S軟件。
系統(tǒng)的設(shè)計(jì)在已有研究成果的基礎(chǔ)上,針對梯形鋼結(jié)構(gòu)屋架三維可視化輔助設(shè)計(jì)問題,以Visual C++6.0作為開發(fā)平臺,采用面向?qū)ο缶幊碳夹g(shù),以對話框的形式輸入屋架設(shè)計(jì)參數(shù)、桿件、節(jié)點(diǎn)的設(shè)計(jì)和校核。通過編寫Visual C++與有限元軟件ANSYS的接口程序,實(shí)現(xiàn)了對ANSYS的后臺調(diào)用并提取計(jì)算結(jié)果作為桿件構(gòu)件和節(jié)點(diǎn)設(shè)計(jì)依據(jù)。根據(jù)設(shè)計(jì)結(jié)果應(yīng)用OpenGL圖形標(biāo)準(zhǔn)技術(shù)構(gòu)建桿件和節(jié)點(diǎn)的三維模型,從而形成鋼結(jié)構(gòu)屋架的三維可視化輔助設(shè)計(jì)系統(tǒng)。
1.1 系統(tǒng)的總體結(jié)構(gòu)
系統(tǒng)的總體結(jié)構(gòu)如圖1所示。整個(gè)系統(tǒng)主要由以下三個(gè)功能模塊組成:1)設(shè)計(jì)參數(shù)輸入模塊。包括結(jié)構(gòu)選型,荷載計(jì)算,材料參數(shù)。2)桿件與節(jié)點(diǎn)設(shè)計(jì)模塊。主要包括內(nèi)力計(jì)算,桿件設(shè)計(jì)校核,節(jié)點(diǎn)選型校核,設(shè)計(jì)報(bào)告。3)三維模型建立模塊。包括桿件模型構(gòu)建,節(jié)點(diǎn)模型構(gòu)建,模型的組裝與顯示。
1.2 系統(tǒng)的主要功能設(shè)計(jì)
1)設(shè)計(jì)參數(shù)輸入模塊。
a.選型參數(shù)的確定。在屋架參數(shù)界面,設(shè)計(jì)人員只需輸入跨度L,屋面坡度i,屋架端部高度H0等幾個(gè)控制參數(shù)即可完成屋架的選型。程序根據(jù)這些控制參數(shù)即可計(jì)算出屋架各點(diǎn)的點(diǎn)和桿件的信息,并分別通過自定義的節(jié)點(diǎn)類CNode和單元類CElement負(fù)責(zé)屋架結(jié)構(gòu)的幾何信息及點(diǎn)和單元、點(diǎn)和點(diǎn)之間的幾何拓?fù)潢P(guān)系信息的處理和儲存。
b.荷載確定及鋼材選用。系統(tǒng)根據(jù)屋架荷載的特點(diǎn)設(shè)計(jì)荷載計(jì)算界面,并按照《建筑結(jié)構(gòu)荷載規(guī)范》[2]的規(guī)定,定義各項(xiàng)荷載的分項(xiàng)系數(shù)和荷載設(shè)計(jì)值的計(jì)算公式。設(shè)計(jì)人員僅需對應(yīng)輸入各項(xiàng)荷載,然后載入設(shè)計(jì)分項(xiàng)系數(shù),系統(tǒng)即可計(jì)算出最不利的集中荷載設(shè)計(jì)值。
各種型號鋼材的參數(shù)已根據(jù)《鋼結(jié)構(gòu)設(shè)計(jì)規(guī)范》[3]預(yù)先在程序中定義。用戶只需通過直接選擇鋼材型號后點(diǎn)擊輸入完成按鈕即可完成材料參數(shù)的輸入。
2)桿件和節(jié)點(diǎn)設(shè)計(jì)模塊。
a.內(nèi)力計(jì)算。結(jié)構(gòu)的內(nèi)力計(jì)算根據(jù)桁架計(jì)算分析所采用的計(jì)算假定[1]選取Link1單元用于有限元分析。用戶在完成設(shè)計(jì)參數(shù)的輸入后,程序可根據(jù)屋架結(jié)構(gòu)的幾何信息和拓?fù)潢P(guān)系輸出相應(yīng)的APDL命令流文件,并以后臺調(diào)用ANSYS的方式對屋架結(jié)構(gòu)內(nèi)力的有限元計(jì)算分析。
b.桿件的設(shè)計(jì)與校核。桿件設(shè)計(jì):在程序中定義角鋼類CAngleSteel來管理各類角鋼的幾何信息,用戶在載入桿件數(shù)據(jù)后對桿件截面進(jìn)行選擇。
桿件校核:通過傳遞程序中設(shè)計(jì)數(shù)據(jù),采用I/O流讀取ANSYS輸出的計(jì)算結(jié)果,并以列表控件中報(bào)表的形式實(shí)現(xiàn)對桿件的校核功能,并在完成校核后可根據(jù)用戶需要自動輸出桿件的選型報(bào)告。
c.節(jié)點(diǎn)的設(shè)計(jì)與校核。用戶通過編輯框輸入各個(gè)構(gòu)件的尺寸參數(shù),并為各構(gòu)件添加詳圖圖例,以方便用戶輸入各尺寸設(shè)計(jì)參數(shù)。在確定完節(jié)點(diǎn)板的設(shè)計(jì)參數(shù)輸入后,在校核界面中完成對相應(yīng)節(jié)點(diǎn)構(gòu)件的校核工作。
3)三維建模模塊。
在CSRoofView類中將桿件和節(jié)點(diǎn)相應(yīng)的繪制代碼封裝在DrawJG( ),DrawZZJD( )和DrawPJJD( )等繪制函數(shù)中,并在RenderSence( )函數(shù)中采用矩陣堆棧的技術(shù),根據(jù)桿件和節(jié)點(diǎn)的坐標(biāo)、幾何拓?fù)潢P(guān)系和節(jié)點(diǎn)處的構(gòu)造線性實(shí)現(xiàn)角鋼和節(jié)點(diǎn)等三維模型繪制和整體模型的組裝。
2.1 VC6.0與ANSYS的接口技術(shù)[4]
系統(tǒng)通過VC++對APDL和ANSYS的批處理功能對軟件進(jìn)行后臺封裝,應(yīng)用Win32 API函數(shù)CreateProcess( )函數(shù)來為ANSYS創(chuàng)建一個(gè)新的進(jìn)程,并對注冊表進(jìn)行編程來實(shí)現(xiàn)程序自動修改ANSYS的文件路徑及文件名。最終實(shí)現(xiàn)以后臺調(diào)用ANSYS的方式對屋架結(jié)構(gòu)內(nèi)力的有限元計(jì)算分析,并以*.txt的文件格式輸出計(jì)算結(jié)果。
2.2 三維建模技術(shù)
三維建模技術(shù)是實(shí)現(xiàn)三維可視化設(shè)計(jì)的一個(gè)重要基礎(chǔ),系統(tǒng)通過MFC的窗口平臺實(shí)現(xiàn)OpenGL三維模型的構(gòu)建和顯示。
模型構(gòu)建[5,6]如下:
桿件模型:程序根據(jù)規(guī)范《熱軋型鋼》[7]所規(guī)定的角鋼截面形式編寫桿件模型的繪制函數(shù)。對角鋼肢端弧面和內(nèi)弧面采用三階Bézier曲面進(jìn)行模擬,采用GL_QUAD(四邊形)和GL_POLYGON(多邊形)圖元繪制其他各面。最后,選用OpenGL中的渲染技術(shù)對模型渲染以提高真實(shí)感。完成渲染的雙角鋼桿件模型如圖2所示。
節(jié)點(diǎn)模型:在DrawZZJD( )和DrawPJJD( )等函數(shù)中完成節(jié)點(diǎn)模型的繪制工作,節(jié)點(diǎn)中各構(gòu)件的繪制同樣通過采用上述幾種基本圖元完成。用戶在節(jié)點(diǎn)設(shè)計(jì)界面中輸入相應(yīng)的參數(shù),程序根據(jù)各構(gòu)件幾何和位置參數(shù)對完成節(jié)點(diǎn)模型的繪制。
整體模型的組裝:結(jié)構(gòu)整體模型的建立采用了OpenGL中矩陣堆棧的技術(shù),通過分別繪制各桿件和節(jié)點(diǎn)的模型最終以層次建模的方式實(shí)現(xiàn)。程序讀取結(jié)構(gòu)各節(jié)點(diǎn)和桿件的幾何信息和拓?fù)潢P(guān)系,再結(jié)合節(jié)點(diǎn)處相應(yīng)的構(gòu)造信息分別以每個(gè)節(jié)點(diǎn)為基礎(chǔ)建立其節(jié)點(diǎn)模型和相應(yīng)的桿件模型,如圖3所示為支座處節(jié)點(diǎn)整體模型的組裝。
3.1 基本設(shè)計(jì)資料
某單層單跨工業(yè)廠房,跨長L=24,總長60 m。冬季計(jì)算溫度高于-20 ℃。廠房中沒有設(shè)置吊車,且不需地震設(shè)防。屋面材料包括1.5 m×6 m的預(yù)應(yīng)力混凝土大型屋面板,10 cm厚泡沫混凝土保溫層和卷材屋面。雪荷載0.40 kN/m2,屋面積灰荷載0.75 kN/m2。屋架鉸支于鋼筋混凝土柱上,柱截面400 mm×400 mm,混凝土等級C20。鋼材選用Q235-B。采用E43型焊條,手工焊接。
由于采用大型屋面板作為屋面材料,故選用無檁體系平坡梯形屋架形式。屋面坡度i=1/10。屋面計(jì)算跨度L0=L-300=
23 700 mm。端部高度H0=1 990 mm,中部高度H=3 190 mm。屋架幾何尺寸如圖4所示。
3.2 設(shè)計(jì)與實(shí)現(xiàn)
首先,根據(jù)本文1.2中所敘述的步驟對屋架進(jìn)行結(jié)構(gòu)選型、荷載和材料參數(shù)輸入、內(nèi)力計(jì)算、桿件和節(jié)點(diǎn)設(shè)計(jì)及校核,最終完成的屋架整體模型如圖5所示。
本文基于MFC應(yīng)用程序框架,采用開放式三維圖形標(biāo)準(zhǔn),依據(jù)國家相關(guān)技術(shù)規(guī)范,研究基于OpenGL圖形技術(shù)的梯形鋼屋架三維可視化輔助設(shè)計(jì)系統(tǒng),建立了以對話框的形式輸入屋架設(shè)計(jì)參數(shù)、桿件和節(jié)點(diǎn)的設(shè)計(jì)及校核。應(yīng)用了Visual C++與有限元軟件ANSYS的接口,實(shí)現(xiàn)了對ANSYS的后臺調(diào)用,并提取計(jì)算結(jié)果作為桿件構(gòu)件和節(jié)點(diǎn)設(shè)計(jì)依據(jù),設(shè)計(jì)和實(shí)現(xiàn)了鋼屋架桿件和節(jié)點(diǎn)的三維模型構(gòu)建。系統(tǒng)的可視化結(jié)果具有三維真實(shí)感,而且系統(tǒng)具有操作簡便的特點(diǎn)。整個(gè)鋼屋架的計(jì)算機(jī)輔助設(shè)計(jì)過程,可以為設(shè)計(jì)者提供可視化成果,為鋼屋架的設(shè)計(jì)提供一種新方法,對設(shè)計(jì)方案優(yōu)選具有一定的參考價(jià)值。
[1] 牟在根.簡明鋼結(jié)構(gòu)設(shè)計(jì)與計(jì)算[M].北京:人民交通出版社,2005.
[2] GB 50009—2012,建筑結(jié)構(gòu)荷載規(guī)范[S].
[3] GB 50017—2003,鋼結(jié)構(gòu)設(shè)計(jì)規(guī)范[S].
[4] 吳曉涵.面向?qū)ο蠼Y(jié)構(gòu)分析程序設(shè)計(jì)[M].北京:科學(xué)出版社,2002.
[5] 和克智.OpenGL編程技術(shù)詳解[M].北京:化學(xué)工業(yè)出版社,2010.
[6] Dave Shreiner,Mason Woo,Jackie Neider,et al. OpenGL編程指南[M].徐 波,譯.第6版.北京:機(jī)械工業(yè)出版社,2008.
[7] GB/T 706—2008,熱軋型鋼[S].
[8] 劉聲揚(yáng).鋼結(jié)構(gòu)原理與設(shè)計(jì)[M].武漢:武漢理工大學(xué)出版社,2005.
Research on computer aided design system of trapezoid steel roof truss
Long Tian Wang Ziru*
(FacultyofInfrastructureEngineering,DalianUniversityofTechnology,Dalian116024,China)
This paper researched the computer visualization aided design problems of trapezoid steel roof truss, according to the design specification, based on OpenGL 3D graphics library and ANSYS interface programming technology, using the oriented object software design technology realized the 3D visualization aided design system of trapezoid steel roof truss, through the examples made good effect.
steel truss, OpenGL, visualization, ANSYS
1009-6825(2015)16-0257-02
2015-03-25
龍 天(1989- ),男,在讀碩士
王子茹(1955- ),女,博士,博士生導(dǎo)師,教授
TP319
A