在proe中自動(dòng)生成零件拆卸優(yōu)先約束矩陣
2013-05-25 by:廣州有限元分析、培訓(xùn)中心-1CAE.COM 來源:仿真在線
拆卸優(yōu)先約束矩陣為建立產(chǎn)品的拆卸層次信息圖模型提供了基礎(chǔ)信息,保證了拆卸序列規(guī)劃結(jié)果的正確性和有效性。在proe中用C語言完成了零件拆卸優(yōu)先約束矩陣自動(dòng)生成的二次開發(fā),包括模型調(diào)入和預(yù)處理、簡(jiǎn)單拆卸路徑生成和包容盒逐級(jí)分解的干涉檢驗(yàn)等3個(gè)模塊。解決了自動(dòng)判別節(jié)點(diǎn)可拆卸性的關(guān)鍵問題,為機(jī)電產(chǎn)品基于拆卸層次信息圖建模的自動(dòng)化提供了有力的支持。
薛俊芳 邱長(zhǎng)華 向東 來源:萬方數(shù)據(jù)
關(guān)鍵字:計(jì)算機(jī)應(yīng)用 拆卸優(yōu)先約束矩陣 干涉檢驗(yàn) 拆卸層次信息
隨著環(huán)境意識(shí)與資源意識(shí)的逐步提高,機(jī)電產(chǎn)品的綠色設(shè)計(jì)越來越受到人們的重視,其核心思想是在產(chǎn)品設(shè)計(jì)階段就考慮產(chǎn)品使用后的回收處理問題,把生命周期末端可能遇到的問題在設(shè)計(jì)中予以解決,將傳統(tǒng)的產(chǎn)品生命周期的開環(huán)模式轉(zhuǎn)化為閉環(huán)模式。拆卸是實(shí)現(xiàn)產(chǎn)品生命周期封閉性和完整性的必要環(huán)節(jié),產(chǎn)品的拆卸序列是從產(chǎn)品中拆卸各零部件的先后順序。目前,對(duì)產(chǎn)品拆卸序列規(guī)劃的研究普遍采用基于圖的建模方法,并輔以方案的尋優(yōu)算法。對(duì)拆卸操作進(jìn)行可行性判斷是保證拆卸序列規(guī)劃結(jié)果正確、切實(shí)可行的唯一途徑。產(chǎn)品中零部件的拆卸優(yōu)先約束矩陣為拆卸層次信息圖模型中節(jié)點(diǎn)的構(gòu)建提供基礎(chǔ)信息,從產(chǎn)品CAD模型中自動(dòng)提取這一信息是實(shí)現(xiàn)自動(dòng)建模的條件。
1 拆卸優(yōu)先約束關(guān)系
1.1拆卸優(yōu)先約束矩陣
約束是零部件之間的空間制約關(guān)系及其相關(guān)性的反應(yīng),零件的拆卸優(yōu)先約束關(guān)系指的是,若產(chǎn)品中零件i對(duì)零件j的拆卸形成空間制約關(guān)系,則零件i的拆卸優(yōu)先于零件j。如機(jī)電產(chǎn)品中常見的各種螺紋連接就是在其相關(guān)零部件之間產(chǎn)生的一種優(yōu)先約束關(guān)系。約束關(guān)系包括直接接觸約束和非接觸約束。
產(chǎn)品中零件的拆卸優(yōu)先約束關(guān)系可用優(yōu)先約束矩陣RN*N =[rij]來表示,N為產(chǎn)品中零件的數(shù)量,rij表示第j個(gè)零件對(duì)第i個(gè)零件的約束情況,其取值為0或1,如果rij =1表示第j個(gè)零件需要在第i個(gè)零件之前拆卸,rij =0表示第i個(gè)零件的拆卸不受第j個(gè)零件是否拆卸的制約。當(dāng)i=j時(shí),規(guī)定rij =0。圖1所示某空調(diào)室外機(jī)風(fēng)機(jī)部件的拆卸優(yōu)先約束矩陣為
1.2拆卸層次信息圖
拆卸層次信息圖模型是機(jī)電產(chǎn)品拆卸序列規(guī)劃過程中采用的一種建模方法,為一個(gè)非負(fù)值的簡(jiǎn)單加權(quán)有向圖(見圖2)。圖中的節(jié)點(diǎn)代表產(chǎn)品中的零部件,有向邊代表所聯(lián)系的節(jié)點(diǎn)零件的拆卸先后意圖,加在邊上的權(quán)值ω由相應(yīng)拆卸操作的綜合指標(biāo)值確定。如果拆卸意圖在實(shí)際拆卸過程中可以得到實(shí)現(xiàn),那么這樣的邊就稱為可拆卸邊,所聯(lián)系的節(jié)點(diǎn)的可拆卸性標(biāo)識(shí)為"True";否則,稱為不可拆卸邊,下層節(jié)點(diǎn)的可拆卸性標(biāo)識(shí)為"False".所有可拆卸性標(biāo)識(shí)為"True"的節(jié)點(diǎn)和邊構(gòu)成產(chǎn)品的拆卸層次信息圖。
以圖1所示的產(chǎn)品為例,其拆卸層次信息圖(圖中所有節(jié)點(diǎn)和邊都是可拆卸的,因此省略"True"標(biāo)識(shí))如圖2所示。拆卸層次信息圖模型表達(dá)了產(chǎn)品所有可行的拆卸序列(方案),從圖2可以看出,該產(chǎn)品有3條可行的拆卸序列。
需要說明的是,如果產(chǎn)品中元件比較多時(shí),拆卸層次信息圖會(huì)比較復(fù)雜,此時(shí)可作如下的簡(jiǎn)化處理:
(1)結(jié)構(gòu)復(fù)雜的產(chǎn)品采用多層迭代處理方式。對(duì)于較為復(fù)雜的產(chǎn)品,可將產(chǎn)品劃分為幾個(gè)子拆卸體,子拆卸體被視為一個(gè)元件來處理,以此構(gòu)建產(chǎn)品的拆卸層次信息圖進(jìn)行拆卸序列規(guī)劃。產(chǎn)品級(jí)的拆卸序列規(guī)劃完成后,再導(dǎo)入子拆卸體進(jìn)行規(guī)劃,從而通過一個(gè)層進(jìn)的迭代方式來實(shí)現(xiàn)對(duì)復(fù)雜產(chǎn)品的完整拆卸序列規(guī)劃過程。
(2)消除復(fù)雜產(chǎn)品中的連接件。對(duì)于較為復(fù)雜的產(chǎn)品,為了簡(jiǎn)化產(chǎn)品的模型,可以從產(chǎn)品模型中移除一些基本的連接件,如螺釘、螺母等。通過這樣的處理方式,對(duì)簡(jiǎn)化產(chǎn)品模型后得到的拆卸方案,同樣適用于原產(chǎn)品的拆卸序列規(guī)劃,產(chǎn)品中元件的拆卸操作就代表了"移除連接件十拆卸元件"。這種方法比較符合實(shí)際應(yīng)用中的情況,同時(shí)也有助于簡(jiǎn)化拆卸序列規(guī)劃平臺(tái)的計(jì)算復(fù)雜性。
2節(jié)點(diǎn)可拆卸性判定
設(shè)待拆卸的零件節(jié)點(diǎn)為i,己拆卸的零件集合為Dis={Disassembly},在拆卸優(yōu)先約束矩陣R中,與Dis集合中元素相對(duì)應(yīng)的行和列自然消失,形成節(jié)點(diǎn)1當(dāng)前的拆卸優(yōu)先約束矩陣R',根據(jù)拆卸優(yōu)先約束矩陣所表示的具體的物理意義,可以得到以下兩條判別準(zhǔn)則:
準(zhǔn)則1節(jié)點(diǎn)的拆卸可行性判定準(zhǔn)則若{Hi}=0,則表示拆卸當(dāng)前零件i不受其它零件的空間制約,拆卸操作在實(shí)際拆卸過程中可以實(shí)現(xiàn),故節(jié)點(diǎn)i在當(dāng)前狀態(tài)下的拆卸可行,可拆卸性標(biāo)識(shí)為True;否則,標(biāo)識(shí)為False .
準(zhǔn)則2下層組成節(jié)點(diǎn)判別準(zhǔn)則若節(jié)點(diǎn)1的拆卸可行性標(biāo)識(shí)為True,則Dis=Dis∪{ i } ,集合Next={j|j不屬于Dis}中的元素組成節(jié)點(diǎn)i的下層目標(biāo)點(diǎn)集合。任取as ∈Next;,節(jié)點(diǎn)a、的拆卸可行性標(biāo)識(shí)根據(jù)準(zhǔn)則1來判定。
所有標(biāo)識(shí)為True的節(jié)點(diǎn)組成節(jié)點(diǎn)i的下層節(jié)點(diǎn)集合Ti,顯然Ti 不屬于 Next;,再下一層節(jié)點(diǎn)將從Ti中產(chǎn)生。由此,逐層構(gòu)建產(chǎn)品的拆卸層次信息圖。
3自動(dòng)生成拆卸優(yōu)先約束矩陣
構(gòu)建拆卸層次信息圖的基礎(chǔ)信息即是拆卸優(yōu)先約束矩陣。因此,自動(dòng)生成拆卸優(yōu)先約束矩陣是實(shí)現(xiàn)可拆卸性自動(dòng)判定、進(jìn)而實(shí)現(xiàn)拆卸規(guī)劃過程自動(dòng)建模的關(guān)鍵因素。以proe實(shí)體模型為研究對(duì)象,利用Prorfoolkit API自動(dòng)生成產(chǎn)品中零件的拆卸優(yōu)先約束矩陣。Pro/Toolkit API是proe與外部應(yīng)用程序之間的接口,它提供了一系列的函數(shù)和過程,通過用C語言編程來調(diào)用這些函數(shù)或過程,能夠?qū)roe模型文件及相應(yīng)模型進(jìn)行操作。
所開發(fā)的系統(tǒng)包括預(yù)處理模塊、拆卸路徑生成模塊和干涉檢查模塊,其工作流程如圖3所示。
3.1預(yù)處理模塊
預(yù)處理模塊的工作有:調(diào)入產(chǎn)品的proe模型,提取相關(guān)零部件信息(包括ID號(hào)、配合關(guān)系、位姿矩陣等),同時(shí)獲得零件列表等。
產(chǎn)品中往往包含數(shù)個(gè)相同的零件,如圖1所示風(fēng)機(jī)部件中,包含4個(gè)相同的自攻螺釘用于連接軸流電機(jī)和支架。在產(chǎn)品CAD模型中,相同的零件體現(xiàn)為同一零件的多個(gè)實(shí)例。建立產(chǎn)品的拆卸層次信息圖時(shí),相同的零件僅用一個(gè)節(jié)點(diǎn)表示,其拆卸操作的次數(shù)等于零件的個(gè)數(shù)。因此,在預(yù)處理模塊刪除同一零件的多個(gè)實(shí)例,僅保留其中一個(gè)進(jìn)行拆卸優(yōu)先約束矩陣的自動(dòng)生成。同時(shí),對(duì)于結(jié)構(gòu)復(fù)雜的產(chǎn)品,為了簡(jiǎn)化產(chǎn)品的模型,應(yīng)刪除產(chǎn)品中零件之間的連接件,將連接件的類型和數(shù)量作為零件之間的連接方式信息。如將圖1中連接軸流電機(jī)和支架的4個(gè)自攻螺釘刪除,拆卸層次信息圖中的節(jié)點(diǎn)數(shù)將由18個(gè)降為12個(gè),拆卸軸流電機(jī)的操作就代表了"松開4個(gè)自攻螺釘+拆卸軸流電機(jī)"。該文通過零件的文件名來識(shí)別和判定連接件。
最后保存預(yù)處理后的Fro/E裝配體文件。
3.2拆卸路徑生成模塊
拆卸路徑生成模塊通過分析零件在裝配體中的幾何配合約束,求取零部件的可行拆卸運(yùn)動(dòng)方向集,并以其中與產(chǎn)品坐標(biāo)系或零件坐標(biāo)系的的軸向重合的方向作為零件的優(yōu)先拆卸方向。
在proe中,幾何配合約束是在建立裝配體模型的過程中交互定義的,每一約束包括3個(gè)方面的信息:約束類型、元件參照元素和基體參照元素。參照元素指元件或基體中直接參與配合的幾何構(gòu)造元素,包括點(diǎn)、實(shí)體邊線、面等,構(gòu)成這些幾何構(gòu)造元素的幾何特征參數(shù)均可以從Pro1E系統(tǒng)中通過接口函數(shù)來提取。裝配元件在目標(biāo)裝配體內(nèi)的最終位姿一般由兩個(gè)或兩個(gè)以上的兒何配合約束確定,對(duì)這些約束進(jìn)行分析組合可以求取元件拆卸運(yùn)動(dòng)的參考方向。如對(duì)于軸孔插裝的配合約束組合來講,元件的拆卸運(yùn)動(dòng)方向必定與基體貼合平面的外法矢一致,因而可唯一確定。
因此,零件拆卸優(yōu)先約束矩陣反映零件各自沿優(yōu)先拆卸方向拆卸時(shí)受其它零部件的空間制約情況。生成拆卸路徑的主要步驟如下:
第1步從零件列表中選取一個(gè)零件;
第2步分析該零件的幾何配合約束,求取零件優(yōu)先拆卸方向d及基體坐標(biāo)系(局部坐標(biāo)系)的方向矢量D':
第3步d←d*D'(將d從局部坐標(biāo)系轉(zhuǎn)化為全局坐標(biāo)系);
第4步確定該零件的移動(dòng)距離S和步長(zhǎng)疾
此外,將最先裝入產(chǎn)品裝配體模型中的零件稱為基礎(chǔ)件,由于基礎(chǔ)件沒有幾何配合約束,因此其拆卸路徑不能通過以上方法生成。由工程實(shí)踐經(jīng)驗(yàn)可知,對(duì)產(chǎn)品進(jìn)行拆卸序列規(guī)劃時(shí),基礎(chǔ)件通常是最后拆卸的,也就是說,其它零件的拆卸都優(yōu)先于基礎(chǔ)件。所以,拆卸優(yōu)先約束矩陣內(nèi)基礎(chǔ)件i所對(duì)應(yīng)的行中,除Rii=0外,其余元素的值為Rij=1, j≠i.
3.3干涉檢驗(yàn)?zāi)K
干涉檢驗(yàn)?zāi)K包括基于包容盒的定性檢驗(yàn)和精確實(shí)體求交的定量檢驗(yàn)。包容盒是用體積略大而形狀簡(jiǎn)單的包圍盒代替復(fù)雜的幾何對(duì)象進(jìn)行干涉檢測(cè),通過包容盒間的干涉測(cè)試快速排除不干涉的基本幾何形狀對(duì),減少干涉檢查的次數(shù)。首先根據(jù)包容盒進(jìn)行相交測(cè)試,如果包容盒不相交,則零部件不發(fā)生干涉;如果包容盒相交,則進(jìn)一步根據(jù)待檢零部件的精確相交運(yùn)算來決定兩零件在拆卸過程中是否發(fā)生干涉,并以此確定兩零件間是否構(gòu)成拆卸優(yōu)先約束關(guān)系。干涉檢驗(yàn)?zāi)K的程序流程圖如圖4所示。
在自動(dòng)生成拆卸優(yōu)先約束矩陣的過程中,還需要對(duì)從proe中提取的信息進(jìn)行存儲(chǔ)和處理,用基于Access的關(guān)系型數(shù)據(jù)庫存儲(chǔ)拆卸過程中的相關(guān)信息。
4實(shí)例驗(yàn)證
以某空調(diào)室外機(jī)為例,對(duì)自動(dòng)生成零件拆卸優(yōu)先約束矩陣的過程進(jìn)行有效性驗(yàn)證??照{(diào)室外機(jī)共包含115個(gè)零部件,其中5個(gè)部件(散熱器、電機(jī)、電路板、壓縮機(jī)和隔板),犯?jìng)€(gè)連接件(螺釘、螺母、墊片等)。
在Visual C++6.0中對(duì)C語言編寫的程序進(jìn)行編譯和鏈接,應(yīng)用.mak文件生成可執(zhí)行文件(.exe或d11),并利用.dat文件將其注冊(cè),已生成的可執(zhí)行文件隨系統(tǒng)啟動(dòng),在proe中增加新的菜單"拆卸規(guī)劃"。通過菜單〔見圖5)"拆卸規(guī)劃"*"模型調(diào)入",打開待拆卸產(chǎn)品的裝配模型文件;"預(yù)處理"按鈕提取產(chǎn)品中零部件的ID,幾何配合約束及位姿矩陣等信息,消除同一零件多個(gè)實(shí)例的現(xiàn)象(如通過線性陣列產(chǎn)生的4個(gè)FOOT零件),刪除產(chǎn)品中的連接件(拆卸分析時(shí)將其作為解除被連接零件的拆卸操作來處理),同時(shí)為進(jìn)一步降低拆卸層次信息圖的復(fù)雜性,部件作為整體(充分應(yīng)用proe中模型存儲(chǔ)的層次結(jié)構(gòu),逐層細(xì)化分解模型)參與優(yōu)先約束關(guān)系的判定,預(yù)處理后得到的零部件數(shù)量為16個(gè);"可行路徑"按鈕分析零部件的幾何配合約束關(guān)系,得出零部件的優(yōu)先拆卸運(yùn)動(dòng)方向;"約束矩陣"按鈕即可采用步進(jìn)靜態(tài)包容盒干涉檢驗(yàn)的方法生成產(chǎn)品中零部件之間的拆卸優(yōu)先約束關(guān)系,并存儲(chǔ)在數(shù)據(jù)文件中,同時(shí)在消息窗口中顯示(見圖6)。
5結(jié)論
該文在proe的基礎(chǔ)上,利用c語言實(shí)現(xiàn)了待拆卸產(chǎn)品中零件拆卸優(yōu)先約束矩陣的自動(dòng)提取。這一過程的實(shí)現(xiàn),解決了自動(dòng)構(gòu)建拆卸層次信息圖模型的關(guān)鍵問題。
此后,研究工作還將對(duì)其他常用的CAD軟件進(jìn)行類似的二次開發(fā),拓寬拆卸層次信息圖模型建模方法的適用范圍。
相關(guān)標(biāo)簽搜索:在proe中自動(dòng)生成零件拆卸優(yōu)先約束矩陣 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) Autoform培訓(xùn) 有限元培訓(xùn) Solidworks培訓(xùn) UG模具培訓(xùn) PROE培訓(xùn) 運(yùn)動(dòng)仿真