<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

一種異構cad集成中的拓撲元素匹配方法

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

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


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