使用VS2013编写螺栓计算程序

最近工作需要用vs编了一个螺栓计算程序,用的vb语言。界面一如界面一和界面二。

这个界面的小技巧就是通过radiobutton响应修改文本框,从而实现用一套文本框和文本盒子表示了螺栓刚度和安装边刚度,下面是实现这一功能的代码:

Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChangedLabel1.Text = "接触面宽度d01"Label2.Text = "螺栓孔孔径dh"Label3.Text = "安装边厚度L"Label4.Text = "安装边弹性模量"Label5.Visible = FalseTextBox5.Visible = FalseLabel6.Visible = FalseTextBox6.Visible = FalseLabel8.Visible = FalseTextBox8.Visible = FalseLabel9.Visible = FalseTextBox9.Visible = FalseLabel7.Visible = FalseTextBox7.Visible = FalsePictureBox1.Image = My.Resources.安装边刚度2
End Sub

然后是右下角的计算按钮响应,通过不同的文本名称判断是要算螺栓刚度还是要算安装边刚度,从而完成对应计算并将结果录入结果文本盒子。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As  System.EventArgs) Handles Button1.ClickIf Label1.Text = "光杆长度l1" ThenDim cl_l1 As Single, cl_l2 As SingleDim cl_lg As Single, cl_lgw As SingleDim cl_d2 As Single, cl_d3 As SingleDim cl_d As Single, cl_d22 As SingleDim cl_e0 As Single, cl_result As SingleDim m_a As Single, m_a2 As SingleDim m_as As Singlecl_l1 = Val(TextBox1.Text)cl_l2 = Val(TextBox2.Text)cl_lg = Val(TextBox3.Text)cl_lgw = Val(TextBox4.Text)cl_d2 = Val(TextBox5.Text)cl_d3 = Val(TextBox6.Text)cl_d = Val(TextBox7.Text)cl_d22 = Val(TextBox8.Text)cl_e0 = Val(TextBox9.Text)m_a = (3.14 * cl_d * cl_d) / 4m_a2 = (3.14 * cl_d22 * cl_d22) / 4m_as = (3.14 * ((cl_d2 + cl_d3) / 2) ^ 2) / 4cl_result = Math.Round((1 / cl_e0) * (cl_l1 / m_a + cl_l2 / m_a2 + (cl_lg + cl_lgw) / m_as), 2)TextBox10.Text = Str(cl_result)ElseIf Label2.Text = "接触面宽度d02" ThenDim cf_d01 As Single, cf_d02 As SingleDim cf_l1 As Single, cf_l2 As SingleDim cf_l3 As Single, cf_e1 As SingleDim cf_e2 As Single, cf_e3 As SingleDim cf_dh As SingleDim m_de1 As Single, m_de2 As SingleDim m_de31 As Single, m_de32 As SingleDim m_l31 As Single, m_l32 As SingleDim m_cf1 As Single, m_cf2 As SingleDim m_cf31 As Single, m_cf32 As Singlecf_d01 = Val(TextBox1.Text)cf_d02 = Val(TextBox2.Text)cf_l1 = Val(TextBox3.Text)cf_l2 = Val(TextBox4.Text)cf_l3 = Val(TextBox5.Text)cf_e1 = Val(TextBox6.Text)cf_e2 = Val(TextBox7.Text)cf_e3 = Val(TextBox8.Text)cf_dh = Val(TextBox9.Text)m_l31 = 0.5 * (2.5 * (cf_d02 - cf_d01) + cf_l3 - cf_l1 - cf_l2)If m_l31 >= 0 Thenm_l32 = 0.5 * (cf_l3 + cf_l2 + cf_l1 - 2.5 * (cf_d02 - cf_d01))m_de1 = cf_d01 + 0.2 * cf_l1m_de2 = cf_d01 + 0.4 * cf_l1 + 0.2 * cf_l2m_de31 = cf_d01 + 0.4 * cf_l1 + 0.4 * cf_l2 + 0.2 * m_l31m_de32 = cf_d02 + 0.2 * m_l32m_cf1 = cf_e1 * 3.14 / (4 * cf_l1) * (m_de1 ^ 2 - cf_dh ^ 2)m_cf2 = cf_e2 * 3.14 / (4 * cf_l2) * (m_de2 ^ 2 - cf_dh ^ 2)m_cf31 = cf_e3 * 3.14 / (4 * m_l31) * (m_de31 ^ 2 - cf_dh ^ 2)m_cf32 = cf_e3 * 3.14 / (4 * m_l32) * (m_de32 ^ 2 - cf_dh ^ 2)TextBox11.Text = Str(Math.Round(1 / ((1 / m_cf1) + (1 / m_cf2) + (1 / m_cf31) + (1 / m_cf32)), 2))If cf_e1 = cf_e2 Thenm_de1 = cf_d01 + 0.2 * (cf_l1 + cf_l2)m_cf1 = cf_e1 * 3.14 / (4 * (cf_l1 + cf_l2)) * (m_de1 ^ 2 - cf_dh ^ 2)  'CF1要做相应修改TextBox11.Text = Str(Math.Round(1 / ((1 / m_cf1) + (1 / m_cf31) + (1 / m_cf32)), 2))ElseIf cf_e2 = cf_e3 Thenm_l31 = 0.5 * (cf_l3 + cf_l2 - cf_l1 + 2.5 * (cf_d02 - cf_d01))m_de31 = cf_d01 + 0.4 * cf_l1 + 0.2 * m_l31m_cf31 = cf_e3 * 3.14 / (4 * m_l31) * (m_de31 ^ 2 - cf_dh ^ 2) 'CF31要做相应修改TextBox11.Text = Str(Math.Round(1 / ((1 / m_cf1) + (1 / m_cf31) + (1 / m_cf32)), 2))End IfElseIf m_l31 < 0 Thenm_l31 = 0.5 * (cf_l2 + cf_l3 - cf_l1 + 2.5 * (cf_d02 - cf_d01))m_l32 = 0.5 * (cf_l1 + cf_l2 + cf_l3 - 2.5 * (cf_d02 - cf_d01))m_de1 = cf_d01 + 0.2 * cf_l1m_de2 = cf_d02 + 0.2 * cf_l3  'DE3的值m_de31 = cf_d01 + 0.4 * cf_l1 + 0.2 * m_l31m_de32 = cf_d02 + 0.4 * cf_l3 + 0.2 * m_l32m_cf1 = cf_e1 * 3.14 / (4 * cf_l1) * (m_de1 ^ 2 - cf_dh ^ 2)m_cf2 = cf_e3 * 3.14 / (4 * cf_l3) * (m_de2 ^ 2 - cf_dh ^ 2)  'CF3的值m_cf31 = cf_e2 * 3.14 / (4 * m_l31) * (m_de31 ^ 2 - cf_dh ^ 2)m_cf32 = cf_e2 * 3.14 / (4 * m_l32) * (m_de32 ^ 2 - cf_dh ^ 2)TextBox11.Text = Str(Math.Round(1 / ((1 / m_cf1) + (1 / m_cf2) + (1 / m_cf31) + (1 / m_cf32)), 2))If cf_e1 = cf_e2 Or cf_e2 = 0 Thencf_e2 = cf_e1m_l31 = 0.5 * (cf_l1 + cf_l2 + cf_l3 + 2.5 * (cf_d02 - cf_d01))m_de31 = cf_d01 + 0.2 * m_l31m_cf31 = cf_e2 * 3.14 / (4 * m_l31) * (m_de31 ^ 2 - cf_dh ^ 2) '更新CF2‘TextBox11.Text = Str(Math.Round(1 / ((1 / m_cf2) + (1 / m_cf31) + (1 / m_cf32)), 2))  '去掉CF1ElseIf cf_e3 = cf_e2 Thenm_de32 = cf_d02 + 0.2 / 2 * (cf_l1 + cf_l2 + cf_l3 - 2.5 * (cf_d02 - cf_d01))TextBox11.Text = Str(Math.Round(1 / ((1 / m_cf1) + (1 / m_cf31) + (1 / m_cf32)), 2))  '去掉CF3End IfEnd IfElseIf Label2.Text = "螺栓孔孔径dh" ThenDim cf_d01 As Single, cf_dh As SingleDim cf_l As Single, cf_e As Singlecf_d01 = Val(TextBox1.Text)cf_dh = Val(TextBox2.Text)cf_l = Val(TextBox3.Text)cf_e = Val(TextBox4.Text)TextBox11.Text = Str(Math.Round((3.14 * cf_e) / (4 * cf_l) * ((cf_d01 + cf_l / 10) ^ 2 - cf_dh ^ 2), 2))End IfDim kc_cl As Single, kc_cf As Singlekc_cl = Val(TextBox10.Text)kc_cf = Val(TextBox11.Text)TextBox12.Text = Str(Math.Round(kc_cl / (kc_cl + kc_cf), 2))
End Sub

图五图六是其他计算,还有一些其他计算,都是类似的方法实现。


虽然这个程序很简单,但是本人能力有限,还是花了不少时间。最初是想用matlab去实现,可由于编的程序必须在装了matlab的电脑上才可以用,所以就放弃这个想法了。后来又想用python去实现,后来也是因为需要低版本的python才能编,最后还是选择了vs。
说这些也是希望大家不要走弯路,希望能够帮助到有同样需求的人。第一篇水文就讲到这里啦。有什么疑问欢迎提问,看到了就会回复的。

使用VS2013编写螺栓计算程序相关推荐

  1. 让用VS2012/VS2013编写的程序在XP中顺利运行

    转自:http://blog.csdn.net/asanscape/article/details/38752655/ 微软为了推销自家平台,默认配置下VS2012和VS2013编写的应用程序只能在V ...

  2. 利用VS2013编写C++程序

    利用VS2013编写C++程序 1.下载好VS2013程序 这里请读者自行百度. 2.打开VS2013->左上角文件->新建->项目,然后弹出窗口如下所示 3.模板->Visu ...

  3. 用vs2013编写并调试erlang内建函数(NIF)

    1. 使用vs2013创建一个工程 a. b. c. d.把系统自动生成的文件全部删除掉 e.添加一个新的c文件 f.不要管上面的文件类型,直接输入文件名字以及后缀,点击添加即可 g.文件添加成功了, ...

  4. C语言编写DFT计算程序, 并绘制幅度谱

    一.什么是DFT? 离散傅里叶变换(Discrete Fourier Transform,缩写为DFT),是傅里叶变换在时域和频域上都呈离散的形式,将信号的时域采样变换为其DTFT的频域采样.在形式上 ...

  5. 测绘程序设计——基础篇(1)C#编写方位角计算程序篇1——用户界面的构造

    目录 一.创建新项目 二.构造用户界面 1.为框体重新命名 2.加入需要的功能 (1)TextBox 文字框 (2)Label 标签 (3)因为底下的Y坐标和我们的X坐标是一样的,那么我们同理即可得. ...

  6. Python入门数学类编程——编写数学计算程序

    计算整数因子 题目:判断a是否是b的整数因子 >>> def is_factor(a,b):if b%a == 0:return Trueelse:return False>& ...

  7. dsp c语言 计算正弦,DSP正弦函数计算程序编写.docx

    DSP正弦函数计算程序编写 正弦函数计算程序的编写 I 摘要 泰勒级数展开法作为一种数学方法,在科研和平时的数据处理方面应用的很广泛.尤其是在通信.仪器仪表和工业控制等领域应用更为广泛.在科技高速发展 ...

  8. VS2022编写C语言及背景美化

    文章目录 前言 一.VS2022编写C语言基本步骤 二.VS2022背景美化 1.安装插件 2.插件的使用 总结 前言 上一篇文章介绍了什么是C语言及使用VS2013编写C语言的基本步骤,现在再来介绍 ...

  9. 设计一个个人纳税计算程序

    设计一个个人纳税计算程序 此次程序要求设计一个个人纳税计算程序.按规定:工资.薪金所得,使用超额累进税率.以每月的总收入减去800元后的余额,为应纳税所得额.以下即为我根据题目要求编写的计算程序: P ...

最新文章

  1. [转]汇编语言的准备知识--给初次接触汇编者 2
  2. oracle中decode函数用法及应用
  3. 设置函数环境——setfenv
  4. java基础(八) 深入解析常量池与装拆箱机制
  5. bat命令 修改ini文件内容_Linux文件内容查看相关命令
  6. 轨道角度分布图_高分五号:大气气溶胶多角度偏振探测仪
  7. Java Web学习(四)http协议
  8. xcode常用快捷键_Mac及Xcode常用快捷键
  9. 万网与阿里巴巴业务关系图解
  10. mysql精讲_Mysql 索引精讲
  11. python可视化报表制作教程_如何使用Python快速制作可视化报表
  12. VMware安装系统时“无法创建新虚拟机: 不具备执行此操作的权限“的解决方案
  13. opensuse 11.2/11.3安装vmware server 1.0.10笔记
  14. 大厂用的分库分表方案和demo源码,都在这里了!
  15. 68. 超越 Gzip 压缩
  16. WinXP系统连接网络教程
  17. 做网站用企业网站模板好不好
  18. 计算机里保存文件时没有桌面,电脑在保存文件时桌面怎么不见了怎么办
  19. autoCAD2010裁剪工具使用
  20. SQLServer日期相关函数 GETDATE、DATEADD、DATEDIFF、DATEPART、CONVERT、ISNULL

热门文章

  1. 北邮智能车仿真培训(八)—— 两轮摄像头平衡车
  2. 研究表明:漂亮的配图会让数据/结果看起更可靠
  3. 5月第2周业务风控关注 | 央行:严禁未经授权认可的APP接入征信系统
  4. 入职字节跳动一年,谈谈我的工作收获,另附入职面经
  5. 21个经典故事,值得收藏
  6. Excel将合并后的单元格恢复成多行并添加数据
  7. android 目录详解,Android源码目录结构详解
  8. spark outer join push down filter rule(spark 外连接中的下推规则)
  9. Android获取手机及路由器的Mac地址和IP地址
  10. 10年后重温《我奋斗了18年才和你坐在一起喝咖啡》