首页> 中国专利> 一种用于SPD系统的异构CAD船体模型的快速转换方法

一种用于SPD系统的异构CAD船体模型的快速转换方法

摘要

本发明涉及一种用于SPD系统的异构CAD船体模型的快速转换方法,该方法包括以下步骤:S1、构建SPD系统模型数据本体,所述模型数据本体包括模型的几何信息、特征信息、尺寸与公差以及工程注释;S2、解析待转换的异构CAD船体模型,将解析的异构CAD船体模型数据填充至所述SPD系统模型数据本体中,完成本体实例构建;S3、获取目标CAD模型的写入接口,从该SPD系统模型数据本体中检索目标CAD模型所需的信息并输入到CAD模型数据的写入接口中,完成异构CAD船体模型转换。本发明通过构建本体来定义船体CAD模型的多尺度数据集,从而实现基于本体的产品信息检索,并最终完成异构CAD船体模型的转换,也即实现SPD系统中DXF模型和CATIA系统中3DXML模型的不失真转换。

著录项

  • 公开/公告号CN112434376A

    专利类型发明专利

  • 公开/公告日2021-03-02

    原文格式PDF

  • 申请/专利权人 沪东中华造船(集团)有限公司;

    申请/专利号CN202011382902.8

  • 申请日2020-12-01

  • 分类号G06F30/15(20200101);G06F30/20(20200101);G06T17/00(20060101);G06T19/20(20110101);

  • 代理机构31105 上海智力专利商标事务所(普通合伙);

  • 代理人周涛

  • 地址 200129 上海市浦东新区浦东大道2851号

  • 入库时间 2023-06-19 10:05:17

说明书

技术领域

本发明涉及船舶设计领域,具体涉及一种用于SPD系统的异构CAD船体模型的快速转换方法。

背景技术

船舶产品设计(Ship Product Design,SPD)系统是提高我国船舶设计、建造的创新能力的一种具有自主知识产权的设计软件系统。该系统基于OpenGL开发具有自主知识产权的三维CAD图形平台,具有船体结构设计、管系设计、风管设计、电气设计、铁舾件设计和涂装生产设计等功能。SPD系统中的实体和参数化建模技术为建立具有完整拓扑关系的船舶产品模型提供了有力手段。考虑到SPD系统广泛用于我国船舶制造行业的设计制造过程中,需要一种便捷的方式进行SPD系统与异构CAD系统间的信息交互。通过SPD系统与其他系统的数据接口实现异构CAD的数据和信息集成,能够为不同厂商的协同设计创造技术条件。

在船舶行业中,不同的组件或产品所使用的CAD建模软件可能不同,不同的企业也会因为需求或功能的不同采用不同的CAD建模系统。多源异构模型不利于船体模型数据的交换与重用,重新建模的工作量巨大,实现异构船体模型的转换有利于提高船舶产品的开发设计效率。

目前,异构CAD模型的转化方法主要包括直接转化法和基于中性文件的转化法。基于中性文件的转化方法得到了广泛的应用,具有代表性的中性文件标准有:基于图形交换规范(IGES)和产品模型数据交换标准(STEP),另外,常用的中性文件还有网络本体语言(OWL)。STEP语言在转换几何数据时表现良好,但在转换过程中,与设计意图相关的非几何数据,如修改历史、约束和特征等,可能存在丢失的情况。STEP方法在一致性检查、计算机可读性和计算机可理解性、CAD模型数据丢失、设计过程中产生的数据、语义的解释、表示和交换能力、基于逻辑的推理能力以及不同分类法的集成等方面都存在一定的局限性。

因此,需要在保留船体模型装配关系的情况下,实现SPD和异构CAD系统之间船体模型的不失真转换。

发明内容

为了实现上述技术目的,本发明提供了一种用于SPD系统的异构CAD船体模型的快速转换方法,通过本体来定义船体CAD模型的多尺度数据集,结构化、语义化地表达和存储船体模型数据,从而实现基于本体的产品信息检索,并最终完成异构CAD船体模型的转换。

本发明的技术目的是通过以下技术方案实现的:

一种用于SPD系统的异构CAD船体模型的快速转换方法,该方法包括以下步骤:

S1、构建SPD系统模型数据本体,所述模型数据本体包括模型的几何信息、特征信息、尺寸与公差以及工程注释;

S2、编写CAD模型数据的读取和写入接口,通过CAD模型数据的读取接口解析待转换的异构CAD船体模型,通过CAD模型数据的写入接口将解析的异构CAD船体模型数据填充至所述SPD系统模型数据本体中,完成本体实例构建;

S3、获取目标CAD模型的写入接口,从该SPD系统模型数据本体中检索目标CAD模型所需的信息并输入到目标CAD模型数据的写入接口中,完成异构CAD船体模型转换。

进一步地,该SPD系统模型数据本体的构建基于OWL的模型本体表示和基于本体构建工具Protege建立的CAD模型装配层次结构。

进一步地,装配层次结构包括自上而下的装配体层、零件层、特征层和几何要素层。

进一步地,SPD系统模型数据本体以船体模型为父类,装配体作为船体模型的子类,以装配体自身或者零件类作为装配体的子类,船体模型、装配体以及零件类分别有自己的name属性。

进一步地,零件类包括几何类和属性类两个子类,几何类包括类别和三角面片集两个子类;属性类的子类包括材料、质量、包络尺寸。

进一步地,解析包括SPD系统船体模型解析和CATIA系统船体模型解析;其中SPD系统船体模型解析包括DXF文件解析和XML文件解析,DXF文件中存储船体模型的几何数据,XML文件存储船体模型的装配层次结构。

进一步地,DXF文件解析时获取DXF表段中的图表层、块段和实体段,在DXF表段的图表层提取每一层的颜色、线型;在块段中提取块所在的层、属性及其在图形中的位置;在实体段中提取几何信息及各实体所在的层。

进一步地,装配层次结构存储在装配体和零件类中,遍历XML文档中的装配体和零件类获取船体模型的装配层次结构。

进一步地,CATIA系统船体模型解析包括:

S4、对CATIA系统中的3DXML文件进行解压缩,获取Manifest文件;

S5、对Manifest文件进行解析读取装配层次结构,对3DXML文件进行解析,读取面片信息、装配层次结构,对3dxml文件进行解析读取图形数据及其属性信息。

进一步地,本体实例构建包括:

S6、通过CAD模型数据的读取接口获取船体数据,包括船体的装配层次及装配层次对应的几何信息;

S7、将船体模型的名称填充至船体模型的name属性中;

S8、读取船体的装配层次,并将各个装配层次中装配体的名称和零件的名称分别填充在装配体和零件的name属性中;

S9、将各个零件的类别和三角面片分别填充到零件类的子类三角面片集和类别中,完成本体实例构建。

本发明的有益效果在于,通过构建本体来定义船体CAD模型的多尺度数据集,结构化、语义化地表达和存储船体模型数据,从而实现基于本体的产品信息检索,并最终完成异构CAD船体模型的转换,也即实现SPD系统中DXF模型和CATIA系统中3DXML模型的相互转换。

附图说明

图1是本发明中构建SPD系统模型数据本体所需CAD模型相关信息。

图2是本发明中CAD模型装配层次结构示意图。

图3是本发明中异构CAD系统船体模型转换框架图。

图4是本发明中SPD系统船体模型数据组织结构图。

图5是本发明中CATIA系统船体模型数据组织结构图。

图6是本发明中SPD系统模型数据本体组织结构图。

图7是本发明中SPD系统船体模型几何数据读取流程图。

图8是本发明中SPD系统船体模型几何数据写入流程图。

图9是本发明中SPD系统船体模型装配数据读取流程图。

图10是本发明中SPD系统船体模型装配数据写入流程图。

图11是本发明中CATIA系统船体模型数据读取流程图。

图12是本发明中CATIA系统船体模型数据写入流程图。

图13是本发明中本体实例构建流程图。

具体实施方式

下面结合具体实施方式对本发明的技术方案进行进一步描述:

为了实现SPD系统中DXF模型和CATIA系统中3DXML模型的相互转换不失真,本发明提供了一种用于SPD系统的异构CAD船体模型的快速转换方法,该方法基于SPD系统模型数据本体的构建,通过本体来定义CAD模型的多层次数据集,然后以SPD系统模型数据本体作为CAD模型的数据模式,从而实现基于本体的数据表达、存储和检索,最终完成异构CAD模型的转换,如图3所示。

一种用于SPD系统的异构CAD船体模型的快速转换方法,该方法包括以下步骤:

1、需要构建SPD系统模型数据本体(简称本体),本体是对特定领域中的概念及概念间相互关系的形式化表达,网络本体语言(Ontology Web Language,OWL)是一种定义和实例化本体的语言,用于对本体进行语义描述。在基于OWL语言表示本体的方法中,需要构造SPD系统模型数据本体,根据特定的CAD模型文件标准,提取出相应的信息,获取CAD数据集的相关内容,主要包括产品模型的几何信息、特征信息、工程注释、尺寸与公差,如图1所示。本体中不仅包括产品模型的几何信息,还包括带有设计意图的特征、约束等非几何信息,通过尺寸与公差里的三维标注可以表达基准、公差和加工要求等信息。

利用本体构件工具Protege建立CAD模型装配层次结构,Protege是一个图形界面的本体开发工具,它支持丰富的知识模型,用户使用Protege不需要掌握具体的本体表示语言,只需在概念层次上进行领域本体模型的构建,并且该软件还能导出OWL等文本表示格式,通过该工具可完成本体的构建。

定义CAD模型实体,如图2所示,添加装配体层、零件层、特征层、几何要素层等层次,装配体层的子类为所属的各个子装配体层和零件层,每个零件层又包含了所属特征层作为其子类,特征层的子类为其几何要素层。几何要素层包含了最底层的几何元素,比如点、直线、圆弧等,并记录了点的坐标、直线的长度、圆弧的角度及半径等。特征层包含了修饰特征和基于草图的特征,常见的基于草图的特征如拉伸、旋转,常见的特征如通孔、盲孔、凸台、凹槽等;常见的修饰特征如倒角、圆角、拔模等。

SPD系统中船体模型由DXF数据表示,CATIA中船体模型由3DXML数据表示;DXF文件由标题段(HEADER)、表段(TABLES)、块段(BLOCKS)、实体段(ENTITIES)、类段(CLASSES)和对象段(OBJECTS)6部分组成,其中,块段记录了所用块的块名、当前图层层名、块的种类、块的插入基点以及组成该块的所有成员,三角面片数据就存储在块段中;3DXML文件遵循XML语法,含有多个文档,并通过ZIP算法进行压缩,装配信息在扩展名为3dxml的文件中,图形数据及属性信息在扩展名为3drep的文件中。在SPD系统中,船体模型的几何数据存储在DXF文件中,装配层次结构存储在XML文件中。DXF是通过段名来区分船体模型的不同组成部分,并将几何信息存储在块段中。船体模型由多个分段组成,各个分段由多个平面板架、曲面板架和加强筋等组成;作为船体结构单元的板架,由许多板材零件和型材零件组成。XML文档中记录了船体模型的装配层次结构和质量、材料等非几何信息,如图4所示。

在CATIA系统中,船体模型的存储格式是3DXML数据文件格式,CATIA系统中的船体模型的数据以一种树状层次结构来表达和存储,零件是船体模型中最底层的对象,由板架、型材等实体组成,实体中包含了几何信息和非几何信息;部件是由多个零件组装而成的对象,记录了零件间的连接关系;产品由多个部件和零件组成,一个产品也可以有多个子产品,如图5所示。

构建SPD系统模型数据本体时,在船体模型中,除了坐标、尺寸、几何元素等几何信息外,还包括特征、约束、装配关系等非几何信息,这些信息在本体构建时都要被完整表达。

本处需构件的模型数据本体以船体模型(Hull-Model)为父类,船体模型的子类为装配体(Assembly),装配体的子类可以是装配体本身,也可以是零件类(Part),船体模型、装配体以及零件类分别有各自的name属性,name属性对应的是装配体或者零件的名称。零件类包括几何类(Geometric)和属性类(Attributes)两个子类,几何类包括类别(Classification)和三角面片集(Primitives)两个子类,其中,常见的类别有平面板、曲面板、扶强材、肘板、补板、支柱、型材、角钢等;三角面片集用于存储构成几何形体的所有三角面片;属性用于存储零件的材料、质量、包络尺寸等信息,如图6所示。

2、通过本体模型生成相应的模型文件,首先需要对特定的CAD系统的模型进行解析,分为SPD系统船体模型解析和CATIA系统船体模型解析:

SPD系统船体模型解析分为DXF文件解析和XML文件解析,其中,一个DXF文件由若干个组构成,每个组占两行,第一行为组码,第二行为组值。组码指示数据类型的代码,组值为具体的数值,两者结合起来表示一个数据的含义和值,常用的组码如:0指示实体类型的文本字符串,2指示名称(如属性标签、块名称等),8指示图层名,10、20、30分别指示点的X坐标值、Y坐标值和Z坐标值。

而在异构模型转换过程中,为了提升转化效率,并不需要提取DXF的所有信息,只需要获取块段、实体段和表段中的图表层,就能得到模型的几何数据。在图表层中提取每一层的颜色、线型,在块段中提取块所在的层、属性及其在图形中的位置,在实体段中提取直线的起点、终点及圆的圆心、半径等几何信息和各实体所在的层。

本发明中的船体模型只需得到船体各个分段的名称和构成分段的三角面片,因此通过Block字符串获得块段中的所有内容后,筛选出其中的3DFACE,就得到了所有三角面片,面片的法向量可以通过三角面片的顶点求出。

根据异构CAD模型的文件规范,编写CAD模型数据的读取接口,通过CAD模型数据的读取接口读取SPD系统船体模型的DXF文件,进而读取组码和关联值,进行组数据分析,进行段名识别,若为HEADER段则读取模型名称和包络尺寸,若为ENTITIES段则读取图形对象,若为BLOCKS段,则读取三角面片、顶点等图元信息,最后将解析的SPD船体模型几何数据进行提取,如图7所示,其中,DXF文件本质上由代码以及关联值组成,其中的代码,通常称为组码,表明其后的值得类型,关联值则位于相应组码后,是与组码相应的数据值;

获取解析的SPD船体模型几何数据后,将数据传入DXF文件生成接口,将数据先后对应写入HEADER段、BLOCKS段、ENTITIES段,导出DXF文件,如图8所示。

SPD系统输出的船体模型属性XML文件包含了船体模型的装配层次结构和质量、材料、注释等非几何信息,本发明中只做装配层次结构的提取,SPD的属性XML文档是一种树结构,船体模型的装配层次结构存储在装配体(Assemblys)和零件层(Parts)两个元素下。Assemblys的子元素名为HullAssembly,该元素的ID为船体模型子装配体的名称;Parts的子元素名为HullPart,该元素的ID为船体模型中零件的名称。HullAssembly和HullPart两个元素都有一个名为ParentID的子元素,用于记录子装配体或零件的父装配体。通过遍历SPD的船体属性XML文档中的Assemblys和Parts,就能够获得船体模型的装配层次结构,如图9所示。

在CATIA系统中,船体模型的装配层次结构存储在Manifest文件中,该文件也遵循XML语法。Manifest文件中的ProductStructure元素记录了船体模型的装配层次,该元素通过Reference3D和Instance3D两个子元素来表达船体的结构,这两个子元素各自拥有id和name属性,id用于标记,name用于记录子装配体或零件的名称。

Reference3D表示一个可以被重复引用的物体,Instance3D表示Reference3D对应的一个实例化物体。在Instance3D的子元素中,IsAggregatedBy元素表示该实例是哪个引用的组成部分,IsInstanceOf元素表示该实例是哪个引用的一个实例。遍历ProductStructure的所有子元素,并将其添加到装配树中,即可获得船体的装配层次。

SPD系统装配层次结构写入时,如图10所示,打开XML文件的写入接口,获取船体模型装配结构,创建块段元素并将其写入装配体的ID中,创建Assemblys元素和Parts元素,依次读取装配结构树,如果读取到装配体,则创建Assemblys的子元素HullAssembly,如果没有读取到装配体,则创建Parts元素的子元素HullPart;

创建Assemblys的子元素HullAssembly后,判断该装配体是否为顶层装配体,如果是则导出XML文件;如果不是则为该装配体添加ParentID属性,再判断是否遍历完装配结构树,如果是则导出XML文件,如果不是继续依次读取装配结构树;

创建Parts元素的子元素HullPart后,为该装配体添加ParentID属性,再判断是否遍历完装配结构树,如果是则导出XML文件,如果不是继续依次读取装配结构树。

CATIA系统船体模型的解析分为文件解压缩、装配信息解析和图形数据解析三个步骤:

首先通过Zlib库对3DXML文件进行解压缩,然后解压缩得到Manifest文件,该文件的装配层次结构存储在这个文件中,读取装配层次结构;对3drep文件进行解析,图形数据及属性信息在扩展名为3drep的文件中,读取图形数据及属性信息,对3DXML文件进行解析,该文件包含了面片信息,读取面片信息,如图11所示。

CATIA系统船体模型数据写入时,将船体模型数据的装配层次信息、图形数据及属性信息、面片信息分别写入Manifest文件、写入3drep文件、写入3dxml文件,然后对Manifest文件、3drep文件、3dxml文件进行压缩后导出3DXML文件,如图12所示,CATIA有开源的模型读写接口,本发明中不再详细叙述。

本体实例创建时,通过相应的CAD系统获取船体数据,即船体的装配层次及其几何信息后,就可以创建本体实例,如图13所示:

通过CAD系统模型读取接口获取船体数据,将船体模型的名称填充至船体模型(Hull-Model)的属性name中,然后读取船体的装配层次,为船体的各个一级子装配体创建对应的Assembly类和Part类,并将各个装配体或零件的名称填充至name属性中,遍历一级装配体,遍历该装配体下的所有子元素,判断该子元素是否为零件,如果是则创建Part类并填充name属性,将零件类型和三角面片分别填充在part类的子类Classification和Primitives中,直至装配体的子元素和一级装配体均遍历完毕,即可完成本体的实例化,如图13所示。

3、通过前面SPD系统和CATIA系统的模型读区和写入接口,解析船体模型数据然后将其存入本体中,完成本体的实例化以后,就可以利用该本体转换成任意的CAD模型,在获取目标CAD模型的写入接口后,对实例化的本体中的相应信息进行检索,输入到CAD模型数据的写入接口中,完成异构CAD船体模型的转换。

本实施例只是对本发明的进一步解释,并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性的修改,但是只要在本发明的权利要求范围内都受到专利法的保护。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号