




已閱讀5頁,還剩7頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
西安科技大學研究生考試試卷題號分 數閱卷人12345678s10總分學號 201403086 姓名 趙遠飛 所在學院 機械工程 學科、專業 機械電子工程 考試科目 現代數控技術 考試日期 2015年5月 課程學時 32 注 意 事 項1、考生必須遵守考場紀律。2、答題必須寫清楚題號。3、字跡要清楚,保持卷面整潔。4、試題隨試卷一起交回(試題寫在黑板上時,答題時應抄寫題目)。開(閉)卷 開 卷 趙遠飛(西安科技大學 機械工程學院,陜西 西安 710054)摘 要:本文通過概括分析數控加工仿真軟件的發展現狀,并對現有的此類軟件,如VERCUT提出了兩點建議:1)TXT文本中的數控程序應該分行分列對齊(轉換到Excel表中),方便用戶更直觀的檢查和修改程序;2)數控程序中的關鍵信息應提前被提取到相關的Excel表中,以便用戶及時捕捉關鍵信息,并根據編程經驗調整參數。基于以上兩點,本文采用VC+編程擬實現以上兩種功能,文中分析了編程的流程圖及各個主模塊的編程思路,并演示了該應用程序的轉換效果。最后,在分析轉換效果的基礎上提出了兩點改進措施,為進一步完善程序作出引導。關鍵詞: 數控加工仿真;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引 言伴隨著數控加工技術的發展,各類仿真軟件隨之而出。由于零件的形狀和加工環境的復雜性,在加工過程中很容易出現“過切”和“欠切”,甚至會出現刀具與工件及機床部件的干涉和碰撞,因此在實際加工前,采取適當有效的措施對數控程序進行檢驗和修正是十分必要的。 也正是基于這種需求,各種數控加工仿真軟件應運而生,其中最具有代表性的是由美國CGTECH公司開發的數控加工仿真軟件VERICUT,它作為世界最強的數控模擬仿真軟件,是全世界NC驗證軟體的領導者。 正是基于數控仿真加工軟件的這一弊端,本文中采用VC+軟件編程,實現以下兩種功能: 1)將TXT文檔中的數控程序分行分列對齊輸入到表EXCEL1(程序參數匯總1)中,使數控程序更直觀、清晰、有條理,方便用戶瀏覽和修改程序。2)提煉TXT文檔中數控程序的重要信息,如刀具類型、主軸轉速、進給量等。并將這三類信息分列輸入到表EXCEL2(程序參數匯總2)中,方便用戶及時捕捉關鍵信息,并根據編程經驗調整參數。1.1 VC+概述Microsoft Visual C+,是Microsoft公司推出的開發Win32環境程序,面向對象的可視化集成編程系統。1.2 VC+軟件優點它不但具有程序框架自動生成、靈活方便的類管理、代碼編寫和界面設計集成交互操作、可開發多種程序等優點,而且通過簡單的設置就可使其生成的程序框架支持數據庫接口、OLE2,WinSock網絡、3D控制界面。它以擁有“語法高亮”,IntelliSense以及高級除錯功能而著稱。比如,它允許用戶進行遠程調試,單步執行等。還有允許用戶在調試期間重新編譯被修改的代碼,而不必重新啟動正在調試的程序。其編譯及建置系統以預編譯頭文件、最小重建功能及累加連結著稱。 2 VC+編程2.1 VC+編程方法VC+編程結構簡單,易實現所需界面和功能,所以本文中采用VC+編程,擬實現第一章中的兩種功能。編程的流程圖如圖1所示: 圖1 編程流程圖Fig .1 Flow chart for programming2.2 主模塊分析 采用VC+編寫這個程序最終的實現的界面如圖2所示,在此界面中有五個按鈕和兩個對話框,其中按鈕1 “選擇文本路徑”控制選擇輸入TXT文本的路徑;按鈕2“選擇存儲路徑”控制選擇最終生成的Excel表格的存儲路徑;對應的兩個對話框既可以輸入路徑也可以顯示按鈕選擇的路徑;按鈕3“轉換“用于控制將TXT文本中的數控程序按要求讀入并提取關鍵信息到兩個創建的Excel表格中,這兩個Excel表格存儲路徑是用戶自定義的;按鈕4”清除“用于修改路徑或者實現多次轉換;按鈕5”退出“用于實現關閉該界面和程序。 圖2 程序界面Fig. 2 The program interface2.2.1 按鈕1“選擇文本路徑“程序分析以下為按鈕1“選擇文本路徑“的程序,在這個程序中首先創建了一個對話框,并且把用戶所選定的文本路徑作為一個字符串賦給變量m_Input,方便后續程序使用,比如VC+的file里面有個open()函數,open(m_Input)就表示打開你選擇的TXT文檔,并且可以對這個文檔進行操作。更改對話框作用是顯示你選擇的文本路徑,就是告訴你所選擇的是哪個文件。void CTXT_EXCLDlg:OnBnClickedButton1() /控制“選擇文本路徑”按鈕 CFileDialog mFileDlg(TRUE, NULL,NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOW MULTISELECT, NULL, AfxGetMainWnd();mFileDlg.DoModal(); /創建對話框UpdateData(true);m_Input = mFileDlg.GetPathName();UpdateData(false); /更改文本框的內容 2.2.2 按鈕2“選擇存儲路徑“程序分析以下為按鈕2“選擇存儲路徑“的程序,該程序創建選擇存儲路徑對話框,是win32的固定模式,其創建的對話框如圖3所示:void CTXT_EXCLDlg:OnBnClickedButton2() /控制“選擇存儲路徑”按鈕,創建選擇/存儲路徑對話框,該函數 是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指向的對象用完應該釋放 pMalloc-Free(pidl); pMalloc-Release(); UpdateData(FALSE); delete path; UpdateData(false); 圖 3 選擇存儲路徑對話框Fig. 3 Select the storage path dialog2.2.3 按鈕3“轉換“程序分析以下為按鈕3“轉換“的主程序,這段程序是實現題中要求功能的最核心的部分,在這個程序中按功能而言主要分為以下三大塊:void CTXT_EXCLDlg:OnBnClickedButton3() /控制“轉換”按鈕/警告處理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類創建了一個類對象“excel”excel.WExeExcel(m_Output,m_Input); /執行WExeExcel函數,用于創建表1 excel.WExeExcel1(m_Output, m_Input); / 執行WExeExcel函數,用于創建表21)打開用戶需要轉換的TXT文本,并確定Excel表格的存儲路徑正確。在這個過程中,有兩種情況:當輸入文本路徑為空(存儲路徑為空)時彈出如圖4所示消息框,提示輸入文本路徑錯誤(Excel存儲路徑錯誤),請用戶檢查相應的路徑;否則,順利打開文本,用戶可以操作該文本。 圖4 提示消息框Fig. 4 Message box2)讀取TXT文本的數據,用函數file.CountLine()統計該文本的行數,int line = file.CountLine()表示用變量line記錄文本的行數;把讀取到的數據存儲到數組中。在這個過程中,用到了兩個函數:void CExcel:ReadStr (CString* str1, CString* str2, CString* str3, CString* str4, CString* str5)和void CExcel:ReadStr1()。 void CExcel:ReadStr ()函數中有五個參數,這個數量的設定與我所給定的數控程序有關,可以調整。這個函數用于讀取整個TXT文本,并通過循環將整個文本分行分列存儲在一個數組中,該數據需要存入表1“程序參數匯總1“中的。舉例說明這個函數的讀取方法: 程序(N0010 G00 X20 Z1)數據從第一行開始讀,在讀取過程中while(file1.ifile.Read(word,1)表示一個字母一個字母讀取數據,第一個讀取的是word=N,判斷word!=n接著往下執行,再判斷word!=” ,執行stringtemp+=word0, 這時stringtemp的值為N;接著進行第二次讀取,word=0,stringteep=N0;同樣一直向下讀等到讀取到空格時,這時stringtemp=N0010不為空格,執行switch語句(定義了一個變量record記錄每行中出現空格的次數,當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+;繼續讀取數據,再次出現空格時繼續執行switch語句,形參*str2=G00;同樣的方法,形參*str3=X20,形參*str4=Z1,執行到這里發現第一行只有四個值,形參*str5的值還沒有確定,執行else()內容,將沒有給定的值變成空值,就是說,第一行的形參*str5=“” 。 TXT文檔在讀取過程中時會自動跳轉到下一行的,后面每一行的數據讀取和這個方法一樣,這個函數在函數CExcel:WExeExcel (CSpath,CSpath1)中被調用line(TXT文本的行數)次,讀取整個文本。 void CExcel:ReadStr1()函數,用于讀取TXT文本,并將其中的刀具類型(T文件)、主軸轉速(S文件)、進給量(F文件)分類存儲到三個數組strT、strS和strF中,該數據是要存入表2“程序參數匯總2“中的。舉例說明這個函數的提取方法: 程序(N0040 M03 S700)(N0050 M06 T01),這個函數中調用了file1.ifile.ReadString(stringtemp)函數,這個函數作用是一次讀一整行,并把這一行數據都存儲到數組型變量stringtemp中,讀第一行時,沒有出現T、S、F文件,繼續讀下一行,直到出現T、S、F文件,第二行出現T文件stringtemp10=T,執行kindT+(用變量kindT記錄出現的T文件的數目),此時kindT=1,記錄刀具文件的數組strTkindT+=strT1 (strT0 = _T(T(刀具)),用循環實現將字母T后面的信息都存儲到strT1=T01;再繼續讀下一行程序,和前面方法一樣,會得到strT2、strT3等。同理,主軸轉速(S文件)的數據存儲在數組strS中,進給量(F文件)的數據存儲在數組strF中。3)首先,啟動Excel服務器;而后,打開一個工作薄,若不存在則新增一個工作薄(這個工作薄路徑為用戶選定的Excel存儲路徑+程序匯總/參數匯總);再打開一個工作表,若不存在則新增一個工作表。這些都準備好后,就可以將數組中的數據按要求寫入Excel表格中了,表1和表2的要求不同,寫入方法也不同。表1 調用了函數ReadStr(tt, tt+1, tt+2, tt+3, tt+4),這里(tt,tt+1,tt+2,tt+3,tt+4)函數實參(形參是str1,str2,str3,str4,str5),并且用數組tt5組合了這五個參數,用SetRange(int ColNum, int RowNum)(ColNum表示列數, RowNum表示行數)表示定位表格單元,如SetRange(1,2)表示第2行第一列的那個表格 單元,SetCellValue()函數作用是給指定的單元格填入數據,結合這兩個函數,再做一個循環就可以把數組tt5中的數據一行一行的寫入Excel1中了。表2 調用了函數ReadStr1(),得到了三個數組數據strT、strS和strF,在循環中結合SetRange(int ColNum, int RowNum)和SetCellValue()函數,將T、S、F文件一列一列寫入Excel2中(T文件是第一列,S文件是第二列,F文件是第三列)。最后,就是把寫入數據的Excel表格保存,釋放資源。2.2.4 按鈕4“清除”程序分析以下為按鈕4“清除”的程序,這個程序主要作用就是當點擊清除按鈕時,文本輸入路徑和Excel存儲路徑對應的對話框顯示內容通過重新賦值改變為:“請重新選擇文本路徑”和“請重新選擇保存路徑”,界面如圖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“退出“的程序,這個程序作用是退出應用程序,關閉這個轉換界面。void CTXT_EXCLDlg:OnBnClickedButton5() /控制“取消”按鈕Af
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 團隊協作中的角色定位與分工試題及答案
- 探索市政學核心內容的試題及答案
- 公共關系學溝通理論試題及答案
- 行政管理職業生涯規劃建議試題及答案
- 工程經濟基礎理論試題及答案
- 行政管理與社會變革的內在聯系試題及答案
- 行政管理對市政學的影響試題及答案
- 水利水電工程團隊合作能力試題及答案
- 行政管理專業角色分析試題及答案
- 工程經濟動態分析方法試題及答案
- 發行碳中和債券對股價的影響分析:市場反應與策略考量
- 輸血法律法規知識培訓課件
- 《漢字書寫筆順》課件
- 2024年中級社會工作者職業資格備考資料
- 2024螺旋錐體擠土壓灌樁技術標準
- 生命的起源小學生課件
- 酒吧督察管理制度大綱
- 2024年大學生就業力調研報告-智聯招聘-202405
- 人工流產患者術后護理
- 電子生產企業人力資源管理制度
- 2025屆廣西壯族自治區柳州市高三三模語文試題【含答案解析】
評論
0/150
提交評論