亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種異構(gòu)cad集成中的拓撲元素匹配方法

文檔序號:6362856閱讀:223來源:國知局
專利名稱:一種異構(gòu)cad集成中的拓撲元素匹配方法
技術(shù)領(lǐng)域
本發(fā)明涉及CAD領(lǐng)域,特別是涉及一種異構(gòu)CAD集成中的拓撲元素匹配方法。
背景技術(shù)
協(xié)同產(chǎn)品設(shè)計作為一種新興的產(chǎn)品設(shè)計方式,大大提高了產(chǎn)品開發(fā)能力和效率。 在協(xié)同產(chǎn)品設(shè)計過程,使用最多的數(shù)字化工具便是CAD系統(tǒng)。由于不同的CAD系統(tǒng)具有不同的功能特性,而且不同的產(chǎn)品設(shè)計人員都有自己熟悉的CAD系統(tǒng),因此從經(jīng)濟、功能、工作習(xí)慣等方面考慮,不同的企業(yè)或部門往往會選用具有不同特點的CAD系統(tǒng)進行協(xié)同產(chǎn)品設(shè)計。因此,為了支持產(chǎn)品設(shè)計人員使用自己慣用的CAD系統(tǒng)進行協(xié)同產(chǎn)品設(shè)計,實現(xiàn)異構(gòu) CAD系統(tǒng)集成勢在必行。目前,異構(gòu)CAD系統(tǒng)集成已經(jīng)成為CAD技術(shù)的一個新的且至關(guān)重要的研究領(lǐng)域。異構(gòu)CAD集成分為兩種異構(gòu)CAD離線集成和異構(gòu)CAD在線集成。前者通過將源模型的特征建模過程交換到目標CAD系統(tǒng)并實現(xiàn)特征模型重建,進而實現(xiàn)異構(gòu)CAD系統(tǒng)間的數(shù)據(jù)集成; 后者是通過在異構(gòu)CAD系統(tǒng)之間實時交換特征建模操作來實現(xiàn)數(shù)據(jù)集成的。盡管兩者有區(qū)別,但是它們面臨著一個共同的問題如何處理引用了拓撲元素的特征或建模操作,該問題即是拓撲元素匹配問題。對于異構(gòu)CAD系統(tǒng)集成問題的研究工作主要從以下三個層面開展
(1)基于幾何數(shù)據(jù)交換的異構(gòu)CAD系統(tǒng)離線集成。它是通過在異構(gòu)CAD系統(tǒng)之間交換模型的幾何表示來實現(xiàn)產(chǎn)品信息集成的。(2)基于特征數(shù)據(jù)交換的異構(gòu)CAD離線集成。其本質(zhì)是將源模型的特征建模過程交換到目標CAD系統(tǒng)并實現(xiàn)特征模型重建,進而實現(xiàn)異構(gòu)CAD系統(tǒng)間的數(shù)據(jù)集成。(3)基于操作命令交換的異構(gòu)CAD在線集成。它也是一種基于參數(shù)化特征的集成方法,但與基于完整特征模型交換的離線集成不同的是基于操作命令交換的異構(gòu)CAD在線集成是通過在CAD系統(tǒng)之間實時交換特征建模操作來實現(xiàn)數(shù)據(jù)集成的。目前,基于幾何數(shù)據(jù)交換的異構(gòu)CAD系統(tǒng)離線集成技術(shù)已經(jīng)比較成熟。然而,通過幾何數(shù)據(jù)交換所得到的幾何數(shù)據(jù)中不包含高層語義信息,無法在數(shù)據(jù)接收端對原設(shè)計進行參數(shù)化的編輯、修改和再設(shè)計活動。而企業(yè)在開發(fā)產(chǎn)品時,大約80%的設(shè)計工作是基于現(xiàn)有設(shè)計實例進行再設(shè)計的。因此,與工業(yè)界的實際需要相比,這樣的集成還遠遠不夠。為了滿足工業(yè)界對異構(gòu)CAD系統(tǒng)集成的實際需求,近年來國內(nèi)外開始探索更高層次(基于特征的)的集成方法,并且正在形成異構(gòu)CAD系統(tǒng)集成研究的一個新高潮。目前在高層次集成的研究上已經(jīng)取得了一些進展,其中比較具有代表性的集成方法有STEP標準、 宏命令方法、UPR (Universal Product R印resentation)方法和基于中性命令的異構(gòu)CAD 在線集成方法。對于拓撲元素匹配問題,STEP標準給出了中性文件中所應(yīng)包含的拓撲元素的數(shù)據(jù)信息,如拓撲元素的幾何信息和拓撲信息。然而,STEP標準并沒有給出,如何使用這些信息在目標CAD系統(tǒng)中找到匹配的拓撲元素的方法。而且,基于STEP標準的數(shù)據(jù)交換也無法解決,由異構(gòu)CAD系統(tǒng)采用不同的幾何造型內(nèi)核所造成的幾何相同、拓撲結(jié)構(gòu)不同的拓撲元素之間的匹配問題?;诤昝畹臄?shù)據(jù)交換是通過命名映射的機制來實現(xiàn)拓撲元素匹配的。該方法必須通過創(chuàng)建一個內(nèi)部幾何模型來實現(xiàn)相匹配的拓撲元素之間的名字的映射, 這給該方法的實現(xiàn)帶來了很大的困難。另外,該方法中所使用的拓撲元素的名字來源于宏文件,而CAD用戶在建模結(jié)束時通常會保存模型文件而不是其對應(yīng)的宏文件,因此在宏文件丟失的情況下,該方法就失效了。在基于UPR的數(shù)據(jù)交換中,采用拓撲元素Cover算法來實現(xiàn)拓撲元素匹配。在該算法中存在兩方面影響效率和效果的因素一方面,使用點來找初始拓撲元素,而當點的選取不當時,算法的效率和效果均會受到影響;另一方面,由于所找到的Cover可能比源拓撲元素大,因此還需要進行校驗,這也將會影響算法的效率。另外, 該方法中還存在著一些不必要的導(dǎo)致高層語義丟失的重寫操作?;谥行悦畹漠悩?gòu)CAD 在線集成是通過比較源拓撲元素和目標拓撲元素的幾何來實現(xiàn)拓撲元素匹配的,該方法以各協(xié)同站點的CAD模型中相匹配的拓撲元素具有相同的幾何為前提。然而,在異構(gòu)協(xié)同設(shè)計過程中,各站點建模操作的亂序執(zhí)行,并不能保證在任何時刻,各站點模型中相匹配的拓撲元素都具有相同的幾何,因此該方法的適用范圍有限。

發(fā)明內(nèi)容
本發(fā)明的目的是為了克服上述背景技術(shù)的不足之處,提供一種異構(gòu)CAD集成中的拓撲元素匹配方法,使其既適用于異構(gòu)CAD系統(tǒng)離線集成,又適用于異構(gòu)CAD系統(tǒng)在線集成。為了上述目的,本發(fā)明提供的一種異構(gòu)CAD集成中的拓撲元素匹配方法,包括以下步驟
步驟1,在本地的源CAD系統(tǒng)中,將特征或建模操作所引用的源拓撲元素的相應(yīng)信息提取出來;
步驟2,特征或建模操作所引用的拓撲元素組成的集合記為源拓撲元素集合,在本地的源CAD系統(tǒng)中,對源拓撲元素集合中滿足合并條件的拓撲元素進行合并,然后將合并后的拓撲元素的信息傳送至遠端的目標CAD系統(tǒng)中;
步驟3,在目標CAD系統(tǒng)中,以步驟2每一個合并所得的拓撲元素為源拓撲元素,在當前目標模型中,為每一個源拓撲元素尋找滿足匹配條件的目標拓撲元素;
步驟4,在目標CAD系統(tǒng)中,對于某個源拓撲元素,若在當前目標模型中未找到滿足匹配條件的目標拓撲元素,則進行1:0匹配關(guān)系處理。而且,步驟1中所述的源拓撲元素的相應(yīng)信息,包括以下四類信息
(a)類型信息,是指拓撲元素的類型;
(b)屬性信息,是指拓撲元素的幾何屬性;
(c)界限信息,是指一維拓撲元素的端點信息和二維拓撲元素的邊界邊信息;
(d)校驗信息,是指一維拓撲元素的長度和二維拓撲元素的面積。而且,步驟1中提取源拓撲元素的相應(yīng)信息,具體包括以下步驟 步驟1. 1,在源CAD系統(tǒng)中獲取當前源模型的指針;
步驟1. 2,獲取引用了拓撲元素的特征或建模操作的指針; 步驟1. 3,獲取特征或建模操作所引用的當前拓撲元素的指針;步驟1. 4,提取當前拓撲元素的相應(yīng)信息;
步驟1. 5,獲取特征或建模操作所引用的下一個拓撲元素的指針,如果為空則結(jié)束,否則返回步驟1.4。而且,步驟2中對源拓撲元素集合中滿足合并條件的拓撲元素進行合并,具體包括以下步驟
步驟2. 1,記Sl為源拓撲元素集合,從Sl中取出一個拓撲元素記為TPl ; 步驟2. 2,從Sl中找出滿足TPl的合并條件的拓撲元素并記為TP2,若找到,則從Sl 中取出TP2,將TP2與TPl進行合并,并將合并所得的拓撲元素作為下一個TP1,返回步驟 2. 2,,若未找到,則將TPl放入合并所得拓撲元素的集合記為S2,進入步驟2. 3 ; 步驟2. 3,判斷Sl是否為空,若為空,則結(jié)束,否則,轉(zhuǎn)入步驟2. 2。而且,步驟2中所述的合并是指拓撲元素信息的合并,包括類型信息合并、幾何信息合并、邊界信息合并和校驗信息合并。而且,步驟2中所述的合并條件如下 條件a,兩個拓撲元素的類型相同;
條件b,兩個拓撲元素相互鄰接;
條件c,若將滿足條件a和條件b的兩個拓撲元素進行合并,合并所得拓撲元素與合并前的拓撲元素具有相同或相近的類型。而且,步驟3中所述的匹配條件如下
條件a,目標拓撲元素與源拓撲元素具有相同或相近的類型; 條件b,目標拓撲元素與源拓撲元素具有相同的幾何;
條件c,若源拓撲元素為一維拓撲元素,則目標拓撲元素的兩個端點必須在源拓撲元素的內(nèi)部或與源拓撲元素的兩個端點重合;若源拓撲元素為二維拓撲元素,則目標拓撲元素的邊界必須滿足源拓撲元素的邊界的匹配條件。而且,當源拓撲元素為一維拓撲元素時,執(zhí)行步驟3. 1尋找滿足匹配條件的目標拓撲元素,步驟3. 1具體包括以下步驟
步驟3. 11,合并后所得的邊集記為S2,從S2中選取一條未處理的邊h ; 步驟3. 12,當前目標模型的所有邊集記為S3,從S3中找出滿足Es的匹配條件的邊并記為Et,若找到,則將肚從S3中取出放入與h相匹配的目標邊的集合,與h相匹配的目標邊的集合記為S4,轉(zhuǎn)入步驟3. 13,若未找到,則轉(zhuǎn)入步驟3. 14 ;
步驟3. 13,若S4中與h相匹配的所有邊的校驗值之和等于h的校驗值,則轉(zhuǎn)入步驟3. 15,否則,返回步驟3. 12 ;
步驟3. 14,若S4為空,則在當前目標模型中未找到滿足匹配條件的目標拓撲元素,否則,轉(zhuǎn)入步驟3. 15;
步驟3. 15,若S2中的每條邊均已處理過,則結(jié)束,否則,轉(zhuǎn)入步驟3. 11 ; 當源拓撲元素為二維拓撲元素時,執(zhí)行步驟3. 2尋找滿足匹配條件的目標拓撲元素, 步驟3. 2具體包括以下步驟
步驟3. 21,合并后所得的面的集合記為S7,從S7中選取一個未處理的面Fs ; 步驟3. 22,執(zhí)行步驟3. 1,在當前目標模型中為Fs的邊界找匹配的目標邊,并放入匹配邊界集合中,匹配邊界集合記為S8 ;步驟3. 23,從S8中選取一條未用過的邊記為肚,在當前目標模型中,查找與肚相鄰接且滿足Fs的匹配條件的面并記為Ft,若找到Ft且不在已找到的與Fs匹配的面的集合中,與Fs匹配的面的集合記為S6,則將Ft放入S6中,轉(zhuǎn)入步驟3. 24,若未找到,則轉(zhuǎn)入步驟 3. 25 ;
步驟3. M,若S6中所有面的校驗值之和與Fs的校驗值相等,則轉(zhuǎn)入步驟3.沈,否則, 返回步驟3. 23 ;
步驟3. 25,若S6為空,則在當前目標模型中未找到滿足匹配條件的目標拓撲元素,否則,轉(zhuǎn)入步驟3. 26 ;
步驟3.沈,若S7中的每個面均已處理過,則結(jié)束,否則,轉(zhuǎn)入步驟3. 21。而且,步驟4中所述的1:0匹配關(guān)系處理具體方式如下,
(a)生成與源拓撲元素相匹配的目標拓撲元素的建模操作記為0j,若Oj在目標CAD系統(tǒng)中還未執(zhí)行,則基于狀態(tài)向量進行處理,保證在進行拓撲元素匹配時,Oj已經(jīng)在目標CAD 系統(tǒng)中得以執(zhí)行;
(b)若目標CAD系統(tǒng)中已執(zhí)行的建模操作將與源拓撲元素相匹配的目標拓撲元素刪除或進行了擴展,則進行Undo/Do/Redo處理恢復(fù)目標拓撲元素,保證引用了拓撲元素的建模操作在目標CAD系統(tǒng)中的執(zhí)行;
(c)若目標CAD系統(tǒng)為了簡化邊界表示,自動刪除了與源拓撲元素相匹配的目標拓撲元素,則基于面分裂進行處理,保證引用了拓撲元素的特征或建模操作在目標CAD系統(tǒng)中的正確重建或執(zhí)行。而且,所述的基于狀態(tài)向量進行處理,狀態(tài)向量是一個N維向量,記為SV,其中N 為參與協(xié)同設(shè)計的站點的個數(shù),SV的每一個元素記為SViUL j e {0,1,···,Ν-1};當協(xié)同設(shè)計開始時,SVi中的每一個元素SViU]均置為0,站點i每執(zhí)行一個來自站點j的操作, SViLj]= sVi[j]+i,SViU]中存放的是站點 已執(zhí)行的來自站點j的操作的個數(shù);由站點 所發(fā)出的操作O的狀態(tài)向量記為SVo, SVo [j],j e {0,1,…,N-1}中記錄著操作0在站點i上執(zhí)行時站點i上已經(jīng)執(zhí)行的來自各個站點j的操作個數(shù);當0到達某個目標站點k 時,如果站點k上的狀態(tài)向量SVk和SV。滿足條件SV。[j]含SVk[j], j e {0,1,…,N_l},則操作0在源站點i上執(zhí)行時所有已執(zhí)行的操作在站點k上已經(jīng)得以執(zhí)行;
所述的Undo/Do/Redo處理具體實現(xiàn)方式如下
首先執(zhí)行Undo處理,Undo處理為撤銷已執(zhí)行的刪除或擴展了目標拓撲元素的操作;
然后執(zhí)行Do處理,Do處理為執(zhí)行引用了拓撲元素的建模操作;
最后執(zhí)行Redo處理,Redo處理為重新執(zhí)行之前Undo處理的操作;
所述的基于面分裂進行處理包括以下步驟
步驟cl,引用了拓撲元素的特征或建模操作記為特征建模操作X,若源拓撲元素是作為特征建模操作X所需的參照對象來用,則轉(zhuǎn)入步驟c2,若源拓撲元素是作為特征建模操作X所需的操作對象來用,則轉(zhuǎn)入步驟c3 ;
步驟c2,利用所提取到的源拓撲元素的幾何信息,創(chuàng)建相應(yīng)的基準特征代替目標拓撲元素并結(jié)束;
步驟c3,若目標CAD系統(tǒng)支持面分裂特征,則通過創(chuàng)建面分裂特征來添加缺失的與源拓撲元素相匹配的目標拓撲元素并結(jié)束,否則,轉(zhuǎn)入步驟c4 ;步驟c4,若目標CAD系統(tǒng)提供了能夠創(chuàng)建出與面分裂特征具有相同語義的新特征的 APIs,則利用新特征代替面分裂特征實現(xiàn)缺失拓撲元素的創(chuàng)建并結(jié)束,否則,轉(zhuǎn)入步驟c5 ; 步驟c5,用引用了拓撲元素的特征的幾何或建模操作所創(chuàng)建的幾何,代替特征建模
操作X。本發(fā)明與已有技術(shù)相比較,效果是積極且明顯的首先,本發(fā)明適用范圍廣,其不僅適用于解決異構(gòu)CAD離線集成中的拓撲元素匹配問題,而且還適用于解決異構(gòu)CAD在線集成中的拓撲元素匹配問題。在處理異構(gòu)CAD離線集成中的拓撲元素匹配問題時,本方法既避免了由于點選取失敗所造成的問題,也避免了一些不必要的重寫。其次,本方法在應(yīng)用于異構(gòu)CAD在線集成中時,在模型或拓撲元素幾何不一致的情況下,也可以實現(xiàn)成功匹配, 從而提高了協(xié)同過程中的并發(fā)程度。


圖1為本發(fā)明在異構(gòu)CAD集成中的實施例。
具體實施例方式下面結(jié)合實施例對本發(fā)明作進一步說明,但不限定本發(fā)明。本實施例采用CATIA、Solid Works和Pro/E這三個目前流行的異構(gòu)CAD系統(tǒng)作為集成的基礎(chǔ)系統(tǒng),三個協(xié)同設(shè)計站點對應(yīng)的站點號分別為0、1和2,站點0、站點1和站點2 分別采用CATIA、Solidworks和Pro/E作為其CAD系統(tǒng)。以Winsocket2. O作為通訊工具, 以VC6. O作為開發(fā)平臺進行實施。實施例提供的異構(gòu)CAD集成中的拓撲元素匹配方法,包括以下步驟
步驟1,在本地的源CAD系統(tǒng)中,將特征或建模操作所引用的源拓撲元素的相應(yīng)信息提取出來。實施例的步驟1中所述的源拓撲元素的相應(yīng)信息,包括以下四類信息
(a)類型信息,是指拓撲元素的類型;
(b)屬性信息,是指拓撲元素的幾何屬性;
(c)界限信息,是指一維拓撲元素的端點信息和二維拓撲元素的邊界邊信息;
(d)校驗信息,是指一維拓撲元素的長度和二維拓撲元素的面積。實施例的步驟1中提取源拓撲元素的相應(yīng)信息,具體包括以下步驟 步驟1. 1,在源CAD系統(tǒng)中獲取當前源模型的指針;
步驟1. 2,獲取引用了拓撲元素的特征或建模操作的指針; 步驟1. 3,獲取特征或建模操作所引用的當前拓撲元素的指針; 步驟1.4,提取當前拓撲元素的相應(yīng)信息;具體實施時,可以利用現(xiàn)有技術(shù)中的拓撲元素的信息提取函數(shù)實現(xiàn)提取;
步驟1. 5,獲取特征或建模操作所引用的下一個拓撲元素的指針,如果為空則結(jié)束,否則返回步驟1.4。步驟2,特征或建模操作所引用的拓撲元素組成的集合記為源拓撲元素集合,在本地的源CAD系統(tǒng)中,對源拓撲元素集合中滿足合并條件的拓撲元素進行合并,然后將合并后的拓撲元素的信息傳送至遠端的目標CAD系統(tǒng)中。
實施例的步驟2中對源拓撲元素集合中滿足合并條件的拓撲元素進行合并,具體包括以下步驟
步驟2. 1,記Sl為源拓撲元素集合,從Sl中取出一個拓撲元素記為TPl ; 步驟2. 2,從Sl中找出滿足TPl的合并條件的拓撲元素并記為TP2,若找到,則從Sl 中取出TP2,將TP2與TPl進行合并,并將合并所得的拓撲元素作為下一個TP1,返回步驟 2. 2,,若未找到,則將TPl放入合并所得拓撲元素的集合記為S2,進入步驟2. 3 ; 步驟2. 3,判斷Sl是否為空,若為空,則結(jié)束,否則,轉(zhuǎn)入步驟2. 2。所述的合并是指拓撲元素信息的合并,包括類型信息合并、幾何信息合并、邊界信息合并和校驗信息合并。實施例的步驟2中所述的合并條件如下 條件a,兩個拓撲元素的類型相同;
條件b,兩個拓撲元素相互鄰接;
條件c,若將滿足條件a和條件b的兩個拓撲元素進行合并,合并所得拓撲元素與合并前的拓撲元素具有相同或相近的類型。步驟3,在目標CAD系統(tǒng)中,以步驟2每一個合并所得的拓撲元素為源拓撲元素,在當前目標模型中,為每一個源拓撲元素尋找滿足匹配條件的目標拓撲元素。實施例的步驟3中所述的匹配條件如下
條件a,目標拓撲元素與源拓撲元素具有相同或相近的類型; 條件b,目標拓撲元素與源拓撲元素具有相同的幾何;
條件c,若源拓撲元素為一維拓撲元素,則目標拓撲元素的兩個端點必須在源拓撲元素的內(nèi)部或與源拓撲元素的兩個端點重合;若源拓撲元素為二維拓撲元素,則目標拓撲元素的邊界必須滿足源拓撲元素的邊界的匹配條件。實施例的步驟3根據(jù)源拓撲元素為一維拓撲元素還是二維拓撲元素,分別執(zhí)行步驟3. 1和步驟3. 2。當源拓撲元素為一維拓撲元素時,執(zhí)行步驟3. 1尋找滿足匹配條件的目標拓撲元素,步驟3. 1具體包括以下步驟
步驟3. 11,合并后所得的邊集記為S2,從S2中選取一條未處理的邊& ;
步驟3. 12,當前目標模型的所有邊集記為S3,從S3中找出滿足h的匹配條件的邊并記為Et,若找到,則將肚從S3中取出放入與h相匹配的目標邊的集合,與h相匹配的目標邊的集合記為S4,轉(zhuǎn)入步驟3. 13,若未找到,則轉(zhuǎn)入步驟3. 14 ;
步驟3. 13,若S4中與h相匹配的所有邊的校驗值之和等于h的校驗值,則轉(zhuǎn)入步驟3. 15,否則,返回步驟3. 12 ;
步驟3. 14,若S4為空,則在當前目標模型中未找到滿足匹配條件的目標拓撲元素,否則,轉(zhuǎn)入步驟3. 15;
步驟3. 15,若S2中的每條邊均已處理過,則結(jié)束,否則,轉(zhuǎn)入步驟3. 11 ; 當源拓撲元素為二維拓撲元素時,執(zhí)行步驟3. 2尋找滿足匹配條件的目標拓撲元素, 步驟3. 2具體包括以下步驟
步驟3. 21,合并后所得的面的集合記為S7,從S7中選取一個未處理的面Fs ; 步驟3. 22,執(zhí)行步驟3. 1,在當前目標模型中為Fs的邊界找匹配的目標邊,并放入匹配邊界集合中,匹配邊界集合記為S8 ;
步驟3. 23,從S8中選取一條未用過的邊記為肚,在當前目標模型中,查找與肚相鄰接且滿足Fs的匹配條件的面并記為Ft,若找到Ft且不在已找到的與Fs匹配的面的集合中,與Fs匹配的面的集合記為S6,則將Ft放入S6中,轉(zhuǎn)入步驟3. 24,若未找到,則轉(zhuǎn)入步驟 3. 25 ;
步驟3. M,若S6中所有面的校驗值之和與Fs的校驗值相等,則轉(zhuǎn)入步驟3.沈,否則, 返回步驟3. 23 ;
步驟3. 25,若S6為空,則在當前目標模型中未找到滿足匹配條件的目標拓撲元素,否則,轉(zhuǎn)入步驟3. 26 ;
步驟3.沈,若S7中的每個面均已處理過,則結(jié)束,否則,轉(zhuǎn)入步驟3. 21。步驟4,在目標CAD系統(tǒng)中,對于某個源拓撲元素,若在當前目標模型中未找到滿足匹配條件的目標拓撲元素,則進行1:0匹配關(guān)系處理。實施例的步驟4中所述的1:0匹配關(guān)系處理具體方式如下,
(a)生成與源拓撲元素相匹配的目標拓撲元素的建模操作記為0j,若Oj在目標CAD系統(tǒng)中還未執(zhí)行,則基于狀態(tài)向量進行處理,保證在進行拓撲元素匹配時,Oj已經(jīng)在目標CAD 系統(tǒng)中得以執(zhí)行。所述的基于狀態(tài)向量進行處理,處理方式如下
狀態(tài)向量是一個N維向量,記為SV,其中N為參與協(xié)同設(shè)計的站點的個數(shù),SV的每一個元素記為SViU], j e {0,1,···,Ν-1};當協(xié)同設(shè)計開始時,SVi中的每一個元素SViU]均置為0,站點 每執(zhí)行一個來自站點j的操作,SViU]= sVi[j]+i,SViU]中存放的是站點 已執(zhí)行的來自站點j的操作的個數(shù);由站點i所發(fā)出的操作O的狀態(tài)向量記為SVo,SVo[j] ,j e {0,1,…,N-1}中記錄著操作0在站點i上執(zhí)行時站點i上已經(jīng)執(zhí)行的來自各個站點j的操作個數(shù);當0到達某個目標站點k時,如果站點k上的狀態(tài)向量SVk和SV。滿足條件sv。[j]含SVk[j], j e {0,1,···,N-1},則操作0在源站點i上執(zhí)行時所有已執(zhí)行的操作在站點k上已經(jīng)得以執(zhí)行。(b)若目標CAD系統(tǒng)中已執(zhí)行的建模操作將與源拓撲元素相匹配的目標拓撲元素刪除或進行了擴展,則進行Undo/Do/Redo處理(/表示先后順序)恢復(fù)目標拓撲元素,保證引用了拓撲元素的建模操作在目標CAD系統(tǒng)中的執(zhí)行。所述的Undo/Do/Redo處理具體實現(xiàn)方式如下
首先執(zhí)行Undo處理,Undo處理為撤銷已執(zhí)行的刪除或擴展了目標拓撲元素的操作; 然后執(zhí)行Do處理,Do處理為執(zhí)行引用了拓撲元素的建模操作; 最后執(zhí)行Redo處理,Redo處理為重新執(zhí)行之前Undo處理的操作; (c)若目標CAD系統(tǒng)為了簡化邊界表示,自動刪除了與源拓撲元素相匹配的目標拓撲元素,則基于面分裂進行處理,保證引用了拓撲元素的特征或建模操作在目標CAD系統(tǒng)中的正確重建或執(zhí)行。所述的基于面分裂進行處理包括以下步驟
步驟Cl,引用了拓撲元素的特征或建模操作記為特征建模操作X,若源拓撲元素是作為特征建模操作χ所需的參照對象來用,則轉(zhuǎn)入步驟C2,若源拓撲元素是作為特征建模操作X所需的操作對象來用,則轉(zhuǎn)入步驟c3 ;步驟c2,利用所提取到的源拓撲元素的幾何信息,創(chuàng)建相應(yīng)的基準特征代替目標拓撲元素并結(jié)束;
步驟c3,若目標CAD系統(tǒng)支持面分裂特征,則通過創(chuàng)建面分裂特征來添加缺失的與源拓撲元素相匹配的目標拓撲元素并結(jié)束,否則,轉(zhuǎn)入步驟c4 ;
步驟c4,若目標CAD系統(tǒng)提供了能夠創(chuàng)建出與面分裂特征具有相同語義的新特征的 APIs (Application Programming Interfaces,應(yīng)用程序編程接口),則利用新特征代替面分裂特征實現(xiàn)缺失拓撲元素的創(chuàng)建并結(jié)束,否則,轉(zhuǎn)入步驟c5 ;
步驟c5,用引用了拓撲元素的特征的幾何或建模操作所創(chuàng)建的幾何,代替特征建模
操作X。具體實施時,步驟1、步驟2、步驟3、步驟4都可以采用計算機軟件技術(shù)實現(xiàn)為DLL 插件,分別稱為拓撲元素信息提取部件、拓撲元素合并部件、拓撲元素匹配部件、1 0匹配關(guān)系處理部件。為便于實施參考起見,提供實施例的一個協(xié)同設(shè)計過程舉例。該協(xié)同設(shè)計過程中包含三個引用了拓撲元素的建模操作=O1、04和05。以下為本發(fā)明實施例的具體步驟
(1)各站點的CAD系統(tǒng)安裝各自DLL插件,這些插件包括拓撲元素信息提取部件、拓撲元素合并部件、拓撲元素匹配部件、1:0匹配關(guān)系處理部件和Socket通訊部件。Socket通訊為現(xiàn)有技術(shù),站點0、站點1和站點2之間通過Socket建立點到點的網(wǎng)絡(luò)通訊連接。(2)站點0、站點1和站點2上的初始狀態(tài)為站點0發(fā)出創(chuàng)建拉伸特征的建模操作Otl生成了一個圓柱體,O0已經(jīng)在站點1和站點2上得到了正確的執(zhí)行。
(3) O1是由站點0發(fā)出的用于對由Otl生成的圓柱體上表面的兩條半圓弧邊E1和E2及下表面的兩條半圓弧邊&和&做倒圓角。首先,站點0作為本地的源CAD系統(tǒng),在站點0 上調(diào)用拓撲元素信息提取部件提取EpE2A3和&的相應(yīng)信息(即執(zhí)行步驟1);然后,調(diào)用合并處理部件對這些信息進行合并(即執(zhí)行步驟2),其中E1和E2被合并為一條邊E12A3和& 被合并為一條邊E34,并將合并所得的邊的信息作為操作命令的一部分傳送到站點1和站點 2,此時站點1和站點2作為目標CAD系統(tǒng);站點1上已執(zhí)行的本地操作&使圓柱體上表面的兩條半圓弧邊分別被分裂為四條圓弧邊=E1YEifEn和Ey,這四條邊均滿足E12的匹配條件,因此調(diào)用拓撲元素匹配部件可以直接找到這些匹配邊,同理,也能夠找到站點1上的圓柱體底面的四條邊(即執(zhí)行步驟3)。當O1到達站點2時,已執(zhí)行的并發(fā)操作O3并未改變與E12和E34相匹配的圓柱體的上下兩表面的邊界,通過拓撲元素匹配部件也可直接找到與 E12和E34相匹配目標邊,并執(zhí)行O1 (即執(zhí)行步驟3)。(4) O4是由站點2發(fā)出的用于對由O3所生成的圓柱體的側(cè)面進行拔模操作,此時站點2作為本地的源CAD系統(tǒng)。首先,在站點2上調(diào)用拓撲元素信息提取部件提取拔模特征所引用的兩個半圓柱面的相應(yīng)信息(即執(zhí)行步驟1);然后,調(diào)用合并處理部件對這些信息進行合并(即執(zhí)行步驟2),得到一個圓柱面F12,并將F12的信息作為O4對應(yīng)的操作命令的一部分傳送至站點0和站點1,此時站點0和站點1作為目標CAD系統(tǒng);當O4的操作命令到達站點0時,通過拓撲元素匹配部件找到與面F12相匹配的目標面F/和F2’,從而O4在站點0 上得以正確地執(zhí)行(即執(zhí)行步驟3)。O4在站點1上執(zhí)行的情況與其在站點0上執(zhí)行的情況相同。(5)05是由站點1發(fā)出的引用了由O3所生成的圓柱體上表面的邊E的創(chuàng)建倒圓角操作,此時站點1作為本地的源CAD系統(tǒng)。首先,在站點1上調(diào)用拓撲元素信息提取部件提取邊E的相關(guān)信息(即執(zhí)行步驟1);然后,調(diào)用合并處理部件對這些信息進行合并(即執(zhí)行步驟2),由于只有一條邊E,因此不需進行合并處理,直接將包含邊E的相關(guān)信息的操作命令發(fā)送至站點0和站點2,此時站點0和站點2作為目標CAD系統(tǒng);當O5到達站點2時,站點2上已執(zhí)行的操作O6修改了由O3所生成的圓柱體的高度,因此調(diào)用拓撲元素匹配部件未找到與邊E相匹配的目標邊(即執(zhí)行步驟3);通過調(diào)用1:0匹配關(guān)系處理部件(即執(zhí)行步驟 4),首先把站點2上已執(zhí)行的與O5并發(fā)的操作O6撤銷,圖中記為Undo (O6);然后執(zhí)行05, 圖中記為Do (05),最后將O6恢復(fù)執(zhí)行(圖中記為Redo (06))。與O5在站點2上執(zhí)行的情況不同的是,當O5到達站點O時,通過調(diào)用拓撲元素匹配部件可直接找到與邊E相匹配的目標邊,并執(zhí)行O5。 由以上實施例可知,通過本技術(shù)方案,既可以保證引用了拓撲元素的特征在目標 CAD系統(tǒng)中的正確重建,又保證了引用了拓撲元素的建模操作在各協(xié)同CAD系統(tǒng)中的并發(fā)執(zhí)行。
權(quán)利要求
1.一種異構(gòu)CAD集成中的拓撲元素匹配方法,其特征是,包括以下步驟步驟1,在本地的源CAD系統(tǒng)中,將特征或建模操作所引用的源拓撲元素的相應(yīng)信息提取出來;步驟2,特征或建模操作所引用的拓撲元素組成的集合記為源拓撲元素集合,在本地的源CAD系統(tǒng)中,對源拓撲元素集合中滿足合并條件的拓撲元素進行合并,然后將合并后的拓撲元素的信息傳送至遠端的目標CAD系統(tǒng)中;步驟3,在目標CAD系統(tǒng)中,以步驟2每一個合并所得的拓撲元素為源拓撲元素,在當前目標模型中,為每一個源拓撲元素尋找滿足匹配條件的目標拓撲元素;步驟4,在目標CAD系統(tǒng)中,對于某個源拓撲元素,若在當前目標模型中未找到滿足匹配條件的目標拓撲元素,則進行1:0匹配關(guān)系處理。
2.根據(jù)權(quán)利要求1所述的異構(gòu)CAD集成中的拓撲元素匹配方法,其特征是步驟1中所述的源拓撲元素的相應(yīng)信息,包括以下四類信息(a)類型信息,是指拓撲元素的類型;(b)屬性信息,是指拓撲元素的幾何屬性;(c)界限信息,是指一維拓撲元素的端點信息和二維拓撲元素的邊界邊信息;(d)校驗信息,是指一維拓撲元素的長度和二維拓撲元素的面積。
3.根據(jù)權(quán)利要求1所述的異構(gòu)CAD集成中的拓撲元素匹配方法,其特征是步驟1中提取源拓撲元素的相應(yīng)信息,具體包括以下步驟步驟1. 1,在源CAD系統(tǒng)中獲取當前源模型的指針; 步驟1. 2,獲取引用了拓撲元素的特征或建模操作的指針; 步驟1. 3,獲取特征或建模操作所引用的當前拓撲元素的指針; 步驟1. 4,提取當前拓撲元素的相應(yīng)信息;步驟1. 5,獲取特征或建模操作所引用的下一個拓撲元素的指針,如果為空則結(jié)束,否則返回步驟1.4。
4.根據(jù)權(quán)利要求1所述的異構(gòu)CAD集成中的拓撲元素匹配方法,其特征是步驟2中對源拓撲元素集合中滿足合并條件的拓撲元素進行合并,具體包括以下步驟步驟2. 1,記Sl為源拓撲元素集合,從Sl中取出一個拓撲元素記為TPl ; 步驟2. 2,從Sl中找出滿足TPl的合并條件的拓撲元素并記為TP2,若找到,則從Sl 中取出TP2,將TP2與TPl進行合并,并將合并所得的拓撲元素作為下一個TP1,返回步驟 2. 2,,若未找到,則將TPl放入合并所得拓撲元素的集合記為S2,進入步驟2. 3 ; 步驟2. 3,判斷Sl是否為空,若為空,則結(jié)束,否則,轉(zhuǎn)入步驟2. 2。
5.根據(jù)權(quán)利要求4所述的異構(gòu)CAD集成中的拓撲元素匹配方法,其特征是步驟2中所述的合并是指拓撲元素信息的合并,包括類型信息合并、幾何信息合并、邊界信息合并和校驗信息合并。
6.根據(jù)權(quán)利要求5所述的異構(gòu)CAD集成中的拓撲元素匹配方法,其特征是步驟2中所述的合并條件如下條件a,兩個拓撲元素的類型相同; 條件b,兩個拓撲元素相互鄰接;條件c,若將滿足條件a和條件b的兩個拓撲元素進行合并,合并所得拓撲元素與合并前的拓撲元素具有相同或相近的類型。
7.根據(jù)權(quán)利要求1所述的異構(gòu)CAD集成中的拓撲元素匹配方法,其特征是步驟3中所述的匹配條件如下條件a,目標拓撲元素與源拓撲元素具有相同或相近的類型;條件b,目標拓撲元素與源拓撲元素具有相同的幾何;條件c,若源拓撲元素為一維拓撲元素,則目標拓撲元素的兩個端點必須在源拓撲元素的內(nèi)部或與源拓撲元素的兩個端點重合;若源拓撲元素為二維拓撲元素,則目標拓撲元素的邊界必須滿足源拓撲元素的邊界的匹配條件。
8.根據(jù)權(quán)利要求1所述的異構(gòu)CAD集成中的拓撲元素匹配方法,其特征是當源拓撲元素為一維拓撲元素時,執(zhí)行步驟3. 1尋找滿足匹配條件的目標拓撲元素,步驟3. 1具體包括以下步驟步驟3. 11,合并后所得的邊集記為S2,從S2中選取一條未處理的邊h ; 步驟3. 12,當前目標模型的所有邊集記為S3,從S3中找出滿足h的匹配條件的邊并記為Et,若找到,則將Et從S3中取出放入與h相匹配的目標邊的集合,與h相匹配的目標邊的集合記為S4,進入步驟3. 13,若未找到,則轉(zhuǎn)入步驟3. 14 ;步驟3. 13,若S4中與h相匹配的所有邊的校驗值之和等于h的校驗值,則轉(zhuǎn)入步驟3. 15,否則,返回步驟3. 12 ;步驟3. 14,若S4為空,則在當前目標模型中未找到滿足匹配條件的目標拓撲元素,否則,轉(zhuǎn)入步驟3. 15;步驟3. 15,若S2中的每條邊均已處理過,則結(jié)束,否則,轉(zhuǎn)入步驟3. 11 ;當源拓撲元素為二維拓撲元素時,執(zhí)行步驟3. 2尋找滿足匹配條件的目標拓撲元素, 步驟3. 2具體包括以下步驟步驟3. 21,合并后所得的面的集合記為S7,從S7中選取一個未處理的面Fs ; 步驟3. 22,執(zhí)行步驟3. 1,在當前目標模型中為Fs的邊界找匹配的目標邊,并放入匹配邊界集合中,匹配邊界集合記為S8 ;步驟3. 23,從S8中選取一條未用過的邊記為肚,在當前目標模型中,查找與肚相鄰接且滿足Fs的匹配條件的面并記為Ft,若找到Ft且不在已找到的與Fs匹配的面的集合中,與Fs匹配的面的集合記為S6,則將Ft放入S6中,轉(zhuǎn)入步驟3. 24,若未找到,則轉(zhuǎn)入步驟 3. 25 ;步驟3. M,若S6中所有面的校驗值之和與Fs的校驗值相等,則轉(zhuǎn)入步驟3.沈,否則, 返回步驟3. 23 ;步驟3. 25,若S6為空,則在當前目標模型中未找到滿足匹配條件的目標拓撲元素,否則,轉(zhuǎn)入步驟3. 26 ;步驟3.沈,若S7中的每個面均已處理過,則結(jié)束,否則,轉(zhuǎn)入步驟3. 21。
9.根據(jù)權(quán)利要求2所述的異構(gòu)CAD集成中的拓撲元素匹配方法,其特征是步驟4中所述的1:0匹配關(guān)系處理具體方式如下(a)生成與源拓撲元素相匹配的目標拓撲元素的建模操作記為0j,若Oj在目標CAD系統(tǒng)中還未執(zhí)行,則基于狀態(tài)向量進行處理,保證在進行拓撲元素匹配時,Oj已經(jīng)在目標CAD 系統(tǒng)中得以執(zhí)行;(b)若目標CAD系統(tǒng)中已執(zhí)行的建模操作將與源拓撲元素相匹配的目標拓撲元素刪除或進行了擴展,則進行Undo/Do/Redo處理恢復(fù)目標拓撲元素,保證引用了拓撲元素的建模操作在目標CAD系統(tǒng)中的執(zhí)行;(c)若目標CAD系統(tǒng)為了簡化邊界表示,自動刪除了與源拓撲元素相匹配的目標拓撲元素,則基于面分裂進行處理,保證引用了拓撲元素的特征或建模操作在目標CAD系統(tǒng)中的正確重建或執(zhí)行。
10.根據(jù)權(quán)利要求9所述的異構(gòu)CAD集成中的拓撲元素匹配方法,其特征是所述的基于狀態(tài)向量進行處理,狀態(tài)向量是一個N維向量,記為SV,其中N為參與協(xié)同設(shè)計的站點的個數(shù),SV的每一個元素記為SVi[j], j e {0,1,…,N-1};當協(xié)同設(shè)計開始時,SVi中的每一個元素SViU]均置為0,站點i每執(zhí)行一個來自站點j的操作,SViU]= sVi[j]+i,SViLj] 中存放的是站點i已執(zhí)行的來自站點j的操作的個數(shù);由站點i所發(fā)出的操作0的狀態(tài)向量記為SVo,SVo[j],je {0,1,-,N-1}中記錄著操作0在站點i上執(zhí)行時站點i上已經(jīng)執(zhí)行的來自各個站點j的操作個數(shù);當0到達某個目標站點k時,如果站點k上的狀態(tài)向量 SVk和SV。滿足條件:SV0 [j]含SVk[j],j e {0,1,…,N-1},則操作0在源站點i上執(zhí)行時所有已執(zhí)行的操作在站點k上已經(jīng)得以執(zhí)行;所述的Undo/Do/Redo處理具體實現(xiàn)方式如下首先執(zhí)行Undo處理,Undo處理為撤銷已執(zhí)行的刪除或擴展了目標拓撲元素的操作; 然后執(zhí)行Do處理,Do處理為執(zhí)行引用了拓撲元素的建模操作; 最后執(zhí)行Redo處理,Redo處理為重新執(zhí)行之前Undo處理的操作; 所述的基于面分裂進行處理包括以下步驟步驟cl,引用了拓撲元素的特征或建模操作記為特征建模操作X,若源拓撲元素是作為特征建模操作X所需的參照對象來用,則轉(zhuǎn)入步驟c2,若源拓撲元素是作為特征建模操作X所需的操作對象來用,則轉(zhuǎn)入步驟c3 ;步驟c2,利用所提取到的源拓撲元素的幾何信息,創(chuàng)建相應(yīng)的基準特征代替目標拓撲元素并結(jié)束;步驟c3,若目標CAD系統(tǒng)支持面分裂特征,則通過創(chuàng)建面分裂特征來添加缺失的與源拓撲元素相匹配的目標拓撲元素并結(jié)束,否則,轉(zhuǎn)入步驟c4 ;步驟c4,若目標CAD系統(tǒng)提供了能夠創(chuàng)建出與面分裂特征具有相同語義的新特征的 APIs,則利用新特征代替面分裂特征實現(xiàn)缺失拓撲元素的創(chuàng)建并結(jié)束,否則,轉(zhuǎn)入步驟c5 ; 步驟c5,用引用了拓撲元素的特征的幾何或建模操作所創(chuàng)建的幾何,代替特征建模操作X。
全文摘要
本發(fā)明公開了一種異構(gòu)CAD集成中的拓撲元素匹配方法,本方法首先在源CAD系統(tǒng)中,獲取特征建模操作所引用的拓撲元素的相關(guān)信息,然后將這些信息進行合并,最后將合并所得的拓撲元素的信息傳送至目標CAD系統(tǒng),在目標CAD系統(tǒng)中,為合并所得的每一個拓撲元素尋找相匹配的目標拓撲元素,從而保證相同特征和建模操作在目標CAD系統(tǒng)中的正確重建及執(zhí)行。
文檔編號G06F17/50GK102567588SQ20121000498
公開日2012年7月11日 申請日期2012年1月10日 優(yōu)先權(quán)日2012年1月10日
發(fā)明者何發(fā)智, 李小霞, 蔡賢濤 申請人:武漢大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1