APP下载

机电产品概念设计系统模型与几何模型转换方法研究

2018-05-22褚长勇梁合宜

计算机应用与软件 2018年5期
关键词:数据类型文档解析

褚长勇 梁合宜

1(杭州电子科技大学机械工程学院 浙江 杭州 310018)2(浙江大学机械工程学院 浙江 杭州 310006)

0 引 言

在机电产品概念设计过程中,基于模型的系统工程MBSE(Model Based Systems Engineering)用模型取代文本,有效地解决了系统模型迭代困难的问题[1-3],但不同的设计者对系统模型的理解存在差异,导致最终得到的产品几何模型在结构、功能等方面存在较大差异[4]。因此实现系统模型与几何模型之间的快速转换能够帮助结构设计者更好地理解系统模型,提升产品设计研发效率,规范产品设计流程。文献[5-6]利用系统建模语言SysML(System Modeling Language)的特性生成特定领域配置文件,实现系统层模型与计算机辅助设计CAD(Computer Aided Design)模型之间的转换。文献[7-8]利用SysML扩展机制,构建几何信息模型,并采用三元图文法TGG(Triple Graph Grammar)实现从SysML模型至CAD模型的转换。上述方法分别存在无法根据系统模型生成新的CAD模型;数据转换次数多,流程复杂等问题,降低了模型转换效率和准确性。针对上述问题,本文在前人研究的基础上提出基于XML与STEP映射的系统几何模型快速转换方法,这一方法可根据系统模型中各部件之间的对应关系得出相关几何结构,从而快速得出系统模型对应的初始CAD模型,提高产品迭代速度。

1 模型转换关键问题

对于数字化模型,其系统模型与几何模型之间的转换本质上是数据格式的转换。可扩展标记语言XML具有良好的独立性[9],能够实现各种数据格式之间的转换。因此,将其作为系统模型向几何模型转换的桥梁,以此串联起如图1所示的整个模型转换流程。

图1 模型数据转换流程

根据图1所示的流程,实现模型数据的转换需要解决三个关键性问题。首先是实现机电产品系统模型几何信息的添加。由于复杂机电系统的组成部分较多,这里的几何信息包括了零部件的形状信息和零部件之间的相对位置关系。其次是模型数据转换系统的开发,包括XML文档的快速解析和XML/STEP映射库构建两个关键性问题。

2 机电产品几何信息模型构建

SysML是一种图形建模语言,由统一建模语言UML发展而来[10],相较于UML,SysML能够更好地对系统进行描述。由于SysML的常用模型元素中没有用于表示几何信息的元素,因此需要利用SysML的扩展机制来实现模型元素的自定义[11-12]。SysML扩展机制有两种:在SysML中定义新的元模型(heavyweight)和在SysML已有模型元素中自定义版型(lightweight)。为了方便SysML图的绘制,本文采用lightweight方法进行扩展。

2.1 基本几何元素定义

在概念设计阶段,产品零部件的形状主要由简单的几何形状来表示[4],经由后期详细设计和优化设计得到最终结果。在几何学中,长方体、圆柱等简单的几何形状均由点、线、面这三种基本几何元素构成的。这里定义基于《block》元模型的新模型元素《basicGeometricElement》来表示点、线、面这三种基本几何元素及其之间的关系,如图2所示。

Point类型中包含了坐标定义,以确定点的位置。Line类型由Point组成,并衍生出straightLine和curve两种子类型。Plane由Line构成,同时根据构成Plane的Line的不同引申出不同的Plane子类型,限于篇幅,这里只给出了roundPlane和rectanglePlane两种子类型的定义。

2.2 基本几何形状定义

在CAD软件中,几何模型大都由长方体、圆柱体、球体这三种基本几何形状通过相应的布尔运算得到的。因此,本文以基本几何元素为基础,构建包含以上三种基本几何形状的基本形状库,如图3所示。以《block》为元模型,定义由《shape》表示的基本形状模型元素。每一个新的基本几何形状中都定义了相应的尺寸参数,用户还可以通过SysML的stereotype扩展机制添加其他的形状信息以完善形状库。如通过对Cylinder中的尺寸参数添加约束信息(diameterTop

图3 基本几何形状定义图

2.3 几何约束信息定义

机电系统CAD模型中,各零部件之间通过几何约束实现装配。在概念设计过程中,零部件由基本几何形状表示,而各个几何体之间的约束关系主要有位置约束和角度约束[13-14],两者分别由《positionConstraint》和《directionConstraint》表示,且都由《constraint》元模型扩展得到。

图4中展示了几个与平面相关的几何约束关系定义,其中平面固定约束(PlaneFixed)需要用户提供平面中一个点的坐标(pointVal)以确定固定点,同时提供平面法向量方向(normalVal)以确定平面在水平方向上的转动角度。

图4 几何约束定义图

3 模型数据转换系统开发

如图1所示,模型数据转换系统通过解析导入的XML文档获取其中有效的几何信息,以此在企业现有产品数据库中检索拥有相似结构的产品,如果没有相似产品则根据XML/STEP映射库中的映射规则导出对应的初始CAD模型。

3.1 系统模型XML文档解析方法

本文采用Java对XML文档进行解析。目前,Java解析XML文档主要有DOM、SAX、JDOM、DOM4J四种方法。四种方法的解析原理及其所采用的方法各不相同[15-17],它们各自的优缺点如表1所示。

表1 XML解析方法比较

续表1

由表1可知,DOM4J是目前XML文档解析技术中最优秀的。因此,本文采用DOM4J作为XML文档的解析技术。XML的解析流程如图5所示。

图5 DOM4J解析XML文档流程

3.2 XML/STEP映射研究

在XML文档中,采用XML Schema对文档结构进行定义[17];在STEP文档中,则用EXPRESS语言来描述产品信息。因此,要实现XML/STEP数据转换,其关键就在于XML Schema与EXPRESS之间映射关系的定义。2000年10月,ISO提出了XML对EXPRESS表述的两种联编方式[18-19]:早联编(EarlyBinding)和晚联编(LateBinding),为XML Schema和EXPRESS之间映射关系的构建提供了理论基础。在早联编中,XML标记与EXPRESS数据模型中的数据类型及属性直接对应。而晚联编则是其定义的XML标记直接与EXPRESS的元数据对象(包括实体、属性、数据类型等)相对应。

3.2.1 XML与EXPRESS之间的映射关系

由于应用领域不同,XML和EXPRESS在对同一对象的描述上依旧存在较大的差异,且EXPRESS描述的内容包含了继承关系和模型的约束关系等复杂信息。为了实现两者之间的映射,研究人员基于XML和EXPRESS的语法特性提出四条映射原则[21],并根据原则构建出如下XML Schema与EXPRESS基本映射关系:

(1) 由XMLSchema中的元素类型(elementtype)对应表示EXPRESS中的实体(ENTITY);

(2) 由XML Schema中的元素(element)对应表示EXPRESS中的实体实例(ENTITY INSTANCE);

(3) 由XML Schema中的元素(element)或属性(attlist)对应表示EXPRESS中的实体属性(ENTITY ATTRIBUTE);

(4) 由XML Schema中的元素的嵌套子元素来对应表示EXPRESS中的实体函数、约束等相关信息。

3.2.2 XML与EXPRESS具体映射

(1) 模式映射:指XML模式和EXPRESS模式之间的映射。其中EXPRESS模式中包括了实体和类型,由schema元素、字符集、标识符、注释、符号等基本元素构成。下面是一段简化后的长方形平面EXPRESS模式文件:

SCHEMA automotive_design;

TYPE rectangle_plane=SELECT

(rectangle_plane_a,rectangle_plane_b);

……

END_TYPE;

END_SCHEMA;

文件中第一句声明引用的协议名称,automotive_design表示引用的模式为AP214。第二句指明实体的类型,其中TYPE为关键字,rectangle_plane为实体名称,SELECT是类型名。第三句表示实体rectangle_plane有两个子类。XML模式由schema元素、根元素、复杂类型元素(ComplexTypeelement)和简单类型元素(SimpleTypeelement)组成。根据XML Schema结构[22],可将之前的EXPRESS模式文件表述如下:

……

(2) 数据类型映射:EXPRESS语言包含了简单数据类型、聚合数据类型、命名数据类型、构造数据类型等多种数据类型[21]。其中,简单数据类型又分为数值型(number)、实数型(real)、整数型(integer)、字符串(string)、逻辑型(logical)等。在XML Schema中分别有小数(decimal)、float/double、整型(integer)、字符串(string)等与之对应。其中逻辑型虽无法在XML中找到对应的简单数据类型,但也可以通过在设置逻辑的真假来实现[17]。与简单数据类型的映射相似,其他数据类型同样可以在XML Schema和EXPRESS之间构建起映射关系。

3.3 XML/STEP映射库的构建

通过上述研究可知,通过建立XML Schema与EXPRESS之间的映射关系可以实现XML文档与STEP文档之间的双向转换,因此构建XML Schema映射库是十分必要的。本文将根据AP214构建XML Schema映射库。

3.3.1 XML/STEP头部段映射

每个STEP文件的头部段都包括标准(ISO-10303-21)和以“HEADER”开始,以“ENDSEC”结束的文件信息两部分。文件信息中又包含文件描述(FILE_DESCRIPTION)、文件名(FILE_NAME)和文件概要(FILE_SCHEMA)。下面为一段简化后的STEP头部段文件:

HEADER;

……

FILE_DESCRIPTION(……);

FILE_NAME(/*name*/′abc。step′,……);

FILE_SCHEMA

((′AUTOMOTIVE_DESIGN {…}′));

ENDSEC;

上述头部段文件在XML Schema映射库中的Schema如下所示:

……

……

3.3.2 XML/STEP数据段映射

STEP文件数据段是实体数据模型的核心,并以点作为实体描述的基本元素。根据这一特点,STEP数据段在XML Schema映射库中的Schema同样应该以点为基本元素,下面是一个实体点(POINT)的Schema表述:

……

其他实体的Schema表述与POINT相似,只需按照上述方法将所有EXPRESS语言表达的实体都生成XML Schema映射库中对应的Schema并保存,就可以得到完整的XML/STEP映射库。模型数据转换系统根通过调用映射库中的映射体,生成对应的数据格式并导出。最终实现XML/STEP文档之间的双向转换。

4 实例应用

现代制造业越来越重视产品系统层的构建,因此实现系统层到结构层的转换能够有效地提升产品设计开发效率。下面以汽车雨刮器为实例,展示系统模型到几何模型的转换的过程。

4.1 产品系统模型构建

汽车雨刮器大致可以分为驱动器(Drive)、摇臂(ConnectingRod)和雨刮(WiperBlade),三者通过轴(Shaft)连接在一起。由于Visio不自带SysML模板,因此在开始创建相关图形前需要将SysML 1.0这个模块包导入Visio的模板库中;根据产品需求选择对应的图形和模型元素,如图6所示为雨刷模块定义图。完成系统模型图绘制后,依靠绘图工具自身兼容的转换接口获得系统模型的XML文档。

图6 雨刮器模块定义图

4.2 模型数据转换

模型数据转换系统的系统界面分为三个部分,从左到右分别显示获得的系统模型XML源码、解析后的XML文件、转换得到的STEP文档,如图7所示。且在操作界面中均可对相应的文件进行修改保存,以保证最终所获STEP文档的最优化。将雨刮器系统模型XML文档导入系统,解析得到有效几何信息,并通过零部件之间的几何关系检索结构相似的现有设计方案,根据检索结果分别导出如图8所示的两种初始设计方案。其中,(a)为根据已有设计方案修改后得到,(b)为系统直接导出的设计方案。

图7 XML-STEP数据转换流程

(a) 经已有方案修改后得(b) 系统直接生成图8 雨刮器初步设计方案

5 结 语

本文主要研究了基于SysML的系统模型几何信息添加方法。基于Java的XML解析方法和编程技术,开发出模型数据转换系统;将由XML表述的系统模型进行解析,获取有效的几何信息。同时,通过基于XML/STEP映射库的转换器获得对应的STEP中性文件。这一方法以XML/STEP映射库为基础,实现XML与STEP之间的直接转换,为系统几何模型转换提供了新的可行方法。随着数据库的进一步完善,系统将实现系统模型到复杂高精度几何模型的直接转换。同时,随着制造业信息化的深入推进,系统将会集成更多的功能,如模型优化算法等方法的加入将使模型转换过程更加智能化,进一步缩短产品研发设计周期。

参考文献

[1] Buede D M.The engineering design of systems:models and methods[M].2nd ed.New York:John Wiley & Sons,2009.

[2] Estefan J A. Survey of model-based systems engineering(MBSE) methodologies[R]. Seattle:INCOSE MBSE Focus Group, 2007.

[3] Friedenthal S, Griego R, Sampson M. INCOSE model based systems engineering(MBSE) initiative[EB/OL]. [2016-05-10]. https://www. researchgate. net/publication/.

[4] Komoto H, Tomiyama T. A framework for computer-aided conceptual design and its application to system architecting of mechatronics products[J]. Computer-Aided Design, 2012, 44(10):931-946.

[5] Hamid S. Integration of system-level design and mechanical design models in development of mechanical systems[D]. Stockholm:KTH-Royal Institute of Technology, 2011.

[6] Ahsam Q. An integrated approach towards model-based mechatronic design[D]. Stockholm:KTH-Royal Institute of Technology, 2011.

[7] Fan H R, Liu Y. SysML-based model integration for online collaborative design of mechatronic systems[C]// ICED13, Sungkyunkwan University, Seoul, Korea, 2013:237-246.

[8] 樊红日. 基于SysML的复杂机电产品多域模型集成问题研究[D]. 杭州:浙江大学, 2015.

[9] W3C.Extensible markup language(XML)[EB/OL].[2016-10-11]http://WWW.W3.org/XML/.

[10] Delligatti L.SysML distilled:A brief guide to the systems modeling language[M].Addison-Wesley Professional,2013.

[11] Bruck J, Hussey K. Customizing UML:Which technique is right for you[EB/OL]. [2008-06-19] http://www.eclipse.org/modeling/mdt/uml2/docs/articles/Customizing_UML2_Which_Technique_is_Right_For_You/article.html/.

[12] Reichwein A. Application-specific UML profiles for multidisciplinary product data integration[D]. Uni Stuttgart-Universitätsbibliothek, 2011.

[13] Chen K, Bankston J, Panchal J H, et al. A framework for the integrated design of mechatronic systems[C]// Collaborative Design and Planning for Digital Manufacturing, 2009:37-70.

[14] Chen K.MCAD-ECAD integration:constraint modeling and propagation[D].Atlanta:Georgia Institute of Technology,2008.

[15] Ma J, Zhang S, Hu T, et al. Parallel speculative dom-based XML parser[C]// IEEE, International Conference on High PERFORMANCE Computing and Communication & 2012 IEEE, International Conference on Embedded Software and Systems. IEEE, 2012:33-40.

[16] Zhang Z Y, Chang S G, Ding T F. Research on the dynamic integrating with heterogeneous database system based XML and hibernate[J]. Applied Mechanics & Materials, 2013, 266:1717-1720.

[17] Shang J D, Zhang Y P, Hu D F. The contrast study on the method of STEP/XML data transformation[J]. Advanced Materials Research, 2012, 403-408:4103-4107.

[18] Barkmeyer E J, Lubell J. XML representation of EXPRESS models and data[J]. Manufacturing Systems Integration Division National Institute of Standards and Technology, 2004:1-3.

[19] Bergstrom P, Lafontaine R. ISO 10303-28 Product data representation and exchange:Implementation methods:XML representation of EXPRESS schemas and data[S]. Geneva, Switzerland:ISO, 2002.

[20] 左伟明. 数据标记语言参考手册[M]. 北京:人民邮电出版社, 2007:35-49, 51-60.

[21] 付秀娟. 基于STEP/XML的数据交换方法研究[D]. 哈尔滨:哈尔滨工程大学, 2009.

猜你喜欢

数据类型文档解析
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
如何理解数据结构中的抽象数据类型
睡梦解析仪
电竞初解析
Word文档 高效分合有高招
基于SeisBase模型的地震勘探成果数据管理系统设计
对称巧用解析妙解
线上众筹产品的特征分析与研究
相似度计算及其在数据挖掘中的应用