?

基于OpenGL的板材切割數控加工仿真系統

2010-04-11 08:07韓青江呂亞軍饒運清
制造業自動化 2010年12期
關鍵詞:校核板材溫度場

韓青江,呂亞軍 ,饒運清

HAN Qing-jiang, LV Ya-jun, RAO Yun-qing

(華中科技大學 數字制造裝備與技術國家重點實驗室,武漢 430074)

基于OpenGL的板材切割數控加工仿真系統

Plate cutting nc machining simulation system based on OpenGL

韓青江,呂亞軍 ,饒運清

HAN Qing-jiang, LV Ya-jun, RAO Yun-qing

(華中科技大學 數字制造裝備與技術國家重點實驗室,武漢 430074)

在板材切割數控加工領域,針對如何選擇加工方法、確定加工軌跡等問題,提出了利用計算機模擬生產過程進行輔助加工的方法,以實現在最短的時間內找到最佳的加工路徑并完成NC代碼的校核。對這一問題,通過建立基于OpenGL的三維仿真系統,將NC圖形的仿真與NC代碼的校核集于一體,全面實現了板材的虛擬加工,大大提高了板材加工的效率。同時提出了建立板材加工中的溫度場,通過熱力學計算為分析板材的受熱變形提供了直觀的依據。

OpenGL;數控加工;溫度場;三維仿真

0 引言

目前在板材加工生產領域,越來越多的企業選擇利用數控機床進行板材切割加工。數控加工技術因其高效、高質量的加工特點成為多數生產企業的首選。一般在進行數控加工之前都需要選擇加工方法、確定最佳的加工軌跡,在加工開始的時候需要進行對刀、刀位檢測和NC代碼校驗并判斷加工參數是否合適等。這些工作一般會浪費大量的時間。傳統的生產企業一般選擇采用人工進行試切和NC代碼校核,該方法對工作人員的技術水平要求較高,勞動量大且一般檢錯率較低,大大影響了企業的生產效率。如何快速的選擇最佳的加工方法、確定最佳的加工軌跡引起了人們廣泛的關注和研究。隨著計算機技術在工業生產中應用的深入,利用計算機模擬實際的加工過程進行輔助生產成為了解決上述問題的首選。許多的加工企業根據自身需求的特點開發了相關的仿真系統。仿真技術可以全面再現加工的整個過程,其高效直觀的特點大大節省了加工方法選擇和NC代碼校核的時間、提高了加工企業的生產效率。隨著生產水平的提高和精益化生產的要求,板材生產企業對板材切割加工的效率和質量提出了更高的要求。比如在一些特殊應用領域,需要板材的幾何尺寸有較高的加工精度,否則將無法使用。但是板材在加工過程中非常容易因受熱、受力而產生形變,導致其幾何尺寸發生變化而無法達到加工精度要求。為此就需要仿真系統在模擬實際加工過程的同時還可以模擬板材加工中的溫度場情況,并能分析板材的幾何變形。另外,目前的仿真系統多數功能比較單一,仿真的方法較為簡單,隨著企業需求的復雜化和專業化,傳統的仿真系統已經無法滿足現在生產企業的需求。

為此,針對目前多數板材加工企業的仿真需求,研究開發了使用火焰切割、激光切割等加工手段進行生產的三維仿真系統。該系統快速清晰的顯示了板材加工的動態過程,順利的實現了加工方法的比較和NC代碼的校核,將NC圖形仿真與NC代碼校核集于一體,同時在一定程度上模擬了板材在火焰切割過程中的溫度場變化,為后續分析板材的幾何形體的變化提供了直觀的依據。

1 仿真系統實現

1.1 系統框架

本系統圍繞著NC代碼的校核進行構建,從NC代碼的調用、校驗、編輯到保存,順序實現了板材加工過程模擬以及加工點的溫度場建模。系統通過簡潔、友好的用戶界面引導用戶進行操作,通過直觀逼真的效果圖展現仿真結果。系統的總體框架如下:

圖1 系統總體框架圖

如圖中所示,系統主要由三大模塊組成,各模塊的功能如下:

1.1.1 NC代碼控制模塊

NC代碼控制模塊表明了本系統的運作邏輯,實現了從NC代碼調入、校核到編輯、保存等功能。其中NC代碼調入子模塊可以讀取磁盤上已有的NC程序,并能將其保存成新的程序,是數控文件輸人和輸出的接口。NC代碼校驗子模塊用于實現對NC代碼的數據結構和語法進行檢查,其校驗方法分為步進校核與全局校核兩種,分別滿足了不同檢測環境下對檢測質量和檢測效率的要求。NC代碼編輯模塊用于在NC程序產生錯誤時對其進行修改,同時通過NC代碼保存模塊將其保存為其他新的程序。

1.1.2 圖形控制模塊

改模塊用于調整仿真顯示區的圖形顯示效果。包括了畫面的平移、旋轉、縮放等操作,可以滿足用戶從任意角度查看圖形的效果從而使用戶的操作更加便捷。NC代碼控制模塊與圖形控制模塊配合操作,可以完整的顯示數控加工的過程并能根據用戶需求自由方便的進行查看。

1.1.3 溫度場控制模塊

該模塊用于控制板材溫度場的顯示。用戶界面右邊區域的溫度條上用不同的顏色設定表示不同的溫度,加工過程中板材上不同區域的溫度就用相應的顏色進行表示,形成了板材的溫度場。該模塊通過與圖形控制模塊相互配合,顯示了板材在加工過程中溫度場的變化。目前本系統中僅在加工點顯示其溫度場。

1.1.4 數據顯示模塊

數據顯示模塊主要用于顯示當前的主要參數,如當前讀取的文件名、刀具目前所在點的坐標、NC程序中當前被選中正在校核的代碼等。通過這些參數可以了解系統目前的運行情況,并通過調整主要的技術參數可以實現仿真效果的優化。

1.2 系統流程

通過以上各模塊的配合運作有條不紊的實現了程序的各項功能。為了減少內存占用,系統在運行過程中采用了讀入一個程序段、檢查與解釋程序段、執行程序段,再讀人一個程序段、檢查與解釋程序段、執行程序段,直到NC文件結束的循環方式[1]。程序讀取的過程中每次以行為單位進行讀取,每一行程序實現了一個刀具的動作,在一行程序出現錯誤時及時的進行修改和調整,然后再進行下一行程序的校核。整個程序驗證完成之后系統停止,并由操作人員調整返回到初始狀態,然后進行下一個程序的讀取校驗。程序的最終流程圖如下:

圖2 系統實現流程圖

2 基于OpenGL的三維建模

系統的開發是在Windows環境下,以Visual C++為開發工具,采用OpenGL技術實現的。

2.1 OpenGL概述

OpenGL即Open Graphics Library的縮寫,是在SGI、SUN、Microsoft、DEC、IBM和Intel等多家世界著名計算機公司的倡導下,聯合推出的一種三維圖形標準。它由SGI的GL標準發展而來,適用于多種操作系統。OpenGL獨立于硬件設備、窗口系統和操作系統,包括120多個圖形函數,可以利用這些函數建立三維模型和三維實時交互[7]。OpenGL實際上是一種圖形與硬件的接口,與其他圖形程序設計接口不同之處在于OpenGL提供了十分清晰明了的圖形函數。OpenGL強大的圖形函數不要求開發者把三維物體模型寫成固定的數據格式,開發者不但可以直接使用自己的數據,而且可以利用其他不同格式的數據源,如DXF、STL、OBJ、ASE、3DS等格式。OpenGL功能強大,可移植性強,目前已經在軍事、航天、醫學、仿真和虛擬現實等領域得到了廣泛的應用,成為最優秀的3D程序設計開發工具[7]。

2.2 建模方法分析與選擇

目前基于OpenGL的三維建模實現方法可分為兩種,一是直接運用OpenGL程序建模,二是先用專業建模軟件進行建模,再轉化為OpenGL程序[6]。直接運用OpenGL程序進行建模主要是通過簡單的規則實體合成所需要的復雜模型,根據所需建立模型的不同又分為三種情況:一是在需要合成規則實體時,可以利用OpenGL提供的簡單空間幾何體如圓柱、椎體等進行組合,通過改變相應參數調節幾何體大小使其配合適當來完成實體的建模。二是對大多數圖形通常采用三角形合成法。任何多邊形都可以用三角形拼成,通過不同的三角形組合完成不同規則實體的拼接,三角形合成法已經成為程序員的首選。三是對含有曲面的實體,使用以上方法建模難免會比較粗陋,此時通常是利用OpenGL工具庫glu32.lib中的NURBS函數進行繪制,通過繪制NURBS曲線、面進行建模不僅便捷而且模型更加逼真。以上為直接使用OpenGL進行建模的方法。此外使用專業建模軟件進行建模主要是通過3DS MAX、AUTOCAD等建模軟件建立模型,然后轉換成OpenGL程序,最后再通過OpenGL命令進行模型優化和控制。因為OpenGL中并沒有提供高級命令,所以在建立三維模型特別是復雜的模型時工作量較大,任務繁重,而且建立的模型比較粗糙。在建立復雜模型時,特別是對模型的外觀要求較高時一般采用利用專業建模軟件進行建模的方法。在本文所介紹的仿真系統中,因為所要建立的模型比較簡單,對模型的外觀要求較低,并且考慮到該仿真系統與其他的工作平臺的兼容性,所以選擇采用直接運用OpenGL進行建模。

2.3 OpenGL建模過程與仿真

2.3.1 三維實體建模

因為本系統中需要建模的對象幾何形體比較簡單,所以選擇利用OpenGL的建模函數直接進行建模。這些待建模的幾何實體主要可以分為三個部分:平面的板材、圓柱體的火焰噴搶以及不規則球狀的火焰頭。系統中對這三部分幾何體的建模是分別自定義了三個繪圖函數DrawGround()、DrawGun()、ballon()進行實現。首先需要繪制的是板材。板材的幾何形狀比較簡單,而且為了方便起見,系統中對板材不設定厚度,故直接通過OpenGL的glVertex3f(x,y,z)函數確定板材四角點的坐標進行繪制。板材的建模過程前后進行了兩次繪圖。系統初始化時因為沒有板材的幾何參數,所以人為設定一組坐標進行繪制,繪圖的函數如下:

在調入數控代碼之后再根據程序中的加工參數初步確定板材大小,進行重新繪制。其間對繪制圖形的函數代碼參數進行了修改,使板材大小符合需要。修改后的繪圖參數如下:

板材建模完成之后進行噴槍的建模。噴槍幾何形狀為圓柱體,所以可以直接使用OpenGL中的gluCylinder()函數進行建模。首先在繪制完成板材之后通過旋轉和平移等操作將畫筆移動到恰當的位置,然后直接調用gluCylinder()函數進行繪制。DrawGun()中使用的主要的函數如下:

通過glTranslatef(0,100,0)、glRotatef(180,0,1,0)和glRotatef(-90,1,0,0)調整畫筆的位置,最后使用gluCylinder(m_pGlQuad, 10, 10, 200, 64, 64)繪制出噴槍的幾何輪廓。最后需要繪制的是火焰。因為火焰頭的形狀為不規則的,所以首先需要通過計算確定火焰輪廓上若干不同點的坐標,確定之后用曲線將不同的坐標點相連即形成了火焰的外形輪廓。其確定點的坐標的函數大體如下:

上述的建模過程分別實現了平面板材、圓柱噴槍以及不規則火焰的造型建模。在建模的過程中都分別使用了矩形繪制函數glbegin()和glend()。在這兩個函數之前的部分分別是具體的繪圖函數。不同部分建模之前使用glPushMatrix()函數將當前的繪圖矩陣壓入棧中以避免影響之前的操作,圖形繪制結束之后再通過glPopMatrix()函數恢復到畫圖之前的坐標矩陣中。建模過程中使用glBindTexture()調用繪圖紋理,做好畫圖準備。不同的圖形之前通過坐標移動、旋轉確定繪圖開始的位置。不同的圖形之間的幾何形體需要考慮大小匹配,建模過程中通過改變繪圖函數參數的值調整模型的大小,最后達到最佳的配合效果。

2.3.2 真實感造型

完成三維實體的繪制之后只完成了三維造型的一半工作,要建造出完美的圖形還必須對實體的材質、光照、顏色等進行設置和處理,以使其充滿真實感,達到與周圍的環境互相融合的效果。繪圖之前首先調用glBindTexture()函數對幾何模型進行貼圖,通過在不同的幾何體上貼上預先選定的不同圖形表現出板材、噴槍真實的材質效果。貼圖函數分別是glBindTexture(GL_TEXTURE_2D, m_iGround)、glBindTexture(GL_TEXTURE_2D, m_iGun),參數中iGround與iGun分別指向預先選定的紋理圖?;鹧骖^的顏色效果采用OpenGL直接著色。OpenGL中每個像素點的顏色都有紅(Red)、綠(Green)、藍(Blue)按照一定的比例混合而成,成為RGB值,并增設了第四個組建A(Alpha)表示像素點的不透明程度,由此四個分量表示不同的的色彩效果[2]。程序中通過函數glColor4f(a,b,c,0.3)將火焰的顏色設定為淡藍色,然后直接繪制火焰的圖形便顯示了火焰的顏色效果。最后對場景和模型進行光照處理。OpenGL中的光照模型提供三種光,分別是環境光(Ambient Light)、漫射光(Diffuse Light)和鏡面光(Specular Light).允許場景中最多可以設置8個光源,并且對每一個光源都設置了開關功能(glEnable(),glDisable()),這樣就可以對不同的實體使用不同的光源,使一些實體呈現別的實體沒有的光澤[4].一般一個系統設置兩種光源,一種是為整個場景設置的場景光,以模擬自然光效果.另一種是為特別實體設置的特別效果光照,使用這種光照時一般要關掉場景光,即glDisable(LIGHT0). 本系統中設置了一種場景光,以調整整個畫面的顯示效果。調用函數glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient)設置環境光,通過函數glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse)設置漫反射光,然后設置光源位置glLightfv(GL_LIGHT1, GL_POSITION,LightPosition),在繪圖結束后啟用光源glEnable(GL_LIGHT1),建立了對整個場景進行調節的光照效果。

2.3.3 溫度場建模

溫度場建模在本系統中是一個創新點。系統中主要針對當前的加工點進行建模。在溫度場建模之前首先根據板材的材質分析切割中所需要的火焰溫度,進而確定加工點中心的溫度。然后根據熱力學原理計算出熱量的傳導情況,并確定加工點周圍不同距離處的溫度值,最后比較溫度條的溫度值顏色得到溫度場的顏色圖。溫度場的渲染主要通過貼圖的方式,將計算之后挑選的顏色圖貼到加工點,表示出了加工點的溫度情況。

溫度場是指某一瞬時物體內各點的溫度分布狀態。溫度是標量,溫度場是時間和空間的函數,也是標量場。在直角坐標系中可將溫度表示成一下函數:

系統中為了簡化計算,不設定板材的厚度。另外因為板材形變最大的時候是在其溫度最高的時候,故不考慮其他時候溫度場的情況,因此溫度場函數可以簡化如下:

由公式可見板材中任一點處的溫度只與其坐標有關系。加工中以當前加工點為坐標原點,那么任一點的溫度只與當前點與原點的距離δ有關:

設定加工點的溫度為T,任一點的溫度與加工點的溫差為ΔT,則t=T-ΔT,t轉化為ΔT的函數。根據熱傳導的傅里葉公式:

其中T、δ、λ、A均為已知量,溫度t僅是傳熱量Q的函數。板材切割中傳導的熱量與加工點的切割溫度有關。熱量有三種傳導方式:傳導、對流和輻射,加工中因為板材被切穿的時間很短,熱量因輻射散失的較少,所以為簡化起見只考慮熱量的傳導。這樣加工點在加工瞬間需要的熱量只與材質有關,根據相關的手冊和經驗可以得到加工瞬時的發熱量Q,這樣板材任一點的溫度就可由公式⑤計算得出。

完成加工點周圍不同點的溫度計算后再通過OpenGL的貼圖操作,將相應的溫度顏色圖渲染到板材上,即完成了板材的溫度場建模。后續通過有限元分析或者由板材熱力學公式可以計算出板材受熱過程中的幾何變化情況。

3 模型實例的實現

3.1 主程序與用戶界面介紹

系統主程序從友好的用戶界面開始,圍繞NC代碼的調入、檢測、編輯和保存等功能擴展實現了板材加工過程的動畫。本系統從應用對象的特殊要求出發,加入了溫度場的顯示,并期望能初步表達了板材的物理變化情況。系統的用戶界面如下:

圖3 系統用戶界面

整個界面分為四個部分:左邊是NC代碼顯示區,中間是仿真動畫顯示區,右邊是溫度列表,下面是數據顯示區。菜單欄中文件選項可以調入、編輯和保存數控代碼;校驗欄中的選項分為步進校驗和全局校驗。工具欄中以便捷方式顯示了打開、保存、校驗、放大、縮小等操作。整個用戶界面簡潔、友好,實現了系統操作的全部功能。

3.2 仿真過程展示

系統在仿真過程中可以分別以步進方式和全局方式進行校核。仿真動畫顯示截圖如4所示。

圖4 仿真動畫顯示

以步進校核方式為例,仿真過程中通過逐行控制數控代碼,顯示區逐步的顯示加工過程。同時可以選擇任意一行代碼,選中時火焰頭將會定位到相應的位置,并將之前的軌跡用紅色線表示代表已經加工完成?;鹧骖^部表示了當前加工點的溫度場情況。這種校核方法方便了代碼的檢測、定位和修改。全局校核方式可以自動完成整個加工過程的顯示,這種方式可以用于加工方法的預審核和NC代碼的快速檢測。通過以上兩種方式的混合使用,順利的實現了加工中對加工方法預審核與代碼校驗的需求,滿足了工程應用。

4 結束語

數控加工中,特別是在板材加工領域,通過計算機模擬虛擬加工過程為加工方法的選擇、路徑優化以及NC代碼校核提供了有力的支持。本文中介紹的仿真系統針對目前板材加工企業的需求,將NC圖形仿真和NC代碼編輯集于一體,全方位再現了板材火焰切割的加工過程,滿足了加工企業的生產需求。隨著加工技巧的深入,目前許多生產企業,特別是一些特殊的應用場所比如高精度板材加工企業,對板材的幾何尺寸精度要求較高。但是板材的尺寸在加工中一般會因受熱、受力等而發生變化,導致其在加工之后無法直接使用,增加企業的生產成本。這就要求有更完善的仿真系統在模擬板材加工過程的同時還要模擬板材在加工中的溫度場變化并分析板材的變形情況。目前多數的數控仿真只局限于數控加工過程的顯示,研究重點多偏向于幾何圖形信息的處理。隨著板材加工企業需求的提升,模擬數控加工中的溫度場變化并分析板材的受熱、受力變形必將成為研究重點。

[1] 余斌,劉榮忠.基于OpenGL的數控加工仿真系統研究[J].四川大學學報,(工程科學版).2001,33(5):16-19.

[2] 趙 琳,賀 永,傅建中.基于OpenGL的數控加工三維仿真系統的研究與開發[J].機電工程.2003,20(5):9-11.

[3] Span J.Mantyla.Advances in Feature Based Manufacturing.Holland,Elsevier North[J].1995:10-12.

[4] DeHaemer Jr M,Zyda M J.Simplification of objects rendered by polygonal approximations[J].Computer&Graphics,1991,15(2):175.

[5] 姚紅革,李瀚山.基于OpenGL的三維實體的開發與控制[J].西安工業學院學報.2005,23(4): 335-338.

[6] 石瓊,沈春林,譚皓.基于OpenGL的三維建模實現方法[J].計算機工程與應用.2004(18):121-124.

[7] 陳其,劉國良,曾航.OpenGL三維圖形系統開發與實用技術[M].北京:清華大學出版社.2003:2-12.

[8] Shukla,Chetan,Kimura F,etc.Virtual manufacturing:an over view.Computers & Industrial Engineering[J].1996,31(12):79-82.

[9] Rober.S,Shin.Y.C.Modeling and Control of CNC Mechatr onics[J].1995,Vo15,No4:401-420.

TH164

A

1009-0134(2010)11(上)-0057-06

10.3969/j.issn.1009-0134.2010.11(上).19

2010-04-08

國家“863”項目:“轎車發動機協同制造技術及其軟硬件平臺研究與應用”(2007AA04Z186);國家自然科學基金資助項目(50905065)

韓青江(1985 -),男,江蘇邳州人,在讀碩士研究生,研究方向為虛擬制造系統建模仿真。

猜你喜歡
校核板材溫度場
發電機進相試驗失磁保護與低勵限制配合關系的校核
裝飾石材板材切割技巧
鋁合金加筋板焊接溫度場和殘余應力數值模擬
通行費校核分析方法探究
一種熱電偶在燃燒室出口溫度場的測量應用
基于衛星遙感圖像的收費站位置自動識別與校核
2219鋁合金激光電弧復合焊接及其溫度場的模擬
FPSO火炬塔海運綁扎方案及強度校核
擠壓態Mg-Dy-Cu合金板材的顯微組織及時效硬化行為
板材利用率提高之研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合