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

提交評論