APP下载

基于形状公差本体知识库的三维模型造型系统①

2015-04-01吴士伟钟艳如刘文武曾聪文

桂林电子科技大学学报 2015年1期
关键词:数据结构公差知识库

吴士伟,钟艳如,刘文武,曾聪文

(桂林电子科技大学 计算机科学与工程学院,广西 桂林 541004)

随着市场竞争的日趋加剧以及计算机技术在制造业中逐渐广泛应用,使得制造技术向数字化、并行化、集成化和网络化的方向发展,机械产品在功能要求、设计规范及认证方法等方面出现了不统一的问题。同时,现有的CAD系统独立地发展起来,不同CAD系统之间在信息共享和数据格式等方面存在很大的不一致性,从而在不同的平台或不同CAD系统生成的数据难以共享和重用。而以新一代GPS(new-generation geometrical product specification and verification,简称N-GPS)标准体系为基础的本体知识库覆盖了从宏观到微观的产品几何特征,涉及到产品开发、设计、制造等产品生命周期的全过程,为CAD系统之间数据的交换和共享提供了一个良好的基础平台。

近几年,国内外学者在机械工程领域对本体应用在CAD系统之间的信息共享方面进行了探索性的研究,如Sudarsan等[1]设计了一种基于本体的产品信息模型框架,支持CAD系统之间无缝的信息集成和语义互操作,为产品生命周期的管理提供了具有一致性的信息交换协议。Cho等[2]以零件库为基础构建了信息集成的元本体,实现异构零件库系统之间的无缝集成。Zhao Wei等[3]建立了产品信息建模语言EXPRESS与OWL/SWRL的映射,实现产品信息模型之间的语义互操作。虽然本体在CAD系统之间的信息共享方面取得了很大成果,然而,以N-GPS本体知识库为基础开发的CAD系统,能从更大程度上解决信息传递、共享和互操作等问题。为此,提出基于N-GPS本体知识库的CAD系统,分析该系统的理论基础,并通过实例验证该方法的可行性。

1 N-GPS本体知识库的分析

知识库是一个面向组织的、集成的且随时间变化的数据存储空间。本体知识库是指利用形式化的本体描述语言对特定领域内的知识及其知识之间的关系进行描述,以达到机器理解的目的,同时,机器通过使用推理技术将推理的结果以图形或文字的方式反馈给用户,最终达到某领域知识得到重用和共享的目的[4]。本体知识库是领域知识的集合,用户可通过不同方式对领域知识进行添加和获取,这种方式类似于人类学习的过程,能够达到知识智能学习和查询的目的。

N-GPS本体知识库是指一个以N-GPS标准体系为基础,通过形式化的本体描述语言进行描述,实现真正意义上信息共享、应用集成及知识重用的数据存储空间[5]。它为设计工程师、制造工程师和计量检验工程师提供了一个在设计、加工、检测的产品生产过程中信息一致的交流平台,以帮助他们能更快地对N-GPS标准体系的具体规范要求了解和掌握,使得产品设计、生产、检验更加规范化。

N-GPS本体知识库与CAD系统的集成,使得产品设计人员在设计之初考虑到产品的生产和检测要求,从而使产品设计、生产、检验更加规范化,同时,也可作为衡量产品合格的统一判定依据,保证测量评估结果的一致性,从而达到了产品信息的共享、有效传递以及知识重用的目的。

因此,采用文献[4]所构建的形状公差本体知识库和文献[5]所使用的公差类型自动生成方法,以此作为三维模型造型的基础来开发三维模型造型系统。

2 N-GPS本体知识库与CAD的集成

为了实现N-GPS本体知识库与CAD系统的集成,考虑以下3种方案。

1)由于CAD软件一般都具有二次开发的接口和开放的体系结构,以N-GPS本体知识库系统为底层库,基于CAD软件开发包,实现对CAD软件进行二次开发。以AutoCAD 2010为例,方案如图1所示。

图1 以AutoCAD 2010为例的方案1Fig.1 Plan one in the case of AutoCAD 2010

该方案技术含量相对较低,开发周期短,但工作量相对较大,且开发过程中产生大量的冗余接口,使得代码执行效率低,例如AutoCAD系列的二次开发包中,未提供几何要素拓扑结构的接口,这就要求NGPS本体知识库在与CAD系统交互时,需要扩展、更新或生成新的几何类或数据结构来描述,使得原有的接口冗余,从而降低了软件的执行效率[6]。

2)以N-GPS本体知识库为底层库,直接在现有的三维造型核心平台的基础上开发CAD系统,方案如图2所示。

图2 方案2Fig.2 Plan two

该方案虽然在CAD系统之间的数据交换过程中不会涉及图元信息丢失或者信息传递不对称等问题,但是不能真正表达数据的语义信息,不能将本体语义互操作的优势体现出来,且由于本体操作模块是Java开发的,采用OWL API作为本体操作接口,然而,ACIS等三维造型平台是C++开发的,由于缺乏Java与C++之间数据交换的接口,当本体知识库与ACIS三维造型平台进行数据通信时,会产生信息的不对称性问题,从而导致图元信息的丢失[7]。

3)以N-GPS本体知识库为底层库,通过使用Socket通信技术,实现异构程序之间的数据传递功能,开发具有自主知识产权的CAD系统,方案如图3所示。

图3 方案3Fig.3 Plan three

从上述3种方案可知,第3种方案通过Socket套接字可方便地进行与文件传输类似的数据传输,一定程度上能使异构程序之间的数据传输问题得到解决,且流式Socket通信服务具有许多优点,如面向连接、可靠性高、有序、无差错、无重复、可移植性好等,因此,本研究在开发基于N-GPS本体知识库的CAD系统时,采用的是第3种方案,通过CAD系统和底层本体知识库系统进行传输语义数据信息,实现对产品生命周期的有效控制和管理,如公差的语义信息等。

3 三维模型造型系统的数据结构

考虑到N-GPS能把产品的设计、制造、检验3个过程有机地结合起来,因此,基于N-GPS本体知识库的三维模型造型系统需涉及对产品设计信息、制造信息和检验信息的管理以及与底层本体知识库的传输等问题。

三维模型造型系统是基于7个恒定类作为基类的特征类,它既可描述零件的装配精度信息和加工精度信息,同时,也可表达集成的产品模型,并建立具有层次性的数据结构。因此,以特征为基础进行三维模型造型过程中,需要以N-GPS标准体系为基础对特征类中的数据信息进行构造,同时,根据产品全生命周期各个阶段的需求不同,设计规范特征类,且该特征类应包括设计要求、功能要求、几何公差、表面状态以及约束条件等信息,从而实现N-GPS的语义信息与三维模型造型系统的特征模型信息进行语义的互操作。

同时,在产品的信息模型中,以特征类作为研究对象,特征能将底层的几何元素(点、线、面)与零部件联系起来。特征不仅具有结合自身几何元素的功能,例如特征是一种表达特定功能或含义的几何结构,能将某些应用的非几何属性与特征自身的组成要素相结合,如表面粗糙度、材料等。因此,根据N-GPS标准体系,建立特征类中几何要素的数据结构,如图4所示[8]。

图4 特征类中几何要素的数据结构Fig.4 Data structure of geometric elements

以公差的数据结构设计为例。在三维模型造型系统的设计规范模块中,以N-GPS规范标准为基础,建立公差的数据结构,既包括三维模型的几何属性,也包括三维模型的非几何属性,规范三维模型造型系统设计软件中的公差设计,从而保证产品设计和检测过程的统一。以形位公差为例,数据结构如图5所示[9-10]。

图5 形位公差的数据结构Fig.5 Data structure of form and position tolerance

在三维模型造型系统中,利用特征中几何要素和公差等数据结构的描述及其与底层本体知识库的数据交换,可获取具有语义的拓扑信息和公差信息,与传统的几何学方法相比较,在描述和获取产品信息方面显得更加全面和智能化。因此,在三维模型造型系统中,以特征作为基本元素构造产品模型,使得特征间关系和产品公差信息能清晰地、规范地表达,从而既能建立一个符合N-GPS标准体系的产品信息模型,也能满足产品设计、加工、检验等方面的要求。

4 应用实例

以文献[11]构建的形状公差知识库为基础,开发基于该本体知识库的三维模型造型系统,验证上述方法的可行性。由于它们是2种不同的编程语言实现的,即Java和C++编程语言,且2种编程语言之间实现数据交换的方法很多,但考虑到目前设计、制造、认证过程越来越趋向于网络化的交互、公差信息共享和传递的完整性、可靠性,因此,必须采用一种稳定可靠的通信方式,实现2个异构模块的数据传递。本研究采用Socket通信技术实现2个异构程序之间的数据通信[11]。

4.1 三维模型造型系统的Socket实现

三维模型造型系统使用VC++开发实现,使用微软的Windows Socket。具体的程序流程如下:

1)创建套接字。利用socket()函数创建套接字,该函数共有3个参数,分别设置为AF_INET、SOCK_STREAM、0来支持Internet域通信。

2)向N-GPS本体知识库系统发送请求。通过connect()函数与底层的形状公差本体知识库系统建立连接,在这个连接过程中需要一个地址结构体变量被定义,该结构体包含了所需的网络地址参数,如本体知识库端的IP地址和端口号等。然后初始化网络地址参数,以达到计算机在网络上进行数据交换的目的。

3)与底层的形状公差本体知识库进行通信。根据步骤2)建立连接之后,可实现与底层形状公差本体知识库的通信,在该步骤中需要定义一个字符数组,调用recv()函数接收数据。同时,三维模型造型系统通过调用send()函数,实现向形状公差本体知识库端发送数据的目的。

4)关闭套接字。当三维模型造型系统与形状公差本体知识库的通信完成后,需要关闭套接字。

4.2 形状公差本体知识库的Socket实现

形状公差本体知识库采用Java开发实现,需要使用Java SDK中提供的Socket接口。形状公差本体知识库端的通信过程为:首先,形状公差本体知识库端对网络上的某个端口开始不断地监听,并判断是否有连接请求,当收到三维模型造型系统向形状公差本体知识库端发送的连接请求时,形状公差本体知识库端开始向三维模型造型系统发送接受消息,建立两者之间的连接。最后本体知识库端通过send()、write()等方法,实现与三维模型造型系统的通信,同时,提供本体的查询、添加和推理等服务。

通过上述方法开发了一个基于形状公差本体知识库的三维模型造型系统。以支架类零件的造型为例,将与形状公差本体知识库进行数据交换的公差信息生成一个txt文件,从而验证该方法的可行性。支架类零件的造型和公差信息如图6、7所示。

图6 支架类零件的造型Fig.6 Model of rack class parts

图7 公差信息Fig.7 Tolerance information

5 结束语

针对形状公差本体知识库的三维造型问题,现成的CAD系统与本体知识库系统进行了集成,在一定程度上解决了信息的传递和共享,但还有许多问题值得研究,例如特征的语义问题、系统集成的接口问题等。此外,要充分发挥计算机应用系统的作用,使其成为有效的辅助工具,还需要有相应的管理体系和业务流程,因此,在应用系统集成过程中,还必须解决企业的管理问题,使得企业的设计过程得到重组。

[1]Sudarsan R,Fenves S J,Sriram R D,et al.A product information modeling framework for product lifecycle management[J].Computer-Aided Design,2005,37(13):1399-1411.

[2]Cho J,Han S,Kim H.Meta-ontology for automated information integration of parts libraries[J].Computer-Aided Design,2006,38(7):713-725.

[3]Zhao Wei,Liu Jike.OWL/SWRL representation methodology for express driven product information model,part I:implementation methodology[J].Computers in Industry,2008,59(6):580-589.

[4]杜雨露.形状公差的语义表示与标注研究[D].桂林:桂林电子科技大学,2012:18-50.

[5]钟艳如,高文祥,黄美发.基于本体的装配公差类型的自动生成[J].中国机械工程,2014,25(5):684-691.

[6]Chaparla R T,Hartman N W,John S.Examining CAD interoperability through the use of ontologies[J].Computer-Aided Design &Application,2013,10(1):83-96.

[7]杨艳华.基于ACIS平台的新一代GPS应用系统研究[D].长沙:湖南大学,2007:65-70.

[8]吴文峰.新一代GPS用于CAD特征建模的理论及应用研究[D].长沙:湖南大学,2005:45-60.

[9]徐旭松.基于新一代GPS的功能公差设计理论与方法研究[D].杭州:浙江大学,2008:50-60.

[10]童秉枢,吴志军,李学志,等.机械CAD技术基础[M].北京:清华大学出版社,2008:63-87.

[11]王清辉,李静蓉.CAD应用程序开发详解:Visual C++与OpenGL综合应用[M].北京:电子工业出版社,2012:399-421.

猜你喜欢

数据结构公差知识库
数据结构线上线下混合教学模式探讨
一种应用等效平面的公差分析方法
基于TRIZ与知识库的创新模型构建及在注塑机设计中的应用
带有中心值的百分数的公差表示方式
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
高速公路信息系统维护知识库的建立和应用
高职高专数据结构教学改革探讨
带有中心值的百分数的公差表示方式
基于Drupal发布学者知识库关联数据的研究
CDIO模式在民办院校数据结构课程实践教学中的应用