刘一良,刘 弘,王吉华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(山东省高等学校科技计划项目).