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

📄 frm对心设计.frm

📁 visual basic程序实现凸轮机构设计
💻 FRM
字号:
VERSION 5.00
Begin VB.Form frm对心设计 
   BackColor       =   &H00808000&
   BorderStyle     =   1  'Fixed Single
   Caption         =   "设计步骤"
   ClientHeight    =   2175
   ClientLeft      =   5685
   ClientTop       =   5655
   ClientWidth     =   5250
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   2175
   ScaleWidth      =   5250
   Begin VB.CommandButton cmdSixth 
      BackColor       =   &H0080C0FF&
      Caption         =   "关闭"
      Height          =   375
      Left            =   4320
      Style           =   1  'Graphical
      TabIndex        =   7
      Top             =   1680
      Width           =   735
   End
   Begin VB.CommandButton cmdFifth 
      BackColor       =   &H0080C0FF&
      Caption         =   "第五步"
      Height          =   375
      Left            =   3480
      Style           =   1  'Graphical
      TabIndex        =   6
      Top             =   1680
      Width           =   735
   End
   Begin VB.PictureBox Picture1 
      BackColor       =   &H00FFFFFF&
      Height          =   1455
      Left            =   120
      ScaleHeight     =   1395
      ScaleWidth      =   4875
      TabIndex        =   4
      Top             =   120
      Width           =   4935
      Begin VB.TextBox Text1 
         Appearance      =   0  'Flat
         BorderStyle     =   0  'None
         BeginProperty Font 
            Name            =   "楷体_GB2312"
            Size            =   15.75
            Charset         =   134
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         ForeColor       =   &H000000FF&
         Height          =   1215
         Left            =   0
         MultiLine       =   -1  'True
         TabIndex        =   5
         Top             =   120
         Width           =   4815
      End
   End
   Begin VB.CommandButton Command4 
      BackColor       =   &H0080C0FF&
      Caption         =   "第四步"
      Height          =   375
      Left            =   2640
      Style           =   1  'Graphical
      TabIndex        =   3
      Top             =   1680
      Width           =   735
   End
   Begin VB.CommandButton Command 
      BackColor       =   &H0080C0FF&
      Caption         =   "第一步"
      Default         =   -1  'True
      Height          =   375
      Left            =   120
      Style           =   1  'Graphical
      TabIndex        =   2
      Top             =   1680
      Width           =   735
   End
   Begin VB.CommandButton Command2 
      BackColor       =   &H0080C0FF&
      Caption         =   "第二步"
      Height          =   375
      Left            =   960
      Style           =   1  'Graphical
      TabIndex        =   1
      Top             =   1680
      Width           =   735
   End
   Begin VB.CommandButton Command3 
      BackColor       =   &H0080C0FF&
      Caption         =   "第三步"
      Height          =   375
      Left            =   1800
      Style           =   1  'Graphical
      TabIndex        =   0
      Top             =   1680
      Width           =   735
   End
End
Attribute VB_Name = "frm对心设计"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Private Sub cmdFifth_Click()
    Dim i As Integer
    
    Text1.Text = "5.以理论轮廓线上各点为圆心,以滚子半径为半径作圆,所得包络线为凸轮实际轮廓曲线。。"
    mainfrm.Picture1.DrawWidth = 1
    For i = 0 To 360 Step 10
        mainfrm.Picture1.Circle (PointXY(i, 1), PointXY(i, 2)), r1, &HFFFFC0
    Next
    
    mainfrm.Picture1.DrawWidth = 3
    mainfrm.Picture1.PSet (FactPXY(0, 1), FactPXY(0, 2))
    For i = 1 To 360 Step 1
        'If i = 0 Then
        mainfrm.Picture1.Line -(FactPXY(i, 1), FactPXY(i, 2)), &H80FF&
    Next
End Sub


Private Sub cmdSixth_Click()
    Unload Me
End Sub

Private Sub Command_Click()
    mainfrm.init1
    Text1.Text = "1.按比例画位移线图和基圆,并标明各运动角。"
    First0_step
    First_Step
    
End Sub

Private Sub Command2_Click()
    Dim i As Integer
    Text1.Text = "2.将推程运动角和回程运动角分成若干等份。"
    
    If i等分DT0 <> 0 Then
    For i = 1 To i等分DT0
        Unload mainfrm.lin等分DT0(i)
        Unload mainfrm.lin基圆DT0(i)
        Unload mainfrm.lin凸轮DT0(i)
    Next
   End If
   
   If i等分DT2 <> 0 Then
    For i = 1 To i等分DT2
        Unload mainfrm.lin等分DT2(i)
        Unload mainfrm.lin基圆DT2(i)
        Unload mainfrm.lin凸轮DT2(i)
    Next
   End If
   frm等分.Show vbModal
   
  
   If i等分DT0 * i等分DT2 = 0 Then Exit Sub
   
    Second_Step
End Sub

Private Sub Command3_Click()
    Text1.Text = "3.延长基圆上各等分线,延长线段长度与位移线图对应等分线段长度相等。"
    Third_Step
End Sub

Private Sub Command4_Click()
    If r1 = 0 Then
        Text1.Text = "4.顺次光滑连接各点,得凸轮轮廓。"
        mainfrm.Picture1.DrawWidth = 3
    Else
        Text1.Text = "4.顺次光滑连接各点,得凸轮理论轮廓曲线。"
        mainfrm.Picture1.DrawWidth = 1
    End If
    Forth_step
End Sub

Public Sub First0_step()
    Dim i As Integer
    mainfrm.Picture1.Cls
    
    '画回转中心
    x0 = 230: y0 = 300
    mainfrm.Picture1.Circle (x0, y0), 10, &HFFFF&
    
     '画坐标轴
    mainfrm.linX.Y1 = PointXY(0, 2):  mainfrm.linX.Y2 = PointXY(0, 2)
    mainfrm.linY.Y1 = PointXY(0, 2): mainfrm.linY.Y2 = PointXY(0, 2) + 200
    'O(1) = linX.X1: O(2) = linX.Y1
    mainfrm.Label0.Top = O(2) - 10
    mainfrm.lab_t.Top = O(2) + 30
    
    '画基圆
    mainfrm.Picture1.DrawWidth = 1
    mainfrm.Picture1.Circle (x0, y0), r0, &HFF&
    '位移线图
    mainfrm.Picture1.DrawWidth = 3
     For i = 1 To 360
        If i = 1 Then mainfrm.Picture1.PSet (O(1), O(2)), &HFF& '
        mainfrm.Picture1.Line -(XY(i, 1), XY(i, 2)), &HFF&
    Next
    mainfrm.Line1.Visible = True: mainfrm.Line2.Visible = True
    mainfrm.Label1.Visible = True
    mainfrm.Lineh1.Visible = True
    mainfrm.lab_h.Visible = True
    mainfrm.Lineh2.Visible = True
    mainfrm.Line3.Visible = True
    mainfrm.Line4.Visible = True
    mainfrm.Label3.Visible = True
    
    mainfrm.Line5.Visible = True
    mainfrm.Label4.Visible = True
    
     '画偏距圆
     mainfrm.Picture1.DrawWidth = 1
    mainfrm.Picture1.Circle (x0, y0), e, &HFF&
End Sub



Public Sub First_Step()
   
    mainfrm.Picture1.Line (x0, y0)-(PointXY(0, 1), PointXY(0, 2)), &HFFFF00
    mainfrm.Picture1.Line (x0, y0)-(PointXY(δ0, 1), PointXY(δ0, 2)), &HFF00FF
    mainfrm.Picture1.Line (x0, y0)-(PointXY(δ0 + δ1, 1), PointXY(δ0 + δ1, 2)), &HFF00FF
    mainfrm.Picture1.Line (x0, y0)-(PointXY(δ0 + δ1 + δ2, 1), PointXY(δ0 + δ1 + δ2, 2)), &HFF00FF

End Sub

Public Sub Second_Step()
   Dim j As Integer
   Dim i As Integer
   
   For i = 1 To i等分DT0
        Load mainfrm.lin等分DT0(i)
        Load mainfrm.lin基圆DT0(i)
        Load mainfrm.lin凸轮DT0(i)
   Next
   
  
   For i = 1 To i等分DT2
        Load mainfrm.lin等分DT2(i)
        Load mainfrm.lin基圆DT2(i)
        Load mainfrm.lin凸轮DT2(i)
   Next
   
   j = δ0 / i等分DT0
   For i = 1 To i等分DT0
     mainfrm.lin等分DT0(i).X1 = XY(i * j, 1)
     mainfrm.lin等分DT0(i).X2 = XY(i * j, 1)
     mainfrm.lin等分DT0(i).Y1 = XY(i * j, 2)
     mainfrm.lin等分DT0(i).Y2 = mainfrm.linX.Y1
     mainfrm.lin等分DT0(i).Visible = True
     
     
     mainfrm.lin基圆DT0(i).X1 = 基圆XY(i * j, 1)
     mainfrm.lin基圆DT0(i).X2 = 偏距圆XY(i * j, 1)
     mainfrm.lin基圆DT0(i).Y1 = 基圆XY(i * j, 2)
     mainfrm.lin基圆DT0(i).Y2 = 偏距圆XY(i * j, 2)
     mainfrm.lin基圆DT0(i).Visible = True

     mainfrm.lin凸轮DT0(i).X1 = PointXY(i * j, 1)
     mainfrm.lin凸轮DT0(i).X2 = 基圆XY(i * j, 1)
     mainfrm.lin凸轮DT0(i).Y1 = PointXY(i * j, 2)
     mainfrm.lin凸轮DT0(i).Y2 = 基圆XY(i * j, 2)
     'lin凸轮DT0(i).Visible = True
   Next i
   
   j = δ2 / i等分DT2
   For i = 1 To i等分DT2
     mainfrm.lin等分DT2(i).X1 = XY(δ0 + δ1 + (i - 1) * j, 1)
     mainfrm.lin等分DT2(i).X2 = XY(δ0 + δ1 + (i - 1) * j, 1)
     mainfrm.lin等分DT2(i).Y1 = XY(δ0 + δ1 + (i - 1) * j, 2)
     mainfrm.lin等分DT2(i).Y2 = mainfrm.linX.Y1
     mainfrm.lin等分DT2(i).Visible = True

     mainfrm.lin基圆DT2(i).X1 = 基圆XY(δ0 + δ1 + (i - 1) * j, 1)
     mainfrm.lin基圆DT2(i).X2 = 偏距圆XY(δ0 + δ1 + (i - 1) * j, 1)
     mainfrm.lin基圆DT2(i).Y1 = 基圆XY(δ0 + δ1 + (i - 1) * j, 2)
     mainfrm.lin基圆DT2(i).Y2 = 偏距圆XY(δ0 + δ1 + (i - 1) * j, 2)
     mainfrm.lin基圆DT2(i).Visible = True

     mainfrm.lin凸轮DT2(i).X1 = PointXY(δ0 + δ1 + (i - 1) * j, 1)
     mainfrm.lin凸轮DT2(i).X2 = 基圆XY(δ0 + δ1 + (i - 1) * j, 1)
     mainfrm.lin凸轮DT2(i).Y1 = PointXY(δ0 + δ1 + (i - 1) * j, 2)
     mainfrm.lin凸轮DT2(i).Y2 = 基圆XY(δ0 + δ1 + (i - 1) * j, 2)
     'lin凸轮DT2(i).Visible = True
   Next i
  
End Sub

Public Sub Third_Step()
  mainfrm.Timer2.Enabled = True
End Sub

Public Sub Forth_step()
  mainfrm.Timer2.Enabled = False
  
  Me.Enabled = False
  mainfrm.cmd设置.Enabled = False
  mainfrm.cmdReset.Enabled = False
  mainfrm.cmd继续.Enabled = False
  mainfrm.cmd设计.Enabled = False
  
  mainfrm.Timer3.Enabled = True
End Sub

⌨️ 快捷键说明

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