• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      包容盒干涉檢查方法在Pro/E下的實(shí)現(xiàn)*

      2010-09-11 09:12:06周爾民
      制造技術(shù)與機(jī)床 2010年2期
      關(guān)鍵詞:規(guī)整射線頂點(diǎn)

      周爾民

      (華東交通大學(xué)研究生處,江西南昌 330013)

      包容盒干涉檢查方法在Pro/E下的實(shí)現(xiàn)*

      周爾民

      (華東交通大學(xué)研究生處,江西南昌 330013)

      碰撞干涉檢查在產(chǎn)品裝配仿真中起著重要作用,包容盒方法可以有效地解決干涉檢查固有的計(jì)算復(fù)雜性。根據(jù)產(chǎn)品零部件不同類型提出了三級(jí)精度包容盒相結(jié)合的快速干涉檢查算法,并在Pro/ENGINEER環(huán)境下加以實(shí)現(xiàn)。通過人機(jī)交互界面應(yīng)用于汽車變速器裝配仿真過程中零部件之間的碰撞干涉檢查。

      包容盒 干涉檢查 Pro/E 裝配仿真

      1 干涉檢查的幾種方法

      干涉檢查是產(chǎn)品裝配仿真中的關(guān)鍵環(huán)節(jié)。干涉檢查算法的效率高低直接關(guān)系到裝配仿真系統(tǒng)的運(yùn)行速度。

      目前干涉檢查算法主要有以下幾種[1~4]:

      (1)幾何分析法 分析裝配中任意兩個(gè)零件之間各面間的關(guān)系,得到零件間的連接關(guān)系及運(yùn)動(dòng)自由度,基于運(yùn)動(dòng)自由度判別無沖突裝配路徑。

      (2)掃描法 可用于兩個(gè)零件間無沖突裝配路徑的檢測,根據(jù)兩個(gè)零件在一個(gè)裝配方向上的投影及投影區(qū)域間的距離,判斷是否存在無沖突裝配路徑。

      (3)包容盒法 適用復(fù)雜環(huán)境中的碰撞干涉檢查。通過建立對(duì)象的層次包容盒來逐漸逼近對(duì)象的幾何模型,從而用體積略大而形狀簡單的包容盒代替復(fù)雜的幾何對(duì)象參加碰撞干涉檢查。通過包容盒間的相交測試快速地排除不相交的基本幾何元素對(duì),以減少相交測試的次數(shù)。若包容盒不相交,則零部件也不發(fā)生干涉。

      (4)移動(dòng)增量干涉檢驗(yàn)法 是將掃描方法的空間進(jìn)行分解,得到多段掃描區(qū)間。對(duì)每一步進(jìn)行判斷,如果在整個(gè)過程中所有的段均無干涉,則認(rèn)為裝配路徑上無干涉。

      其中包容盒干涉檢查方法一是要求包容盒具有簡單性,即應(yīng)該是簡單的幾何體,至少應(yīng)該比被包容的幾何對(duì)象簡單。不僅表現(xiàn)為幾何形狀簡單、易于計(jì)算,而且包括相交測試算法的快速簡單;二是要求包容盒具有緊密型,即應(yīng)該盡可能地貼近被包容的幾何對(duì)象??梢杂冒莺信c被包容對(duì)象之間的距離來衡量,距離越小,緊密性越好。緊密性直接關(guān)系到需要進(jìn)行相交測試的包容盒的數(shù)目。

      2 基于包容盒的干涉檢查方法

      根據(jù)復(fù)雜裝配體不同的零部件類型,本文提出了一種三級(jí)精度包容盒相結(jié)合的快速定性干涉檢查方法:

      (1)沿全局坐標(biāo)系規(guī)整包容盒干涉檢查算法;

      (2)方向包容盒干涉檢查算法;

      (3)規(guī)整包容盒再分割算法。

      第一種方法計(jì)算量小、效率較高,但是包容盒經(jīng)過規(guī)整后并入了一些非實(shí)體空間使精度有所下降;第二種方法不受包容盒規(guī)整的影響,精度較高,其計(jì)算量較前者要大一些;而對(duì)于不太規(guī)則的零件可采用第三種方法,對(duì)三維零件包容盒再進(jìn)行分解。將以上三種算法結(jié)合起來就能在不過多增加計(jì)算量的同時(shí),大大地提高檢查精度。

      2.1 沿全局坐標(biāo)系規(guī)整包容盒干涉檢查算法

      沿全局坐標(biāo)系規(guī)整包容盒算法是在裝配仿真環(huán)境中將各個(gè)零部件都置于一個(gè)包容盒中,不管零部件的形狀如何。也就是在裝配坐標(biāo)系內(nèi)能夠包容所有裝配體幾何特征的長方體,長方體的各面與坐標(biāo)系的坐標(biāo)軸平行或垂直,可以用兩個(gè)點(diǎn)來表達(dá),一個(gè)是左下角P0,一個(gè)是右上角 P1,數(shù)學(xué)表達(dá)為:E={P0,P1};

      由于全局坐標(biāo)系規(guī)整包容盒的各面與坐標(biāo)系的坐標(biāo)軸平行或垂直,可以利用兩待檢零件包容盒頂點(diǎn)的相互關(guān)系來判斷零件間的干涉狀況。

      兩包容盒分別為 Box1:P0(x0,y0,z0),P1(x1,y1,z1);Box2:P2(x2,y2,z2),P3(x3,y3,z3),如圖 1 所示[5]。如果Box1的右上角頂點(diǎn)在Box2的左下角頂點(diǎn)之下,即 x1x3,y0>y3,z0>z3,滿足以上三個(gè)條件的任意一個(gè),則Box1,Box2不相交;反之則可能相交。

      2.2 方向包容盒干涉檢查算法

      在裝配中是沿斜對(duì)角方向放置的瘦長形幾何體,如果采用上述全局坐標(biāo)系規(guī)整包容盒,將留下很大的邊角空隙,從而導(dǎo)致大量冗余的包容盒相交檢查。

      對(duì)此類零件可采用方向包容盒干涉檢查算法。就是在零件坐標(biāo)系內(nèi)建立包容所有零件幾何特征的長方體,且長方體的各面與零件坐標(biāo)系的坐標(biāo)軸平行或垂直。其最大特點(diǎn)就是它的方向的任意性,這使得它可以根據(jù)被包容對(duì)象的形狀特點(diǎn)盡可能緊密地包容零件。方向包容盒干涉檢查算法相對(duì)復(fù)雜一些,其關(guān)鍵是尋找最佳方向,并確定在該方向上包容零部件包容盒的最小尺寸。由于零件在裝配過程中經(jīng)歷了平移和旋轉(zhuǎn)運(yùn)動(dòng),包容盒的各面已不與裝配體的全局坐標(biāo)系平行或垂直,因此不能用兩個(gè)點(diǎn)來表達(dá),而是由包容盒的8個(gè)頂點(diǎn)坐標(biāo)來表達(dá)。數(shù)學(xué)表達(dá)為:E={P0,P1,P2,P3,P4,P5,P6,P7,PC},其中 PC 為各頂點(diǎn)間的連結(jié)關(guān)系,如圖 2 所示[5]。

      2.3 規(guī)整包容盒再分割算法

      對(duì)于不規(guī)則的零部件,即非凸幾何體,碰撞干涉檢查的誤差比較大。當(dāng)凸凹零部件之間相交時(shí),按照一般包容盒法已經(jīng)發(fā)生了干涉,但實(shí)際上兩個(gè)零部件并沒有發(fā)生干涉碰撞。

      對(duì)此類零件可采用規(guī)整包容盒再分割算法。虛擬環(huán)境下,假定每個(gè)零部件均有一個(gè)規(guī)整包容盒,在進(jìn)行包容盒分割之前,對(duì)三維幾何體用邊界法B-Rep表示其各個(gè)頂點(diǎn),并分別向X、Y、Z三個(gè)坐標(biāo)軸投影,分別得到m、n、p個(gè)點(diǎn),對(duì)這些點(diǎn)進(jìn)行編號(hào),記作xi(i=1,2,…,m),yj(j=1,2,…,n),zk(k=1,2,…,p),然后根據(jù)各個(gè)頂點(diǎn)的投影,對(duì)包容盒尺寸進(jìn)行分割,并將編號(hào)進(jìn)行排序。這樣對(duì)應(yīng)于三個(gè)坐標(biāo)軸上的投影形成x、y、z三個(gè)獨(dú)立數(shù)據(jù)鏈表。對(duì)數(shù)據(jù)點(diǎn)進(jìn)行判斷,可以組成有效數(shù)據(jù)對(duì),通過該數(shù)據(jù)對(duì)的最高坐標(biāo)和最低坐標(biāo)可以組成一個(gè)小的包容盒,然后進(jìn)行干涉檢查判斷[6]。

      將上述三種算法結(jié)合起來用于產(chǎn)品零部件的干涉檢查,能在不過多增加計(jì)算量的情況下提高檢查精度。

      3 算法在Pro/E環(huán)境中的具體實(shí)現(xiàn)

      縱觀以上的算法,干涉檢查的求取實(shí)際上是先對(duì)包容盒的頂點(diǎn)的求取。由于在Pro/Engineer中,是以特征建模為基礎(chǔ),所以對(duì)于任意點(diǎn)的選取是很困難的,必須找出有效的方法來求取包容盒的頂點(diǎn)。

      對(duì)于初級(jí)的包容盒,在Pro/Toolkit中有這樣的函數(shù)ProSolidOutlineGet(),此函數(shù)的定義如下:

      ProSolid為要計(jì)算其輪廓的實(shí)體,是輸入?yún)?shù);Pro3dPnt為在零件坐標(biāo)系下得出的包容盒的兩個(gè)對(duì)角線的頂點(diǎn)。此函數(shù)得到的頂點(diǎn)坐標(biāo)是相對(duì)于缺省坐標(biāo)系的。另外一個(gè)函數(shù)ProSolidOutlineCompute()通過輸入一個(gè)變換矩陣,可以得到相對(duì)于任何位姿的坐標(biāo)系的頂點(diǎn)坐標(biāo),其定義如下。

      ProSolid為要計(jì)算其頂點(diǎn)坐標(biāo)的實(shí)體;ProMatrix表示一個(gè)矩陣,是相對(duì)于基礎(chǔ)坐標(biāo)系的,得到的頂點(diǎn)方位是相對(duì)于這個(gè)矩陣位姿的;ProSolidOutlExclTypes是一個(gè)數(shù)組,為不考慮的外形特征,比如一些非幾何的特征,他包括以下幾種類型:PRO_OUTL_EXC_NOT_USED,PRO_OUTL_EXC_DATUM_PLANE,PRO_OUTL_EXC_DATUM_POINT,PRO_OUTL_EXC_DATUM_CSYS,PRO_OUTL_EXC_DATUM_AXES;Int為數(shù)組中被排除的類型的個(gè)數(shù);Pro3dPnt為在特定位姿時(shí)的物體外形包容盒的兩個(gè)頂點(diǎn)的坐標(biāo)。

      通過得到的兩個(gè)對(duì)角線頂點(diǎn)就可以確定包容盒的8個(gè)頂點(diǎn),并將其轉(zhuǎn)換到裝配坐標(biāo)系下。遍歷這8個(gè)頂點(diǎn)的x、y、z值,得到新的包容盒的對(duì)角線頂點(diǎn)。根據(jù)運(yùn)動(dòng)關(guān)系求出運(yùn)動(dòng)后的包容盒并進(jìn)行干涉檢查。通過此種方法得到的包容盒只能作為初級(jí)的包容盒檢查,要得到精確度更高一級(jí)的包容盒,就需要得到更加精確的或者是更加緊密的包容盒的對(duì)角線頂點(diǎn)。在Pro/Toolkit中,有一種得到特征實(shí)體頂點(diǎn)的方法,叫做“射線求交法”。射線是由一個(gè)起始點(diǎn)和一個(gè)方向向量決定的,同時(shí)還有一個(gè)半徑?jīng)Q定這束射線的照射半徑。當(dāng)射線穿過或碰到模型的某一個(gè)特征,那么這個(gè)特征就被選擇,其函數(shù)的定義如下。

      ProMdl為射線照射的零件或部件;射線的半徑為double類型;ProRay*指向由起始點(diǎn)和照射方向決定的射線,ProSelection**為ProSlection類型的數(shù)組,為被照射到的幾何特征,為輸出參數(shù);射線和實(shí)體幾何特征相交的次數(shù)為int型。

      然后通過另外一個(gè)函數(shù)ProSelectionPoint3dGet得到交點(diǎn)的坐標(biāo),其定義如下:

      ProSelection**為所選擇的物體;ProPoint3d表示一個(gè)點(diǎn)的坐標(biāo),是一個(gè)三維數(shù)組,是輸出參數(shù)。

      得到實(shí)體上點(diǎn)的坐標(biāo)后,通過適當(dāng)?shù)暮Y選、轉(zhuǎn)換得到描述這個(gè)實(shí)體的有效點(diǎn),構(gòu)建實(shí)體的較精確的包容盒。

      射線的生成程序和點(diǎn)的求取程序此處省略。

      對(duì)于零件級(jí)的包容盒,可以采用Pro/Engineer中提供的靜態(tài)干涉檢查的函數(shù)來進(jìn)行,具體方法為:當(dāng)規(guī)劃零件的路徑時(shí),在關(guān)鍵點(diǎn)處,重設(shè)組件的位置,應(yīng)用的函數(shù)如下:

      其中,ProAsmcomppath為此零件的路徑;ProBoolean為一個(gè)布爾類型。當(dāng)為PRO_B_TRUE時(shí)表示路徑變換是自零部件到裝配體,否則的話為PRO_B_FALSE;ProMatrix為表示設(shè)定零件新位姿的矩陣。這種設(shè)定是在程序運(yùn)行時(shí)期才有效。重設(shè)零件的位置,也就是零件的位置Pro/Engineer的內(nèi)存中的位置得到改變,可利用函數(shù)pro_compute_interference來進(jìn)行干涉檢查。檢查的結(jié)果可得到代表干涉曲面項(xiàng)的句柄的數(shù)目和干涉量。同時(shí),可以多次運(yùn)用此函數(shù)檢查出零部件和周圍其他的零件相干涉的情況。

      4 應(yīng)用實(shí)例

      以某一型號(hào)汽車變速器操縱蓋為應(yīng)用對(duì)象,判斷其裝配仿真過程中零部件之間的碰撞干涉。

      采用Pro/E二次開發(fā)模塊Pro/Toolkit提供的菜單技術(shù),制作與Pro/E風(fēng)格一樣的菜單。在Pro/E的裝配模

      式(Assembly Mode)啟動(dòng)后,出現(xiàn)主菜單和仿真菜單等,如圖3所示。

      “裝配仿真”的功能是執(zhí)行裝配過程仿真操作?!把b配規(guī)劃”是一個(gè)下級(jí)菜單,其功能是對(duì)系統(tǒng)進(jìn)行裝配序列與路徑的規(guī)劃,點(diǎn)擊這個(gè)菜單以后,會(huì)出現(xiàn)它的下級(jí)菜單如圖4所示。點(diǎn)擊“初步干涉檢查”,系統(tǒng)會(huì)提示用戶選擇兩個(gè)零部件,進(jìn)行干涉檢查。如果出現(xiàn)干涉,系統(tǒng)會(huì)詢問是否展示干涉報(bào)告,回答“yes”,系統(tǒng)會(huì)給出干涉檢查報(bào)告,如圖5所示。

      如果沒有干涉,用戶點(diǎn)擊“選擇裝配計(jì)劃”,系統(tǒng)要求用戶選擇一個(gè)零部件之后,消息欄會(huì)出現(xiàn)要求用戶輸入仿真的幀數(shù),也即仿真的步長。當(dāng)用戶輸入幀數(shù)以后,屏幕上就會(huì)按照用戶的規(guī)定的步長和方向來演示該零部件的拆卸過程。

      當(dāng)該零部件的拆卸運(yùn)動(dòng)演示完畢之后,消息欄又會(huì)出現(xiàn)提示信息:Do you want interference detecting?(yes or no)。當(dāng)用戶輸入yes之后,系統(tǒng)會(huì)提示選擇要與之進(jìn)行干涉檢查的零部件,并在屏幕上顯示這兩個(gè)部件的包容盒,如圖6所示。

      系統(tǒng)會(huì)判斷兩個(gè)包容盒是否相交。如果相交,則系統(tǒng)會(huì)提示發(fā)生干涉,并給出相應(yīng)的干涉報(bào)告。此時(shí)并不代表這兩個(gè)零件真的干涉,還要進(jìn)行下一級(jí)的干涉檢查。這時(shí)系統(tǒng)會(huì)要求用戶繼續(xù)選擇這兩個(gè)零部件,進(jìn)行零件級(jí)的干涉檢查。如果此時(shí)還干涉,系統(tǒng)會(huì)給初干涉報(bào)告,同時(shí)退出裝配規(guī)劃;如果不相交,系統(tǒng)會(huì)記錄下該零件的拆卸路徑和拆卸距離。然后系統(tǒng)會(huì)提示用戶繼續(xù)選擇下一零部件,并對(duì)其進(jìn)行裝配路徑的規(guī)劃。這樣逐一對(duì)零件進(jìn)行規(guī)劃。規(guī)劃完成后,信息文件將記錄下剛才規(guī)劃的結(jié)果。最后可將零件的可行裝配路徑輸入到裝配仿真模塊中,作為裝配仿真的輸入信息。

      5 結(jié)語

      本文針對(duì)產(chǎn)品零部件的不同類型所提出的三級(jí)精度包容盒相結(jié)合的快速干涉檢查算法,通過Pro/ENGINEER環(huán)境下的具體實(shí)現(xiàn),能夠方便快捷地判斷產(chǎn)品裝配仿真過程中零部件之間的干涉。并以某一型號(hào)汽車變速器的操縱蓋為例進(jìn)行印證,進(jìn)而實(shí)現(xiàn)了汽車變速器虛擬裝配仿真過程中所有零部件之間的碰撞干涉檢查。

      1 Stephane Redon,Abderrahaane Kheddat.Hierarchical Back-Face Culling for Collision Detection.IEEE,2002:3036 -3041

      2 James T.Klosowski,Martin Held,Joseph S.B.Mitchell.Efficient Collision Detection Using Bounding Volume Hierarchies of κ-Dops.IEEE Transaction on Visualization and Computer Graphics,1998,4(1):21 -36

      3 A.Iones,S.Zhukov,A.Krupkin.On Optimality of OBBs for Visibility Tests for Frustum Culling,Ray Shooting and Collision Detection.IEEE,2003:1078-1085

      4 Kai POUTRAIN,Magali CONTENSIN.Dual Brep-CSG collision Detection for General Polyhedra.IEEE,2003.

      5 高峰,吳俊軍等.基于包容盒分解的快速干涉檢驗(yàn)算法.計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2000,12(6):435~440

      6 王太勇,王國鋒.基于HV分割的精確碰撞檢測在虛擬設(shè)計(jì)中的應(yīng)用.機(jī)械設(shè)計(jì),2000,12(6):435~440

      作者:周爾民,男,1962年生,教授,主要研究方向?yàn)镃AD/CAM、虛擬制造技術(shù)。

      (編輯 周富榮)(收修改稿日期:2009-08-10)

      如果您想發(fā)表對(duì)本文的看法,請(qǐng)將文章編號(hào)填入讀者意見調(diào)查表中的相應(yīng)位置。

      Implementation of Bounding Box Interference Checking Based on Pro/E

      ZHOU Ermin
      (Graduated Department,East China Jiaotong University,Nanchang 330013,CHN)

      Collision and interference detection plays an important role in virtual assembly of mechanical product.This method can decrease the intrinsic computational complexity of Collision and interference detection effectively.According to different type of product parts,a fast algorithm combined plain grade and bounding box for detecting collision and interference is introduced and implemented in Pro/ENGINEER this paper.It is applied to the collision interference detection between the parts of automobile transmission in the process of virtual assembly by method of man-machine interface.

      Bounding Box;Interference Checking;Pro/E;Assembly Simulation

      * 江西省教育廳重點(diǎn)科技項(xiàng)目:汽車變速箱虛擬制造技術(shù) (贛教20020804)

      10234

      猜你喜歡
      規(guī)整射線頂點(diǎn)
      過非等腰銳角三角形頂點(diǎn)和垂心的圓的性質(zhì)及應(yīng)用(下)
      “直線、射線、線段”檢測題
      300kt/a硫酸系統(tǒng)規(guī)整填料使用情況簡介
      『直線、射線、線段』檢測題
      關(guān)于頂點(diǎn)染色的一個(gè)猜想
      赤石脂X-射線衍射指紋圖譜
      中成藥(2017年3期)2017-05-17 06:09:16
      提高日用玻璃陶瓷規(guī)整度和表面光滑度的處理方法
      佛山陶瓷(2016年11期)2016-12-23 08:50:27
      電梯的建筑化藝術(shù)探索
      大觀(2016年9期)2016-11-16 10:31:30
      基于發(fā)音機(jī)制的貪婪自適應(yīng)語音時(shí)長規(guī)整算法
      數(shù)學(xué)問答
      尤溪县| 湖北省| 泗阳县| 嘉兴市| 镇赉县| 嘉峪关市| 韩城市| 专栏| 永仁县| 神木县| 巴青县| 喀喇沁旗| 田东县| 忻城县| 六安市| 邛崃市| 钟祥市| 黑龙江省| 贞丰县| 抚顺县| 鸡西市| 确山县| 宜城市| 辰溪县| 阿拉尔市| 江川县| 黔江区| 长治县| 嘉鱼县| 余姚市| 永定县| 固阳县| 台安县| 永胜县| 芦山县| 镇原县| 永登县| 响水县| 贞丰县| 中西区| 南投市|