电脑桌面
添加文秘网到电脑桌面
安装后可以在桌面快捷访问

基于SQL、VB、AutoCAD VBA的水库库容计算(陈亮 史长莹 杨浩)

栏目:农林鱼水论文发布:2010-03-12浏览:2168下载211次收藏
 



摘要:水库库容计算是水库运行管理的核心工作之一。运用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的水库库容计算(陈亮 史长莹 杨浩)

点击下载
分享:
热门文章
    热门标签
    确认删除?
    QQ
    • QQ点击这里给我发消息
    回到顶部