




免費預覽已結(jié)束,剩余1頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
基于OpenGL的數(shù)控加工教學平臺的建模與仿真摘要:文章以 Windows XP為開發(fā)平臺,以 開放式圖形開發(fā)庫OpenGL及Visual C+6.0 軟件為開發(fā)工具,建立了數(shù)控加工教學平臺中的幾何模型和運動模型并論述了其編程原理。關(guān)鍵詞:數(shù)控教學平臺;建模;數(shù)控仿真;OpenGLAbstract: This paper uses Windows XP as developing platform, uses OpenGL and Visual C+6.0 software as developing tool to build geometry model and movement model of NC Teaching Platform and the principle of program is expounded.Key words: NC teaching platform; modeling; NC simulation; OpenGL 0 前言二十一世紀機械制造業(yè)的競爭,其實質(zhì)是數(shù)控技術(shù)的競爭。近年來,國內(nèi)外都十分重視數(shù)控教學。數(shù)控教學大致包括一般數(shù)控知識的教學和實際操作技能的培訓兩部分內(nèi)容,相應的培訓除了必要的理論講解,大部分工作是在數(shù)控設備上的實際操作訓練。而數(shù)控設備價格昂貴,培訓者的誤操作還可能會危及機床設備甚至于操作者自身的人身安全。因此,數(shù)控先期教學不適合在實際設備上進行。隨著計算機軟硬件技術(shù)、圖形圖像處理及虛擬加工技術(shù)的發(fā)展, 建立一個經(jīng)濟、高效、快捷、通用的數(shù)控加工教學平臺已經(jīng)成為可能。在這個數(shù)控加工教學平臺上,操作者能夠在生動、直觀的動畫環(huán)境下,數(shù)控編程、手工操作、試切對刀和數(shù)控加工,猶如在操作一臺真正的數(shù)控機床。數(shù)控加工教學平臺的開發(fā)需要專門的三維圖形加速引擎及開發(fā)接口平臺, Windows操作系統(tǒng)下提供了多種這樣的平臺 ,最常見的有 Direct3D和 OpenGL兩種。下面介紹基于OpenGL的數(shù)控加工教學平臺的建模與仿真。1 OpenGL建模方法OpenGL是開放式圖形開發(fā)庫(Open Graphics Library)的縮寫,是美國硅谷圖像公司用C語言為圖形工作站開發(fā)的圖形軟件。 OpenGL是一個圖形和硬件的軟件接口,它由幾百個指令或函數(shù)組成,是一個三維的圖形和模型庫,在CAD/CAM 等需要高級三維對象可視化和圖形繪制的領域被廣泛應用,OpenGL還提供了諸如基本圖元繪制、變換矩陣、著色模式、光照、反走樣等方法來控制三維圖形的繪制?,F(xiàn)在,Windows操作系統(tǒng)全面支持OpenGL,使用戶在 PC機上可用它開發(fā)圖形動畫產(chǎn)品,實現(xiàn)虛擬仿真。目前,OpenGL己成為新一代三維圖形開發(fā)的工業(yè)標準。OpenGL建模的工作流程,如圖1所示。幾何頂點數(shù)據(jù)圖像象素數(shù)據(jù)運算器顯示列表逐個頂點操作圖像操作光柵化逐個片元操作紋理映射幀緩沖器圖1 OpenGL建模的工作流程圖1中幾何頂點數(shù)據(jù)包括模型的頂點集、線集、多邊形集,這些數(shù)據(jù)經(jīng)過運算器、逐個頂點操作等;圖像象素數(shù)據(jù)包括象素集、影像集、位圖集等,圖像象素數(shù)據(jù)的處理方式與幾何頂點數(shù)據(jù)的處理方式是不同,但它們都經(jīng)過光柵化,逐個片元 (Fragment)操作,直至把最后的光柵數(shù)據(jù)寫入幀緩沖器。在 OpenGL中的所有數(shù)據(jù),包括幾何頂點數(shù)據(jù)和圖像數(shù)據(jù)都可以被存儲在顯示列表中,或者立即可以得到處理。OpenGL中,顯示列表技術(shù)是一項重要的技術(shù)。OpenGL要求把所有的幾何圖形單元都用頂點來描述,這樣運算器和逐個頂點計算操作都可以針對每個頂點進行計算和操作,然后進行光柵化形成圖形碎片;對于圖像數(shù)據(jù),象素操作結(jié)果被存儲在紋理組裝用的內(nèi)存中,再與幾何頂點操作一樣光柵化形成圖形片元。整個流程操作的最后,圖形片元都要進行一系列的逐個片元操作,這樣最后的象素值送入幀緩沖器實現(xiàn)圖形的顯示。OpenGL并未提供復雜物體的建模技術(shù),只提供了一些繪制點、線及多邊形的基本建模函數(shù),給程序員以巨大的自由發(fā)揮空間。通過基本圖形的組合、平移、旋轉(zhuǎn)和縮放,可得到任意三維形體。在OpenGL中,通過定義光源的顏色、透明度、位置和照射方向來定義光源。而材質(zhì)反映了物體的本身特性,它決定了反射光的顏色、特性和強度。材質(zhì)顏色包括環(huán)境反射光、漫反射光、鏡面反射光和自身發(fā)射光。通過光源和材質(zhì)的合理設置,能逼真模擬出物體外觀。紋理映射是真實感圖形制作的一個重要部分。OpenGL提供了一系列完整的操作函數(shù)來定義、設置和調(diào)用紋理,用戶可用它們構(gòu)造理想的物體表面,將紋理圖案用不同方式粘貼到曲面上,使三維場景中的物體更生動、更自然。2 數(shù)控加工教學平臺的總體設計數(shù)控加工教學平臺的具體設計目標為:(1)能實現(xiàn)零件裝夾、自動換刀、切削成形等過程的仿真。(2)能通過鍵盤、鼠標、圖形終端等外部設備實現(xiàn)人機交互。(3)能夠進行刀具與夾具、工件的碰撞干涉檢查。(4)能對加工誤差進行分析與評價。根據(jù)上述的具體設計目標,結(jié)合現(xiàn)有的研究基礎,數(shù)控加工教學平臺的總體框架如圖2所示,包括數(shù)控機床模型、刀具模型、夾具模型、工件模型,通過逐條讀取及編譯NC代碼來進行切削加工仿真及碰撞干涉檢查仿真,最終實現(xiàn)數(shù)控加工過程的仿真教學。數(shù)控加工教學平臺加工環(huán)境加工過程刀具模型夾具模型工件模型程序處理機床模型切削加工干涉檢驗圖2 數(shù)控教學平臺的總體結(jié)構(gòu)3 數(shù)控加工教學平臺的建模根據(jù)系統(tǒng)總體結(jié)構(gòu)框架圖,把系統(tǒng)劃分為如下幾個模塊:加工環(huán)境模塊、NC代碼處理模塊、切削加工仿真模塊、碰撞干涉檢查模塊。3.1 加工環(huán)境建模加工環(huán)境模型主要包括機床模型、毛坯模型、刀具模型、夾具模型等, 這些模型在NC代碼驅(qū)動下相互協(xié)同工作,完成加工的仿真。在這里我們需要用OpenGL和Visual C+6.0來建立模型, 從而建立符合功能要求的加工環(huán)境仿真模塊?;静襟E如下:(1)根據(jù)基本圖形單元建立景物模型,并且對所建立的模型進行數(shù)學描述(點、線、多邊形、圖像和位圖都看作基本圖形單元);(2)把景物模型放在三維空間中的合適的位置,并且設置視點(ViewPoint);(3)計算模型中所有物體的色彩, 其中的色彩根據(jù)應用要求來確定,同時確定紋理粘貼方式等;(4)把景物模型的數(shù)學描述及其色彩信息轉(zhuǎn)換至計算機屏幕上的象素。下面是建模的部分程序:void CRenderView:DrawBase() glPushMatrix(); /壓入當前矩陣堆棧/DrawBoard(); /建立橫向溜板、縱向工作臺、工件等模塊函數(shù)/glColor3f(0.8f,0.8f,0.8f); /設置當前顏色/glTranslatef(-5.0f,-(2.5f+1.5f*board_ply),0.0f); /把當前矩陣乘上一個平移矩陣/auxSolidBox(base_width,5.0f,10.0f); /建立床身底座模型/glTranslatef(-(base_width/2.0f-5.0f),2.5f+pole_high/2.0f,0.0f); /把當前矩陣乘上一個平移矩陣/ glPopMatrix(); /彈出當前矩陣堆棧/3.2 NC代碼處理模塊NC代碼是由定義了一定功能的大寫字母附上數(shù)據(jù)后組合而成的,一般每條指令完成一個動作, 若干條指令按一定結(jié)構(gòu)構(gòu)成一段程序,主要包括準備功能G代碼、輔助功能M代碼、進給功能F代碼、主軸轉(zhuǎn)速功能S代碼及刀具功能T代碼等。NC代碼處理模塊用于實現(xiàn)NC代碼輸入、顯示修改及分析解釋功能。程序的讀取可以采用直接鍵盤手工輸入和程序文件讀入兩種方式;代碼解釋和分析主要是分析程序的結(jié)構(gòu),通過對NC代碼的理解、檢查代碼語法語意的正確性,經(jīng)過譯碼、刀補計算、進給速度處理,以得到刀具中心軌跡和其它所需數(shù)據(jù),為刀具路徑建立數(shù)據(jù)表,作為仿真的驅(qū)動信息,用于模擬加工模塊。NC代碼的處理過程主要包括NC程序的讀入以及對讀入程序的詞法、語法檢查和解釋。目前國內(nèi)外的數(shù)控裝置幾乎都采用可變程序段“字地址格式”,國際標準化組織制定了字地址程序段格式ISO6983-1-1982標準,形式如下:N G X Y Z I J K M S T F根據(jù)NC代碼的特點,本系統(tǒng)存取、管理這些代碼采用單向鏈表結(jié)構(gòu)來實現(xiàn)。由于本系統(tǒng)數(shù)控源代碼是以文本格式存儲的,所以首先由C +提供的I/O流操作函數(shù)Ofstream,fstream,ifstream來實現(xiàn)對源代碼的存取,由類ifstream讀入每一程序行,將讀入的程序行以字符串的格式存入text_list鏈表的text成員中,該鏈表的具體結(jié)構(gòu)為: struct Pro _text CString text;int lengh; Pro text3next;對數(shù)控程序代碼和數(shù)控仿真目的分析可知,我們只需從數(shù)控程序中提煉與仿真系統(tǒng)運動部件有關(guān)的運動與狀態(tài)信息,而對于那些與運動軸無關(guān)的代碼,只要計算機能夠識別它們并進行詞法的檢驗就可以了。因此,遍歷text_list鏈表對結(jié)構(gòu)體中成員text進行分析,根據(jù)特定的算法,去除注釋等不必要的信息,提取有用的代碼信息即程序行中的指令值存入dictate _ list鏈表。同時該過程還完成數(shù)控程序的詞法和語法的檢查,若有錯誤的信息將其存入指定的文件中。dictate_list鏈表的結(jié)構(gòu)為:struct Command intN; /行號 CString G; /G指令 double X; /x坐標 double Z; /z坐標 double R; /圓弧半徑值 double I; /圓弧中心坐標 Idouble K; /圓弧中心坐標 Kdouble F; /進給速度值int S; /S指令 CStringM; /M指令 int T; /刀具號 Command3next; /next指針 然后提取有關(guān)命令動作和狀態(tài)信息,通過對已經(jīng)存入緩沖區(qū)的數(shù)據(jù)結(jié)構(gòu)進行分析掃描,即遍歷dictate_list鏈表,分離出相應的信息,進行刀具軌跡的離散和插補,得到仿真的驅(qū)動信息,將其存入一定的數(shù)據(jù)結(jié)構(gòu)中。3.3 切削加工仿真模塊切削加工仿真模塊是根據(jù)NC代碼對加工環(huán)境模型中各運動部件的運動進行模擬,實現(xiàn)教學系統(tǒng)中刀具和工件之間的相對運動。該模塊利用計算機圖形技術(shù),讓計算機模擬真實的加工過程,通過動畫的形式形象、直觀的模擬數(shù)控加工的切削過程。通過仿真結(jié)果的可視化顯示,可以發(fā)現(xiàn)錯誤,修改工藝文件,優(yōu)化加工方案。根據(jù)計算機動畫原理,每秒顯示25幅以上的切削加工場景,整個加工過程的演示就是連續(xù)的。用OpenGL 的雙緩存(Double Buffering)技術(shù)可以方便地實現(xiàn)刀具相對運動過程的動畫仿真。雙緩存提供兩個顏色緩存,在一個緩存中顯示幀時,在另一個緩存中繪制幀。在繪圖時,數(shù)控加工仿真系統(tǒng)根據(jù)插補計算得到的刀位軌跡值,在屏幕上實時的顯示刀具的變化情況。對于每一個計算出的插值點,刀具就進給一步,系統(tǒng)即刷新一次,此時在后臺緩存進行建模及對模型進行變換,在前臺緩存顯示由后臺緩存已計算好的畫面,如此反復,最終動態(tài)顯示切削加工過程。另外還利用OpenGL 的顯示列表技術(shù)和局部刷新技術(shù)防止場景的顫動,增強切削場景的顯示效果。3.4干涉碰撞檢驗模塊干涉碰撞檢驗模塊主要是檢驗刀具和主軸相對于非加工部件如夾具、工件的非加工部位、加工工作臺的干涉現(xiàn)象,由于加工過程由NC代碼驅(qū)動,干涉出現(xiàn)位置的NC代碼信息可及時反饋提交用戶進行檢查和修改。干涉檢查結(jié)果需進行分析,按以下判據(jù)得出結(jié)論:(1)刀具切削部件與加工好的部件有干涉為過切;(2)刀具非切削部位與物體干涉為碰撞;(3)進給速度快時的切削為碰撞;(4)主軸不轉(zhuǎn)時的干涉或切削為碰撞。我們采用形體求交的方法進行干涉的定性檢查。如果兩個形體之間存在交集,就認為他們互相干涉,在數(shù)控仿真建模過程中采用的體素定義方法不是通常所說的BOX、CYLINDER、CONE、SPHERE、TORUS等等,而是平掃體和旋轉(zhuǎn)體等,它們本身就可能表示很復雜的形狀。在本算法中,工件和夾具不是以整體的信息參與求交計算的,而是個別地進行的。在論證這種方法的好處之前,先敘述形體求交算法的基本步驟:(1)將待計算的刀具和主軸形體的坐標系轉(zhuǎn)換到工件坐標系下,工件的幾何信息已經(jīng)在裝夾時計算出;(2)對任一對求交形體A和B作包圍和干涉檢查,若不干涉,無需進一步求交,轉(zhuǎn)(4);(3)將A的所有棱邊和B的所有面進行求交計算,若出現(xiàn)交點在面片內(nèi),判定為形體相交,退出,否則進入下一步;(4)取下一對求交形體,轉(zhuǎn)(2)。大多數(shù)情況下,在刀具沒有深入工件加工的情況下,僅包圍盒的檢查就可以排除大多數(shù)的相交情況。我們采用讓刀具和當前工步已加工好的狀態(tài)件作干涉計算,若發(fā)生干涉,則一定會出現(xiàn)過切。將工件和夾具的信息分散成交簡單的多個BREP描述用于干涉檢驗中的求交計算,可以提高檢驗的速度,這是分類枚舉和多路思想的體現(xiàn)。簡單的信息便于計算和減少不必要的計算,而只要能夠判斷,立即做出計算,避免出現(xiàn)將刀具和工件的所有面進行求交計算的機會。需要說明的是,邊界描述是用多面體逼近實際的形體的,這一近似性使得在描述孔和曲面時產(chǎn)生一定的誤差。增大離散等分數(shù)的方法并不明智,因為這使得求交計算的效率大大降低。我們分析到這一問題主要在鉆孔、鉸孔、鏜孔、攻絲和孔的銑削加工中出現(xiàn),如果適當減小刀具的直徑,便可以避免由于離散化誤差引起干涉檢驗的錯誤報警。圖所示為數(shù)控車削加
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 文化館改造提升項目初步設計
- 2025年延安道路危險品運輸從業(yè)資格證考試題庫
- 北大博雅計劃試卷-語文
- 美術(shù)藝術(shù)培訓機構(gòu)
- DL∕T5142-2024火力發(fā)電廠除灰設計技術(shù)規(guī)程
- 博物館整體提升工程實施方案
- 小學籃球教學課件
- 買票教學課件
- 塔吊司機教育培訓
- 老年人才培訓
- 2025年中考英語作文預測及滿分范文11篇
- 新課標(水平三)體育與健康《籃球》大單元教學計劃及配套教案(18課時)
- 《生物安全培訓》課件-2024鮮版
- 高中化學新課標解讀-北師大王磊2024-3-20
- 自動控制原理(全套課件737P)
- BIM技術(shù)在施工項目管理中的應用
- 圓通快遞借殼上市案例分析(課堂PPT)
- 25公斤級平焊法蘭及螺栓規(guī)格尺寸
- 配電網(wǎng)工程典型設計10kV電纜分冊
- 中文版EN-12546
- 云南省建筑消防設施施工安裝質(zhì)量檢測收費標準(試行)
評論
0/150
提交評論