專利名稱:三維實體模型多分辨率表示方法
技術領域:
本發明涉及一種實體模型的表示方法,且特別涉及一種三維實體模型多分 辨率表示方法。
背景技術:
三維CAD設計技術已在機械、制造、建筑、電子、化工、服裝乃至廣告等 眾多領域中得到快速發展和應用。作為體現設計意圖的主要載體,三維CAD實 體模型也廣為流通,有效促進了各行業效率的提高。
在實際應用中,符合國際標準STEP (standard for the exchange of product model data,產品數據交換標準)的B-reps實體模型為各主流商品化三維CAD 系統所支持(如Pro/Engineer 、 SolidWorks 、 I-DEAS 等),因而成為兼容 性好、表示能力強的主流三維實體模型格式。但B-reps表示具有如下局限性。 首先,B-樣條曲線/曲面來描述三維形狀的邊界,即使簡單的三維模型,B-reps 也可能需要使用較大的數據量來描述;同時由于曲線曲面繪制的復雜性,使得 三維實體模型的預覽、査看、査詢操作等相對較慢,尤其是產品數據庫中模型 數量較大時,效率更低。更重要的是,B-reps表示中的頂點、曲線、曲面等幾何 信息雖然可用于模型精確的表示,但缺乏三維空間特征及空間拓撲關系的直觀 描述,因此僅從點、線、面基本幾何圖元出發,難以完成面向內容的三維實體 模型的各類應用,如利用給定的某三維實體模型在產品數據庫中搜索形狀、功 能匹配的類似模型,以實現產品設計的復用;也難以完成大量三維實體模型的 自動分類、產品庫的索引,及包含語義信息的特征提取等。最后,復雜幾何模 型也不利于網絡傳輸、不利于多人不同地點開展產品的協同設計。
發明內容
發明目的本發明的目的是針對現有三維實體模型僅通過底層頂點、曲線、 曲面等幾何信息表示方法的不足,提供一種通過原始幾何表示、規范化實體模 型表示、分割為簡單體組的實體模型表示、基于6-鄰域及18-鄰域拓撲連通性來 實現三維實體模型多分辨率表示方法。
技術方案為了達到上述目的,解決現有表示方法的缺陷,本發明提供了 一種三維實體模型的多分辨率表示與轉換方法,該方法包括以下步驟
步驟l,輸入STEP格式的三維實體模型,判斷其對應的多分辨率表示文件是否未生成,如果判斷結果為否則返回步驟l;
步驟2,若步驟l的結果為否,則讀取STEP格式三維實體模型中的底層幾 何數據,并執行實體模型的補齊操作;
步驟3,讀取補齊后的實體模型并執行填充操作;
步驟4,讀取補齊、填充后的實體模型并執行成組操作,在此基礎上得到模 型的規范化及簡化表示;
步驟5,訪問規范化后的實體模型的特征邊及特征面,通過邊切割及面切割, 將實體模型進一步分割并映射至一組預定義簡單體;
步驟6,逐一訪問體分割所得的各簡單體;若遍歷結束,則轉步驟11;若 遍歷沒有結束,則進行步驟7; 步驟7,通過公式
計算各簡單體的6鄰域三維空間劃分;其中"為坐標軸X、 Y及Z方向, J0 ,, M)為s,包圍盒沿#1的頂面面積,A尸W/V, ^,))為沿w、由》到s,投影重疊面 的面積;
步驟8,根據體分割所得各簡單體之間的6鄰域空間邊連接或面連接關系, 生成各簡單體6-鄰域拓撲空間約束表,在此基礎上得到實體模型的6鄰域空間 拓撲約束表示;
步驟9,遍歷體分割所得的各簡單體,計算該簡單體的18鄰域三維空間劃
分;
步驟IO,根據體分割所得各簡單體之間的18鄰域空間關系,生成各簡單體 18-鄰域拓撲空間約束表,在此基礎上得到實體模型的18鄰域空間拓撲約束表 示;返回步驟6,繼續生成簡單體的6鄰域及18鄰域空間拓撲約束表示;
步驟ll,輸出所輸入的三維實體模型的多分辨率表示,并轉步驟l;
其中,步驟2所述的底層幾何數據進一步包括頂點、直線邊、弧形邊、B 樣條曲線邊、平面、圓柱、B樣條曲面、球面、回路。在本發明方法中,步驟2、 3、 4用以從三個角度對復雜三維實體模型進行規 范化,即以補齊操作將實體模型中各類圓柱形凹面及斜面連接轉換為平面連
接,以填充操作將實體模型中的洞、槽等特征填充后移除,以成組操作在實體 模型面、邊連接圖基礎上,搜索并移除一組具有相同的面邊連接幾何約束的圖 元。規范化實體模型的過程,同時也是三維實體模型的簡化過程,以消除復雜 模型中的特點曲線、曲面、洞、槽、齒等特征。三維實體模型通過特征面或特 征邊切割后,轉換為一組預定義簡單體。預定義簡單體的類型包括長方體、圓 柱體、四面體、圓錐體。
所述實體模型的面、邊連接圖,是讀取補齊與填充后的實體模型,將其中 的模型面、模型邊轉換為連接圖節點,模型面與模型面、模型面與模型邊、模 型邊與模型邊若存在連接、相交關系,則將其轉換為連接圖中的邊所得到的圖。
在本發明方法中,步驟5所述的特征邊為規范化后的實體模型中的凹邊,
特征面為特征邊所在的平面。特征邊可通過搜索所有共享邊、并判斷該邊凹凸 性來判斷,之后選取該特征邊所在的某特征面作為切割面,完成規范化后的實 體模型的分割,以得到一組簡單體。
在本發明方法中,為了進一步提取與精確表示實體模型內部各組成成分的
空間三維拓撲約束關系,提供一種基于簡單體空間6-鄰域及18-鄰域劃分的拓撲 約束表示方法。6-鄰域空間劃分根據各簡單體的長方體包圍盒上、下、左、右、 前、后六個方向完成劃分,18-鄰域空間劃分根據各簡單體的長方體包圍盒上、 下、左、右、前、后六個方向及十二個對角線方向完成劃分。在6-鄰域及18-鄰域空間劃分的基礎上,可對每個分割出的簡單體搜索其6-鄰域及18-鄰域空 間,若某鄰域存在其它簡單體,則在6-鄰域或18-鄰域拓撲約束表的對應位置 上記錄"1",否則記錄"0"。各簡單體拓撲約束表生成后,該實體模型內部組 成成分之間的空間拓撲約束關系亦同時可精確表示。
步驟6、 7、 8訪問各簡單體并生成其6-鄰域空間拓撲約束表,步驟9、 10 訪問各簡單體并生成其18-鄰域空間拓撲約束表。每個簡單體的6-鄰域空間拓撲 約束表僅需6個二進位來表示,18-鄰域空間拓撲約束表僅需18個二進位來表示, 合計3字節。 一般即使復雜三維實體模型,其在規范化后分割所得到的簡單體 數目也較有限,因此其拓撲約束表示數據量較小、同時表示精確。
步驟11所得的三維實體模型多分辨率表示方法中,其表示包括原始幾何表 示、規范化及簡化后的實體模型表示、分割為簡單體組的實體模型表示、基于 6-鄰域及18-鄰域拓撲連通性的實體模型表示四個層次。有益效桌本發明所述的一種三維實體模型多分辨率表示方法,融合底層幾何 信息、規范化及簡化后的實體模型表示、分割后的簡單體表示、基于6鄰域及 18鄰域拓撲連通性表示基礎上的三維實體模型的多分辨率表示與轉換方法,以 進一步應用于模型快速預覽、三維實體模型多層次比較、面向內容的三維產品
檢索與索引等領域。具體地說本方法讀取并將三維CAD設計中最常用的STEP 格式的實體模型轉換為四個層次的多分辨率表示,既包含原始幾何信息,又融 合實體模型簡化表示、組成成分之間的三維空間拓撲約束關系,轉換快速、準 確性高。該表示方法有助于解決三維CAD領域許多應用難題,比如如何快速定 位具有三維相似性的實體模型、如何快速預覽復雜幾何模型等,從而提高三維 設計效率及智能化特別是計算機輔助設計與制造水平。
下面結合附圖和具體實施方式
對本發明做更進一步的具體說明。
圖l表示本發明的流程圖。
圖2表示一個實際的三維實體模型。
圖3表示對應的經補齊、填充、成組后的規范化及簡化實體模型。
圖4表示體切割后得到的簡單體局部示例。
圖5表示另一個切割為三個簡單體的實體模型示例。
圖6表示一個簡單體的6-鄰域空間劃分。
圖7表示一個簡單體的18-鄰域空間劃分。
圖8表示圖5中所切分出的一個簡單體的6-鄰域空間拓撲約束表。 圖9表示圖5中所切分出的一個簡單體的18-鄰域空間拓撲約束表。
具體實施例方式
如圖1所示,本發明公開了一種三維實體模型多分辨率表示方法,該方法 包括以下步驟
步驟l、輸入STEP格式的三維實體模型,判斷其對應的多分辨率表示文件 是否未生成,如果判斷結果為否則返回步驟l;步驟2、若步驟l中的結果為是, 則讀取的STEP格式三維實體模型中的底層幾何數據,并執行實體模型的補齊操 作;步驟3、讀取補齊后的實體模型并執行填充操作;步驟4、讀取補齊、填充 后的實體模型并執行成組操作,在此基礎上得到模型的規范化表示;步驟5、訪 問規范化后的三維實體模型的特征邊及特征面,通過特征邊及特征面的切割操作,將實體模型進一步分割至一組預定義簡單體;步驟6、逐一訪問分割后所得 的各簡單體;若遍歷結束,則轉步驟ll;若遍歷沒有結束,則進行步驟7; 步驟7、通過公式
計算各簡單體的6鄰域三維空間劃分;其中w為坐標軸X、 Y及Z方向, jfe w)為A包圍盒沿/1的頂面面積,J(Pro^, (&))為沿w、由》到^投影重疊面 的面積;步驟8、根據體分割所得各簡單體之間的6鄰域空間邊連接或面連接關 系,生成各簡單體6鄰域拓撲空間約束表,并得到實體模型的6鄰域空間拓撲 約束表示;步驟9、遍歷體分割所得的各簡單體,計算該簡單體的18鄰域三維 空間劃分;步驟IO、根據體分割所得各簡單體之間的18鄰域空間關系,生成各 簡單體18鄰域拓撲空間約束表,并得到實體模型的18鄰域空間拓撲約束表示, 返回步驟6;步驟11、輸出所輸入的三維實體模型的多分辨率表示,并轉步驟1。
為方便理解與描述,更具體地說,圖2給出了一個三維實體模型實例。圖l 中的步驟l初始輸入為由一組底層圖元(頂點、直線、曲線、平面、曲面及環) 構成的STEP格式的實體模型。步驟2、 3、 4用以對復雜三維實體模型進行規范 化,其中步驟2中的補齊操作將實體模型中各類圓柱形凹面及斜面連接轉換為 平面連接,具體步驟是-
(1) 搜索實體模型中所有兩端與平面相連的半圓柱面集合C。根據兩端相 連平面的平行、垂直或相交、共面關系,分別將半圓柱面劃分為平行型、相交 型、共面型候選柱面;
(2) 若C不空,逐一訪問候選半圓柱面c,,對其連接平面力、力2的邊分別 按逆時針及順時針排序;
(3) 按方向遍歷^、 A各邊,若某邊e^w v"〉與。相交, 及v"分別為 邊e的起點和終點,則根據該邊方向將頂點v。標記為入點或將 標記為出點。 分別于入點及出點處延伸對應邊,求出。連接平面對應邊的交點;
(4) 連接擴展后的交點,在入點或出點后增加圓柱。對應底面或頂面的圓 心坐標;
(5) 刪除圓柱面連接c,并返回(2)。步驟3中填充操作將實體模型中的洞、槽等特征填充后移除,具體方法是
(1) 生成其面包含有向圖FCG (directed Face Containing Graph):設/禾口
力為沿模型主方向的兩個相鄰的平行面(其中模型主方向定義為模型中具有最多 平行面的垂直方向),則將力和》作為節點加入FCG;若如下條件符合,則在
FCG中添加一條由y;指向》的有向邊
其中^仿為面/的面積,;^q/>69為從沿力法向從力到力的重疊投影面。
(2) 以&g^w表示FCG中某節點y;的出入度值,并將FCG中各節點出
入度初值設置為0;
G)根據節點y;各邊的方向計算其出入度值若存在有向邊則
cfeg7^(^++,即將節點/;的度數加1;否則若存在有向邊£,/^,》>,則Agree(^—;
(4) 找出具有最大出入度值的兩個節點/^^及/ma^遍歷其它節點力,若 存在一條路徑^,/ 即可到達/MOx;,亦可到達/wa^,則將創建一個虛擬面節點FM, 將乂合并入Fm,并將I^加入FCG。 fm即作為孔洞特征填充后的虛擬面節點;
(5) 沿h方向搜索/Mox;及/w^之間的單個面,并創建新的平行面,生成平 行面對以填充槽特征。
步驟4中的成組操作在實體模型面、邊連接圖基礎上,搜索并移除一組具有 相同的面邊連接幾何約束的圖元。與柱面連接及孔洞等特征類似,該類特征的 成組及移除可在維持實體模型的空間約束及拓撲結構前提下,對"冗余"幾何 信息完成簡化描述。在補齊、填充操作完成后,成組操作可通過如下步驟實現 1)搜索模型中的短線段(包括短直線及曲線);2)對短線段相連邊及相連面生 成面連接關系圖;3)匹配各短線段相關的面連接關系圖以識別重復子圖;4) 組合重復子圖并從實體模型中移除。圖3給出了對應于圖2的規范化后的實體 模型表示。
步驟5搜索規范化后的實體模型中的凹邊,并從凹邊所在的平面出發完成實 體模型分割及簡單體的生成。通過特征邊及特征面實現的體切割步驟為
(1) 按序遍歷實體模型M中的各面乂中的頂點,找到其中凹點并放入對應 于該面的點集C尸;
(2) 搜索并匹配各面的凹點點集,若面乂上的凹點c/7,與面》上的凹點c^ 連線為模型邊,則標志該邊(C/7,,C^)為切割邊;(3) 搜索(CA,c^)端點處其它相連邊,延長其中最長相連邊以與對邊求交點, 逆時針排序后生成新面/,;
(4) 從/ ^出發搜索各模型面,得到包含/,的最小閉合體^^;若^w 屬于預定義簡單體類型,則生成其長方體包圍盒BOZ(^^),加入分割體集合及, 并從M中刪除s—;否則重復(4)以搜索其它包含/"ew的閉合體;
(5) 重復步驟(1)至步驟(4)直至無新的切割邊生成。 圖4給出了規范化后的實體模型體分割的示例(局部),其中各簡單體均為
長方體。
步驟6、 7、 8訪問各簡單體并生成其6-鄰域空間拓撲約束表,其約束關系 可定義為
其中"為坐標軸X、Y及Z方向w)為s,包圍盒沿w的頂面面積"(/Vcy'^ "^))為沿"、由》到&投影重疊面的面積。圖5給出了另一個切割為三個簡單體 (&、 &、 Sc)的實體模型的示例,其中簡單體Sc的6-鄰域空間劃分如圖6所 示。步驟9、 10訪問各簡單體并生成其18-鄰域空間拓撲約束表,圖7給出了對 應于圖5中簡單體Sc的18-鄰域空間劃分。根據簡單體Sc的6-鄰域空間劃分及 其與另外兩個簡單體&、 &的6-鄰域空間相交或連接關系,其6-鄰域空間拓撲 約束表可如圖8表示。類似地,圖9給出了 &的18-鄰域空間拓撲約束表。每個 簡單體的6-鄰域空間拓撲約束表僅需6個二進位來表示,18-鄰域空間拓撲約束 表僅需18個二進位來表示,合計3字節。 一般即使復雜三維實體模型,其在規 范化后分割所得到的簡單體數目也較有限,因此其拓撲約束表示數據量較小、 同時表示精確。
在此基礎上,步驟11返回該實體模型的多分辨率表示,融合了實體模型的 原始幾何信息、實體模型規范化描述、三維體分割后的簡單體組、各閉合體之 間的6-鄰域及18-鄰域空i;司拓撲約束四個層次。該表示方法有助于解決三維CAD 領域許多應用難題,比如如何快速定位具有三維相似性的實體模型、如何快速 預覽復雜幾何模型等,從而提高三維設計效率及智能化水平。
本發明提供了一種三維實體模型的多分辨率表示方法的思路及方法,具體 實現該技術方案的方法和途徑很多,以上所述僅是本發明的優選實施方式,應 當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下, 還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。本 實施例中未明確的各組成部份均可用現有技術加以實現。
權利要求
1、一種三維實體模型多分辨率表示方法,其特征在于,該方法包括以下步驟(1)輸入STEP格式的三維實體模型,判斷其對應的多分辨率表示文件是否未生成,如果判斷結果為否則返回步驟(1);(2)若步驟(1)中的結果為是,則讀取STEP格式三維實體模型中的底層幾何數據,并執行實體模型的補齊操作;(3)讀取補齊后的實體模型并執行填充操作;(4)讀取補齊、填充后的實體模型并執行成組操作,在此基礎上得到模型的規范化表示;(5)訪問規范化后的三維實體模型的特征邊及特征面,通過特征邊及特征面的切割操作,將實體模型進一步分割至一組預定義簡單體;(6)逐一訪問分割后所得的各簡單體;若遍歷結束,則轉步驟(11);若遍歷沒有結束,則進行步驟(7);(7)通過公式<maths id="math0001" num="0001" ><math><![CDATA[ <mrow><msub> <mi>S</mi> <mn>6</mn></msub><mrow> <mo>(</mo> <msub><mi>s</mi><mi>i</mi> </msub> <mo>)</mo></mrow><mo>=</mo><mo>{</mo><msub> <mi>s</mi> <mi>j</mi></msub><mo>|</mo><mfrac> <mrow><mi>A</mi><mrow> <mo>(</mo> <msub><mi>Proj</mi><mrow> <mi>sj</mi> <mo>,</mo> <mi>n</mi></mrow> </msub> <mrow><mo>(</mo><msub> <mi>s</mi> <mi>i</mi></msub><mo>)</mo> </mrow> <mo>)</mo></mrow> </mrow> <mrow><mi>A</mi><mrow> <mo>(</mo> <msub><mi>s</mi><mrow> <mi>i</mi> <mo>,</mo> <mi>n</mi></mrow> </msub> <mo>)</mo></mrow> </mrow></mfrac><mo>=</mo><mn>1</mn><mo>,</mo><mi>n</mi><mo>=</mo><mi>X</mi><mo>,</mo><mi>Y</mi><mo>,</mo><mi>Z</mi><mo>}</mo> </mrow>]]></math></maths>計算各簡單體的6鄰域三維空間劃分;其中n為坐標軸X、Y及Z方向,A(si,n)為si包圍盒沿n的頂面面積,A(Projsj,n(si))為沿n、由sj到si投影重疊面的面積;(8)根據體分割所得各簡單體之間的6鄰域空間邊連接或面連接關系,生成各簡單體6鄰域拓撲空間約束表,并得到實體模型的6鄰域空間拓撲約束表示;(9)遍歷體分割所得的各簡單體,計算該簡單體的18鄰域三維空間劃分;(10)根據體分割所得各簡單體之間的18鄰域空間關系,生成各簡單體18鄰域拓撲空間約束表,并得到實體模型的18鄰域空間拓撲約束表示,返回步驟(6);(11)輸出所輸入的三維實體模型的多分辨率表示,并轉步驟(1)。
2、 如權利要求1所述的一種三維實體模型多分辨率表示方法,所述補齊操作為規范化實體模型中的圓柱形凹面及斜面兩類特征,即補齊操作將實體模型 中各類圓柱形凹面及斜面連接轉換為平面連接。
3、 如權利要求1所述的一種三維實體模型多分辨率表示方法,所述填充操 作用于將實體模型中洞、槽填充并移除以規范化實體模型表示。
4、 如權利要求1所述的一種三維實體模型多分辨率表示方法,所述成組操 作在實體模型的面、邊連接圖中,搜索并移除一組具有相同的面邊連接幾何約 束的圖元。
5、 如權利要求1所述的一種三維實體模型多分辨率表示方法,其中預定義 簡單體的類型包括長方體、圓柱體、四面體、圓錐體。
6、 如權利要求1所述的一種三維實體模型多分辨率表示方法,其中6鄰域 空間劃分根據各簡單體的長方體包圍盒上、下、左、右、前、后六個方向劃分。
7、 如權利要求1所述的一種三維實體模型多分辨率表示方法,其中18鄰域 空間劃分根據各簡單體的長方體包圍盒上、下、左、右、前、后六個方向及十二 個對角線方向完成劃分。
8、 如權利要求1所述的一種三維實體模型多分辨率表示方法,其中實體模 型轉換為一組簡單體后,其中任一簡單體的空間體拓撲約束可根據其與該組內其 它簡單體空間投影重疊關系生成,并表示為一張六連通表和一張十八連通體拓撲 約束表。
9、 如權利要求1所述的一種三維實體模型多分辨率表示方法,步驟(11) 中所述實體模型的多分辨率表示包含原始幾何表示、規范化及簡化后的實體模型 表示、分割為簡單體組的實體模型表示、基于6鄰域及18鄰域拓撲連通性的實 體模型表示四個層次。
全文摘要
本發明公開了一種三維實體模型多分辨率表示方法,該方法包括讀取符合STEP標準的三維實體模型,通過補齊、填充及成組三種操作對所給實體模型作規范化及簡化處理,并對規范化后的實體模型執行體分割算法,將其轉換為預定義簡單體組,之后生成各簡單體6-鄰域及18-鄰域三維空間劃分,并根據各簡單體的空間劃分,分別建立各簡單體之間的空間體拓撲連接關系,最終生成對所給實體模型的多分辨率表示。本發明所述的三維實體模型多分辨率表示包括原始幾何表示、規范化及簡化后的實體模型表示、分割為簡單體組的實體模型表示、基于6-鄰域及18-鄰域拓撲約束四個層次,轉換靈活、可靠性高。
文檔編號G06T17/00GK101527053SQ20081024387
公開日2009年9月9日 申請日期2008年12月9日 優先權日2008年12月9日
發明者通 路 申請人:南京大學