基于SQL、VB、AutoCAD VBA的水库库容计算(陈亮 史长莹 杨浩)
摘要:水库库容计算是水库运行管理的核心工作之一。运用sql、vb、autocad vba工具开发出一套用于水库库容计算的程序,其中sql用来保存管理数据,vb用来计算库容,autocad vba用来校对数据及绘图。实践证明,此方法科学、高效。应加以推广。
关键词:库容计算;autocad vba;sql;visual basic6.0
中图分类号:tv697.29 文献标识码:c 文章编号:1004-7328(2007)04-0049-04
闹德海水库是一座防洪、灌溉、城市供水综合利用的大Ⅱ型水库,是柳河干流上唯一的大型控制工程。水库控制流域面积为4 051 km2,占柳河总流域面积的59%。柳河是辽河的支流,是典型的多泥沙河流。出库水文站闹德海水文站多年(1961-1995)平均输沙量1 504万t,多年平均径流量2.626亿m3,多年平均含沙量57 kg/m3。为了保证水库安全稳定的运行,闹德海水库每年都进行一次库容测量。
在水库运行管理中,对水库库容的测量是十分重要的工作,尤其是多泥沙河流上的水库。传统的计算方法是把测量数据用人工计算或用计算机进行简单的辅助运算。随着计算机应用的普及、自动化办公水平的提高,传统的计算方法已逐渐不能满足工程人员的要求,暴露出数据不方便保存查询、数据录入工作量大、校对困难、不能图形化显示等诸多缺点。笔者将基于sql数据库、vb6.0、autocad vba3个平台开发出一套水库库容计算程序。它用sql数据库存储数据、用vb6.0开发的程序计算水库库容、用autocad vba绘制各个测量断面图形。集成了3个工具的优点,将极大地提高效率、减轻工作量。
1 系统构成
1.1 简介
microsoft sql和microsoft visual basic 6.0早被工程人员熟知,microsoft vba是autocad的一个二次开发工具,能够高效率地对autocad进行编程控制。
1.2 autocad vba绘图及校对数据
本程序把测量成果的excel数据文件读入autocad,自动绘制所有断面图形及测量点的坐标,目的是以图形的方式显示各个断面的情况及数据点的情况,方便工作人员校对数据,以及打印各断面测量成果。
1.2.1 实现步骤
(1)进入autocad14及以上版本并进入autocad vba的编程环境。
(2)在“visual basic编辑器”中添加一个新工程。
(3)在此工程中添加一个窗体,窗体中有:输入数据文件所在路径控件、输入起始断面文件名控件、输入结束断面文件名控件、绘图控件。
(4)定义所使用的主要变量。
(5)建立autocad与excel之间的通信。读取原始数据并赋值给相应变量。
(6)编写绘制图形的程序段。
(7)在cad中自定义名为“闹德海水库”的下拉菜单,以方便工作人员调用程序。
1.2.2 代码
public sub excelcad()
on error resume next
dim excel as exce1.application 建立excel通信
dim excelworkbook as ,excelsheet as
dim filepath2 as string,filename as string 文件路径
dim xxxx as single,tempx 1 as single,tempx2 as single,
addy as single,i as single,ii as single 循环变量
dim line as acadline,text as acadtext 画线
dim startp(0 to 2)as double,endp(0 to 2)as double 点坐标
dim b as single,coordinate as string 坐标
dim pnumber as single,ranknumber as single 数据点的个数
dim as string 标题
set excel=get (,”exce1.application”)
if err 0 then
set excel=create (”exce1.application”)
end if
tempx1=rights(textbox2.value,1)
tempx2=right$(textbox3.value,1)
xxxx=tempx 1
addy=0
for ii=tempx 1 to tempx2
filename=left$(textbox2.value,1 xxxx''读取数据
filepath2=textbox1.text+filename+”.xls”
set excelworkbook=exce1.workbooks.open(file path2)
excelsheet=excel_activesheet
b=3
startp(0)=worksheets(”sheetl”).ceus(2,4).value
startp(1)=worksheets(”sheetl”).cells(2,5).value
startp(2)=0
startp(1)=startp(1)+addy
pnumbei=2
ranknumbei=2
while ranknumbero’计算点的个数pnumber
r anknumber =worksheets fttsheetl”).cells (pnumber;2).value
pnumbei=pnumber+l
w end
pnumber=pnumber一4
label 1.caption=pnumber
=worksheets(”sheetl”).cells(1,1).value 写标题
thisdrawing.addte
基于SQL、VB、AutoCAD VBA的水库库容计算(陈亮 史长莹 杨浩)
本文2010-03-12 15:12:58发表“农林鱼水论文”栏目。
本文链接:https://www.wenmi123.com/article/152212.html
- 2025 年《建设工程项目管理》模考卷一.pdf
- 座谈会发言:体系抓好思政课教育做好贯彻落实下篇文章(02-19).docx
- 组织部机关支部书记2024年度抓基层党建工作述职报告(02-19).docx
- 在县委理论中心组暨2024年度民主生活会学习研讨会上的发言(02-19).docx
- 在2025年市人代会分组讨论会上的发言(02-19).docx
- 医院党委选人用人工作自查报告(02-19).docx
- 宣传部2024年民主生活会个人对照检查发言(02-19).docx
- 行政服务中心民族团结进步创建工作经验材料(02-19).docx
- 校长在中学2025春季开学典礼上的讲话:撷一抹祈望春风掬一程锦绣花开(02-19).docx
- 乡镇领导班子2024年民主生活会对照检查发言材料(五个带头+典型案例)(02-19).docx