劉一良,劉 弘,王吉華1.山東師范大學 信息科學與工程學院,濟南 2500142.山東省分布式計算機軟件新技術重點實驗室,濟南 250014
?
面向STEP標準三維實例的結構化查詢方法研究*
劉一良1,2+,劉弘1,2,王吉華1,2
1.山東師范大學 信息科學與工程學院,濟南 250014
2.山東省分布式計算機軟件新技術重點實驗室,濟南 250014
LIU Yiliang,LIU Hong,WANG Jihua.Research on STEP 3D instance oriented structured query method. Journal of Frontiers of Computer Science and Technology,2016,10(6):867-874.
摘要:在對三維實體描述STEP標準實例數據格式研究的基礎上,以STEP中性文件文本分割和解析為基礎,針對STEP標準文件的“不嚴格樹形結構”,實現了一種面向STEP標準三維造型實例數據的結構化查詢方法。
Received 2015-06,Accepted 2015-10.
CNKI網絡優先出版:2015-10-16,http://www.cnki.net/kcms/detail/11.5602.TP.20151016.1606.010.html對STEP標準文件的操作粒度進行劃分,面向不同的操作粒度,給出了相關操作規則定義,并在實驗環境中得到了較好的實現效果。該方法對解決不依賴具體三維實體設計軟件的實例數據的存儲、管理、檢索、重用及面向STEP中性文件的產品數據管理(product data management,PDM)具有較高的基礎性前研意義,對改進異構設計環境下產品數據的同步和協同設計(computer supported cooperative design,CSCD)具有較高的實現意義。
關鍵詞:STEP;STEP實例數據;結構化查詢;數據交換
ISSN 1673-9418CODEN JKYTA8
Journal of Frontiers of Computer Science and Technology
1673-9418/2016/10(06)-0867-08
E-mail:fcst@vip.163.com
http://www.ceaj.org
Tel:+86-10-89056056
三維實體造型技術的成熟發展,使其成為機械工程和設計領域實體造型的首選方法和技術,多年來國內外許多研究及商業機構致力于三維產品的造型設計領域,出現了許多較為成熟的軟件和方法,如SolidWorks、Pro-E、OpenCascade、UG等,在其應用逐步擴展的同時,大量的三維實體造型數據爆炸式增長,面向多種異構造型設計軟件方法的多數據格式的三維實體數據的訪問、管理、語義識別[1]、檢索和重用成為新興的核心研究領域。本文在對基于STEP標準的三維實體描述中性文件.stp/.step中三維造型實例數據解析、語義識別研究的基礎上,提出并實現了一種面向STEP標準(ISO-10303:standard for the exchange of product model data)三維造型實例數據文件的結構化查詢方法,對改善目前三維實體數據的動態訪問、管理、檢索、重用[2-3]及產品數據管理(product data management,PDM)具有較高的基礎性前研意義,另外對改進異構設計環境下產品數據的同步和協同設計具有較高的實現意義。
本文采用如下結構進行闡述:第2章介紹相關研究工作;第3章闡述本文結構化查詢所采用的STEP實例數據“不嚴格樹形結構”;第4章對STEP標準文件結構化查詢的操作粒度進行劃分,給出操作規則定義;第5章給出相關實現實驗效果,并對本文方法的應用領域和實現意義進行闡述;第6章分析方法的改進方向及下一步工作。
STEP是國際標準化組織制定的描述整個產品生命周期內產品信息的標準,用于產品信息的表達和數據交換的實現方法,提供了一種不依賴具體系統的中性機制,旨在實現產品數據的交換和共享。目前STEP標準的實例文件.stp/.step已經逐步稱為異構三維產品造型間數據傳遞的中性文件,其描述規范,格式轉化應用已經較為成熟,在此不再贅述,本文實驗部分也已實現對STEP標準實例文件的遍歷、文本分割和EXPRESS語義識別。
EXPRESS語言(ISO10303-11)是STEP標準開發的面向對象的信息模型描述語言,用以描述集成資源和應用協議,是記錄產品數據的建模語言,支持包括數據抽象、聚集和關聯在內的數據建模能力。采用EXPRESS語言描述的STEP標準實例文件是一種對三維實體數據的靜態描述,沒有提供針對其中數據模型的訪問、數據交換更新的操作。針對STEP標準實例文件的數據交換操作,STEP標準中的ISO10303-22部分SDAI(standard data access interface)有相關說明,通過SDAI實現STEP標準實例數據的動態交換,國內外已有相關研究。文獻[4-5]首先將STEP實例EXPRESS語言表述數據同關系數據庫間建立映射,然后將STEP標準實例數據轉存至關系數據庫中,采用關系數據庫標準查詢接口實現STEP數據的動態交換,中間加了一層同關系數據庫的映射。通過STEP標準描述語言EXPRESS同具體程序設計語言的映射聯編,可實現具體程序設計語言環境下的STEP實例數據交換。浙江大學科研人員在文獻[6] STEP標準數據存儲界面SDAI及OSCAR的實現中,面向OODB-OSCAR實現了一種基于語言聯編的STEP數據交換方式(OSCAR系統是其自行開發的一個面向對象的數據庫管理系統,實現STEP標準幾何,拓撲模型類定義和對象實例),其研究工作的目的是實現STEP信息的存取、交換,并對各應用功能模塊提供數據庫層次支持,數據交換依賴于此數據庫。文獻[7]對STEP中性文件數據交換及SDAI聯編實現數據交換的方式進行比較,詳述了SDAI聯編實現的若干關鍵技術。
綜合比較,實現三維實例數據動態交互的方式可分為兩種:(1)SDAI語言聯編,其操作分類較為復雜,實現細節繁冗,且依賴于聯編實現語言的類型和數據格式同EXPRESS描述語言的映射,工作量巨大,軟件依賴性較高。(2)依賴于三維實例文件數據到具體數據庫的映射和數據轉存儲,即需建立實例數據同關系數據庫數據類型的映射,且基于大數據量的文本解析和數據庫存取。
本文實現的面向STEP標準實例數據文件的結構化查詢操作旨在直接通過對STEP標準實例文件的解析,利用其數據間的“不嚴格樹形結構”,以結構化查詢的方式實現標準文件間不依賴具體三維實體設計造型軟件,無特定數據庫的轉存,無特定語言的聯編約束的動態數據交換,以期實現針對STEP標準實例數據的管理、檢索[8-10]和重用的產品數據管理系統。
STEP標準實例文件描述性實例數據是一種結構化的文件,結構關系采用的是一種“不嚴格的樹形結構”,即采用STEP標準中由EXPRESS語言定義的應用協議AP-P42,其幾何、拓撲、幾何模型等關鍵字實例逐層嵌套組合,整體形成類樹形的文件結構[11-13],三維實體的核心構成如SOLID、SHELL、FACE等分支,均滿足樹形結構特征。本文定義,“不嚴格”的樹形結構指滿足樹形結構基本的“一對多”關系外,文件結構中的分支節點或葉子節點存在共用,但不存在環形的孩子節點到父節點引用的結構。以某STEP標準實例文件片段為例,其實例數據如下,“不嚴格樹形結構”如圖1。



Fig.1 Non-perfect tree structure of STEP instance file圖1 STEP標準實例文件片段不嚴格樹形結構
通過對STEP標準實例文件的文本分割解析和EXPRESS語義識別,利用這種不嚴格的樹形結構所建立的STEP標準實例數據之間的關系,提出面向STEP標準實例文件的結構化查詢方法,直接面向STEP標準的實例數據、實例數據分支和數據結構特征劃分操作粒度,定義操作規則、操作集合,從而實現標準文件間的動態數據交換。
本文在對STEP標準文件格式.stp/.step文件采用EXPRESS語言描述的實例數據解析的基礎上,根據所描述三維產品實體數據表述的“不嚴格樹形”結構,直接面向標準實例文件整體或實例數據片段,首先對結構化查詢面向STEP實例數據操作粒度進行概念劃分;然后遵循結構化查詢操作復雜度、操作間的嵌套實現順序給出相關操作定義,具體包括實例數據查詢,實例數據附加,實例數據刪除,實例數據插入,實例數據更新;同時對實現時遵循的規則給出相關說明,使操作過程和操作結果符合STEP標準文件中實例數據間的結構特征。
4.1結構化查詢操作粒度劃分
本文通過對STEP標準實例文件的“不嚴格樹形結構”深度遍歷實現文本分割;根據STEP標準應用協議AP-P42的定義,EXPRESS語言定義的實例表述類型可以分為幾何、拓撲和幾何模型3類,在此基礎上實現語義識別,獲取實例節點數據和分支實例數據,可以將結構化查詢的操作粒度規范為面向節點和面向分支兩類。給出相關定義。
定義1(幾何實例分支)表述復雜參數曲線和復雜參數曲面的實例數據,包括解析曲線、曲面的參數化表述數據以及相關空間坐標、坐標軸的位置信息。
定義2(幾何實例節點)基本的點、向量,標準參數曲線、標準體元的表述數據,一般被幾何分支或拓撲分支所引用,以表述更加復雜的三維實體數據。
定義3(拓撲實例分支)基本的拓撲實體頂點、邊、面和拓撲的定義以及構成路徑、環、殼拓撲結構的基本實體的集合。
4.2結構化查詢規則定義
本文提出的結構化查詢產生的結果實例數據,邊形成規則,面形成規則,殼形成規則符合三維實體造型的歐拉原則及STEP成型的開閉原則,具體規范化定義如下。
定義4(曲線封閉規則)兩個端點為同一個點的曲線。
定義5(曲線非封閉規則)具有兩個不同端點的曲線。
定義6(曲面封閉規則)一個連通的二維流形,它將空間正好分成兩個連通部分,且其中一部分是有限的。
定義7(曲面非封閉規則)一個具有邊界但并不封閉的流形,它或者是無限的,或者是把空間僅分成兩個連通部分的曲面。
定義8(殼封閉規則)由多個面/曲面構成的連通的二維流形,它將空間正好分成兩個連通部分,且其中一部分是有限的。
定義9(殼非封閉規則)一個由多個面/曲面構成的連通的二維流形,具有邊界但并不封閉的流形,它或者是無限的,或者是把空間僅分成兩個連通部分的曲面。
4.3實例數據結構化查詢操作
分別以實例分支或實例節點為操作粒度,將面向STEP標準實例數據文件的結構化查詢定義為下述操作。
4.3.1實例數據查詢
STEP應用協議關鍵字查詢:在目標step文件中查找指定STEP應用協議類型的實例,獲取同類型實例標號。以MANIFOLD_SOLID_BREP為例,其結構化查詢實現:

相關API方法實現:

實例數據查詢操作StpQuery:在目標stp文件中,查找指定標號的節點或以該節點為根節點的分支結構;獲取節點或分支的實例定義序列。以上述MANIFOLD_SOLID_BREP結果為例,實例集合為{#607, #610,#613,#616,#619,#622,#625,#628,#631},結構化查詢實現:
StpQuery from stpFilename where keyNum=destNum:
相關API方法實現:

4.3.2實例數據附加
stp實例文件中附加實例定義數據,附加數據源來自實例數據的查詢結果,附加過程中應遵循的規則:對目標文件中已經存在的STEP實例標號,重新指定數據源中的標號,保證標號唯一;對目標文件中不存在的STEP實例標號,直接追加。以追加實例數據data為例,其結構化查詢實現:

4.3.3實例數據刪除
在stp文件類樹形結構中刪除實例數據,刪除數據源來自實例數據查詢結果,刪除指定節點及以該節點為根節點的分支結構的實例定義數據。刪除過程中應遵循的規則:保留目標文件中存在復用的標號,對目標文件中使用度為1的標號,刪除。以刪除實例數據data為例,其結構化查詢實現:

4.3.4實例數據插入
在stp文件類樹形結構中插入實例數據,插入數據源來自實例數據查詢結果,插入節點或以插入節點為根節點的分支結構。插入過程分為兩步:
(1)插入實例數據附加,解決標號沖突問題。
(2)插入點實例數據更新,如shell#149=CLOSED_ SHELL('',(#80,#95,#109,#123,#136));中插入一個新的face#274,其實例數據為data,shell節點更新數據為dParam,其結構化查詢實現:

4.3.5實例數據更新
在stp文件類樹形結構中更新實例數據,按照面向STEP標準實例文件結構查詢的操作粒度,可以將更新操作分為分支粒度更新操作和實例參數粒度的更新操作。
(1)實例參數更新操作StpUpdateParam。在stp文件類樹形結構中,對指定標號的節點的參數進行修改,可轉換為目標實例數據替換源實例數據的操作,更新目標數據來自實例數據查詢操作。如更新笛卡爾點#137為dParam=CARTESIAN_POINT('',(1.E0, 2.2939E2,0.E0));其結構化查詢實現:

相關API方法實現:

(2)分支粒度更新操作StpUpdateBranch。該操作可轉換為以下操作:①根節點實例參數更新操作;②實例數據的刪除操作;③實例數據追加操作。更新目標數據和源數據均可由結構化查詢操作獲取。如修改shell#12中的面#23為新設計面#34,可轉換為#23面分支的刪除操作及#34新設計面的插入操作,其中實例參數目標數據為dParam,#34實例數據為dData,#23實例數據為sData,其結構化查詢實現:

相關API方法實現:

5.1實驗效果
本文所述面向STEP標準實例數據的結構化查詢方法,通過Java語言實現結構化查詢語句的功能API,在實驗環境中得到了較好的實現效果。
(1)對圖2所示的STEP標準實例文件oilsprt_ Asm-203.stp,MANIFOLD_SOLID_BREP實例查詢回顯得到的實例數據同源文件對比查詢效果如圖3和圖4所示。
(2)實例數據刪除操作。以刪除surface1-214. STEP實例文件中OPEN_SHELL面#11和#14為例,刪除效果如圖5所示。
刪除前STEP節點描述數據:

刪除后STEP節點描述數據:


Fig.2 STEPentity圖2 STEP實例

F ig.3 Query result 1圖3 查詢效果1

Fig.4 Query result 2圖4 查詢效果2

Fig.5 Delete operation of STEP entity圖5 STEP實例刪除操作
(3)在file:pmi-1.stp設計過程中,采用實例數據插入操作增加多個增量面,如在#907=CLOSED_SHELL ('',(#460,#475,#488,#504,#519,#532,#548,#563,#576, #592,#607));實例中插入ADVANCED_FACE#620,#636并附加相關實力分支數據的過程效果圖如圖6所示。
(4)使用節點實例數據更新操作修改CARTESIAN_ Point#61與#63坐標參數得到的效果圖如圖7所示。
執行StpUpdate(#61,);StpUpdate(#63,)之前stp文件數據:


Fig.6 Insert operation of entity圖6 實例數據插入操作

Fig.7 Update operation of entity圖7 實例參數更新操作

執行StpUpdate(#61,..);StpUpdate(#63,)之后文件數據:

5.2應用領域
本文提出的面向STEP標準實例數據的結構化查詢方法,面向STEP實例數據文件,不依賴于數據庫及SDAI同其他程序設計語言的聯編,不依賴具體三維實體設計環境,采用Java字符處理數據,能夠實現三維實體數據的動態交換,具有較為廣泛的應用。
(1)協同設計增量數據傳輸。協同設計中,異地異構環境下,三維實體數據經由本地設計軟件轉換為STEP標準的中性文件,采用本文給出的方法,以嵌入式插件的方式集成到協同設計環境下,協同設計通信元可輕量化為面向協同設計的增量數據,異地回顯,對解決三維協同設計過程中的大數據量傳輸,提高協同設計系統的并發性、實時性和一致性具有較好效果。
(2)三維實體拆裝及輕量化顯示。針對復雜三維實體造型數據的復用和PDM,通過STEP標準實例數據解析、特征提取[14-15]、相似度計算、檢索、模型識別,可實現復雜三維產品的拆裝和輕量化顯示。
本文在對STEP標準、EXPRESS描述語言研究的基礎上,利用文本分割、語義識別技術,面向采用“不嚴格樹形結構”為組織方式的三維實例數據,提出了一種以結構化查詢的方式實現三維產品實例數據動態交互的方法,并在實驗環境中得到了較好的效果,對改進三維產品實例數據的存儲、管理、動態交互有很好的實現意義。但在實例場景信息解析,實體面的拓撲形成規則,體形成規則方面有待進一步研究完善;在結構化查詢方法的引入方式上可進一步改進,以期獲得更為廣泛的嵌入式應用。另外,對結構化實例數據的特征提取、模式識別方法進行研究,以實現實例數據的智能化查詢、檢索更新是下一步工作的重點。
References:
[1]Pan Xiang,Zhang Sanyuan,Ye Xiuzi.A survey of contentbased 3D model retrieval with semantic features[J].Chinese Journal of Computers,2009,32(6):1069-1079.
[2]Shreekanth M.Integrating the CAD model with dynamic simulation:simulation data exchange[J].Concurrent Engineering Research andApplication,2002,10(3):239-250.
[3]Schewe K D,Thalheim B.Fundamental concepts of object oriented database[J].Acta Cybernetica Szeged,1993,11(4):49-84.
[4]Yan Kaitao,Deng Jiati,He Yue.A study of SDAI implementatioin on relatinal database[J].Computer Engineering& Science,1997,19(4):4-9.
[5]Yang Zijiang,Huang Yimin,Dong Jinxiang.Design and implementation of SDAI for a distributed hererogeneous environment[J].Journal of Computer Aided Design&Computer Graphics,2005,17(5):1085-1091
[6]Shou Yucheng,Liu Jian,Dong Jinxiang.STEP SDAI and its implementation in OSCAR[J].Journal of Computer Aided Design&Computer Graphics,1997,9(2):143-149.
[7]Huang Zhongdong,Yang Xiaohu,Dong Jinxiang.Research on key techniques of SDAI implementatioin[J]Journal of Computer Aided Design&Computer Graphics,2001,13 (11):977-982.
[8]Min P,Halderman J A,Kazhdan M,et al.Early experiences with a 3D model search engine[C]//Proceedings of the 8th International Conference on 3D Web Technology,Saint Malo, France,2003.New York,USA:ACM,2003:7-18.
[9]Wang Zhansong,Tian Ling.Function-based 3D model retrieval system[J].Journal of Computer Aided Design& Computer Graphics,2013,25(12):1877-1885.
[10]Wang Fei,Zhang Shusheng,Bai Xiaoliang,et al.3D model retrieval based on both topology and shape features[J]. Journal of Computer Aided Design&Computer Graphics, 2008,20(1):99-103.
[11]Wang Jihua,Liu Hong,Wang Huayu.A mapping-based tree similarity algorithm and its application to ontology alignment[J].Knowledge-Based Systems,2014,56:97-107.
[12]Jansson J,Peng Zeshan.Algorithms for finding a most similar sub-forest[J].Theory of Computing Systems,2011,48 (4):865-887.
[13]Vranic D V,Saupe D.3D shape descriptor based on 3D Fourier transform[C]//Proceedings of the 3rd EURASIP Conference on Digital Signal Processing for Multimedia Communications and Services,Budapest,Hungary,Sep 11-13,2001. Budapest:Scientific Associate for Infocommunications,2001: 271-274.
[14]Ohbuchi R,Nakazawa M,Takei T.Retrieving 3D shapes based on their appearance[C]//Proceedings of the 5th ACM SIGMM International Workshop on Multimedia Information Retrieval,Berkeley,USA,Nov 7,2003.New York, USA:ACM,2003:39-45.
[15]Cui Chenyang,Shi Jiaoying.Analysis of feature extraction in 3D model retrieval[J].Journal of Computer Aided Design&Computer Graphics,2004,16(7):882-889.
附中文參考文獻:
[1]潘翔,張三元,葉修梓.三維模型語義檢索研究進展[J].計算機學報,2009,32(6):1069-1079.
[5]楊子江,黃益民,董金祥.分布式異構環境下SDAI系統的設計與實現[J].計算機輔助設計與圖形學學報,2005,17 (5):1085-1091.
[6]壽宇澄,劉建,董金祥.STEP標準數據存取界面SDAI及在OSCAR中的實現[J].計算機輔助設計與圖形學學報, 1997,9(2):143-149.
[7]黃忠東,楊小虎,董金祥.SDAI實現中若干關鍵技術的研究[J].計算機輔助設計與圖形學學報,2001,13(11):977-982.
[9]王占松,田凌.基于功能的三維模型檢索系統[J].計算機輔助設計與圖形學學報,2013,25(12):1877-1885
[10]王飛,張樹生,白曉亮,等.拓撲和形狀特征相結合的三維模型檢索[J].計算機輔助設計與圖形學學報,2008,20(1): 99-103.
[15]崔晨,石教英.三維模型檢索中的特征提取技術綜述[J].計算機輔助設計與圖形學學報,2004,17(7):882-889.

LIU Yiliang was born in 1981.He received the M.S.degree in computer science from Shandong Normal University in 2007.Now he is a lecturer at Shandong Normal University.His research interests include pattern recognition,3D modeling and retrieval,etc.
劉一良(1981—),男,山東招遠人,2007年于山東師范大學獲得碩士學位,現為山東師范大學信息科學與工程學院講師,主要研究領域為模式識別,三維實體建模及檢索等。主持省級項目1項,參與國家自然科學基金項目2項。

LIU Hong was born in 1955.She received the Ph.D.degree from Institute of Computing Technology,Chinese Academy of Sciences in 1998.Now she is a professor and Ph.D.supervisor at Shandong Normal University.Her research interests include artificial intelligence and computer aided design,etc.
劉弘(1955—),女,山東濟南人,1998年于中國科學院計算技術研究所獲得工學博士學位,現為山東師范大學信息科學與工程學院院長、教授、博士生導師,主要研究領域為人工智能,計算機輔助設計等。發表學術論文100余篇。

WANG Jihua was born in 1965.He received the Ph.D.degree from Shandong Normal University in 2009.Now he is a professor and M.S.supervisor at Shandong Normal University.His research interests include intelligent CAD design and 3D data analysis,etc.
王吉華(1965—),男,山東煙臺人,2009年于山東師范大學獲得博士學位,現為山東師范大學教授、碩士生導師,主要研究領域為智能CAD設計,三維數據分析等。
+Corresponding author:E-mail:156642116@qq.com
文獻標志碼:A
中圖分類號:TP391.72
doi:10.3778/j.issn.1673-9418.1506069
Research on STEP3D Instance Oriented Structured Query Method?
LIU Yiliang1,2+,LIU Hong1,2,WANG Jihua1,2
1.College of Information Science and Engineering,Shandong Normal University,Jinan 250014,China
2.Shandong Provincial Key Laboratory for Distributed Computer Software Novel Technology,Jinan 250014,China
Abstract:Based on the research on STEP and its standard file format,through the text segmentation and parse and the research on the“non-perfect tree typed”structure used in the.stp/.step file,this paper proposes a new STEP 3D instance oriented structured query method on STEP instance data exchanging.Firstly,this paper categories the structured operation granularity,then defines the structured query operation and the rules that each operation should follow, and well realizes this method in lab environment.Through this method proposed,authors look forward to great improvement in 3D data reusing,storage,dynamically exchanging,retrieval and other future development in PDM (product data management),its application in CSCD(computer supported cooperative design)can also improve the consistency,concurrency in heterogeneous CSCD system.
Key words:STEP;STEP instance data;structured query;data exchanging
*The National Natural Science Foundation of China under Grant Nos.61472233,61402269(國家自然科學基金);the Science and Technology Foundation for High School of Shandong Province under Grant No.J14LN09(山東省高等學校科技計劃項目).