VB凸轮轮廓线数控加工程序设计-源代码_第1页
VB凸轮轮廓线数控加工程序设计-源代码_第2页
VB凸轮轮廓线数控加工程序设计-源代码_第3页
VB凸轮轮廓线数控加工程序设计-源代码_第4页
VB凸轮轮廓线数控加工程序设计-源代码_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、八 附源程序模块Option ExplicitPublic ptx(3600) As Double 曲线存储点数组Public pty(3600) As Double 由于存储最终输出的点Public low As Double 数组下标Public countnum As Integer 存储当前为第几段曲线输入的值Public Const PI = 3.14159Public area As Double 存储角度范围的值Public sch As Double 总升程Public tch As Double 输入曲线的推程Public Huan As Double 坐标变换数据Publi

2、c Gao As DoublePublic a1 As String, a2 As String, a3 As StringPublic b1 As DoublePublic savetime As DoublePublic i As DoubleFrmView 主窗口Option ExplicitDim j%Public bch As String, zbx As String, M As Integer, sd As StringPrivate Sub CmbSlect_Click() 选择曲线类型Select Case CmbSlect.ListIndexCase 0 等加速运动deng

3、jiasu.NumStr.Text = 清空Text文本框dengjiasu.NumEnd.Text = dengjiasu.NumH.Text = dengjiasu.NumStr.Text = area 设定default范围dengjiasu.NumStr.Enabled = Falsedengjiasu.NumEnd.Enabled = True If CountAll.Caption = CountNow.Caption Then 最后一段曲线 dengjiasu.NumEnd.Text = 360 输入时,自动输入 dengjiasu.NumEnd.Enabled = False

4、默认值 dengjiasu.NumH.Text = -b1 End Ifdengjiasu.Show 1Case 1 等速运动dengsu.NumStr.Text = dengsu.NumEnd.Text = dengsu.NumH.Text = dengsu.NumStr.Text = areadengsu.NumStr.Enabled = Falsedengsu.NumEnd.Enabled = True If CountAll.Caption = CountNow.Caption Then dengsu.NumEnd.Text = 360 dengsu.NumEnd.Enabled =

5、False dengsu.NumH.Text = -b1 End Ifdengsu.Show 1Case 2 正弦加速度运动sinx.NumStr.Text = sinx.NumEnd.Text = sinx.NumH.Text = sinx.NumStr.Text = areasinx.NumStr.Enabled = Falsesinx.NumEnd.Enabled = True If CountAll.Caption = CountNow.Caption Then sinx.NumEnd.Text = 360 sinx.NumEnd.Enabled = False sinx.NumH.T

6、ext = -b1 End Ifsinx.Show 1Case 3 余弦加速度运动Cosx.NumStr.Text = Cosx.NumEnd.Text = Cosx.NumH.Text = Cosx.NumStr.Text = areaCosx.NumStr.Enabled = FalseCosx.NumEnd.Enabled = True If CountAll.Caption = CountNow.Caption Then Cosx.NumEnd.Text = 360 Cosx.NumEnd.Enabled = False Cosx.NumH.Text = -b1 End IfCosx.

7、Show 1Case 4 等减速运动dengjiansu.NumStr.Text = dengjiansu.NumEnd.Text = dengjiansu.NumH.Text = dengjiansu.NumStr.Text = areadengjiansu.NumStr.Enabled = Falsedengjiansu.NumEnd.Enabled = True If CountAll.Caption = CountNow.Caption Then dengjiansu.NumEnd.Text = 360 dengjiansu.NumEnd.Enabled = False dengjia

8、nsu.NumH.Text = -b1 End Ifdengjiansu.Show 1End SelectEnd SubPrivate Sub Command1_Click()On Error Resume NextStatic i%Dim FileSelect$i% = i% + 1j% = i%CommonDialog2.Action = 2CommonDialog2.InitDir = c:FileSelect$ = CommonDialog2.FileNamePicView1.Picture = PicView1.ImageSavePicture PicView1.Picture, F

9、ileSelect$End SubPrivate Sub Command2_Click()On Error Resume Next 推杆运动曲线图导出 Static i% Dim FileSelect$ i% = i% + 1 j% = i% CommonDialog3.Action = 2 CommonDialog3.InitDir = c: FileSelect$ = CommonDialog3.FileName PicView2.Picture = PicView2.Image SavePicture PicView2.Picture, FileSelect$End SubPrivate

10、 Sub Command3_Click() NCFile_ClickEnd SubPrivate Sub Form_Load()area = 0countnum = 1FrmView.ShowfrmAbout.ShowfrmAbout.Timer1.Interval = 250End SubPrivate Sub Frmch_Click()Frmliuch.ShowEnd SubPrivate Sub NCFile_Click()FrmNC.Show 1End SubPrivate Sub New_Click()FrmView.InRadius.Text = 清空Frmin1窗口中文本框的数值

11、FrmView.InRise1.Text = FrmView.InNum.Text = low = 0 数据初始化area = 0b1 = 0FrmView.PicView1.Cls 预览窗口清屏FrmView.PicView2.ClsFrmView.PicView2.ScaleLeft = -20 初始化坐标系FrmView.PicView2.ScaleTop = 18FrmView.Picture1.ClsFrmView.ShowFrmView.InRadius.Enabled = TrueFrmView.InRise1.Enabled = TrueFrmView.InNum.Enable

12、d = TrueFrmView.qued.Enabled = TrueFrmView.Label5.Visible = FalseFrmView.CountAll.Caption = 0FrmView.CountNow.Caption = 0FrmView.Label18.Caption = 基本参数输入FrmView.CmbSlect.Enabled = FalsePicView1.Visible = FalsePicView2.Visible = FalsePicture1.Visible = FalseOption6.Value = TrueEnd SubPrivate Sub new1

13、_Click()New_ClickEnd SubPrivate Sub Option1_Click()zbx = G90End SubPrivate Sub Option2_Click()zbx = G91End SubPrivate Sub Option3_Click()bch = End SubPrivate Sub Option4_Click()bch = G41End SubPrivate Sub Option5_Click()bch = G42End SubPrivate Sub pmian_Click() Command1_ClickEnd SubPrivate Sub qued_

14、click()Dim c1 As Integer, c2 As Integer, c As Integer验证基圆半径,升程,曲线段数的输入是否为数字If Val(InRadius) = 0 ThenMsgBox (不能为空或负值,请重新输入), 16InRadius = InRadius.SetFocusElseIf Val(InRise1) = 0 ThenMsgBox (不能为空或负值,请重新输入), 16InRise1 = InRise1.SetFocusElseIf Val(InNum) Val(NumStr) Then str = Val(NumStr): end1 = Val(N

15、umEnd): h = Val(NumH) radius = Val(FrmView.InRadius) low = 10 * Val(NumStr) For i = 0 To (end1 - str) Step 0.1 X = i * 540 / 360 Y = h * (1 - Cos(PI * i / (end1 - str) / 2 FrmView.PicView2.PSet (X, Y), RGB(1000, 0, 0) ptx(low) = (radius + (Gao + Y) * Sin(Huan + i) * PI / 180) pty(low) = (radius + (G

16、ao + Y) * Cos(Huan + i) * PI / 180) FrmView.PicView1.PSet (ptx(low), pty(low), RGB(1000, 0, 0) low = low + 1 Cosx.Hide FrmView.CmbSlect.Enabled = False If FrmView.Option7.Value = True ThenFrmView.Timer1.Enabled = TrueFrmView.Option7.BackColor = &H80FF80FrmView.Option7.ForeColor = &HFF&ElseFrmView.Ti

17、mer1.Enabled = FalseEnd If If FrmView.Option6.Value = True Then FrmView.Option7.Visible = True FrmView.Timer1.Enabled = False savetime = Timer 记下开始的时间 While Timer savetime + 0.0001 快 DoEvents Wend Else savetime = Timer 记下开始的时间 While Timer Val(FrmView.InRise1) Then MsgBox (超出总升程,请重新输入!), 16 low = 0 数

18、据初始化area = 0b1 = 0FrmView.PicView1.Cls 预览窗口清屏FrmView.PicView2.ClsFrmView.PicView2.ScaleLeft = -20 初始化坐标系FrmView.PicView2.ScaleTop = 18FrmView.Picture1.ClsFrmView.ShowFrmView.InRadius.Enabled = TrueFrmView.InRise1.Enabled = TrueFrmView.InNum.Enabled = TrueFrmView.qued.Enabled = TrueFrmView.Label5.Vis

19、ible = FalseFrmView.CountAll.Caption = 0FrmView.CountNow.Caption = 0FrmView.Label18.Caption = 基本参数输入FrmView.CmbSlect.Enabled = FalseFrmView.PicView1.Visible = FalseFrmView.PicView2.Visible = FalseFrmView.Option6.Value = True End If Else MsgBox (范围出错!), 16 Cosx.NumEnd.Text = Cosx.NumEnd.SetFocus End

20、IfElse MsgBox (输入为空或有非法字符,请重新输入!)End IfEnd SubPrivate Sub Command2_Click()Cosx.HideEnd SubSin窗体Option ExplicitPrivate Sub Command1_Click()Dim str As Double, end1 As Double, h As DoubleDim i As Double, radius As Double, savetime As DoubleDim X As Double, Y As DoubleIf IsNumeric(NumStr) And IsNumeric(

21、NumEnd) And IsNumeric(NumH) Then If Val(NumEnd) Val(NumStr) Then str = Val(NumStr): end1 = Val(NumEnd): h = Val(NumH) radius = Val(FrmView.InRadius) low = 10 * Val(NumStr) For i = 0 To (end1 - str) Step 0.1 X = i * 540 / 360 Y = h * (i / (end1 - str) - Sin(2 * PI * i / (end1 - str) / (2 * PI) FrmVie

22、w.PicView2.PSet (X, Y), RGB(1000, 0, 0) ptx(low) = (radius + (Gao + Y) * Sin(Huan + i) * PI / 180) pty(low) = (radius + (Gao + Y) * Cos(Huan + i) * PI / 180) FrmView.PicView1.PSet (ptx(low), pty(low), RGB(1000, 0, 0) low = low + 1 sinx.Hide FrmView.CmbSlect.Enabled = False If FrmView.Option7.Value =

23、 True ThenFrmView.Timer1.Enabled = TrueFrmView.Option7.BackColor = &H80FF80FrmView.Option7.ForeColor = &HFF&ElseFrmView.Timer1.Enabled = FalseEnd If If FrmView.Option6.Value = True Then FrmView.Option7.Visible = True FrmView.Timer1.Enabled = False savetime = Timer 记下开始的时间 While Timer savetime + 0.00

24、01 快 DoEvents Wend Else savetime = Timer 记下开始的时间 While Timer Val(FrmView.InRise1) Then MsgBox (超出总升程,请重新输入!), 16 low = 0 数据初始化area = 0b1 = 0FrmView.PicView1.Cls 预览窗口清屏FrmView.PicView2.ClsFrmView.PicView2.ScaleLeft = -20 初始化坐标系FrmView.PicView2.ScaleTop = 18FrmView.Picture1.ClsFrmView.ShowFrmView.InRa

25、dius.Enabled = TrueFrmView.InRise1.Enabled = TrueFrmView.InNum.Enabled = TrueFrmView.qued.Enabled = TrueFrmView.Label5.Visible = FalseFrmView.CountAll.Caption = 0FrmView.CountNow.Caption = 0FrmView.Label18.Caption = 基本参数输入FrmView.CmbSlect.Enabled = FalseFrmView.PicView1.Visible = FalseFrmView.PicVie

26、w2.Visible = FalseFrmView.Option6.Value = True End If Else MsgBox (范围出错!), 16 sinx.NumEnd.Text = sinx.NumEnd.SetFocus End IfElse MsgBox (输入为空或有非法字符,请重新输入!)End IfEnd SubPrivate Sub Command2_Click()sinx.HideEnd SubDengjiansu窗体Option ExplicitPrivate Sub Command1_Click()Dim str As Double, end1 As Double

27、, h As DoubleDim i As Double, radius As DoubleDim X As Double, Y As DoubleIf IsNumeric(NumStr) And IsNumeric(NumEnd) And IsNumeric(NumH) Then If Val(NumEnd) Val(NumStr) Then str = Val(NumStr): end1 = Val(NumEnd): h = Val(NumH) radius = Val(FrmView.InRadius) low = 10 * Val(NumStr) For i = 0 To (end1

28、- str) Step 0.1 X = i * 540 / 360 Y = h - h * (end1 - str) - i) 2 / (end1 - str) 2 FrmView.PicView2.PSet (X, Y), RGB(1000, 0, 0) ptx(low) = (radius + (Gao + Y) * Sin(Huan + i) * PI / 180) pty(low) = (radius + (Gao + Y) * Cos(Huan + i) * PI / 180) FrmView.PicView1.PSet (ptx(low), pty(low), RGB(1000,

29、0, 0) low = low + 1 dengjiansu.Hide FrmView.CmbSlect.Enabled = False If FrmView.Option7.Value = True ThenFrmView.Timer1.Enabled = TrueFrmView.Option7.BackColor = &H80FF80FrmView.Option7.ForeColor = &HFF&ElseFrmView.Timer1.Enabled = FalseEnd If If FrmView.Option6.Value = True Then FrmView.Option7.Vis

30、ible = True FrmView.Timer1.Enabled = False savetime = Timer 记下开始的时间 While Timer savetime + 0.0001 快 DoEvents Wend Else savetime = Timer 记下开始的时间 While Timer Val(FrmView.InRise1) Then MsgBox (超出总升程,请重新输入!), 16 low = 0 数据初始化area = 0b1 = 0FrmView.PicView1.Cls 预览窗口清屏FrmView.PicView2.ClsFrmView.PicView2.S

31、caleLeft = -20 初始化坐标系FrmView.PicView2.ScaleTop = 18FrmView.Picture1.ClsFrmView.ShowFrmView.InRadius.Enabled = TrueFrmView.InRise1.Enabled = TrueFrmView.InNum.Enabled = TrueFrmView.qued.Enabled = TrueFrmView.Label5.Visible = FalseFrmView.CountAll.Caption = 0FrmView.CountNow.Caption = 0FrmView.Label18

32、.Caption = 基本参数输入FrmView.CmbSlect.Enabled = FalseFrmView.PicView1.Visible = FalseFrmView.PicView2.Visible = FalseFrmView.Option6.Value = True End If Else MsgBox (范围出错!), 16 dengjiansu.NumEnd.Text = dengjiansu.NumEnd.SetFocus End IfElse MsgBox (输入为空或有非法字符,请重新输入!)End IfEnd SubPrivate Sub Command2_Clic

33、k()dengjiansu.HideEnd Sub Dengjiasu 窗体Option ExplicitPrivate Sub Command1_Click()Dim str As Double, end1 As Double, h As DoubleDim i As Double, radius As DoubleDim X As Double, Y As DoubleIf IsNumeric(NumStr) And IsNumeric(NumEnd) And IsNumeric(NumH) Then If Val(NumEnd) Val(NumStr) Then str = Val(Nu

34、mStr): end1 = Val(NumEnd): h = Val(NumH) radius = Val(FrmView.InRadius) low = 10 * Val(NumStr) For i = 0 To (end1 - str) Step 0.1 X = i * 540 / 360 Y = h * (i 2) / (end1 - str) 2) FrmView.PicView2.PSet (X, Y), RGB(1000, 0, 0) ptx(low) = (radius + (Gao + Y) * Sin(Huan + i) * PI / 180) pty(low) = (radius + (Gao + Y) * Cos(Huan + i) * PI / 180) FrmView.PicView1.PSet (ptx(low), pty(low), RGB(1000, 0, 0) low = low + 1 dengjiasu.Hide FrmView.CmbSlect.Enabled = False I

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论