地基沉降软件开发.doc_第1页
地基沉降软件开发.doc_第2页
地基沉降软件开发.doc_第3页
地基沉降软件开发.doc_第4页
地基沉降软件开发.doc_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

地基沉降软件开发xx大学数据库技术及应用项目实验报告 地基沉降软件开发 一,项目意义 本学期我们学习了数据库技术,利用和数据库的联接使用,我们设计了一套直接利用两种简便方法计算地基沉降量的功能较完备的计算软件,能够很便捷的计算和调用各类数据。本软件根据土质学与土力学中有关地基沉降的计算方法,并联合各经验土质数据库,做成简易的矩形及圆形基础地基沉降量的计算软件。 由于在地基沉降量计算过程中需要调用很多参数,且计算量颇为繁琐,现将其参数表作为数据表存储,用户只需输入各个土层及基础数据即可得出地基沉降量,省时省力。 简易的计算软件,可以对手算的结果进行校核。二,整体功能设计1,本软件分别用两种方法计算地基沉降量,可根据用户需求选择不同的方法计算。2,直接调用数据库中参数值与用户所输入的条件计算出地基沉降量,并作暂时的存储。3,根据不同情况,用户可选择不同方法计算。4,用户可对以往数据进行查询。5,制作经验数据库,以供用户参阅,进而提供合适的经验系数。三需求分析1,现在工程上常需进行土力学各方面数据的计算,但有关这方面的计算软件一般都是很大型的,偏于科研性质,我们设计的这个小软件用途很单一,却很简洁明了,适应于一般的工程中。 2,地基沉降量的计算软件应客户需求,应该有纠错功能,即当各类条件不合理时提出报警,如此可以很大程度上减小错误,而因为有两种不同的方法进行计算,也可以对计算结果进行校核,用户对两个结果的取用也视情况而定。3,用户常需对以往的计算进行查询,在查询栏里,可以直接查询上次计算所得结果,而另外的计算条件则存储在数据库里,以供参阅。4,工程上的实际沉降量与软件计算结果常常存在误差,所以在软件开发中可以进行经验土质数据的存储与更新,用户可根据这些数据来选择经验系数。5, 系统用户系统准备提供给以下三类用户使用:A 进行地基沉降量的计算与校核的中小型工地。B 大学生科研探索小队C 需进行多次地基沉降试验的学生及教师。6,本软件达五级范式。四功能设计界面及代码简要1,初始界面简单的封面。Private Sub Form9_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load mypose = 1 mytitle = 欢迎使用同济大学地基沉降简易计算软件 Me.Timer1.Start()End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick mystring = Mid(mytitle, mypose, 1) Me.Text = Me.Text & mystring If mypose Len(mytitle) Then Me.Text = mypose = 1 End If mypose += 1 If n Then Label1.Visible = True n = False Else Label1.Visible = False n = True End If End Sub Private Sub Form9_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.DoubleClick Me.ShowInTaskbar = False Me.Hide() Me.AxMediaPlayer1.Stop() Me.Timer1.Stop() fuchuangti.Show()主操作界面各类基本操作均在此主界面上 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load welcome.AxMediaPlayer1.Stop() End Sub Private Sub MenuItem17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem17.Click definefoundation = New Form2 definefoundation.Show() definefoundation.form2load() End SubPrivate Sub MenuItem18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem18.Click definesoil = New Form3 definesoil.Show() definesoil.form3load() End SubPrivate Sub MenuItem19_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem19.Click definewaterlevel = New Form4 definewaterlevel.Show() End Sub Private Sub MenuItem20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem20.Click defineload = New Form5 defineload.Show() End Sub Private Sub MenuItem22_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem22.Click solvetan = New Form6 solvetan.Show() End Sub基础定义界面进行基础长宽,深度的输入。Private Sub RadioButton1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged If RadioButton1.Checked Then TextBox1.Enabled = True TextBox2.Enabled = True TextBox3.Enabled = False Else TextBox1.Enabled = False TextBox2.Enabled = False TextBox3.Enabled = True End If End SubPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click r = Val(Me.TextBox3.Text) a = Val(Me.TextBox2.Text) b = Val(Me.TextBox1.Text) h = Val(Me.TextBox4.Text) If RadioButton1.Checked Then If a = 0 Then MsgBox(长度必须大于0,请重新输入!) End If If b = 0 Then MsgBox(宽度必须大于0,请重新输入!) End If If h 0 And b 0 And h = 0 Then Me.Hide() End If Else If r = 0 Then MsgBox(半径必须大于0,请重新输入!) End If If h 0 And h = 0 Then Me.Hide() End If End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Hide() End Sub土层定义界面进行土层个性质的输入并储存在数据库中土层定义表里,以供之后的计算及查询。Function form3load() Me.SqlDataAdapter1.Fill(Me.DataSet11, 土层定义表) Me.DataSet11.土层定义表.Clear() Me.SqlDataAdapter1.Update(Me.DataSet11.土层定义表) Me.DataSet11.AcceptChanges() mybind = Me.BindingContext(Me.DataSet11, 土层定义表) MsgBox(mybind.Count) Dim number As Int16 = 0 For number = 0 To mybind.Count - 1 Me.DataSet11.土层定义表.Rows(number).Delete() Next mybind.EndCurrentEdit() Me.SqlDataAdapter1.Update(Me.DataSet11.土层定义表) MsgBox(mybind.Count) mybind.AddNew() Me.TextBox1.Text = 1 MsgBox(mybind.Count) Me.TextBox1.Enabled = False End FunctionPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If Me.TextBox1.Text = Or Me.TextBox3.Text = Or Me.TextBox4.Text = Then MsgBox(土层信息不完整,请检查后重新输入!) Else Dim soilh As Single = Val(Me.TextBox3.Text) Dim soilw As Single = Val(Me.TextBox4.Text) MsgBox(soilw) If soilw = 10 Then MsgBox(土的重度不会小于10 KN/m3,请查证后输入) Else If soilh h Then Exit For End If Next MsgBox(wowowoo & point) MsgBox(height) If height h Then height = h 当基础深度深于定义的土层厚度时,以最下面一层土作为计算土层 End If If point = mytable.Rows.Count Then point = point - 1 End If 对基础深度小于定义土层厚度的分层计算 Dim h1 As Single = 0 Dim h2 As Single = h Dim Pc As Single = 0 自重应力 Dim Pz, Pz1, Pz2 As Single 附加应力 Dim Pi As Single = 0 平均附加应力 Dim a1 As Single = 0 附加应力系数 Dim s As Single = 0 沉降量 If definefoundation.RadioButton1.Checked Then 确定长宽比在什么范围,以便从数据库中查出相应的系数表 Dim n As Single 长宽比 Dim n1 As Single = 1.0 Dim n2 As Single = 0 n = a * 1.0 / (b * 1.0) MsgBox(n) If n 10 Then n = 10 End If MsgBox(n) If n = 1 And n n1 And n = 2 And n = n1 And n = 5 And n height And point wh Then MsgBox(PPPPC & Pc) MsgBox(point) Pc = Pc + maxh * mytable.Rows(point).Item(土的重度) - 10 * maxh MsgBox(Pc & Pc) Else Pc = Pc + maxh * mytable.Rows(point).Item(土的重度) MsgBox(Pc & Pc) End If 确定深宽比m 以及范围m1,m2 m = h1 / b s深宽比 If m 5 Then m = 5 If m = 0 And m = m1 And m = 2.0 And m = m1 And m = 4.0 And m 0.1 * Pc MsgBox(此基础的沉降量为 & s & cm) Me.Hide() s1 = s Else Pc = mytable.Rows(0).Item(土的重度) * h 基础底部自重应力 Pz = F / (3.14159 * r * r) - Pc + 20 * h 基础底部附加应力 Pz1 = Pz Pz2 = 0 s = 0 Dim m As Single = 0 Dim m1, m2 As Single / Do h1 += maxh h2 += maxh If h2 height And point wh Then Pc = Pc + maxh * mytable.Rows(point).Item(土的重度) - 10 * maxh MsgBox(Pc & Pc) Else Pc = Pc + maxh * mytable.Rows(point).Item(土的重度) MsgBox(Pc & Pc) End If 确定深宽比m 以及范围m1,m2 m = h1 / r 深度与半径的比值 If m 6.0 Then m = 6.0 If m = 0 And m = m1 And m = 3.0 And m = m1 And m = 5.0 And m = 5.5 And m 0.05 * Pc s1 = s MsgBox(此基础的沉降量为 & s & cm) End If End Sub应力面积法计算界面列出已经输入并需要用到的各类数据以供用户检查,若检查合格可直接计算,反之可重新定义参数。以下为算法实现过程。Dim lian

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论