Word VBA编制矩形溢洪道水力计算程序第一稿(2)

2019-04-22 10:23

i4 = t16 / s4

E4 = z4 / 1000 + a * v4 ^ 2 / 2 / g j4 = v4 ^ 2 / c4 ^ 2 / r4

If Int((E3 + i4 * s4) * 10 + 5) / 10 = Int((E4 + (j3 + j4) / 2 * s4) * 10 + 5) / 10 Then Exit For Next z4

h4 = z4 / 1000

If h4 >= 30 Then MsgBox \计算数据溢出错误!\警告\ TextBox28.Text = Str(h4)

'计算5-5断面水力参数 Dim z5 As Single For z5 = 1 To 30000

If t23 <= 0 Then MsgBox \请正确输入陡坡5底宽!\警告\ w5 = t23 * z5 / 1000 v5 = t4 / w5

x5 = t23 + 2 * z5 / 1000 r5 = w5 / x5

c5 = 1 / t5 * r5 ^ (1 / 6) s5 = (t11 ^ 2 + t17 ^ 2) ^ 0.5

If s5 <= 0 Then MsgBox \请正确输入陡坡5水平段长!\警告\Sub

i5 = t17 / s5

E5 = z5 / 1000 + a * v5 ^ 2 / 2 / g j5 = v5 ^ 2 / c5 ^ 2 / r5

If Int((E4 + i5 * s5) * 10 + 5) / 10 = Int((E5 + (j4 + j5) / 2 * s5) * 10 + 5) / 10 Then Exit For Next z5

h5 = z5 / 1000

If h5 >= 30 Then MsgBox \计算数据溢出错误!\警告\ TextBox29.Text = Str(h5) TextBox30.Text = Str(Ek) TextBox31.Text = Str(E1) TextBox32.Text = Str(E2) TextBox33.Text = Str(E3) TextBox34.Text = Str(E4) TextBox35.Text = Str(E5)

TextBox36.Text = Str(Int(vk * 1000) / 1000) TextBox37.Text = Str(Int(v1 * 1000) / 1000) TextBox38.Text = Str(Int(v2 * 1000) / 1000) TextBox39.Text = Str(Int(v3 * 1000) / 1000) TextBox40.Text = Str(Int(v4 * 1000) / 1000) TextBox41.Text = Str(Int(v5 * 1000) / 1000) ξ = 1.4

6

TextBox42.Text = Str(1#) TextBox43.Text = Str(ξ) TextBox44.Text = Str(ξ) TextBox45.Text = Str(ξ) TextBox46.Text = Str(ξ) TextBox47.Text = Str(ξ)

h1s = (1 + ξ * v1 / 100) * h1 h2s = (1 + ξ * v2 / 100) * h2 h3s = (1 + ξ * v3 / 100) * h3 h4s = (1 + ξ * v4 / 100) * h4 h5s = (1 + ξ * v5 / 100) * h5 TextBox48.Text = Str(hk) TextBox49.Text = Str(h1s) TextBox50.Text = Str(h2s) TextBox51.Text = Str(h3s) TextBox52.Text = Str(h4s) TextBox53.Text = Str(h5s) cmdexp.Enabled = True End Sub

③双击命令按钮“文本输出”控件,编写Click事件代码如下:

Private Sub cmdexp_Click()

If t4 <= 0 Then MsgBox \计算数据必须输入后再点击计算按钮!\警告\

If t5 <= 0 Then MsgBox \计算数据必须输入后再点击计算按钮!\警告\ '计算文本输出

ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(4) + \溢洪道水力计算\ ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(4) + \一、基本资料\ ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(4) + \设计工况下(\+ Format(t1) + \年一遇洪水标准)水位:H=\,泄洪流量\\。\

ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(4) + \溢洪道底高程\Format(t3) + \,底宽\,为砼结构,糙率取n=0\。\

ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(4) + \二、水力计算\ ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(4) + \溢洪道进口\+ Format(t6) + \为明渠段,比降为\,底宽b=\+ Format(t18) + \,此段按明渠均匀流计算,得正常水深h0=\+ Format(Int(h0 * 1000) / 1000) + \,向下为陡坡段,底宽由\变为\。\ ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(4) + \、计算临界水深hk\ ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(12) + \α*q^2/g)^(1/3)\

7

ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(6) + \式中:q=\+ Format(t4) + \

ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(12) + \ ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(12) + \α=1.05\

ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(8) + \则 hk=(α*q^2/g)^(1/3)=\

ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(4) + \、推求水面线\ ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(4) + \取临界水深处为0—0断面,向下依次为1—1断面、2—2断面等,计算1—1断面处水深h1\

ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(4) + \第一陡坡长度计算:水平段长\,高差为\,斜坡长为L1=(\+ \,该段比降i=\+ Format(t13) + \+ Format(Int(s1 * 1000) / 1000) + \+ Format(Int(i1 * 10000) / 10000) + \。\

ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(4) + \按式:E0+i1*ΔS=E1+j*ΔS进行试算\

ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(4) + \式中:E0+i1*ΔS=\+ Format(Int(Ek * 1000) / 1000) + \Format(Int(s1 * 1000) / 1000) + \ ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(4) + \设 h1=\+ Format(Int(h1 * 1000) / 1000) + \时,则\

ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(4) + \ΔS=\+ Format(Int(E1 * 1000) / 1000) + \\1000) / 1000) + \

If h1 < 1 Then ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(4) + \故h1=0\即为所求的1—1断面处水深h1。\

If h1 >= 1 Then ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(4) + \故h1=\即为所求的1—1断面处水深h1。\(此段程序代码略) '水面线计算表输出

ActiveDocument.Content.InsertAfter Text:=Chr(10) + Space(35) + \水面线计算表\ 插入表格

cmdexp.Enabled = False End Sub

④双击命令按钮“取消”控件,编写Click事件代码如下: Private Sub cmdcnl_Click() Unload frmyhd End Sub

⑤“插入表格”子程序代码编写如下: Private Sub 插入表格()

8

(此段程序代码略) End Sub

2.3 程序运行结果

程序运行后,先输入设计数据及溢洪道几何尺寸数据,分为明渠段及5个陡坡段的水平段长、底高差、底宽,然后点击“水力计算”命令按钮,即可得计算结果的水深、流速、掺气水深等相关数据,点击“文本输出”按钮,可输出Word计算文本及水面线计算表格,点击“取消”命令按钮,则取消程序计算。

3 结束语

中小型水库除险加固工程中,溢洪道方案设计的水力计算如采用手工计算,每条溢洪道需2天计算时间。若使用本矩形溢洪道水力计算程序计算需时5分钟,且保证了计算的准确性,并可反复改变各段段长、高差、底宽,最后可输出计算文本与表格,大大减少计算时间与劳动强度,显著提高了工作效率。

9


Word VBA编制矩形溢洪道水力计算程序第一稿(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:GPS网复测成果书(最终版) - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: