e-works数字化企业网  »  文章频道  »  产品创新数字化(PLM)  »  CAD

AP 218中性文件与CATIA系统交互方法

2018/1/25    来源:互联网    作者:姚竞争  孙英展  杨帆      
关键字:船体模型  CATIA 二次开发  AP 218中性文件  数据转换  
以船舶STEP标准应用协议AP 218作为中间文件。利用CATIA二次开发技术,将STEP文件中的船舶结构信息和构件属性信息等存入CATIA系统中的SDD模块中,完成在CATIA系统中对基于AP 218协议的船体结构模型STEP文件的识别和重构,实现船体结构模型信息在CAX系统间的传递。

0 引 言

    近年来,计算机辅助设计在船舶行业中迅速发展,基于CAX系统的船舶模型设计已经成为船舶生产中不可分割的一部分。其中,CATIA软件因其功能齐全、真三维造型和数据库开放等优点,在船舶行业中被广泛应用。目前,多家船厂和设计机构在船舶设计和建模过程中选用CATIA V5软件。其中,国内的中集来福士船厂和广州文冲船厂利用CATIA 软件基本实现了数字化造船,并重点对CATIA软件进行开发,拓展其功能属性,极大地提升了船舶建造的生产力。

    由于CAX软件众多,系统间的模型定义和造型方法千差万别,造成系统间的信息交互无法实现,给船舶生产造成了一定的障碍。因此,现代集成制造系统(Comtemporary Integrated Manufacturing System,CIMS)获得了越来越广泛的应用。产品模型数据交换标准(Standard for the Exchange of Product Model Data,STEP)为实现CIMS和数据在不同系统之间的无差传递构成了一种标准性的转换模式。通过为不同的CAX软件开发STEP文件的输出和接收接口,可以实现不同CAX软件的有机结合,实现计算机制造系统的集成。

1 STEP文件及CATIA 系统分析

1.1 STEP概述

    STEP是国际标准化组织lSO下属工业自动化系统技术委员会(TC 184技术委员会)产品模型数据外部表示分委会SC 4制定的统一的CAD数据交换标准,旨在建立一个支持产品全生命周期的信息组织、表达、管理和交换的标准。

    NELLL将STEP各部分按照功能和作用进行划分,如图1所示。

    1

    图l STEP标准体系结构图

1.2 STEP船舶应用协议AP 218

    船舶结构应用协议IS0 10303-218定义了与船舶结构系统相关的初步设计、详细设计、制造和检验的产品数据。该协议为船舶结构的产品数据在船东、船级社、设计单位和建造单位之间的传递交流提供统一的数据描述与表达规范。目前,船舶结构应用协议AP 218已应用于民用船舶和军用船舶的全生命活动周期、船舶初步设计、总体设计、建造、维护和检测等有关造船过程中。

    应用协议的数据规划模型表达了功能单元与船舶结构设计、建造及检验各阶段的产品数据之间的关系,相当于提供了一个没有过多细节的应用参考模型的概况。船舶结构应用协议AP 218的数据规划模型如图2所示,由图中可以看出应用协议AP 218的基本数据组织之间的组织关系。

1.3 CATIA 系统及开发方法

    CATIA V5是由法国Dassault Systemes公司开发的一款CAD/CAECAM 一体化软件系统。CATIA产品组织结构的最底层对象是零件(Part),它由多个实体构成,实体中包含了几何信息和结构属性信息。零件的上一层对象为部件(Component),它是由零件通过约束限制构成的对象,部件体现了组成部件的各零件之间的相互关系。产品(Product)是一种更高一级的数据结构,它是由零件(Part)和部件(Component)共同构成的高级模型对象。

    应用CATIA系统创建的船体结构三维模型包含了全部的几何信息和结构属性信息。CATIA船体结构模型定义了构件的属性信息并储存在结构模型和对应船舶建模SDD模块中。在CATIA 系统中,产品数据都是以对象和模型文件的形式一起封装的。CATIA 系统采用特征造型建模技术,零件特征将用于描述模型特征的几何关系、拓扑关系和工艺等信息统一表达,并集成了零件规格属性和材料属性。其模型零件特征信息如图3所示。

    2

    CATIA V5为产品开发人员提供了5种二次开发方法,分别为标准格式的输入输出、Automation API技术、智能构件、交互式用户定义特征和CAA RADE技术。本文采取Automation API方法作为系统数据交换接口的开发工具。Automation API方法是在CATIA现有功能的基础上,应用宏对操作过程进行记录并生成代码,采用VB或VB Script开发工具,在CATIA 自带Automation API的基础上对所需求的应用程序进行开发。

    模型信息数据以封装对象的形式存在CATIA Automation中,可以通过根对象完成对其他对象的访问。根据Automation对象组织结构,绘制CATIA编程流程图如图4所示。

    3

    图4 CATIA编程流程图

2 STEP中性文件数据提取模块设计

    在STEP中性文件中,数据段中包含了实体模型全部的几何信息和拓扑信息,数据段中的每一行数据描述了实体对象的不同信息。根据数据段实体描述语句的基本格式,结合其语句结构特点,采用字符串分割的方法对中性文件数据段中的几何信息和拓扑信息进行提取。通过关键字和实体名称的不同,将提取出来的几何和拓扑信息分别存人相应的动态数组中。中性文件信息提取方案设计流程如图5所示。

    4

    图5 中性文件信息提取方案流程

    STEP中性文件的提取可分为2个阶段:第1阶段为应用字符串分割法对中性文件数据段数据信息进行分割处理,并将处理过的信息存储到自定义结构体Model中;第2阶段主要是将提取出来的信息进行分类储存,为下一步的实体实例化做准备。按照实体关键字的不同,将存储在结构体Model中的实体信息分别按照各自的实体类型转存到动态数组AP 218 List[ATTNUMBER]中。

    第1阶段的具体实现过程为:通过调用OnFileOpen()函数以ASCII码形式读入文件,并将数据以字符串形式读入内存中。判断中性文件是否遵循ISO 10303国际标准中的编码规则:若中性文件不符合IS0 10303,则程序终止;若中性文件符合要求,则使用自定义C++类CStep AP 218类对读取的中性文件进行定义,并调用CStep AP 218类定义的文件分割函数DecodeFile(),将指针移到DATA数据段处,获取数据段中语句总行数,以便于设置循环次数。程序从数据段中第1行数据表达语句开始逐行对数据信息进行处理。由于本系统生成的STEP中性文件数据段语句的结构形式为#实体编号=实体关键字(实体类型+实体名,属性值1,属性值2,...),因此文件分割函数DecodeFile()将“=”“(”“-”“,”和“)”作为对字符串实施分割处理的分割符。将“=”之前的实体编码部分存储到自定义结构体Model的实体编码变量m _ ID中,将介于“=”和“(”之间的实体关键宇部分存储于结构体Model的实体关键字变量m_Keyword中,在“(”与“-”之间的实体类型部分存储于实体类型变量m_typeName中,将“-”与第1个“,”之间的实体名部分存储于结构体Model的实体名变量m_ Name中,最后再将剩下的部分以“,”与“,”和“,”与“)”为分割点存入结构体Model的实体属性变量*m_Attr中。用以上方法就可以将一行数据信息的各个部分按照类别存入结构体Model中。

责任编辑:张纯子
本文来源于互联网,e-works本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并以尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
相关资料
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐