⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 判断模块.bas

📁 一个设计齿轮变位系数的程序
💻 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 + -