虛擬數(shù)控銑床三維模型的構(gòu)建現(xiàn)以FANUC數(shù)控銑床系統(tǒng)為藍本,構(gòu)建數(shù)控機床三維實體模型。雖然真正的數(shù)控銑床結(jié)構(gòu)復雜,不可能完全復制,但建造的虛擬模型也必須體現(xiàn)出數(shù)控銑床的結(jié)構(gòu)特點和主要組成單元,具體包括床身、銑刀、工件、主軸以及沿縱、橫向移動的工作臺等。為此,利用OpenGL提供的點、線、多邊形、圖像和位圖等圖元以及庫函數(shù),并根據(jù)數(shù)控銑床各個部件的基本幾何形狀、材質(zhì)、運動約束等條件,在提取它們共性的基礎(chǔ)上,建一個基類(CDraw3D),該類定義了三維模型的共性,例如光照、顏色、反射、緩存類型等。然后又在該類基礎(chǔ)上,派生出對應(yīng)不同幾何圖形的新類,例如盤(CDisk)、圓臺(CCylinder)、球(CBall)、圖元(Cprimitive)等。先將床身、銑刀、工件、主軸和工作臺等模塊單獨繪制,并按照銑床結(jié)構(gòu)上的邏輯關(guān)系把這些模塊集成起來,從而構(gòu)建出數(shù)控銑床的三維實體模型,如所示為數(shù)控銑床實物圖片和虛擬三維模型。
構(gòu)建上述三維虛擬數(shù)控銑床模型的主要程序框架如下:VoidCDrawmachineView::DrawMConstruction{//繪制門glPushMatric://壓入當前矩陣堆棧glTranslated(2000,f-135.0,f-1745.0f);//當前矩陣乘上一個平移矩陣glRotated(8.4,f0.0,f1.0,f0.0f);//當前矩陣乘上一個旋轉(zhuǎn)矩陣glScaled(1.5,f1.55,f1.5f);//當前矩陣乘上一個放大矩陣MILLDoor;//繪制防護門glPopMatrix;//彈出當前矩陣堆棧//建立坐標軸glPushMatric;glTranslated(-50.0,f950.0,f0.0f);glRotated(180.0,f0.0,f0.0,f1.0f);MILLCoordinate;//繪制坐標軸glPopMatrix;//繪制數(shù)控銑床模型glPushMatric;glTranslated(-50.0,f0.0,f800.0f);glRotated(80.0,f1.0,f0.0,f0.0f);MILLMachinebody;//繪制數(shù)控銑床glPopMatrix;}數(shù)控銑床實物和虛擬模型可見,通過glPushMatrix與glPopMatrix一對矩陣堆棧操作函數(shù)和適當?shù)膸缀巫儞Q可以實現(xiàn)床身、銑刀、工件和工作臺等模塊間的相對位置和運動關(guān)系。同時,還要對其進行光照、材質(zhì)、紋理以及反走樣等技術(shù)處理,使虛擬場景中的數(shù)控銑床更加逼真。虛擬數(shù)控銑床加工過程的實現(xiàn)21虛擬數(shù)控銑床加工系統(tǒng)的界面設(shè)計該虛擬數(shù)控銑床加工仿真系統(tǒng)擁有一個良好的人機交互界面,如所示為虛擬數(shù)控銑床操作面板。
界面主要由NC代碼編輯區(qū)(MDI)、虛擬操作面板和模擬顯示屏組成。本系統(tǒng)既可以從外部讀入NC代碼文件,也可以通過虛擬鍵盤修改讀入的文件或直接重新輸入NC代碼,然后進行保存并運行。虛擬操作面板具有與真實機床類似的按鈕、旋鈕、開關(guān)、指示燈及其他控制部件,用戶可以通過鼠標進行操作。在選定虛擬數(shù)控銑床操作面板了NC代碼程序、加工對象、刀具以及運行方式后便可以開始加工,顯示屏實時模擬出實際的加工過程,刀具沿著所要求的軌跡運動,毛坯體不斷被切削,直到加工程序結(jié)束,工件體被加工成合格零件。
虛擬數(shù)控銑床加工過程的實現(xiàn)數(shù)控銑床加工過程虛擬仿真實質(zhì)上就是根據(jù)NC代碼程序的要求來完成刀具和工件之間的相對運動,這就要求對讀入的數(shù)控加工程序進行譯碼與診斷,形成用來控制銑床各部件協(xié)調(diào)運動的數(shù)據(jù),并加以存儲。然后利用這些數(shù)據(jù),改變刀具和工件模型之間的相對位置,從而實現(xiàn)了切削過程的模擬,所示為虛擬數(shù)控銑床加工過程演示圖。左邊是NC代碼編輯顯示區(qū),右邊是虛擬加工顯示區(qū),并且右邊顯示的工件輪廓與左邊區(qū)域中的數(shù)控加工程序相對應(yīng)。
如所示工件輪廓對應(yīng)的數(shù)控加工程序代碼如下:O2011N10G54M03S500;N20G90T0101G42;虛擬數(shù)控銑床加工過程演示圖N25Z0;N30G0X-10G0;N40G1X40;N50G3X80Y40I0J40;N60G1Y85;N70G3X75Y90I-5J0;N80G1X25;N90T0101;N100X0Y60;N105Y-10;N110G0Z0;N120M05;N130M02;%NC代碼程序決定了數(shù)控機床在虛擬加工顯示區(qū)的切削過程,即刀尖與工件在機床坐標系中相對位置的變化。本系統(tǒng)在機床絕對坐標系中,計算刀尖與工件相對位置的變量為g_vtTipWrk,它由刀尖主軸相對位置和刀尖工件相對位置共同確定。
結(jié)語本文通過OpenGL強大的三維顯示效果,基于VisualC開發(fā)環(huán)境,實現(xiàn)了對數(shù)控銑床的三維建模和零件虛擬加工過程的渲染效果,可以完成NC代碼程序到虛擬零件的仿真加工過程,并能夠清楚地觀察到刀具的切削狀態(tài)。而進一步的后續(xù)工作是基于上述虛擬加工仿真系統(tǒng)實現(xiàn)與真實機床的通信控制,并下載已驗證的數(shù)控加工程序,以便控制數(shù)控機床加工出合格的零件。同時,還可以對數(shù)控機床的精度和刀具的磨損進行標定和綜合評價,并核定零件的加工工時,以便于制造企業(yè)的車間調(diào)度與管理。經(jīng)過不斷地改進與完善后,計劃將其產(chǎn)品化,并推向市場。