📄 frm对心设计.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 + -