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

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論