版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 數(shù)控課程設計</b></p><p> ——NC仿真系統(tǒng)編制</p><p><b> 學院:機電工程學院</b></p><p><b> 專業(yè):機自五班</b></p><p><b> 學生:xxx</b><
2、;/p><p><b> 目錄</b></p><p> 內(nèi)容提要 …………………………………………… 3</p><p> 引言 …………………………………………… 3</p><p> 軟件設計 …………………………………………… 4</p><p> 開發(fā)工具的選擇 ……
3、……………………………… 4 </p><p> 人機界面的確定 …………………………………… 4</p><p> 其他輔助功能的祥細說明…………………………… 7</p><p> 軟件缺點說明 ……………………………………… 7</p><p> 改進措施 …………………………………………… 7</p>&
4、lt;p> 軟件的使用說明及測試結果………………………… 7</p><p> 算法說明……………………………………………… 7</p><p> 程序流程圖 ………………………………………… 8</p><p> 程序清單………………………………………………9</p><p> 設計小結………………………………………………
5、 25</p><p> 參考文獻 …………………………………………… 25</p><p><b> 一 內(nèi)容提要</b></p><p> 本說明書主要是作為NC仿真系統(tǒng)的介紹及操作說明。本軟件就是對于給定的一段NC代碼,用VB這個高級語言編寫程序?qū)⑺庸さ牧慵膸缀涡螤?、以及相關的加工參數(shù)仿真并輸出,減少實際加工時造成的可避免的
6、事故。本文簡要介紹了現(xiàn)代世界上數(shù)控仿真系統(tǒng)的發(fā)展概況,詳細介紹了本仿真系統(tǒng)的一些基本功能。</p><p> Application and Development of Simulation Technology in Manufacturing</p><p><b> Abstract</b></p><p> This instr
7、uction is mainly used to introduce this NC simulation system and how to operate .This sofeware compile by Visual Basic.It can output the workpiece shape and the concerned parameters according to a given NC code so that i
8、t can reduce the accident which can be avoid .This paper introduce the development survey of numerical controlling stimulation system in nowadays and introduct the system’s primary functions in detail.</p><p&g
9、t;<b> 二 引言</b></p><p> 近幾年,中國制造業(yè)的快速發(fā)展是有目共睹,中國將成為世界的制造中心。制造技術的發(fā)展將會為我國的現(xiàn)代化建設發(fā)揮更重要的作用。必然地,數(shù)控系統(tǒng)的計算機仿真技術也迅速發(fā)展,逐步成為數(shù)控系統(tǒng)不可缺少的關鍵環(huán)節(jié)。</p><p> 數(shù)控仿真技術為驗證數(shù)控程序的可靠性及預測加工過程提供了強有力的工具。驗證數(shù)控代碼,傳統(tǒng)的解決方
10、法是通過試切。就是實際加工木質(zhì)或塑料模型,通過檢查加工結果與原設計要求進行比較,再進行編輯修改。試切方式不但耗費人力物力,而且延緩了新產(chǎn)品的生產(chǎn)周期。后來又采用軌跡顯示法,即以劃針或筆代替刀具,以著色板或紙代替工件來仿真刀具運動軌跡的二維圖形(也可以顯示二維半的加工軌跡),有相當大的局限性。為此,人們一直在研究能代替試切的計算機仿真方法,并取得了重要的進展,目前正向提高模型的精確度、仿真計算實時化和改善圖形顯示的真實感等方向發(fā)展。<
11、;/p><p> 實現(xiàn)非實際加工過程中的數(shù)控加工仿真系統(tǒng),包括定性圖形顯示和定量干涉驗證兩方面。目前常用的方法有:1.直接實體造型法;2.基于圖像空間的方法;3.離散矢量求交法。圖象空間法數(shù)控程序仿真系統(tǒng)的基本原理是,利用軟件技術模擬數(shù)控裝置的基本功能,實現(xiàn)零件加工過程中的直線和圓弧插補過程,在計算機屏幕上動態(tài)仿真出零件加工過程中刀具切削運動軌跡,實現(xiàn)對數(shù)控程序的仿真驗證。(本軟件就是基于此方式的仿真系統(tǒng))<
12、/p><p> 經(jīng)過40多年的發(fā)展,我國數(shù)控系統(tǒng)在技術上已趨于成熟,在重大關鍵技術上(包括核心技術),已達到國外先進水平。結合曲面離散技術、掃描體造型技術和法矢求交技術進行曲面零件的五軸數(shù)控仿真,是一種可行的方法。幾何仿真和力學仿真相結合將獲得更精確的試切模型,這也是目前國內(nèi)尚未涉及、但急需解決的新課題。</p><p><b> 三 軟件設計</b></p&g
13、t;<p><b> 開發(fā)工具的選擇 </b></p><p> 目前流行的開發(fā)工具有C++Builder、VC、VB和Delphi,由于界面設計的方便性,而且以前學過VB。我就第一選擇了Visual Basic(VB)程序開發(fā)工具。因為VB程序設計語言簡單易用,又在編程系統(tǒng)中引入了面向?qū)ο蟮臋C制,用一種巧妙的方法把Windows編程的復雜性封裝起來,提供了一種可視界面的設
14、計方法。用戶可直接使用窗體和控件設計應用程序界面,極大地提高了應用程序開發(fā)的效率。</p><p><b> 主要具有以下優(yōu)點:</b></p><p> 強大的數(shù)值和字符處理功能</p><p> 豐富的圖形指令,可方便地繪制各種圖形</p><p> 提供靜態(tài)和動態(tài)數(shù)組,有利于簡化內(nèi)存管理</p>
15、<p> 過程可遞歸調(diào)用,使程序更為簡練</p><p> 支持隨機文件訪問和順序文件訪問</p><p> 提供了一個可供應用程序調(diào)用的包含多種類型的圖標庫</p><p> 具有完善的運行出錯處理</p><p> 因此選用VB為開發(fā)工具。</p><p><b> 人機界面的確
16、定 </b></p><p> 本程序提供了友好的人機交互界面,可實現(xiàn)各種參數(shù)的隨意設置個或修改。</p><p> 總共設計了三個窗口,分別是:</p><p><b> 歡迎窗口</b></p><p> 該窗口是剛運行本程序時,出現(xiàn)的窗口,是歡迎人使用此NC仿真系統(tǒng),讓人以較輕松的心情使用本程序
17、。以好的心態(tài)去設計NC程序。</p><p><b> ?。?)幫助窗口</b></p><p> 為了適應使用者的要求,本開發(fā)軟件還為工件的設置建立了該設計界面。能使用戶得到有用的信息,以方便使用本軟件。</p><p><b> (3)主窗口</b></p><p> 該窗口是程序仿真的主
18、窗口,從這個窗口可以完成大部分的仿真,從上圖可以了解其大部分名稱,具體使用方法可參看幫助菜單里的使用介紹,使用范圍等信息。</p><p> 3. 其他輔助功能的祥細說明</p><p> 該程序除提供一般的打開文件、新建文件、保存文件的普通功能外,還提供顯示速度控制和重新顯示,以幫助更好地觀察加工過程,此外還有幫助功能,使使用者能更快地了解本軟件,提高使用效率.</p>
19、<p> 4. 軟件缺點說明:</p><p> 不可避免,限于時間原因,該軟件存在不少缺點,主要有:</p><p> 畫圖精度有待提高,這與計算機本身有關</p><p> 暫停及停止靈敏度有待提高</p><p><b> 5. 改進措施:</b></p><p>
20、將畫直線、畫圓弧的子函數(shù)采用定時器來實現(xiàn)可提高靈敏度。</p><p> 6.軟件的使用說明及測試結果</p><p><b> 使用說明</b></p><p><b> 使用指南</b></p><p><b> 使用幫助</b></p><p&
21、gt; 該軟件必須在每行G指令的末尾設置一結束標識符方”F”可實現(xiàn)指針的移動。</p><p><b> 測試環(huán)境</b></p><p> 該程序在中文Windows98、Windows2000、WindowsXP下測試通過,并且運行正常.</p><p><b> 四 使用算法</b></p>
22、<p> 該NC系統(tǒng)使用積分插補算法,逐點比較計算各點的運動軌跡。</p><p> 直線插補采用逐點比較插補方法,從讀程序模塊中的到X,Y,Z的終點值 X1,Y1,Z1 首先通過判斷X1與X,Y1與Y,Z1與Z的大小關系確定X,Y,Z.利用公式:Fm=Ym*Xe-Xm*Ye,后再判斷Fm. 程序如下:</p><p> Sub G01(X As Single, Y As
23、Single, Z As Single)</p><p> Dim fm As Single, op As Single</p><p> bu = Abs(X - CurrentNX) + Abs(Y - CurrentNY)</p><p><b> op = 1</b></p><p><b>
24、fm = 0</b></p><p> Do Until bu = 0</p><p> If X >= 0 And Y >= 0 Then</p><p><b> 五 程序流程圖</b></p><p><b> 如下:</b></p><p&
25、gt;<b> 六 程序清單</b></p><p><b> 歡迎窗口程序:</b></p><p> Dim i As Integer</p><p> Private Sub Form_DblClick()</p><p> Form1.Show</p><p&g
26、t; Timer1.Enabled = False</p><p><b> Unload Me</b></p><p><b> End Sub</b></p><p> Private Sub Timer1_Timer()</p><p><b> i = i + 1<
27、/b></p><p> If i > 3 Then</p><p> Form1.Show</p><p><b> Unload Me</b></p><p><b> End If</b></p><p><b> End Sub<
28、/b></p><p><b> 幫助窗口程序:</b></p><p> Private Sub Form_Resize()</p><p> Text1.Left = 0</p><p> Text1.Top = 0</p><p> Text1.Width = Form2.W
29、idth</p><p> Text1.Height = Form2.Height</p><p><b> End Sub</b></p><p><b> 主窗口程序:</b></p><p> Dim xmovebein As Integer '畫直線起點X值</p&g
30、t;<p> Dim ymovebein As Integer '畫直線起點Y值</p><p> Dim xmovefinis As Integer '畫直線終點X值</p><p> Dim ymovefinis As Integer '畫直線終點Y值</p><p> Dim huang As Integer
31、 '退出循環(huán)程序的標志</p><p> Dim ch As Integer</p><p> Dim xround1 As Integer</p><p> Dim yround1 As Integer</p><p> Dim hh As Integer</p><p> Dim s As Int
32、eger</p><p> Public Sub savefile()</p><p> CommonDialog1.InitDir = "F:\數(shù)控仿真\NC程序"</p><p> CommonDialog1.Filter = "文檔文件(*.txt)|*.txt|所有文件(*.*)|*.*"</p>
33、<p> CommonDialog1.ShowSave</p><p> On Error GoTo re</p><p> Open CommonDialog1.FileName For Output As #1</p><p> Print #1, Text1.Text</p><p><b> Close
34、#1</b></p><p><b> re:</b></p><p><b> End Sub</b></p><p><b> '直線插補子過程</b></p><p> Public Sub G01(ByVal xbegin As Intege
35、r, ByVal ybegin As Integer, ByVal xfinish As Integer, ByVal yfinish As Integer)</p><p> Label10.Caption = "直線插補"</p><p> Dim k As Single '直線的斜率</p><p> Dim k1 As Si
36、ngle '動點與終點連線的斜率</p><p> xmovebegin = xbegin: ymovebegin = ybegin: xmovefinish = xbegin: ymovefinish = ybegin</p><p> '初始化畫直線起點X值 畫直線起點Y值 畫直線終點X值 畫直線終點Y值</p><p> If xbegi
37、n <> xfinish And ybegin <> yfinish Then</p><p> k = (yfinish - ybegin) / (xfinish - xbegin)</p><p><b> End If</b></p><p><b> Do</b></p>
38、<p> Picture1.Line (xmovebegin, ymovebegin)-(xmovefinish, ymovefinish), &H110CE4 '畫線</p><p> xmovebegin = xmovefinish: ymovebegin = ymovefinish '重新對畫線起點賦值</p><p> If xbegin
39、<> xfinish And ybegin <> yfinish Then '判斷斜率是否存在或者大于零</p><p> If xfinish <> xmovefinish Then</p><p> k1 = (yfinish - ymovefinish) / (xfinish - xmovefinish)</p><
40、p><b> End If</b></p><p> If k > 0 Then '判斷斜率的正負</p><p> If xbegin < xfinish Then '判斷插補的方向</p><p> If k1 > k Then</p><p> ymovefinis
41、h = ymovefinish + 1</p><p> Text3.Text = "+1"</p><p> Text2.Text = "0"</p><p> If s <> 1 Then</p><p> Call delay</p><p><b
42、> End If</b></p><p><b> Else</b></p><p> xmovefinish = xmovefinish + 1</p><p> Text2.Text = "+1"</p><p> Text3.Text = "0"&
43、lt;/p><p> If s <> 1 Then</p><p> Call delay</p><p><b> End If</b></p><p><b> End If</b></p><p><b> Else</b><
44、;/p><p> If k1 > k Then</p><p> ymovefinish = ymovefinish - 1</p><p> Text3.Text = "-1"</p><p> If s <> 1 Then</p><p> Call delay</
45、p><p><b> End If</b></p><p><b> Else</b></p><p> xmovefinish = xmovefinish - 1</p><p> Text2.Text = "+1"</p><p> If s &
46、lt;> 1 Then</p><p> Call delay</p><p><b> End If</b></p><p><b> End If</b></p><p><b> End If</b></p><p><b>
47、; Else</b></p><p> If xbegin < xfinish Then</p><p> If k1 > k Then</p><p> xmovefinish = xmovefinish + 1</p><p> Text2.Text = "+1"</p>
48、<p> If s <> 1 Then</p><p> Call delay</p><p><b> End If</b></p><p><b> Else</b></p><p> ymovefinish = ymovefinish - 1</p>
49、;<p> Text3.Text = "-1"</p><p> If s <> 1 Then</p><p> Call delay</p><p><b> End If</b></p><p><b> End If</b></p&
50、gt;<p><b> Else</b></p><p> If k1 > k Then</p><p> xmovefinish = xmovefinish - 1</p><p> Text2.Text = "-1"</p><p> If s <> 1
51、Then</p><p> Call delay</p><p><b> End If</b></p><p><b> Else</b></p><p> ymovefinish = ymovefinish + 1</p><p> Text3.Text = &
52、quot;+1"</p><p> If s <> 1 Then</p><p> Call delay</p><p><b> End If</b></p><p><b> End If</b></p><p><b> End
53、 If</b></p><p><b> End If</b></p><p><b> Else</b></p><p> If xbegin = xfinish Then</p><p> If ybegin > yfinish Then</p><
54、p> ymovefinish = ymovefinish - 1</p><p> Text3.Text = "-1"</p><p> If s <> 1 Then</p><p> Call delay</p><p><b> End If</b></p>
55、<p><b> Else</b></p><p> ymovefinish = ymovefinish + 1</p><p> Text3.Text = "+1"</p><p> If s <> 1 Then</p><p> Call delay</p
56、><p><b> End If</b></p><p><b> End If</b></p><p><b> Else</b></p><p> If xbegin > xfinish Then</p><p> xmovefinish
57、 = xmovefinish - 1</p><p> Text2.Text = "-1"</p><p> If s <> 1 Then</p><p> Call delay</p><p><b> End If</b></p><p><b&g
58、t; Else</b></p><p> xmovefinish = xmovefinish + 1</p><p> Text2.Text = "+1"</p><p> If s <> 1 Then</p><p> Call delay</p><p><
59、;b> End If</b></p><p><b> End If</b></p><p><b> End If</b></p><p><b> End If</b></p><p> If xbegin = xfinish Or ybegin
60、 = yfinish Then</p><p> shi = (xmovefinish <> xfinish Or ymovefinish <> yfinish)</p><p><b> Else</b></p><p> shi = (xmovefinish <> xfinish And ymove
61、finish <> yfinish)</p><p><b> End If</b></p><p> Text5.Text = Format$(xmovefinish / 10, "00.0000")</p><p> Text6.Text = Format$(ymovefinish / 10, &quo
62、t;00.0000")</p><p> Text7.Text = Format$(0, "00.0000")</p><p> If huang = 1 Or huang = 2 Then Exit Do</p><p> Loop While shi</p><p><b> End Sub
63、</b></p><p> 'X正方向脈沖輸出子過程</p><p> Public Sub delay()</p><p> Dim i As Integer</p><p> For i = 1 To s</p><p><b> DoEvents</b><
64、/p><p><b> Next i</b></p><p><b> End Sub</b></p><p><b> '順圓插補子過程</b></p><p> Public Sub G02(ByVal xbegin As Single, ByVal ybegi
65、n As Single, ByVal xfinish As Single, ByVal yfinish As Single, ByVal xround As Single, ByVal yround, ByVal r As Single)</p><p> Dim wen As Integer</p><p> Label10.Caption = "順圓插補"<
66、;/p><p> Dim l As Single '動點到圓心的距離</p><p> xmovebegin = xbegin: ymovebegin = ybegin: xmovefinish = xbegin: ymovefinish = ybegin</p><p> '初始化畫直線起點X值 畫直線起點Y值 畫直線終點X值 畫直線終點Y值&l
67、t;/p><p><b> Do</b></p><p> Picture1.Line (xmovebegin, ymovebegin)-(xmovefinish, ymovefinish), &H110CE4 '畫線</p><p> xmovebegin = xmovefinish: ymovebegin = ymovef
68、inish '重新對畫線起點賦值</p><p> l = Sqr((xmovefinish - xround) ^ 2 + (ymovefinish - yround) ^ 2)</p><p> If xmovefinish >= xround And ymovefinish > yround Then '判斷動點在以圓心為坐標原點的坐標系是的像限<
69、;/p><p><b> wen = 1</b></p><p> ElseIf xmovefinish < xround And ymovefinish >= yround Then</p><p><b> wen = 2</b></p><p> ElseIf xmovefin
70、ish <= xround And ymovefinish < yround Then</p><p><b> wen = 3</b></p><p> ElseIf xmovefinish > xround And ymovefinish <= yround Then</p><p><b> wen
71、 = 4</b></p><p><b> End If</b></p><p> Select Case wen</p><p><b> Case 1</b></p><p> If l <= r Then</p><p> xmovefini
72、sh = xmovefinish + 1</p><p> Text2.Text = "+1"</p><p> Text3.Text = "0"</p><p> If s <> 1 Then</p><p> Call delay</p><p><
73、b> End If</b></p><p><b> Else</b></p><p> ymovefinish = ymovefinish - 1</p><p> Text3.Text = "-1"</p><p> Text2.Text = "0"
74、</p><p> If s <> 1 Then</p><p> Call delay</p><p><b> End If</b></p><p><b> End If</b></p><p><b> Case 2</b>
75、</p><p> If l <= r Then</p><p> ymovefinish = ymovefinish + 1</p><p> Text3.Text = "+1"</p><p> If s <> 1 Then</p><p> Call delay&l
76、t;/p><p><b> End If</b></p><p><b> Else</b></p><p> xmovefinish = xmovefinish + 1</p><p> Text2.Text = "+1"</p><p> If
77、s <> 1 Then</p><p> Call delay</p><p><b> End If</b></p><p><b> End If</b></p><p><b> Case 3</b></p><p> If
78、l <= r Then</p><p> xmovefinish = xmovefinish - 1</p><p> Text2.Text = "-1"</p><p> If s <> 1 Then</p><p> Call delay</p><p><b&g
79、t; End If</b></p><p><b> Else</b></p><p> ymovefinish = ymovefinish + 1</p><p> Text3.Text = "+1"</p><p> If s <> 1 Then</p>
80、;<p> Call delay</p><p><b> End If</b></p><p><b> End If</b></p><p><b> Case 4</b></p><p> If l <= r Then</p>
81、<p> ymovefinish = ymovefinish - 1</p><p> Text3.Text = "-1"</p><p> If s <> 1 Then</p><p> Call delay</p><p><b> End If</b></p
82、><p><b> Else</b></p><p> xmovefinish = xmovefinish - 1</p><p> Text2.Text = "-1"</p><p> If s <> 1 Then</p><p> Call delay&l
83、t;/p><p><b> End If</b></p><p><b> End If</b></p><p> End Select</p><p> Text5.Text = Format$(xmovefinish / 10, "00.0000")</p>
84、<p> Text6.Text = Format$(ymovefinish / 10, "00.0000")</p><p> Text7.Text = Format$(0, "00.0000")</p><p> If huang = 1 Or huang = 2 Then Exit Do</p><p>
85、 Loop While xmovefinish <> xfinish Or ymovefinish <> yfinish</p><p><b> End Sub</b></p><p><b> '逆圓插補子過程</b></p><p> Public Sub G03(ByVal
86、xbegin As Integer, ByVal ybegin As Integer, ByVal xfinish As Integer, ByVal yfinish As Integer, ByVal xround As Integer, ByVal yround As Integer, ByVal r As Integer)</p><p> Label10.Caption = "逆圓插補&quo
87、t;</p><p> Dim wen As Integer</p><p> Dim l As Single '動點到圓心的距離</p><p> xmovebegin = xbegin: ymovebegin = ybegin: xmovefinish = xbegin: ymovefinish = ybegin</p><p&
88、gt; '初始化畫直線起點X值 畫直線起點Y值 畫直線終點X值 畫直線終點Y值</p><p><b> Do</b></p><p> Picture1.Line (xmovebegin, ymovebegin)-(xmovefinish, ymovefinish), &H110CE4 '畫線</p><p>
89、 xmovebegin = xmovefinish: ymovebegin = ymovefinish '重新對畫線起點賦值</p><p> l = Sqr((xmovefinish - xround) ^ 2 + (ymovefinish - yround) ^ 2)</p><p> If xmovefinish >= xround And ymovefinish
90、> yround Then '判斷動點在以圓心為坐標原點的坐標系是的像限</p><p><b> wen = 1</b></p><p> ElseIf xmovefinish < xround And ymovefinish >= yround Then</p><p><b> wen = 2&l
91、t;/b></p><p> ElseIf xmovefinish <= xround And ymovefinish < yround Then</p><p><b> wen = 3</b></p><p> ElseIf xmovefinish > xround And ymovefinish <=
92、yround Then</p><p><b> wen = 4</b></p><p><b> End If</b></p><p> Select Case wen</p><p><b> Case 1</b></p><p> If
93、l < r Then</p><p> ymovefinish = ymovefinish + 1</p><p> Text3.Text = "+1"</p><p> If s <> 1 Then</p><p> Call delay</p><p><b>
94、; End If</b></p><p><b> Else</b></p><p> xmovefinish = xmovefinish - 1</p><p> Text2.Text = "-1"</p><p> If s <> 1 Then</p>
95、<p> Call delay</p><p><b> End If</b></p><p><b> End If</b></p><p><b> Case 2</b></p><p> If l < r Then</p>&l
96、t;p> xmovefinish = xmovefinish - 1</p><p> Text2.Text = "-1"</p><p> If s <> 1 Then</p><p> Call delay</p><p><b> End If</b></p&g
97、t;<p><b> Else</b></p><p> ymovefinish = ymovefinish - 1</p><p> Text3.Text = "-1"</p><p> If s <> 1 Then</p><p> Call delay<
98、/p><p><b> End If</b></p><p><b> End If</b></p><p><b> Case 3</b></p><p> If l < r Then</p><p> ymovefinish = ymov
99、efinish - 1</p><p> Text3.Text = "-1"</p><p> If s <> 1 Then</p><p> Call delay</p><p><b> End If</b></p><p><b> Els
100、e</b></p><p> xmovefinish = xmovefinish + 1</p><p> Text2.Text = "+1"</p><p> If s <> 1 Then</p><p> Call delay</p><p><b>
101、 End If</b></p><p><b> End If</b></p><p><b> Case 4</b></p><p> If l < r Then</p><p> xmovefinish = xmovefinish + 1</p><
102、p> Text2.Text = "+1"</p><p> If s <> 1 Then</p><p> Call delay</p><p><b> End If</b></p><p><b> Else</b></p><
103、p> ymovefinish = ymovefinish + 1</p><p> Text3.Text = "+1"</p><p> If s <> 1 Then</p><p> Call delay</p><p><b> End If</b></p>
104、<p><b> End If</b></p><p> End Select</p><p> Text5.Text = Format$(xmovefinish / 10, "00.0000")</p><p> Text6.Text = Format$(ymovefinish / 10, "
105、;00.0000")</p><p> Text7.Text = Format$(0, "00.0000")</p><p> If huang = 1 Or huang = 2 Then Exit Do</p><p> Loop While xmovefinish <> xfinish Or ymovefinish
106、 <> yfinish</p><p><b> End Sub</b></p><p><b> '快速定位子過程</b></p><p> Public Sub G00(ByVal xbegin As Single, ByVal ybegin As Single, ByVal xfinish
107、As Single, ByVal yfinish As Single)</p><p> Label10.Caption = "快速定位"</p><p> Dim n As Single</p><p> If xfinish >= xbegin Then</p><p> Text2.Text = &qu
108、ot;+1"</p><p><b> Else</b></p><p> Text2.Text = "-1"</p><p><b> End If</b></p><p> xbegin = xfinish</p><p> If
109、yfinish >= ybegin Then</p><p> Text3.Text = "+1"</p><p><b> Else</b></p><p> Text3.Text = "-1"</p><p><b> End If</b>&
110、lt;/p><p> ybegin = yfinish</p><p><b> End Sub</b></p><p> Private Sub close_Click()</p><p><b> huang = 1</b></p><p><b> Un
111、load Me</b></p><p><b> End Sub</b></p><p> Private Sub Command1_Click()</p><p> 'Anjan 'vbio.dll的解鎖操作,不可缺少,Anjan為vbio.dll的作者名字</p><p> Wit
112、h Picture1</p><p> .ScaleWidth = 4800 '定義圖像框的寬度尺寸</p><p> .ScaleHeight = -4800 '定義圖像框的高度尺寸</p><p> .ScaleLeft = -2400 '設置坐標原點</p><p> .ScaleTop = 2400&l
113、t;/p><p> .DrawWidth = 1 '定義線形</p><p> .DrawStyle = 6</p><p><b> End With</b></p><p> Picture1.Line (-2390, 0)-(2390, 0), &HFF0000 '畫X軸</
114、p><p> Picture1.Line (0, -2390)-(0, 2390), &HFF0000 '畫Y軸</p><p> Picture1.Circle (0, 0), 1.5, RGB(128, 0, 0)</p><p> With Picture1</p><p> .DrawWidth = 1&l
115、t;/p><p> .DrawStyle = 6</p><p><b> End With</b></p><p> Text1.Text = UCase$(Text1.Text)</p><p> Dim i As Integer, a(1 To 100), mb(1 To 100) As String, j A
116、s Integer, m As Integer</p><p> Static gwb2%, m1%, xb2%, yb2%, ib2%, jb2%</p><p><b> Do '處理M代碼</b></p><p> m = InStr(m + 1, Text1.Text, "M")</p>
117、<p> If m = 0 Then Exit Do</p><p><b> j = j + 1</b></p><p> mb(j) = Mid$(Text1.Text, m, 3)</p><p><b> i = i + 1</b></p><p><b> a
118、(i) = m</b></p><p> Loop While m <> 0</p><p> Dim gwb As Integer, gww As String ' 定取G代碼的參數(shù)</p><p> Dim xb As Integer, xb1 As Integer, xw As String, xasc As Intege
119、r '定義取X值的參數(shù)</p><p> Dim yb As Integer, yb1 As Integer, yw As String, yasc As Integer '定義取Y值的參數(shù)</p><p> Dim jb As Integer, jb1 As Integer, jw As String, jasc As Integer '定義取J值的參數(shù)<
120、;/p><p> Dim ib As Integer, ib1 As Integer, iw As String, iasc As Integer '定義取I值的參數(shù)</p><p> Dim xfinish As Single</p><p><b> Do</b></p><p> ch = InStr(
121、ch + 1, Text1.Text, Chr(10))</p><p> Dim k As Integer '數(shù)值的個數(shù)</p><p> '取G00,G01,G02,G03</p><p> If huang = 3 Then gwb = gwb2 - 1</p><p> gwb = InStr(gwb + 1,
122、 Text1.Text, "G")</p><p> For k = 1 To i</p><p> If a(k) > gwb And a(k) < ch Then</p><p> Select Case mb(k)</p><p> Case "M03"</p>
123、<p> Text8.Text = "順"</p><p> Case "M04"</p><p> Text8.Text = "逆"</p><p> Case "M05"</p><p> Text8.Text = "停"
124、;</p><p> Case "M08"</p><p> Text9.Text = "開"</p><p> Case "M09"</p><p> Text9.Text = "關"</p><p> End Select&l
125、t;/p><p><b> End If</b></p><p><b> Next k</b></p><p> If gwb = 0 Then Exit Do</p><p> gww = Mid$(Text1.Text, gwb, 3)</p><p><b&
126、gt; '取X后面的數(shù)值</b></p><p> If huang = 3 Then xb = xb2 - 1</p><p> xb = InStr(xb + 1, Text1.Text, "X")</p><p><b> xb1 = xb</b></p><p>&
127、lt;b> xasc = 46</b></p><p> Do While xasc >= 48 And xasc <= 57 Or xasc = 46 Or xasc = 45</p><p> xw = Mid$(Text1.Text, xb + 1, 1)</p><p> xb = xb + 1</p>&
128、lt;p><b> k = k + 1</b></p><p> xasc = Asc(xw)</p><p><b> Loop</b></p><p> xfinish = Val(Mid$(Text1.Text, xb1 + 1, k)) * 10</p><p><b&g
129、t; '取Y后面的數(shù)值</b></p><p> If huang = 3 Then</p><p> yb = yb2 - 1</p><p><b> End If</b></p><p> yb = InStr(yb + 1, Text1.Text, "Y")<
130、;/p><p><b> yb1 = yb</b></p><p><b> yasc = 46</b></p><p> Do While yasc >= 48 And yasc <= 57 Or yasc = 46 Or yasc = 45</p><p> yw = Mid$(
131、Text1.Text, yb + 1, 1)</p><p> yb = yb + 1</p><p><b> k = k + 1</b></p><p> yasc = Asc(yw)</p><p><b> Loop</b></p><p> yfinish
132、 = Val(Mid$(Text1.Text, yb1 + 1, k)) * 10</p><p><b> '取I值后面的值</b></p><p> If gww = "G02" Or gww = "G03" Then</p><p> If huang = 3 Then</p&g
133、t;<p> ib = ib2 - 1</p><p><b> End If</b></p><p> ib = InStr(ib + 1, Text1.Text, "I")</p><p><b> ib1 = ib</b></p><p><b&
134、gt; iasc = 46</b></p><p> Do While iasc >= 48 And iasc <= 57 Or iasc = 46 Or iasc = 45</p><p> iw = Mid$(Text1.Text, ib + 1, 1)</p><p> ib = ib + 1</p><p&
135、gt;<b> k = k + 1</b></p><p> iasc = Asc(iw)</p><p><b> Loop</b></p><p> Iround = Val(Mid$(Text1.Text, ib1 + 1, k)) * 10</p><p><b>
136、39;取J后面的值</b></p><p> If huang = 3 Then</p><p> jb = jb2 - 1</p><p><b> End If</b></p><p> jb = InStr(jb + 1, Text1.Text, "J")</p>
137、<p><b> jb1 = jb</b></p><p><b> jasc = 46</b></p><p> Do While jasc >= 48 And jasc <= 57 Or jasc = 46 Or jasc = 45</p><p> jw = Mid$(Text1.T
138、ext, jb + 1, 1)</p><p> jb = jb + 1</p><p><b> k = k + 1</b></p><p> jasc = Asc(jw)</p><p><b> Loop</b></p><p> Jround = Val(M
139、id$(Text1.Text, jb1 + 1, k)) * 10</p><p> xround = xbegin + Iround: yround = ybegin + Jround '求圓心坐標</p><p> If huang = 0 Then</p><p> xround1 = xround: yround1 = yround</p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)控加工仿真課程設計說明書
- 數(shù)控課程設計說明書
- 數(shù)控課程設計(說明書).doc
- 數(shù)控課程設計(說明書).doc
- 機械系統(tǒng)仿真課程設計(課程設計說明書)
- 數(shù)控加工課程設計說明書
- 數(shù)控課程設計說明書 .doc
- 數(shù)控課程設計說明書 .doc
- 數(shù)控課程設計說明書 .doc
- 數(shù)控課程設計說明書.doc
- 數(shù)控編程課程設計說明書
- 數(shù)控課程設計說明書 .doc
- 數(shù)控機床課程設計說明書
- 數(shù)控機床課程設計說明書
- 數(shù)控加工與編程課程設計說明書
- 《生產(chǎn)建模與仿真課程設計》-工業(yè)工程課程設計說明書
- 課程設計--電力系統(tǒng)繼電保護及仿真說明書
- bpsk調(diào)制解調(diào)系統(tǒng)的仿真設計-大學課程設計說明書
- vfp課程設計--學生管理系統(tǒng)課程設計說明書
- 數(shù)控銑床主軸箱課程設計說明書
評論
0/150
提交評論