一、布爾運算
1.集合運算
在幾何造型中,由簡單形狀物體(通常叫體素)構造復雜形狀物體時,必須用到集合論。實體造型技術是建立在集合論的基礎上的。
集合表示任何有明確定義的事物的組合,屬于一個集合的事物是它的元素或成員。在幾何造型中,實體或其它幾何體的基本元素都是點。
以某種方式來合并兩個或更多個集合中的元素可以形成新的集合。約定集合A和B,構造第三個集合C,其中的元素是所有在A中的元素和所有在B中的元素,則C=A∪B,C稱為集合A和B的并集。如果構造一個集合D,其元素是A和B的公共元素,則D=A∩B,集合D叫做A、B的交集。最后,如果A和B是集合,則A·B表示在A中但不在B中的元素的集合。
就幾何造型而言,由點組成集合,這些點就定義了筆者所考察的一定維數的歐幾里德空間。集合論就為這些點提供了運算方法。
2.布爾運算
在此筆者討論如何用這些概念使得更復雜的形狀可由簡單的形狀生成。為此,筆者將運用集合運算符,如:并(∪)、交(∩)和差(—)。這些布爾運算符的應用與組合規則,稱為布爾代數。
布爾運算可將兩個物體的模型組合起來,從而建立一個合成后物體的新模型。它們為建立復雜的實體模型提供了一種極為有利的手段。它們的基本運算符與集合運算的并、差、交相同。
設有兩個物體都部分地占據同一空間,通過布爾運算可將它們合并為一個新的物體取而代之。
差集運算后形成的物體占據第一個物體原有的全部空間,但第二個物體所占據的那部分空間除外。差在許多實體造型系統中也稱作相減。
并集后形成的物體占據了兩個物體原來所占據的全部空間,交集后形成的物體只占據了原來兩個物體所共同占據的空間。由此可以看出,布爾運算是生成和修改復雜實體模型的一種有效方法。尤其是它對某一存在的實體進行修改的能力,是我們對數控加工進行仿真的基礎。
在將實體造型技術用于仿真的過程中,難點就是布爾運算,因為要模擬刀具切削,驗證加工軌跡,就要把刀具切削毛坯看成是執行布爾差運算,連續的差運算生成物體即為刀具切削毛坯后的工件。這樣可通過在工件模型上減去刀具掃描體而完成仿真和驗證工作。
二、毛坯模型的離散
車削加工時通常是棒料毛坯,設其直徑為D,長度為L。在實現仿真過程時,筆者首先將毛坯離散成許多單元體,單元體的數目依據加工精度而定。
下面以切外圓為例,對實現仿真切削過程的方法加以簡單介紹:
1.在符合精度要求下將毛坯離散,本系統是將其延Z軸離散成10個小單元體,假設毛坯的直徑為D,長度為L。
2.將小單元體的半徑值初始化成毛坯的半徑。
3.讀取數控代碼或刀位文件傳遞的插補形式及坐標。假設起點(X■,Z■)終點(X■,Z■)。
4.根據起點、終點坐標的Z值,確定毛坯的切削范圍,即確定哪些單元體被切削。
5.在(Z■—Z■)范圍內,把車刀切削后對應的單元體的半徑與D/2相比較。如果前者小于后者,則將前者的值賦給小單元體半徑;如果前者大于后者,則小單元體的半徑保持不變。
6.利用OpenGL的雙緩存(Double Buffer)技術、定時器技術(Timer)和界面更新技術(InvalidateRgn)可獲得平滑逼真的動畫效果。
三、車削碰撞、干涉檢驗
1.碰撞檢驗
(1)碰撞的概念
R.K.Culley從時空的角度給出了發生碰撞的定義,即在某一個時刻t,如果空間中位于L1、L2、…、Ln的n個物體S1、S2、…、Sn中,存在一對或多對物體同時占據某塊空間,那么就認為發生了碰撞。碰撞的發生就是兩個物體在某一個時間點,在某一個位置發生了體積的重合。當物體接觸時,每一個物體擁有維持物體本來物理狀態的作用力,用于抵御外界產生的變形,如摩擦力等。從機械仿真的角度看,可以劃分為兩個部分,其一,碰撞檢測:用來判斷兩個物體是否發生接觸;其二,碰撞反饋;用于描述物體發生接觸后產生的反作用效果。筆者主要針對碰撞進行檢測研究。
在虛擬現實中,虛擬物體通過計算機被描述,在內存中格式化的存儲,而并沒有和實際的空間相聯系。在虛擬空間中,沒有任何東西可以阻止這些對象在同一時刻,占據同一個空間位置,所以虛擬物體不可能像實物一樣存在碰撞,只有通過模仿碰撞發生用算法表現。
(2)碰撞檢驗的算法
在回轉體工件加工過程中,刀具類型的不同可能引起碰撞類型也有差別,主要分為兩類;一類是刀具與夾具的碰撞,如外圓車刀、螺紋刀等;另一類是刀具與工件的碰撞,如銼刀等。在實際仿真加工過程中,刀具實體與零件實體在進行復雜的布爾減運算時消耗了大量的計算機系統資源,而與此同時碰撞仿真檢測如果采用實體級的刀具、零件、夾具的布爾運算判斷碰撞發生,雖然較為精確,但卻是不可行的,它將會使計算機資源枯竭,運行速度將異常緩慢,無法達到快速仿真的目的。考慮到回轉體零件的對稱性,在車內外圓、鍵孔、鉆削和切斷,以及刀具快進、快退時的運動軌跡,近似都在刀尖頂點與零件軸線形成的二維平面上,因此筆者采用基于固定時間段的碰撞檢測方法,在每隔△t時間段末,刀具從L■點移到L■點,構造刀尖頂點L■與零件軸線形成的加工平面,分別與夾具體、零件體和刀具體相交,構成三個切割平面,即夾具切面、零件切面和刀具切面。根據碰撞分類,選擇判斷刀具切面與零件切面或夾具切面是否相交,推斷碰撞是否發生。
2.干涉檢驗
(1)干涉檢驗的重要性
通常干涉是指在加工曲面時刀具切入了曲面上應該保留的部分,又稱為啃切。干涉現象所產生的后果,輕則影響加工表面的質量,損壞工件,重則損壞機床設備。自動干涉檢查與處理功能是衡量GAD/CAM系統中數控編程功能的一項重要標志,它不僅能檢查出每個刀位是否與零件夾具存在干涉、碰撞,而且能通過抬刀、調整刀軸矢量來消除干涉,自動生成一個無干涉的刀位軌跡。
(2)干涉檢驗的算法
具體的干涉檢查算法是在插值點將加工刀具的主偏角和副偏角與直線傾斜角度比較,對于圓弧段輪廓,則與該插值點在圓弧輪廓的切線的傾斜角進行比較,并區分順圓和逆圓兩種情況。
參考文獻:
[1]楊潤黨.虛擬數控車削加工過程建模與仿真系統的研發.江蘇大學碩士論文,2003,3.
[2]盛亮.數控加工物理仿真關鍵技術的初探.系統仿真學報,2003,5.
[3]黃雪梅.虛擬數控車削物理仿真模型及實用系統的開發.機電工程,2000,17.