[推荐]使用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条曲
免费打赏
jiapengsheng
2006年08月27日 09:19:03
34楼
20楼兄弟,能不能否将你的excel共享一下?
回复
zdh.cn@co163
2006年08月29日 19:58:46
35楼
楼主说的我比较赞成,但有一个问题,为什么楼主不能作一个程序,就不用我们每一个人都来编了,因为不是每一个人都有这个能力!!!
回复
jts3
2006年09月09日 18:31:07
36楼
我也是用excel做的 呵呵 简单方便 通俗易懂
回复
liuwei123
2006年09月10日 19:53:38
37楼
能否将你的excel共享一下?lw-lq123@163.com
回复
lee.tang
2006年09月22日 14:47:16
38楼
此贴精神不错,但是没有附图看不懂具体的方法!不应奖励(哈哈,看你花了我半天时间,很生气,还没有看到具体的操作方法)!
回复
hzsw
2006年09月27日 09:38:44
39楼
excls可以给发一份吗
wangjieyin1@163.com
回复
muzi9102
2006年11月24日 16:42:53
40楼
挺好的 
回复
ppaaaaaa
2006年12月02日 04:17:06
41楼
没必要吧
数值解法都出来了
还有这个干嘛啊
AUTOCAD和EXCEL怎样才能联系起来呢??
回复
liyg1210
2007年01月12日 09:50:16
42楼
可否共享你的资料?
回复
kyb123
2007年01月14日 10:04:30
43楼
使用AutoCAD VBA进行水库调洪计算,看介绍的确不错,你的附件资料呢?
能共享吗?!
回复

相关推荐

APP内打开