机械振动设计计算与VB编程实例
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.2 建立常用界面并编制用瑞利法求螺旋桨轴扭转振动固有频率的计算程序

设计一个具有保存计算结果功能的简化界面的程序,并将计算结果另存到文本文档中这实际上是在数值计算程序常用界面的基础上,加上过滤器来建立保存计算的功能。这是在数值计算中用得最多的一种,如图4.1所示。

图4.1 窗体界面

常用窗体界面程序的编制见第3章,并编制计算程序:

单击标准工具栏上的按钮,立即弹出本程序界面,单击钮便弹出下拉菜单,如图4.2所示。

图4.2 下拉菜单

双击下拉菜单钮便弹出:

Private Sub项目计算_Click()
End Sub

在事件过程名中编制如下源程序代码:

Private Sub 项目计算_Click()
 wrap$ = Chr$(13) + Chr$(10)
vn1$ = " 版本号:用瑞利法求螺旋桨轴扭转振动固有频率计算\2014-11-1"
vn2$ = " 版本特征:常用界面/带有供存储数据的文本文档"
 Print
 Print vn1$
 Print vn2$
 Print
 Text1.Text = " -----用瑞利法求30-50m长的螺旋桨轴扭转振动固有频率计算记录----"
 string20 = string20 + "    " + Text1.Text + vbCrLf + wrap$
 Text2.Text = "   " & vn1$
 string20 = string20 + "    " + Text2.Text + wrap$
 Text3.Text = "   " & vn2$
 string20 = string20 + "    " + Text3.Text + vbCrLf + wrap$
 i = i!: i1l = i1l!: GIp = GIp!: ω2 = ω2!: f = f! '隐式声明诸变量为单精度
 π = 3.1415926: xπ = π / 180: x180 = 180 / π
 g = 980                                      '重力加速度cms^2
 r0 = 60                                      '简化螺旋桨的钢圆盘半径cm
 b = 10                                        '简化螺旋桨的钢圆盘厚度cm
 ρ = 0.008                                    '钢密度kg/cm^3
 m0 = (ρ / g) * b * π * r0 ^ 2           '简化螺旋桨的钢圆盘的 m0   kg·s^2 /cm
 i = (1 / 2) * m0 * r0 ^ 2                 '简化螺旋桨的钢圆盘的惯性 cm·kg·s^2
For zcd = 30 To 50 Step 10
 L01 = zcd * 10 ^ 2                         '螺旋桨轴长度cm
 d01 = 25                                      '螺旋桨轴直径cm
 r01 = d01 / 2
 ' L01 = 50 * 10 ^ 2                          '螺旋桨轴长度cm
 m0L = (ρ / g) * L01 * π * r01 ^ 2      '螺旋桨轴的 m01   kg·s^2 /cm
 i1L = (1 / 2) * m01 * (d01 ^ 2 / 4)      '螺旋桨轴的惯性 cm·kg·s^2
 Gjm = 80 * 10 ^ 4                         '钢的剪切模量80 Gpa=80*10^4 MPa
 GIp = (Gjm / l01) * (π / 2) * r01 ^ 4  '螺旋桨轴抗扭刚度 cm kg
 ω2 = GIp / (i + i1L / 3)                  '螺旋桨轴角速度平方弧度^2/s^2
 f = (1 / (2 * π)) * Sqr(ω2)             '螺旋桨轴扭转振动固有频率 周/s
 Print "       螺旋桨轴的长度L01="; L01 * 10 ^ -2; "m"
 Print "       简化螺旋桨的惯性i="; i; "cm·kg·s^2";
 Print "       桨轴的惯性i1L="; i1L; "cm·kg·s^2"
 Print "       桨轴抗扭刚度GIp="; GIp; " cm·kg";
 Print "       桨轴角速度平方ω2="; ω2; "弧度^2/s^2"
 Print "       桨轴扭转振动固有频率f="; f; "周/s"
 Print
 Text2.Text = "   螺旋桨轴的长度L01=" & L01 * 10 ^ -2
'其结果显示于文本文档
 Text3.Text = "   m "
 string20 = string20 + "    " + Text2.Text + "    " + Text3.Text + wrap$
 Text4.Text = "   简化螺旋桨的钢圆盘的惯性i=" & i
'其结果显示于文本文档
 Text5.Text = "   cm·kg·s^2"
 string20 = string20 + "    " + Text4.Text + "    " + Text5.Text + wrap$
 Text6.Text = "   螺旋桨轴的惯性i1l=" & i1L            '
'其结果显示于文本文档
 Text7.Text = "   cm·kg·s^2"
 string20 = string20 + "    " + Text6.Text + "    " + Text7.Text + wrap$
 Text8.Text = "    螺旋桨轴抗扭刚度GIp=" & GIp
'其结果显示于文本文档
 Text9.Text = "   cm·kg"
 string20 = string20 + "    " + Text8.Text + "    " + Text9.Text + wrap$
 Text10.Text = "   螺旋桨轴角速度平方ω2==" & ω2
'其结果显示于文本文档
 Text11.Text = "    弧度^2/s^2"
 string20 = string20 + "    " + Text10.Text + "    " + Text11.Text + wrap$
 Text12.Text = "   螺旋桨轴扭转振动固有频率f=" & f
'其结果显示于文本文档
 Text13.Text = "    周/s"
 string20 = string20 + "    " + Text12.Text + "    " + Text13.Text + vbCrLf + wrap$
 Next zcd
 CommonDialog1.Filter = "Text Files(*.TXT)|*.txt"
 CommonDialog1.ShowSave
 If CommonDialog1.FileName <> "" Then
 Open CommonDialog1.FileName For Output As #1
 Print #1, string20
 Close #1
 End If
 End Sub
Private Sub 退出_Click()
End
End Sub