APP下载

用VB2008和Excel2007开发软弱下卧层强度验算程序

2014-03-26姜吉生陈玉平邓昌州王恩宝丁继双

吉林地质 2014年1期
关键词:卧层程序代码条形

姜吉生,陈玉平 ,邓昌州 ,王恩宝 ,丁继双

1. 黑龙江省904水文地质工程地质勘察院, 黑龙江 哈尔滨 150027; 2.内蒙古自治区煤田地质局117勘探队, 内蒙古 鄂尔多斯 017000;3.黑龙江省地质调查研究总院,黑龙江 哈尔滨 150036

在岩土工程勘察报告的编制过程中,当地基受力范围内存在软弱下卧层时,需要验算软弱下卧层强度。以往工作中手工计算费时费力且容易出现错误。使用程序进行验算不仅可以避免上述问题,计算结果的保存、查阅也十分容易。因此自动验算软弱下卧层强度必将成为一种主流趋势,也可以将工程技术人员从繁重的工作中解脱出来。微机和可视化编程语言的普及,使工程技术人员有机会、有能力成为程序的开发者。他们根据工作实际需要开发出适合本单位实际情况的计算软件。

Visual Studio Team System 2008是微软公司精心打造的企业级开发管理工具,目前还只是测试版。Visual Basic 2008是其中的一种语言,它是一种面向对象的可视化编程语言,其开发环境优越、使用方便、操作简单、功能强大。它通过ActiveX技术实现引用Excel2007,读取存放在Excel2007单元格中原始数据。本文将介绍如何利用这两种软件实现自动验算软弱下卧层。

1 计算程序设计实现

1.1 软件功能设计

本程序功能为自动完成软弱卧层强度验算,通过调用Excel2007并打开包含已知参数的Excel文档,获取进行计算的各类已知参数值。主要使用Visual Basic 2008中的if……then条件分支结构对基础类型、地层编号等参数进行判别,选择正确的计算公式得到验算所需未知参数。再根据验算公式进行验算。因此要明确进行软弱下卧层验算的步骤,确定程序的流程。

1.1.1 计算地基压力扩散角θ

因黑龙江省地方标准DB23/902-2005[1]地基压力扩散角表(表5.2.5)中给出上层土与软弱下卧土层的压缩模量比值(ES1/ES2)=1时扩散角度(仅供内插用),所以本文不考虑ES1/ES2<3时的如何计算扩散角。ES1/ES2≥3时,根据《地基基础设计规范》GB50007-2002[2]中地基压力扩散角表(表5.2.7)进行线性插值计算地基压力扩散角θ。可以计算扩散角作为一个公共模块供程序随时调用,这样不仅可以大幅减少编码长度、也便于程序调试。

1.1.2 计算基础宽度

分矩形基础和条形基础两种情况,基础宽度的计算如下:

对于矩形基础 A=bL (m2)

对于条形基础 A=b (长度方向取L=1m为计算单元),故条形基础最小宽度。

式中:

fa-基底处地基承载力设计值;

N—上部结构传来的轴向力设计值;

rm—基础及上覆土的加权平均重度kN/m3。

1.1.3 计算地基承载力设计值

式中:

faz-经深宽修正的地基承载力设计值;

fak—地基承载力特征值;

b、d—基础宽度和埋深;

r—基础底面处土的重度kN/m3;

rm—基础底面以上土的加权平均重度kN/m3;

ηb、ηd—基础宽度和埋深的地基承载力修正系数。

1.1.4 计算软弱下卧层顶面处的附加压力值PZ

分矩形基础和条形基础两种情况,判断基础类型后,分别计算出Pk和Pc,然后计算Pz值。

PZ按条形基础公式进行计算:

PZ按独立柱基础公式进行计算:

式中:

b-矩形基础或条形基础底边的宽度;

l-矩形基础底边的长度;

PC-基础底面处土的自重压力值;

z-基础底面至软弱下卧层顶面的距离;

θ-地基压力扩散线与垂直线的夹角。

1.1.5 验算软弱下卧层的强度

根据《建筑地基基础设计规范》GB50007-2002中的计算公式Pz+Pcz≤faz进行验算。

1.2 Visual Basic 2008 对Excel 2007对象的引用

ActiveX 在广义上是指微软公司的整个COM架构,但是现在通常用来称呼基于标准COM接口来实现对象连接与嵌入的ActiveX控件。该技术可以实现应用程序之间相互沟通、相互控制。要实现对Excel2007的控制,就需要在Visual Basic 2008中引用Excel2007对象。点击Visual Basic 2008项目菜单下的添加引用子菜单,弹出添加引用对话框,在COM标签页中选择Microsoft Excel 12.0 Object Libray项,确定即可添加该引用。进行上述设置后,用Visual Basic编制的验算程序运行后,即可调用Excel2007并可使用Excel软件提供的各种库,实现对Excel2007的全面控制。

1.3 数据文件的准备

新建一个Excel文件,命名为rwcys.xlsx,与验算程序放在同一目录内,因为这是本程序设置的默认路径。在表格指定单元格内输入地层厚度、重度、压缩模量、承载力特征值、基础长、宽及埋深、上部结构传来的轴向力设计值、基础的深度及宽度修正系数以及基础类型等数据,VB程序会根据单元索引将数据赋值给数组变量。

1.4 程序界面设计

在Visual Basic 2008中添加一个MDIParent1.vb窗体,从工具箱中的“菜单和工具栏”中选择MenuStrip工具[3],在窗体中添加菜单条。输入插值计算、附加应力系数、土工试验数据导入等菜单项,软弱层验算仅作为程序的一个功能。在窗体中添加RichTextBox1控件,供输出验算说明书用。在状态栏添加ToolStripStatusLabel控件,可以显示系统时间。因Visual Basic开发语言可视化的特点,可以根据系统功能设计出界面美观大方的程序界面。

1.5 编写代码

界面设计好后,对所绘制的控件添加代码,本文仅对关键代码进行介绍。

1.5.1 编写扩散角插值计算模块

首先定义一个插值函数,来线性内插扩散角。

其次定义一个数组,将地基压力扩散角值依次赋给数组的每一个变量。

最后编写地基压力扩散角解线性插值程序。

利用if……then条件语句判别z/b比值隶属区间,分为z/b<0.25;0.25<z/b<0.50和z/b>=0.50三种情况。后两种情况时要判断ES1/ES2比值隶属区间,分为1≤ES1/ES2<3;3≤ES1/ES2<5;5≤ES1/ES2<10和ES1/ES2>10四种情况。每个区间调用上面的插值函数,根据不同区间赋上不同的实参,也就是供插值使用扩散角数值。按设计要求,将该功能做为一个公共模块,方便其它程序调用,程序代码如下:

‘定义一个数组,将地基压力扩散角表中数值分别赋给数组每一个变量;

‘计算上层土与下卧软弱土层的压缩模量比值;

‘计算z/b的比值;

‘当z/b<0.25时

‘当z/b>=0.25 和z/b<0.50时;

‘当z/b>=0.50时

1.5.2 为“软弱层验算”菜单编写代码

双击“软弱层验算”菜单项,在代码窗口,编写下述几部份代码。

(1) 打开rwcys.xlsx文件∶首先要调出Excel2007程序,并打开rwcys.xlsx文件,程序代码如下。

(2) 联接到rwcys.xlsx文件∶上面只是打开了rwcys.xlsx文件,还不能读取地层数据,下面的程序代码将与Excel程序建立联接,将验算需要的已知参数读到Visual Basic程序中,程序代码如下。

(3)进行验算∶首先判断基础形式,如果值为1时,说明为条形基础;为其它值时,说明为矩形基础。然后计算Pk值和Pc值。每种基础形式按照相应的公式计算,程序代码如下:

‘如果是条基的话

‘调用地基压力扩散角模块,计算扩散角

‘计算Pz值

‘计算经宽度、深度修正的承载力

(4)输出验算说明书∶将已知参数和计算结果输出到窗口,程序代码如下:

‘判别是否满足荷载要求

2 应用实例

本程序编写完成后,通过对我院近两年有代表性的软弱下卧层验算说明书进行计算、调试,现在已经能够满足工作需要,计算结果与人工计算结果一致,在新工程的验算过程中取得了良好的应用效果。缩短了工作时间,提高了工作效率,为勘察报告及时提交给建设单位提供有力保证。

3 总结

(1)本程序可以实现软弱下卧层强度自动验算功能,缩短了工作时间,提高了工作效率,能够满足工作的实际需要,在工程实践中取得良好的应用效果。

(2)本程序运用的是Visual Basic 2008开发程序的ActiveX技术,计算程序通过调用Excel2007来完成已知参数的赋值和使用。通过修改Excel2007表格的已知参数,可以实现人机交互,完成不同的算例。

(3)因扩散角数值采用黑龙江省地方规范标准规定,程序使用范围受到限制,其功能上还可能进一步调整,以适应不同地区技术人员的需要。

[1] DB23/902-2005, 建筑地基基础设计规范[S].

[2] GB50007-2002,建筑地基基础设计规范 [S].

[3] Michael Halvorson. VB2005从入门到精通[M].北京:清华大学出版社,2006.

猜你喜欢

卧层程序代码条形
各式各样的复式条形统计图
中小桥明挖扩大基础软弱下卧层地基承载力验算
条形铁皮自动折边机构设计
计算机网络信息安全未来发展趋势
刚性基础下组合桩复合地基下卧层沉降分析
基于图元装接模式由程序流程图自动生成源代码
某沿海电厂全封闭条形煤场和圆形煤场的技术和经济性比较
无痛胃镜下取出巨大条形异物1例
桥梁桩端软弱下卧层的结构分析
倾斜鹅卵石下卧层地基对基础及上部结构的影响