📄 判断模块.bas
字号:
Attribute VB_Name = "判断模块"
Option Explicit
Dim x As Single
Public Function PanDuan(ByVal x) As Boolean
Dim tiaojian1 As Boolean
Dim tiaojian2 As Boolean
Dim tiaojian3 As Boolean
Dim tiaojian3_1 As Boolean
Dim tiaojian3_2 As Boolean
Dim tiaojian4 As Boolean
Dim tiaojian4_1 As Boolean
Dim tiaojian4_2 As Boolean
Dim tiaojian5 As Boolean
'判断x1,x2的范围
If (x >= x1min) And ((x0 - x) >= x2min) And (x <= x1max) And ((x0 - x) <= x2max) Then
tiaojian1 = True
Else: tiaojian1 = False
PanDuan = False
Exit Function
End If
'基圆小于齿顶圆
If rb(z1) < ra(x, z1) And rb(z2) < ra(x, z2) Then
tiaojian5 = True
Else: tiaojian5 = False
PanDuan = False
Exit Function
End If
'重合度条件判断
If 1.2 - 1 / (2 * pi) * (z1 * (tgRA(x, z1) - Tan(rr)) + z2 * (tgRA(x0 - x, z2) - Tan(rr))) <= six Then
tiaojian2 = True
Else: tiaojian2 = False
PanDuan = False
Exit Function
End If
'两个过渡曲线干涉条件判断
If z2 / z1 * (tgRA(x0 - x, z2) - Tan(rr)) + Tan(rt) - Tan(rr) - 4 * (h * Cos(b) - x * Cos(b)) / (z1 * Sin(2 * rt)) <= six Then
tiaojian3_1 = True
Else: tiaojian3_1 = False
PanDuan = False
Exit Function
End If
If z1 / z2 * (tgRA(x, z1) - Tan(rr)) + Tan(rt) - Tan(rr) - 4 * (h * Cos(b) - (x0 - x) * Cos(b)) / (z2 * Sin(2 * rt)) <= six Then
tiaojian3_2 = True
Else: tiaojian3_2 = False
PanDuan = False
Exit Function
End If
If (tiaojian3_1 = True) And (tiaojian3_2 = True) Then
tiaojian3 = True
Else: tiaojian3 = False
PanDuan = False
Exit Function
End If
'两个齿顶厚度条件判断
'经过调试发现齿厚条件不易不满足
If Sa(x, z1) - 0.25 * m * Cos(b) >= six Then
tiaojian4_1 = True
Else: tiaojian4_1 = False
PanDuan = False
Exit Function
End If
If Sa(x0 - x, z2) - 0.25 * m * Cos(b) >= six Then
tiaojian4_2 = True
Else: tiaojian4_2 = False
PanDuan = False
Exit Function
End If
If (tiaojian4_1 = True) And (tiaojian4_2 = True) Then
tiaojian4 = True
Else: tiaojian4 = False
PanDuan = False
Exit Function
End If
'''当且仅当五个条件都为真时,点X为可行点,判断函数返回真值
If (tiaojian1 = True) And (tiaojian2 = True) And (tiaojian3 = True) And (tiaojian4 = True) And (tiaojian5 = True) Then
PanDuan = True
Else: PanDuan = False
End If
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -