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

📄 form2.frm

📁 很好的齿轮-五杆机构随参数变化的动态轨迹曲线以及速度和加速度曲线
💻 FRM
📖 第 1 页 / 共 2 页
字号:
         t1 = linkages.XC
         t2 = linkages.YC
         End If
         Picture2.Line (linkages.XC, linkages.YC)-(t1, t2) '利用直线来画出来曲线
         t1 = linkages.XC '第二次画线的时候前点为前面的点
         t2 = linkages.YC
         '————————————————c点的绘制
         If Option1.Value = True Then
         If t3 = 0 Then
         t3 = linkages.Y1 * 180 / 3.14159265358979
         t4 = linkages.Vcx
         t5 = linkages.Vcy
         End If
         Picture3.Line (linkages.Y1 * 180 / 3.14159265358979, linkages.Vcx)-(t3, t4), RGB(255, 0, 0) '利用直线来画出来速度曲线
         Picture3.Line (linkages.Y1 * 180 / 3.14159265358979, linkages.Vcy)-(t3, t5), RGB(0, 0, 255) '利用直线来画出来速度曲线
        
         t4 = linkages.Vcx
         t5 = linkages.Vcy
         If t6 = 0 Then
         't5 = linkages.Y1 * 180 / 3.14159265358979
         t6 = linkages.Acx
         t7 = linkages.Acy
         End If
         
         Picture4.Line (linkages.Y1 * 180 / 3.14159265358979, linkages.Acx)-(t3, t6), RGB(255, 0, 0) '利用直线来画出来速度曲线
         Picture4.Line (linkages.Y1 * 180 / 3.14159265358979, linkages.Acy)-(t3, t7), RGB(0, 0, 255) '利用直线来画出来速度曲线
         t3 = linkages.Y1 * 180 / 3.14159265358979
         t6 = linkages.Acx
         t7 = linkages.Acy
         
         '___________________________________________f点的绘制
         Else
         
         If t3 = 0 Then
         t3 = linkages.Y1 * 180 / 3.14159265358979
         t4 = linkages.Vfx
         t5 = linkages.Vfy
         End If
         Picture3.Line (linkages.Y1 * 180 / 3.14159265358979, linkages.Vfx)-(t3, t4), RGB(255, 0, 0) '利用直线来画出来速度曲线
         Picture3.Line (linkages.Y1 * 180 / 3.14159265358979, linkages.Vfy)-(t3, t5), RGB(0, 0, 255) '利用直线来画出来速度曲线
        
         t4 = linkages.Vfx
         t5 = linkages.Vfy
         If t6 = 0 Then
         't5 = linkages.Y1 * 180 / 3.14159265358979
         t6 = linkages.Afx
         t7 = linkages.Afy
         End If
         Picture4.Line (linkages.Y1 * 180 / 3.14159265358979, linkages.Afx)-(t3, t6), RGB(255, 0, 0) '利用直线来画出来速度曲线
         Picture4.Line (linkages.Y1 * 180 / 3.14159265358979, linkages.Afy)-(t3, t7), RGB(0, 0, 255) '利用直线来画出来速度曲线
         t3 = linkages.Y1 * 180 / 3.14159265358979
         t6 = linkages.Afx
         t7 = linkages.Afy
         End If
         
         
         
       '  If linkages.BJ * i > 2 * 3.14159265358979 Then
        '  If j = 0 Then
         '  If tempx = Int(linkages.XC) Then
         '   If tempy = Int(linkages.YC) Then
          '   zou = Int((i * linkages.BJ) / (3.14159265358979 * 2))
           '    If zou < 1 Then zou = 1
            '   End If
            '    j = 1
            '    alarm.Label1 = "根据判断得出主动杆转动需要     周才可以完成一个循环,如果有改动请输入。"
         '  End If
         ' End If
        ' End If
                 
     
 linkages.Y1 = linkages.Y1 + linkages.BJ '角度1=初始角度+步进角度
 linkages.Y4 = linkages.Y4 - linkages.BJ * linkages.RAB

Loop

Picture1.DrawWidth = 1
Picture2.DrawWidth = 1

Me.Picture1.DrawStyle = 2
Me.Picture2.DrawStyle = 2
huatu


Picture3.Line ((linkages.Text10) * 340, 80 * bi2)-((linkages.Text10) * 360, 80 * bi2), RGB(255, 0, 0)
 Picture3.Print ("X轴")
Picture3.Line ((linkages.Text10) * 310, 80 * bi2)-((linkages.Text10) * 330, 80 * bi2), RGB(0, 0, 255)
 Picture3.Print ("Y轴")

End Sub



Private Sub Form_Load()
Me.label1.Caption = "连杆AB长度:" & linkages.Text1.Text & ";连杆BC长度:" & linkages.Text2.Text & ";连杆CD的长度:" & linkages.Text3.Text & ";连架杆DE的长度:" & linkages.Text4.Text & ";机架AE的长度:" & linkages.Text5.Text & ";齿轮的传动比:" & linkages.Text6.Text & ";初始角θ:" & linkages.Text7.Text & ";初始角φ:" & linkages.Text8.Text
Picture1.DrawWidth = 2

End Sub
Public Sub huatu() '在pic1和pic2画两个图例

        Me.Picture1.CurrentX = 0
        Me.Picture1.CurrentY = 0
        Me.Picture1.Line -(linkages.XB, linkages.YB), RGB(0, 0, 255)
        Me.Picture1.Line -(linkages.XC, linkages.YC), RGB(0, 0, 255)
        Me.Picture1.Line -(linkages.XD, linkages.YD), RGB(0, 0, 255)
        Me.Picture1.Line -(linkages.XE, linkages.YE), RGB(0, 0, 255)
        Me.Picture1.Line -(0, 0), RGB(0, 0, 255)
        Me.Picture1.Line (linkages.XB, linkages.YB)-(linkages.XF, linkages.YF), RGB(0, 0, 255)
         
         
        Me.Picture2.CurrentX = 0
        Me.Picture2.CurrentY = 0
        Me.Picture2.Line -(linkages.XB, linkages.YB), RGB(0, 0, 255)
        Me.Picture2.Line -(linkages.XC, linkages.YC), RGB(0, 0, 255)
        Me.Picture2.Line -(linkages.XD, linkages.YD), RGB(0, 0, 255)
        Me.Picture2.Line -(linkages.XE, linkages.YE), RGB(0, 0, 255)
        Me.Picture2.Line -(0, 0)
        Me.Picture2.Line (linkages.XB, linkages.YB)-(linkages.XF, linkages.YF), RGB(0, 0, 255)
       
End Sub
'Private Sub zuobiao1() '位置的坐标线
'Dim i As Double
'Picture2.Scale (-10, 10)-(10, -10)
'For i = 0 To 18 Step 1
'Picture2.Line (i - 9, -9)-(i - 9, 9), QBColor(7)
'Next i
'For i = 0 To 18 Step 1
'Picture2.Line (-9, i - 9)-(9, i - 9), QBColor(7)
'Next i
'Picture2.Line (0, -9)-(0, 9)
'  Picture2.Print "Yc"
'Picture2.Line (-10, 10)-(-9.9, 10)
'  Picture2.Print "每格为1 "
'Picture2.Line (-9, 0)-(9, 0)
'  Picture2.Print "Xc"
'End Sub
Private Sub zuobiao1()
    '位置画坐标
    Dim i As Long
    Picture1.Scale (-10 * bi, 10 * bi)-(10 * bi, -10 * bi)
    For i = 0 To 36 * bi Step bi
    Me.Picture1.Line (i - 9 * bi, -9 * bi)-(i - 9 * bi, 9 * bi), QBColor(7)
    Next i
    For i = 0 To 36 * bi Step bi
    Me.Picture1.Line (-9 * bi, i - 9 * bi)-(9 * bi, i - 9 * bi), QBColor(7)
    Next i
    Picture1.Line (-9.5 * bi, 0)-(9.5 * bi, 0)
    Picture1.Print "Xc"
    Picture1.Line (0, -9.5 * bi)-(0, 9.5 * bi)
     Picture1.Print "Yf(每格:" & bi & "个单位)"
    Picture1.Line (0, -0.1)-(0, 0)
    Picture1.Print ""
    
    
    
    
    Picture2.Scale (-10 * bi, 10 * bi)-(10 * bi, -10 * bi)
    For i = 0 To 36 * bi Step bi
    Me.Picture2.Line (i - 9 * bi, -9 * bi)-(i - 9 * bi, 9 * bi), QBColor(7)
    Next i
    For i = 0 To 36 * bi Step bi
    Me.Picture2.Line (-9 * bi, i - 9 * bi)-(9 * bi, i - 9 * bi), QBColor(7)
    Next i
    Picture2.Line (-9.5 * bi, 0)-(9.5 * bi, 0)
    Picture2.Print "Xc"
    Picture2.Line (0, -9.5 * bi)-(0, 9.5 * bi)
     Picture2.Print "Yc(每格:" & bi & "个单位)"
    Picture2.Line (0, -0.1)-(0, 0)
    Picture2.Print ""
End Sub
Public Sub zuobiao2() '速度的坐标线
 Picture3.Scale (-20, 100 * bi2)-(linkages.Text10 * 360 + 20, -100 * bi2)
'_____________下面画横坐标线__________________________________________
For i = 10 To linkages.Text10 * 360 Step 10
  Picture3.Line (i, -90 * bi2)-(i, 90 * bi2), QBColor(7)
Next i
  Picture3.Line (0, 2)-(0, 0)
  Picture3.Print "θ"
For i = 0.5 To linkages.Text10 Step 0.5
  Picture3.Line (i * 360, 2)-(i * 360, 0)
  Picture3.Print "θ+" & i * 360
Next i
'_____________下面画纵坐标线__________________________________________
For i = -90 * bi2 To 90 * bi2 Step 10 * bi2
  Picture3.Line (0, i)-(linkages.Text10 * 360, i), QBColor(7)
Next i
For i = -90 * bi2 To 90 * bi2 Step 10 * bi2
  Picture3.Line (0, i)-(-linkages.Text10 * 360 / 80, i)
  Picture3.Print i
Next i
'坐标线_______________________________________________________________
Picture3.Line (0, 0)-(linkages.Text10 * 360 + 10, 0)
 Picture3.Print "θ"
Picture3.Line (0, -98 * bi2)-(0, 98 * bi2)
If Me.Option1 = True Then
 Picture3.Print "Vc(每格代表" & bi3 * 5 & "的曲线)"
 Else
Picture3.Print "Vf(每格代表" & bi3 * 5 & "的曲线)"
End If
 
End Sub
Public Sub zuobiao3() '加速度的坐标线
 Picture4.Scale (-20, 100 * bi3)-(linkages.Text10 * 360 + 20, -100 * bi3)
'_____________下面画横坐标线__________________________________________
For i = 10 To linkages.Text10 * 360 Step 10
  Picture4.Line (i, -90 * bi3)-(i, 90 * bi3), QBColor(7)
Next i
  Picture4.Line (0, 2)-(0, 0)
  Picture4.Print "θ"
For i = 0.5 To linkages.Text10 Step 0.5
  Picture4.Line (i * 360, 2)-(i * 360, 0)
  Picture4.Print "θ+" & i * 360
Next i
'_____________下面画纵坐标线__________________________________________
For i = -90 * bi3 To 90 * bi3 Step 10 * bi3
  Picture4.Line (0, i)-(linkages.Text10 * 360, i), QBColor(7)
Next i
For i = -90 * bi3 To 90 * bi3 Step 10 * bi3
  Picture4.Line (0, i)-(-linkages.Text10 * 360 / 80, i)
  Picture4.Print i
Next i
'坐标线_______________________________________________________________
Picture4.Line (0, 0)-(linkages.Text10 * 360 + 10, 0)
 Picture4.Print "θ"
Picture4.Line (0, -98 * bi3)-(0, 98 * bi3)
If Me.Option1 = True Then
 Picture4.Print "Ac(每格代表" & bi3 * 5 & "的曲线)"
 Else
Picture4.Print "Af(每格代表" & bi3 * 5 & "的曲线)"
End If
End Sub

Private Sub Picture2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me.Label4.Caption = "鼠标在C点位置曲线上的坐标是:(" & X & "," & Y & ")"
End Sub


Private Sub Picture3_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me.Label4.Caption = "鼠标在速度曲线上的坐标是:(" & X & "," & Y & ")"
End Sub
Private Sub Picture4_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me.Label4.Caption = "鼠标在加速度曲线上的坐标是:(" & X & "," & Y & ")"
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me.Label4.Caption = "鼠标在F点位置曲线上的坐标是:(" & X & "," & Y & ")"
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -