📄 frmbelt.frm
字号:
TabIndex = 30
Top = 1170
Width = 1575
End
Begin VB.Label Label12
Caption = "带轮轴材料:"
Height = 210
Left = 3705
TabIndex = 28
Top = 390
Width = 1380
End
Begin VB.Label Label2
Caption = "请输入主动轮的转速(n/min):"
BeginProperty Font
Name = "MS Sans Serif"
Size = 9.75
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 600
Left = 195
TabIndex = 2
Top = 1170
Width = 1965
End
Begin VB.Label label1
Caption = "请输入功率(Kw) :"
BeginProperty Font
Name = "MS Sans Serif"
Size = 9.75
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 210
Left = 195
TabIndex = 0
Top = 390
Width = 1695
End
End
Attribute VB_Name = "Frmbelt"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Option Base 1
Private worktime(1 To 7) As String
Private workcondition(1 To 5) As String
Private kabelt(1 To 5, 1 To 10) As Single
Public sworktime As String
Public sworkcondition As String
Private Sub beltKA(sworktime, sworkcondition, ka, startcondition)
Dim i As Integer
Dim j As Integer
Open App.Path + "\B10-10.dat" For Input As #1 '工况数据
For i = 1 To 4
Input #1, workcondition(i)
Next i
For i = 1 To 3
Input #1, worktime(i)
Next i
For i = 1 To 4
For j = 1 To 3
Input #1, kabelt(i, j)
Next j
Next i
For i = 1 To 4
For j = 4 To 6
Input #1, kabelt(i, j)
Next j
Next i
Close
For i = 1 To 4
If sworkcondition = workcondition(i) Then Exit For
Next i
For j = 1 To 3
If sworktime = worktime(j) Then Exit For
Next j
If startcondition = "轻、空载启动" Then
ka = kabelt(i, j)
End If
If startcondition = "重载启动" Then
ka = kabelt(i, j + 3)
End If
End Sub
Private Sub beltxh(Pd As Single, n1 As Single, xh() As String, dl() As String)
'查普通V带型号和小带轮直径范围 计算功率Pb 小带轮转速n1 带型xh(1),xh(2) 小带轮直径d1(1)d1(2),xh大写字母
Dim nze1 As Single, nze2 As Single, nze3 As Single, nze4 As Single, nze5 As Single, nze6 As Single
Dim nze7 As Single, nze8 As Single, nze9 As Single
'选型图中的9条分型线
Dim nk1 As Single, nk2 As Single, nk3 As Single, nk4 As Single, nk5 As Single, nk6 As Single
'增加线的6段直线
nze1 = 787.5327 * Pd ^ 1.07
nze2 = 458.2745 * Pd ^ 1.095
nze3 = 237.9256 * Pd ^ 1.035
nze4 = 120 * Pd ^ 1.05324
nze5 = 52.8337 * Pd ^ 1.160658
nze6 = 29.44249 * Pd ^ 1.162165
nze7 = 7.63971 * Pd ^ 1.21196
nze8 = 2.614477 * Pd ^ 1.175764
nze9 = 0.7456016 * Pd ^ 1.252225
nk1 = 7066.3 * Pd ^ 0.6456 + 200
nk2 = 8182.6 * Pd ^ 0.7368 + 200
nk3 = 11090.4 * Pd ^ 0.8689 + 200
nk4 = 3905.5 * Pd ^ 0.5078 + 150
nk5 = 732.57 * Pd ^ 0.0541 + 150
nk6 = 550 + 100
If n1 >= nze2 + 50 And Pd <= 3.5 Or n1 >= nze2 + 50 And n1 <= nk1 And Pd <= 4.5 Then
xh(1) = "Z": xh(2) = "Z"
dl(1) = "50--71"
dl(2) = "80--100"
ElseIf n1 <= nze2 + 50 And n1 >= nze2 And Pd <= 3.5 Or n1 >= nze2 And n1 <= nk1 And Pd <= 5 Then
xh(1) = "Z": xh(2) = "A"
dl(1) = "80--100": dl(2) = dl(1)
ElseIf n1 <= nze2 And n1 >= nze2 - 50 And Pd <= 5 Or n1 >= nze2 - 50 And n1 <= nk2 And Pd <= 6 Then
xh(1) = "A": xh(2) = "Z"
dl(1) = "80--100": dl(2) = dl(1)
ElseIf n1 <= nze2 - 50 And n1 >= nze4 + 50 And Pd <= 5 Or n1 >= nze4 + 50 And n1 <= nk2 And Pd <= 10 Then
xh(1) = "A": xh(2) = xh(1)
dl(1) = "80--100": dl(2) = "112--140"
ElseIf n1 <= nze4 + 50 And n1 >= nze4 And Pd <= 5 Or n1 >= nze4 And n1 <= nk2 And Pd <= 10 Then
xh(1) = "A": xh(2) = "B"
dl(1) = "112--140": dl(2) = "125--140"
ElseIf n1 <= nze4 And n1 >= nze4 - 50 And Pd <= 5 Or n1 >= nze4 - 50 And n1 <= nk2 And Pd <= 10 Then
xh(1) = "B": xh(2) = "A"
dl(1) = "125--140": dl(2) = "112--140"
ElseIf n1 <= nze4 - 50 And n1 >= nze6 + 50 And Pd < 10 Or n1 >= nze6 + 50 And n1 <= nk3 And Pd <= 18 Then
xh(1) = "B": xh(2) = xh(1)
dl(1) = "125--140": dl(2) = "160--200"
ElseIf n1 <= nze6 + 50 And n1 > nze6 And Pd <= 10 Or n1 >= nze6 And n1 = nk3 And Pd <= 18 Then
xh(1) = "B": xh(2) = "C"
dl(1) = "160--200": dl(2) = "200--315"
ElseIf n1 <= nze6 And n1 >= nze6 - 30 And Pd <= 10 Or n1 >= nze6 - 30 And n1 <= nk3 And Pd <= 18 Then
xh(1) = "C": xh(2) = "B"
dl(1) = "200--315": dl(2) = "160--200"
ElseIf n1 <= nze6 - 30 And n1 >= nze7 + 30 And Pd <= 18 Or n1 >= nze7 + 30 And n1 <= nk4 And Pd <= 40 Then
xh(1) = "C": xh(2) = xh(1)
dl(1) = "200--315": dl(2) = dl(1)
ElseIf n1 <= nze7 + 30 And n1 >= nze7 And Pd <= 18 Or n1 >= nze7 And n1 <= nk4 And Pd <= 40 Then
xh(1) = "C": xh(2) = "D"
dl(1) = "200--315": dl(2) = "355--400"
ElseIf n1 <= nze7 And n1 >= nze7 - 30 And Pd <= 18 Or n1 >= nze7 - 30 And n1 <= nk4 And Pd <= 40 Then
xh(1) = "D": xh(2) = "C"
dl(1) = "355--400": dl(2) = "200--315"
ElseIf n1 <= nze7 - 30 And n1 >= nze9 + 30 And Pd <= 40 Or n1 >= nze9 + 30 And n1 <= nk5 And Pd <= 200 Then
xh(1) = "D": xh(2) = xh(1)
dl(1) = "355--400": dl(2) = "450--500"
ElseIf n1 <= nze9 + 30 And n1 >= nze9 And Pd <= 40 Or n1 >= nze9 And n1 <= nk5 And Pd <= 200 Then
xh(1) = "D": xh(2) = "E"
dl(1) = "450--500": dl(2) = "500--800"
ElseIf n1 <= nze9 And n1 >= nze9 - 30 And Pd <= 40 Or n1 >= nze9 - 30 And n1 <= nk5 And Pd <= 200 Then
xh(1) = "E": xh(2) = "D"
dl(1) = "500--800": dl(2) = "450--500"
ElseIf n1 <= nze9 - 30 And n1 > 0 And Pd <= 200 Or n1 > 0 And n1 <= 500 And Pd <= 250 Then
xh(1) = "E": xh(2) = xh(1)
dl(1) = "500--800": dl(2) = dl(1)
Else
xh(1) = "NIL": xh(2) = xh(1)
dl(1) = "NIL": dl(2) = dl(1)
End If
End Sub
Private Sub zhoujing() '计算轴颈的直径
Dim xuyongyingli As String
zhoucailiao = Trim(txtzhoucailiao.Text)
If txtzhoucailiao.Text = "" Or Val(txtzhoucailiao.Text) = 0 Then
MsgBox ("请输入轴材料代号")
End
End If
xuyongyingli = Val(txtxuyongyingli.Text)
dailunkongjing(1) = (9550! * 1000! * Pd / n1 * 16 / 3.14 / xuyongyingli) ^ (1 / 3)
dailunkongjing(2) = (9550! * 1000! * Pd / sn2 * 16 / 3.14 / xuyongyingli) ^ (1 / 3)
If Int(dailunkongjing(1) / 5) < dailunkongjing(1) / 5 Then
dailunkongjing(1) = 5 * Int(dailunkongjing(1) / 5) + 5
End If
If Int(dailunkongjing(2) / 5) < dailunkongjing(2) / 5 Then
dailunkongjing(2) = 5 * Int(dailunkongjing(2) / 5) + 5
End If
End Sub
Private Sub CmdEnd_Click()
End
End Sub
Private Sub cmdgoon_Click()
Dim x As Integer
spower = Val(txtpower.Text)
n1 = Val(Txtn1)
sn2 = Val(txtn2.Text)
si = Val(txti.Text)
If spower <= 0 And n1 <= 0 Then
MsgBox "功率、小带轮转速必须大于零"
ElseIf spower <= 0 Then
MsgBox "功率必须大于零"
ElseIf n1 <= 0 Then
MsgBox "小带轮转速必须大于零"
End If
If sn2 = 0 And si = 0 Then
MsgBox "从动轮转速和转动比不能同时为零"
Exit Sub
End If
If sworkcondition = " " Then MsgBox "工作情况不能为空": Exit Sub
If sworktime = " " Then MsgBox "工作时间不能同时为空": Exit Sub
If spower <> 0 And n1 <> 0 And sn2 <> 0 And sworktime <> "" And sworkcondition <> "" Or _
spower <> 0 And n1 <> 0 And si <> 0 And sworktime <> "" And sworkcondition <> "" Then
If si = 0 Then
si = n1 / sn2
End If
If sn2 = 0 Then
sn2 = n1 / si
End If
Call beltKA(sworktime, sworkcondition, ka, startcondition) '调用beltKA过程查Ka
Pd = spower * ka
Call beltxh(Pd, n1, xh(), dl()) '调用确定两种带型和两小带轮的直径范围
If xh(1) = "NIL" Then
MsgBox ("无合适带型!可能是转速N1太高或功率P太大,请重新确定N1;P!"): Exit Sub
End If
Else
MsgBox "输入数据正常,请重新输入": Exit Sub
End If
Call zhoujing '调用zhoujing计算轴颈直径
FrmOptionxhdla.Lblxh1.Caption = xh(1)
FrmOptionxhdla.Lblxh2.Caption = xh(2)
FrmOptionxhdla.Visible = True
FrmOptionxhdla.Picdla.Visible = False
Frmbelt.Visible = False
FrmOptionxhdla.optionxh = 0
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then Call cmdgoon_Click
End Sub
Private Sub Form_Load()
txti.Visible = False
txtn2.Visible = False
Lstlight.Visible = False
Lstheavy.Visible = False
Lbltime1.Visible = False
Lbltime2.Visible = False
End Sub
Private Sub Lstheavy_Click()
sworktime = Lstheavy.Text
End Sub
Private Sub Lstlight_Click()
sworktime = Lstlight.Text
End Sub
Private Sub Optcondition1_Click()
sworkcondition = Optcondition1.Caption
End Sub
Private Sub Optcondition2_Click()
sworkcondition = Optcondition2.Caption
End Sub
Private Sub Optcondition3_Click()
sworkcondition = Optcondition3.Caption
End Sub
Private Sub Optcondition4_Click()
sworkcondition = Optcondition4.Caption
End Sub
Private Sub Optheavy_Click()
Lstlight.Visible = False
Lstheavy.Visible = True
Lbltime2.Visible = True
Lbltime1.Visible = False
startcondition = Optheavy.Caption
End Sub
Private Sub opti_Click()
txtn2.Visible = False
txti.Visible = True
txtn2.Text = ""
End Sub
Private Sub Optlight_Click()
Lstheavy.Visible = False
Lstlight.Visible = True
Lbltime1.Visible = True
Lbltime2.Visible = False
startcondition = Optlight.Caption
End Sub
Private Sub Optn2_Click()
txti.Visible = False
txtn2.Visible = True
txti.Text = ""
End Sub
Private Sub vsbxuyongyingl_Change()
txtxuyongyingli = vsbxuyongyongli.Value
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -