馬 超,顧嵋杰,王波雷,閆 飛
(中國電建集團西北勘測設(shè)計研究院有限公司,西安 710065)
AutoCAD Civil 3D軟件是一款面向土木工程設(shè)計與文檔編制的建筑信息模型(BIM)解決方案[1]。它為基礎(chǔ)設(shè)施行業(yè)的各類技術(shù)人員提供了強大的設(shè)計、分析以及文檔編輯功能[2]。隨著軟件功能的不斷豐富,Civil 3D在水利工程中的應(yīng)用也逐漸普及。在水庫工程方面[3-4],水位與庫容關(guān)系曲線是重要的設(shè)計內(nèi)容,關(guān)系到壩體、泄水、導(dǎo)流建筑物的合理布置。傳統(tǒng)的斷面法[5]、等高線體積法[6]等計算過程相對繁瑣,曲面計算效率低。在GIS軟件平臺上構(gòu)建三角網(wǎng)(TIN)模型,可利用其統(tǒng)計分析和二次開發(fā)功能進行庫容計算[7]。
現(xiàn)有基于Civil 3D數(shù)據(jù)實現(xiàn)庫容曲線的方法[8-9]需要建立基準曲面(地形曲面),對照曲面(假定水位面)。這種方法雖然在一定程度提高了工作效率,但在1個AutoCAD Civil 3D文件中需要創(chuàng)建多個地形曲面,容易造成軟件運行速度降低,這種現(xiàn)象在大面積水庫工程[10-11],或者在高壩水庫工程中更為突出。本文利用AutoCAD Civil 3D軟件曲面特性,創(chuàng)建曲面分層體積數(shù)據(jù),導(dǎo)出到excel使用Excel Vba編程[12]對數(shù)據(jù)進行修正,在利用Execl成圖功能創(chuàng)建庫容曲線,本文采用二次插值公式,實現(xiàn)不同水位與庫容插值,方便設(shè)計人員查找特征水位、特征庫容,為水利工程設(shè)計效率提升提供支撐。
首先,利用AutoCAD Civil 3D軟件的曲面功能,創(chuàng)建水土交界面,即庫容底曲面。對于攔河水庫:創(chuàng)建地形曲面和大壩迎水面,將2個曲面進行粘貼融合,裁剪多余曲面,形成下凹式的庫容底曲面;對于平原水庫:創(chuàng)建圍壩迎水面和庫底平面,將2個曲面進行粘貼融合形成下凹式的庫容底曲面。
其次,利用AutoCAD Civil 3D軟件,曲面特性中高程分析功能獲得分層體積表格,軟件生成的區(qū)間體積(范圍內(nèi)體積)為上下分層平面之間的庫容底曲面與下層平面的積分(下文成填方體積),見圖1中陰影填充區(qū)域,而庫容為上下分層平面之間的庫容底曲面與上層平面的積分(下文成挖方體積),需要進行挖填方轉(zhuǎn)換。挖填方轉(zhuǎn)換計算原理如下:
圖1 曲面分析體積示意圖
(1)
KN2=(S1+S1′+S2+S2′)×ΔH1-V2-V2′
(2)
KN3=(S1+S1′+S2+S2′+S3+S3′)
×ΔH1-V3-V3′
(3)
KN3=(S1+S1′+S2+S2′+S3+S3′+…+Sn+Sn′)
×ΔH1-Vn-Vn′
(4)
(5)
式中:KN為總庫容(總挖方體積),萬m3;KNi為曲面內(nèi)第i分層線至第i-1分層線之間的庫容,萬m3;KN1…KNn為從低到高曲面內(nèi)各分層線之間的庫容,萬m3;V1…Vn為從低到高各曲面至分層線左側(cè)的填方體積,萬m3;V1′…Vn′為從低到高各曲面至分層線右側(cè)的填方體積,萬m3;S1…Sn為從低到高各分層線之間的左側(cè)曲面在水平面投影距離,m;S1′…Sn′為從低到高各分層線之間的右側(cè)曲面在水平面投影距離,m;H1…Hn為從低到高各分層線之間的高差,m。
根據(jù)上述計算原理,在設(shè)計工作中,設(shè)計人員一般在Excel表格中手動編輯公式,但是分層較少時影響計算精度,分層多時工作量依然繁重。本文根據(jù)挖填方轉(zhuǎn)計算原理,利用Excel自帶的VBA程序編程實現(xiàn)。具體為,數(shù)據(jù)導(dǎo)入,轉(zhuǎn)換挖填方(修正體積),根據(jù)修正數(shù)據(jù)創(chuàng)建庫容曲線。Excel VBA程序?qū)崿F(xiàn)庫容曲線流程見圖2。
圖2 Excel VBA程序?qū)崿F(xiàn)庫容曲線流程圖
在方案期間,設(shè)計人員需要反復(fù)通過庫容曲線確定特征水位,為了簡便計算采用線性插值,存在一定誤差。為此,本程序增加插值模塊,根據(jù)水庫工程經(jīng)驗,在水位加高時,一般水面也在加寬??梢?,水庫的庫容與高程近似成二次函數(shù)關(guān)系。因此,采用二次插值[13-14]相對符合實際情況。
二次插值函數(shù):
y=ax2+bx+c
(6)
式中:y、x分別為二次函數(shù)的因變量、自變量;a、b、c分別為二次函數(shù)的參數(shù)。
根據(jù)相鄰3個點確定,a、b、c參數(shù):
(7)
式中:y1、y2、y3分別為庫容曲線中相鄰三個離散點的庫容,萬m3;x1、x2、x3分別為庫容曲線中相鄰三個離散點的水位,m。
求解方程組可得:
(8)
水位與庫容插值流程流程見圖3。
圖3 水位與庫容插值流程圖
新疆某平原水庫5 500萬m3,其正常蓄水位受到水庫選址,水庫占地面積的影響。在方案比選時,需要反復(fù)確定正常蓄水位,傳統(tǒng)方法計算正常蓄水位需花費大量的時間。本文采用Excel VBA程序,取得良好效果,具體步驟如下:
(1) 創(chuàng)建庫容底曲面。
創(chuàng)建圍壩迎水面和庫底曲面,將2個曲面進行粘貼融合形成下凹式的庫容底曲面。在對象查看中庫容底曲面見圖4。
圖4 庫容底曲面圖
(2) 創(chuàng)建分層體積表
利用AutoCAD Civil 3D軟件,曲面特性→分析→高程分析→在表格樣式增加“曲面范圍體積”→選擇范圍數(shù)(默認單位為m)→填基準高程(默認曲面最底點取整)→點擊運行分析按鈕→點擊確定→選擇曲面點擊左上角添加圖例→將分層體積表放到CAD模型中,利用Civil Table Export To CSV按鈕導(dǎo)出為“Civil曲高程數(shù)據(jù)面.csv”文件(曲面特性分析窗口見圖5、高程表1)。
(3) 啟動程序計算
圖5 曲面特性分析窗口圖
表1 高程表
圖6 生成庫容曲線程序面板圖
運行包含Excel VBA計算程序的Excel文件,生成庫容曲線程序面板見圖6。選擇上文導(dǎo)出的“Civil曲高程數(shù)據(jù)面.csv”文件,點擊修正體積,得到累計庫容表。根據(jù)累計庫容與水位繪制水位與庫容關(guān)系曲線,見圖7。同時選擇“庫容”→“水位”輸入庫容5 500萬m3,點擊插值計算,求得正常蓄水位為1 527.11 m。
圖7 水位與庫容關(guān)系曲線圖
(4) 二次差值的適宜性
本文選取4處水位段:1 504.00~1 506.00 m、1 510.00~1 512.00 m、1 516.00~1 518.00 m、1 522.00~1 524 .00 m,分別進行插值求解對應(yīng)庫容,為計算簡便,選取中點插值。二次差值的適宜性分析見表2。
表2 二次差值的適宜性分析表
由表2可知,與線性插值相比,二次插值具在各個插值段均有較高的精度,尤其在低水位下,準確度遠遠高于線性插值。
(1) 傳統(tǒng)的斷面法、等高線體積法等計算過程相對繁瑣,曲面計算效率低。利用Civil 3D創(chuàng)建水位曲面和庫底地形曲面進行庫容計算,效率雖然有一定的提高,但在高壩設(shè)計方案比選時,工作量較大。
(2) 本文利用Civil 3D曲面高程分析的功能,獲得曲面分層填方表,再通過自編的Excel VBA程序?qū)?shù)據(jù)轉(zhuǎn)化為分層挖方表,隨后求得到累計庫容,利用Excel圖功能,得到水位與庫容關(guān)系曲線。
(3) 為了滿足設(shè)計人員方便獲得特征水位、特征庫容數(shù)據(jù),增加二次插值模塊,快速確定特定庫容的特征水位、特征庫容,可為后續(xù)工作提供依據(jù)。
(4) 本程序成功應(yīng)用于新疆某平原水庫設(shè)計方案階段,快速確定總庫容對應(yīng)的水位,可為確定壩高及計算工程量節(jié)約大量時間。