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