[推荐]使用AutoCAD VBA进行水库调洪计算
yeguiren
yeguiren Lv.11
2003年10月25日 11:33:53
只看楼主

使用AutoCAD VBA进行水库调洪计算使用AutoCAD VBA进行水库调洪计算衣秀勇(天津勘测设计研究院,天津300222)关键词:AutoCAD VBA;水库;调洪计算摘 要:AutoCAD VBA是集成在AutoCAD中的二次开发工具,是Microsoft Visual Basic的一个子集,而VB又是从Basic升级而来的,因此使用者不需花太多的精力去另外学习一门编程语言,利用该工具可轻松使用图解法进行工程计算。在AutoCAD中进行调洪计算时,首先创建一个AutoCAD VBA工程;然后在VBA中编写调洪程序;在此基础上可以添加或修改一些功能。

使用AutoCAD VBA进行水库调洪计算
使用AutoCAD VBA进行水库调洪计算
衣秀勇
(天津勘测设计研究院,天津300222)
关键词:AutoCAD VBA;水库;调洪计算
摘 要:AutoCAD VBA是集成在AutoCAD中的二次开发工具,是Microsoft Visual Basic的一个子集,而VB又是从Basic升级而来的,因此使用者不需花太多的精力去另外学习一门编程语言,利用该工具可轻松使用图解法进行工程计算。在AutoCAD中进行调洪计算时,首先创建一个AutoCAD VBA工程;然后在VBA中编写调洪程序;在此基础上可以添加或修改一些功能。
1使用AutoCAD VBA进行水库调洪计算
VBA(Visual Basic for Application)是Microsoft公司集成在Microsoft office系列软件中的超级开发工具,AutoCAD在R14及以上版本中也集成了VBA作为自己的一个二次开发工具。AutoCAD VBA与Office VBA是同一工具同一环境,不同的是AutoCAD VBA集成于AutoCAD中。
在手工进行水库调洪计算的时代,人们使用试算法和图解法进行计算,其中图解法因其比较直观精确而且不需多次试算而受到青睐。后来在PC-1500机、微机和Basic语言普及的时代,因试算法较适合编程进行迭代计算,试算法又得到了广泛使用。
现在随AutoCAD的逐渐普及和AutoCAD二次开发工具的日益丰富,尤其是从R14开始增加的VBA开发工具为图解法的发展应用提供了可能。
使用AutoCAD VBA进行水库调洪计算有以下优点:
(1)AutoCAD是专业的工程绘图软件,因此用它绘制图解法的图形就十分简单方便,使得计算具有了图解法精确的优点。
(2)VBA是Microsoft Visual Basic的一个子集,而VB又是从Basic升级而来的,因此不需要花太多的精力去另外学习一门编程语言。
(3)AutoCAD VBA与Office VBA是同一环境,这又方便了AutoCAD与Office的通讯,例如程序的输入和输出文件都可以是Excel文件。
(4)AutoCAD 与VBA结合使用,可以轻松输出精确的图形结果,例如调洪计算可以输出实际入库和泄流过程线。
本文将具体介绍使用AutoCAD VBA进行水库调洪计算的方法。
2水库调洪计算图解法的原理[1]
2.1水库调洪计算的实用公式
水库调洪计算的实用公式如下:
2.2水库调洪计算图解法的原理
式(1)比较适合使用试算法进行水库的调洪计算,要使用图解法进行水库调洪计算需要将式(1)改写为以下形式:
式中,V、q、V/Δt-q/2和V/Δt+q/2均可与水库水位Z建立函数关系。因此,可根据选定的计算时段Δt、已知的水库水位容积关系曲线以及根据水力学公式算出的水位下泄流量关系曲线,事先计算并绘制以下4条曲线:

其中,C是水位下泄流量关系曲线,D是水库水位~容积关系曲线,A、B是图解法中的两根辅助曲线。绘制示例图形如图1所示。
参照图1,调洪计算的步骤是:
(1)根据已知的入库洪水流量过程线及选定的计算时段Δt算出各时段的平均入库流量并定出初始的Z1、q1、V1值。
(2)在图1的水位坐标轴上量取第一时段的Z1得a点,从a点做水平线ab交曲线A于b点,从b点延长ab至c点并使bc=因曲线A是(V/Δt-q/2)=f1(Z),a点代表Z1,因此ac就应等于+(V1/Δt-q1/2),按图解法的公式ac也等于(V2/Δt+q2/2)。
(3)从C点做垂线交曲线B于d点,过d点做水平线de交水位坐标轴于e点,显然de=ac=(V2/Δt+q2/2)。因曲线B是(V/Δt+q/2)=f2(Z),d点在曲线B上,e点就应代表Z2。
(4)de交曲线C于f点,过f点做垂线交q坐标轴于g点。因曲线C是q=f3(Z),e点代表Z2,于是ef应是q2,即从g点可以读出q2的值。
(5)过d点做de的延长线dh交曲线D于h点,过h点做垂线交V坐标轴于i点。因曲线D是V= f4(Z),e点代表Z2,于是eh应是V2,即从i点可以读出V2的值。
(6)将e点代表的Z2值、g点代表的q2值和i点代表的V2值分别作为第二时段Z1、q1、V1,按上述同样方法进行图解计算,又可求出第二时段的Z2、q2、V2等值,依次循环就可完成全部计算。
3在AutoCAD中调洪计算的方法和步骤
在AutoCAD中进行调洪计算遵循上述图解法的原理,其具体的实现方法如下(见图2):
3.1创建一个AutoCAD VBA工程
进入AutoCAD2000,在“工具”菜单的“宏”子菜单中单击“Visual Basic编辑器”进入VBA的编程环境。在“Visual Basic编辑器”中单击“插入”菜单中的“添加模块”菜单项,VBA将为您添加一个新的模块,接着您要为模块添加一个过程,如:
3.2 在VBA中编写调洪程序
在过程的Sub和End Sub之间编写调洪程序。
3.2.1定义程序中使用的主要变量
(1)定义库容曲线和水位泄流曲线的点数以及入库洪水过程的点数。入库洪水过程线各点之间要保证时间间隔相同。在使用该程序时,首先都要根据实际情况对这两个变量进行赋值。程序如下:
(2)将如图1中的四条曲线即水位库容、水位泄流、双辅助线分别定义为AutoCAD中的多段线,同时定义4条曲线的顶点坐标数组,这些坐标数组所含数值将作为在AutoCAD中画4条曲
免费打赏
zhougang-0599
2007年03月22日 16:30:27
44楼
你们的软件太好了,欢迎你们把你们的新作品发送过来大家一起分享
回复
tljgb
2007年04月04日 16:56:59
45楼
没试过,不过我觉得按书上讲的图解法也很快啊。
哪有这么复杂啊
回复
wolflj
2007年04月12日 23:07:01
46楼
12楼的,给我发过来撒:WOLFLJ@HOTMAIL.COM
回复
lanyu0330
2007年05月26日 14:49:47
47楼
楼主把做的程序也给我发一个,有做的都可以发啊,谢谢!
lanyu0330@163.com
回复
zzx-tecy
2007年06月09日 10:16:19
48楼
好,一个新思路。
回复
sharpair
2007年07月31日 10:09:18
49楼
不错,顶起来先!
回复
lcbwyy
2007年08月02日 11:38:25
50楼

就是呀,共享一个大家都研究研究嘛。谁有上传一个呗。
回复
chensicai1996
2008年03月25日 10:00:37
51楼
hao hao
回复
yutian043
2008年09月27日 19:56:43
52楼
要学的东西很多啊:handshake
回复
yaoxuhui1210
2009年07月22日 10:35:07
53楼
哪里有这个软件,可以学习下啊?
回复

相关推荐

APP内打开