數(shù)控仿真加工改良的相關(guān)論文.doc_第1頁(yè)
數(shù)控仿真加工改良的相關(guān)論文.doc_第2頁(yè)
數(shù)控仿真加工改良的相關(guān)論文.doc_第3頁(yè)
數(shù)控仿真加工改良的相關(guān)論文.doc_第4頁(yè)
數(shù)控仿真加工改良的相關(guān)論文.doc_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

西安科技大學(xué)研究生考試試卷題號(hào)分 數(shù)閱卷人12345678s10總分學(xué)號(hào) 201403086 姓名 趙遠(yuǎn)飛 所在學(xué)院 機(jī)械工程 學(xué)科、專業(yè) 機(jī)械電子工程 考試科目 現(xiàn)代數(shù)控技術(shù) 考試日期 2015年5月 課程學(xué)時(shí) 32 注 意 事 項(xiàng)1、考生必須遵守考場(chǎng)紀(jì)律。2、答題必須寫清楚題號(hào)。3、字跡要清楚,保持卷面整潔。4、試題隨試卷一起交回(試題寫在黑板上時(shí),答題時(shí)應(yīng)抄寫題目)。開(kāi)(閉)卷 開(kāi) 卷 趙遠(yuǎn)飛(西安科技大學(xué) 機(jī)械工程學(xué)院,陜西 西安 710054)摘 要:本文通過(guò)概括分析數(shù)控加工仿真軟件的發(fā)展現(xiàn)狀,并對(duì)現(xiàn)有的此類軟件,如VERCUT提出了兩點(diǎn)建議:1)TXT文本中的數(shù)控程序應(yīng)該分行分列對(duì)齊(轉(zhuǎn)換到Excel表中),方便用戶更直觀的檢查和修改程序;2)數(shù)控程序中的關(guān)鍵信息應(yīng)提前被提取到相關(guān)的Excel表中,以便用戶及時(shí)捕捉關(guān)鍵信息,并根據(jù)編程經(jīng)驗(yàn)調(diào)整參數(shù)?;谝陨蟽牲c(diǎn),本文采用VC+編程擬實(shí)現(xiàn)以上兩種功能,文中分析了編程的流程圖及各個(gè)主模塊的編程思路,并演示了該應(yīng)用程序的轉(zhuǎn)換效果。最后,在分析轉(zhuǎn)換效果的基礎(chǔ)上提出了兩點(diǎn)改進(jìn)措施,為進(jìn)一步完善程序作出引導(dǎo)。關(guān)鍵詞: 數(shù)控加工仿真;VC+;Zhao yuanfei(College of Mechanical Engineering,Xian University of Science and Technology,Xian 710054,China)Abstract: This paper summarizes the development present situation, the analysis of NC machining simulation software and, for the existing of such software, such as VERCUT, I put forward two suggestions: 1) NC program in TXT text should branch in alignment (conversion to the Excel table), in order to users more intuitive to check and modify the program easy to use; 2) key information in NC programming should be extracted to related Excel table, so that the user to capture key information, and adjust the parameters according to the programming experience. Based on the above two points, this paper uses MFC software to realize the above two kinds of function, this paper analyzes the programming ideas programming flow chart and each main module, and demonstrates the effect of switching the application. Finally, on the basis of the analysis of transition effect on present two improvements, to further improve the program to guide.Keywords: NC machining simulation; VC+0引 言伴隨著數(shù)控加工技術(shù)的發(fā)展,各類仿真軟件隨之而出。由于零件的形狀和加工環(huán)境的復(fù)雜性,在加工過(guò)程中很容易出現(xiàn)“過(guò)切”和“欠切”,甚至?xí)霈F(xiàn)刀具與工件及機(jī)床部件的干涉和碰撞,因此在實(shí)際加工前,采取適當(dāng)有效的措施對(duì)數(shù)控程序進(jìn)行檢驗(yàn)和修正是十分必要的。 也正是基于這種需求,各種數(shù)控加工仿真軟件應(yīng)運(yùn)而生,其中最具有代表性的是由美國(guó)CGTECH公司開(kāi)發(fā)的數(shù)控加工仿真軟件VERICUT,它作為世界最強(qiáng)的數(shù)控模擬仿真軟件,是全世界NC驗(yàn)證軟體的領(lǐng)導(dǎo)者。 正是基于數(shù)控仿真加工軟件的這一弊端,本文中采用VC+軟件編程,實(shí)現(xiàn)以下兩種功能: 1)將TXT文檔中的數(shù)控程序分行分列對(duì)齊輸入到表EXCEL1(程序參數(shù)匯總1)中,使數(shù)控程序更直觀、清晰、有條理,方便用戶瀏覽和修改程序。2)提煉TXT文檔中數(shù)控程序的重要信息,如刀具類型、主軸轉(zhuǎn)速、進(jìn)給量等。并將這三類信息分列輸入到表EXCEL2(程序參數(shù)匯總2)中,方便用戶及時(shí)捕捉關(guān)鍵信息,并根據(jù)編程經(jīng)驗(yàn)調(diào)整參數(shù)。1.1 VC+概述Microsoft Visual C+,是Microsoft公司推出的開(kāi)發(fā)Win32環(huán)境程序,面向?qū)ο蟮目梢暬删幊滔到y(tǒng)。1.2 VC+軟件優(yōu)點(diǎn)它不但具有程序框架自動(dòng)生成、靈活方便的類管理、代碼編寫和界面設(shè)計(jì)集成交互操作、可開(kāi)發(fā)多種程序等優(yōu)點(diǎn),而且通過(guò)簡(jiǎn)單的設(shè)置就可使其生成的程序框架支持?jǐn)?shù)據(jù)庫(kù)接口、OLE2,WinSock網(wǎng)絡(luò)、3D控制界面。它以擁有“語(yǔ)法高亮”,IntelliSense以及高級(jí)除錯(cuò)功能而著稱。比如,它允許用戶進(jìn)行遠(yuǎn)程調(diào)試,單步執(zhí)行等。還有允許用戶在調(diào)試期間重新編譯被修改的代碼,而不必重新啟動(dòng)正在調(diào)試的程序。其編譯及建置系統(tǒng)以預(yù)編譯頭文件、最小重建功能及累加連結(jié)著稱。 2 VC+編程2.1 VC+編程方法VC+編程結(jié)構(gòu)簡(jiǎn)單,易實(shí)現(xiàn)所需界面和功能,所以本文中采用VC+編程,擬實(shí)現(xiàn)第一章中的兩種功能。編程的流程圖如圖1所示: 圖1 編程流程圖Fig .1 Flow chart for programming2.2 主模塊分析 采用VC+編寫這個(gè)程序最終的實(shí)現(xiàn)的界面如圖2所示,在此界面中有五個(gè)按鈕和兩個(gè)對(duì)話框,其中按鈕1 “選擇文本路徑”控制選擇輸入TXT文本的路徑;按鈕2“選擇存儲(chǔ)路徑”控制選擇最終生成的Excel表格的存儲(chǔ)路徑;對(duì)應(yīng)的兩個(gè)對(duì)話框既可以輸入路徑也可以顯示按鈕選擇的路徑;按鈕3“轉(zhuǎn)換“用于控制將TXT文本中的數(shù)控程序按要求讀入并提取關(guān)鍵信息到兩個(gè)創(chuàng)建的Excel表格中,這兩個(gè)Excel表格存儲(chǔ)路徑是用戶自定義的;按鈕4”清除“用于修改路徑或者實(shí)現(xiàn)多次轉(zhuǎn)換;按鈕5”退出“用于實(shí)現(xiàn)關(guān)閉該界面和程序。 圖2 程序界面Fig. 2 The program interface2.2.1 按鈕1“選擇文本路徑“程序分析以下為按鈕1“選擇文本路徑“的程序,在這個(gè)程序中首先創(chuàng)建了一個(gè)對(duì)話框,并且把用戶所選定的文本路徑作為一個(gè)字符串賦給變量m_Input,方便后續(xù)程序使用,比如VC+的file里面有個(gè)open()函數(shù),open(m_Input)就表示打開(kāi)你選擇的TXT文檔,并且可以對(duì)這個(gè)文檔進(jìn)行操作。更改對(duì)話框作用是顯示你選擇的文本路徑,就是告訴你所選擇的是哪個(gè)文件。void CTXT_EXCLDlg:OnBnClickedButton1() /控制“選擇文本路徑”按鈕 CFileDialog mFileDlg(TRUE, NULL,NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOW MULTISELECT, NULL, AfxGetMainWnd();mFileDlg.DoModal(); /創(chuàng)建對(duì)話框UpdateData(true);m_Input = mFileDlg.GetPathName();UpdateData(false); /更改文本框的內(nèi)容 2.2.2 按鈕2“選擇存儲(chǔ)路徑“程序分析以下為按鈕2“選擇存儲(chǔ)路徑“的程序,該程序創(chuàng)建選擇存儲(chǔ)路徑對(duì)話框,是win32的固定模式,其創(chuàng)建的對(duì)話框如圖3所示:void CTXT_EXCLDlg:OnBnClickedButton2() /控制“選擇存儲(chǔ)路徑”按鈕,創(chuàng)建選擇/存儲(chǔ)路徑對(duì)話框,該函數(shù) 是win32 固定模式UpdateData(true);BROWSEINFO bi; ZeroMemory(&bi,sizeof(BROWSEINFO); LPMALLOC pMalloc;LPITEMIDLIST pidl = SHBrowseForFolder(&bi); if (pidl=NULL) return; if(pidl != NULL) TCHAR * path = new TCHARMAX_PATH; SHGetPathFromIDList(pidl,path); m_Output = path;/ MessageBox(NULL,path,TEXT(Choose),MB_OK); if(SUCCEEDED(SHGetMalloc(&pMalloc)/pidl指向的對(duì)象用完應(yīng)該釋放 pMalloc-Free(pidl); pMalloc-Release(); UpdateData(FALSE); delete path; UpdateData(false); 圖 3 選擇存儲(chǔ)路徑對(duì)話框Fig. 3 Select the storage path dialog2.2.3 按鈕3“轉(zhuǎn)換“程序分析以下為按鈕3“轉(zhuǎn)換“的主程序,這段程序是實(shí)現(xiàn)題中要求功能的最核心的部分,在這個(gè)程序中按功能而言主要分為以下三大塊:void CTXT_EXCLDlg:OnBnClickedButton3() /控制“轉(zhuǎn)換”按鈕/警告處理TCHAR temp = _T(輸入文本路徑錯(cuò)誤,請(qǐng)檢查文本路徑!);if (m_Input = )MessageBox(temp, MB_OK, 0);return;TCHAR temp1 = _T(EXCL存儲(chǔ)路徑錯(cuò)誤,請(qǐng)檢查文本路徑!);if (m_Output = )MessageBox(temp1, MB_OK, 0);return; CExcel excel; /使用CExcel類創(chuàng)建了一個(gè)類對(duì)象“excel”excel.WExeExcel(m_Output,m_Input); /執(zhí)行WExeExcel函數(shù),用于創(chuàng)建表1 excel.WExeExcel1(m_Output, m_Input); / 執(zhí)行WExeExcel函數(shù),用于創(chuàng)建表21)打開(kāi)用戶需要轉(zhuǎn)換的TXT文本,并確定Excel表格的存儲(chǔ)路徑正確。在這個(gè)過(guò)程中,有兩種情況:當(dāng)輸入文本路徑為空(存儲(chǔ)路徑為空)時(shí)彈出如圖4所示消息框,提示輸入文本路徑錯(cuò)誤(Excel存儲(chǔ)路徑錯(cuò)誤),請(qǐng)用戶檢查相應(yīng)的路徑;否則,順利打開(kāi)文本,用戶可以操作該文本。 圖4 提示消息框Fig. 4 Message box2)讀取TXT文本的數(shù)據(jù),用函數(shù)file.CountLine()統(tǒng)計(jì)該文本的行數(shù),int line = file.CountLine()表示用變量line記錄文本的行數(shù);把讀取到的數(shù)據(jù)存儲(chǔ)到數(shù)組中。在這個(gè)過(guò)程中,用到了兩個(gè)函數(shù):void CExcel:ReadStr (CString* str1, CString* str2, CString* str3, CString* str4, CString* str5)和void CExcel:ReadStr1()。 void CExcel:ReadStr ()函數(shù)中有五個(gè)參數(shù),這個(gè)數(shù)量的設(shè)定與我所給定的數(shù)控程序有關(guān),可以調(diào)整。這個(gè)函數(shù)用于讀取整個(gè)TXT文本,并通過(guò)循環(huán)將整個(gè)文本分行分列存儲(chǔ)在一個(gè)數(shù)組中,該數(shù)據(jù)需要存入表1“程序參數(shù)匯總1“中的。舉例說(shuō)明這個(gè)函數(shù)的讀取方法: 程序(N0010 G00 X20 Z1)數(shù)據(jù)從第一行開(kāi)始讀,在讀取過(guò)程中while(file1.ifile.Read(word,1)表示一個(gè)字母一個(gè)字母讀取數(shù)據(jù),第一個(gè)讀取的是word=N,判斷word!=n接著往下執(zhí)行,再判斷word!=” ,執(zhí)行stringtemp+=word0, 這時(shí)stringtemp的值為N;接著進(jìn)行第二次讀取,word=0,stringteep=N0;同樣一直向下讀等到讀取到空格時(shí),這時(shí)stringtemp=N0010不為空格,執(zhí)行switch語(yǔ)句(定義了一個(gè)變量record記錄每行中出現(xiàn)空格的次數(shù),當(dāng)record=0,形參*str1=stringtemp;record=1,形參*str2=stringtemp;record=2,形參*str3=stringtemp;record=3, 形參*str4=stringtemp; record=4,形參*str5=stringtemp)這時(shí)record= 0,形參*str1=N0060 ,清空變量stringtemp的值 ,record+;繼續(xù)讀取數(shù)據(jù),再次出現(xiàn)空格時(shí)繼續(xù)執(zhí)行switch語(yǔ)句,形參*str2=G00;同樣的方法,形參*str3=X20,形參*str4=Z1,執(zhí)行到這里發(fā)現(xiàn)第一行只有四個(gè)值,形參*str5的值還沒(méi)有確定,執(zhí)行else()內(nèi)容,將沒(méi)有給定的值變成空值,就是說(shuō),第一行的形參*str5=“” 。 TXT文檔在讀取過(guò)程中時(shí)會(huì)自動(dòng)跳轉(zhuǎn)到下一行的,后面每一行的數(shù)據(jù)讀取和這個(gè)方法一樣,這個(gè)函數(shù)在函數(shù)CExcel:WExeExcel (CSpath,CSpath1)中被調(diào)用line(TXT文本的行數(shù))次,讀取整個(gè)文本。 void CExcel:ReadStr1()函數(shù),用于讀取TXT文本,并將其中的刀具類型(T文件)、主軸轉(zhuǎn)速(S文件)、進(jìn)給量(F文件)分類存儲(chǔ)到三個(gè)數(shù)組strT、strS和strF中,該數(shù)據(jù)是要存入表2“程序參數(shù)匯總2“中的。舉例說(shuō)明這個(gè)函數(shù)的提取方法: 程序(N0040 M03 S700)(N0050 M06 T01),這個(gè)函數(shù)中調(diào)用了file1.ifile.ReadString(stringtemp)函數(shù),這個(gè)函數(shù)作用是一次讀一整行,并把這一行數(shù)據(jù)都存儲(chǔ)到數(shù)組型變量stringtemp中,讀第一行時(shí),沒(méi)有出現(xiàn)T、S、F文件,繼續(xù)讀下一行,直到出現(xiàn)T、S、F文件,第二行出現(xiàn)T文件stringtemp10=T,執(zhí)行kindT+(用變量kindT記錄出現(xiàn)的T文件的數(shù)目),此時(shí)kindT=1,記錄刀具文件的數(shù)組strTkindT+=strT1 (strT0 = _T(T(刀具)),用循環(huán)實(shí)現(xiàn)將字母T后面的信息都存儲(chǔ)到strT1=T01;再繼續(xù)讀下一行程序,和前面方法一樣,會(huì)得到strT2、strT3等。同理,主軸轉(zhuǎn)速(S文件)的數(shù)據(jù)存儲(chǔ)在數(shù)組strS中,進(jìn)給量(F文件)的數(shù)據(jù)存儲(chǔ)在數(shù)組strF中。3)首先,啟動(dòng)Excel服務(wù)器;而后,打開(kāi)一個(gè)工作薄,若不存在則新增一個(gè)工作?。ㄟ@個(gè)工作薄路徑為用戶選定的Excel存儲(chǔ)路徑+程序匯總/參數(shù)匯總);再打開(kāi)一個(gè)工作表,若不存在則新增一個(gè)工作表。這些都準(zhǔn)備好后,就可以將數(shù)組中的數(shù)據(jù)按要求寫入Excel表格中了,表1和表2的要求不同,寫入方法也不同。表1 調(diào)用了函數(shù)ReadStr(tt, tt+1, tt+2, tt+3, tt+4),這里(tt,tt+1,tt+2,tt+3,tt+4)函數(shù)實(shí)參(形參是str1,str2,str3,str4,str5),并且用數(shù)組tt5組合了這五個(gè)參數(shù),用SetRange(int ColNum, int RowNum)(ColNum表示列數(shù), RowNum表示行數(shù))表示定位表格單元,如SetRange(1,2)表示第2行第一列的那個(gè)表格 單元,SetCellValue()函數(shù)作用是給指定的單元格填入數(shù)據(jù),結(jié)合這兩個(gè)函數(shù),再做一個(gè)循環(huán)就可以把數(shù)組tt5中的數(shù)據(jù)一行一行的寫入Excel1中了。表2 調(diào)用了函數(shù)ReadStr1(),得到了三個(gè)數(shù)組數(shù)據(jù)strT、strS和strF,在循環(huán)中結(jié)合SetRange(int ColNum, int RowNum)和SetCellValue()函數(shù),將T、S、F文件一列一列寫入Excel2中(T文件是第一列,S文件是第二列,F(xiàn)文件是第三列)。最后,就是把寫入數(shù)據(jù)的Excel表格保存,釋放資源。2.2.4 按鈕4“清除”程序分析以下為按鈕4“清除”的程序,這個(gè)程序主要作用就是當(dāng)點(diǎn)擊清除按鈕時(shí),文本輸入路徑和Excel存儲(chǔ)路徑對(duì)應(yīng)的對(duì)話框顯示內(nèi)容通過(guò)重新賦值改變?yōu)椋骸罢?qǐng)重新選擇文本路徑”和“請(qǐng)重新選擇保存路徑”,界面如圖5所示:void CTXT_EXCLDlg:OnBnClickedButton4() /控制“清除”按鈕UpdateData(TRUE);m_Input = _T(請(qǐng)重新選擇文本路徑);m_Output = _T(請(qǐng)重新選擇保存路徑);UpdateData(FALSE); 圖5 清除鍵界面Fig. 5 Clear key interface2.2.5 按鈕5“退出“程序分析以下程序?yàn)榘粹o5“退出“的程序,這個(gè)程序作用是退出應(yīng)用程序,關(guān)閉這個(gè)轉(zhuǎn)換界面。void CTXT_EXCLDlg:OnBnClickedButton5() /控制“取消”按鈕Af

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論