您的位置:网站首页 > CAD新闻

可互操作CAPP/CAM系统

时间:2011-02-26 10:04:15 来源:

  0.引言

  在过去的50多年里,数控加工技术有了长足的发展,控制器由早期的无存储能力的控制器发展成为基于PC机的开放式数控(Computer Numerical Control,CNC)系统,一直作为数控设备编程语言的G/M代码(ISO6983),现在成为下一代数控系统发展的瓶颈。

  一种新的国际标准与产品模型数据交换标准兼容的数据接口(STandard for the Exchange of Product model data-compliant Numerical Control data interface,STEP-NC),将被作为新一代数控系统的基础。这一标准为计算机辅助制造(Computer Aided Manufacturing,CAM)和CNC的生产厂商提供了将计算机辅助设计(Computer Aided Design,CAD)/CAM系统与新一代智能CNC系统集成起来的可能。

  计算机辅助工艺设计(Computer Aided Process Planning,CAPP)是连接CAD与CAM的桥梁,开发基于STEP-NC的CAPP系统将成为下一代数据系统及STEP-NC标准发展的关键。

  STEP-NC是一个面向对象的新型NC编程数据接口国际标准(ISO14649)。STEP-NC数据模型基于制造特征(如孔、型腔、倒角等)进行编程,即对STEP-NC控制器而言,它告诉的是CNC“要加工什么”,而不是“如何加工”的具体动作,因此不需要后置处理程序,具体的动作由CNC确定,程序具有良好的互操作性和可移植性。STEP-NC的详细数据结构已在其他文献中作了详细介绍。

  本文通过对STEP-NC及相关国际标准的研究,开发了基于STEP-NC的CAPP/CAM系统。本系统基于数据库进行开发,将几何、拓扑和工艺信息映射到数据库,工艺规划完成后,将工步、操作等信息存储到数据库中。本系统以数据库为桥梁,实现数据的可操作性,为实现数据信息在CAD/CAPP/CAM系统中的双向流动打下坚实的基础。

  1. 基于STEP-NC的CAPP的系统总体结构

  系统主要包括四个模块(如图1),分别为几何信息提取模块、特征信息提取模块、工艺规划模块和STEP—NC文件生成模块,还包括几何信息库、工艺资源库和工艺信息库三个数据库。

  

  图l.基于STEP-NC的CAPP的系统结构图

  (1)几何信息库.主要用于存放对STEP文件解析后的几何信息,这些几何信息是特征提取、工艺规划及STEP-NC文件生成的数据基础。建立几何信息库主要考虑三个方面因素:①STEP文件中实体的定义方式;②STEP文件描述零件的几何外形时各个实体间的引用关系和层次关系;③EXPRESS语言数据类型与数据库中数据类型的映射关系。

  (2)工艺资源库.主要为工艺规划提供工艺资源信息,包括机床、刀具、夹具及材料等。

  (3)工艺信息库.用于存储工艺规划过程中产生的加工特征、工步、操作等信息。

  (4)几何信息提取模块.主要用于对零件的STEP文件进行解析,提取STEP文件头段部分的信息、数据段中用于描述零件几何外形的实体信息和实体间的引用关系,并将这些信息存储到几何信息库中。

  (5)特征信息提取模块.用于提取加工特征的几何、位置、方向等信息,并将加工特征的相关信息写入到工艺信息库中。工艺规划时,设计人员可以在三维交互界面中选择加工特征的关键点和面,进而进行加工特征信息的提取。

  (6)工艺规划模块.通过人机交互实现,主要用于零件的工艺规划,并生成一系列的加工工步和操作。工艺设计人员首先确定加工特征,然后为该特征选择和添加刀具、切削速度、主轴转速和安全平面等工艺信息。

  (7)STEP-NC.程序生成模块在一个零件的工艺规划过程完成后,将工艺信息库的加工特征、工步、操作等信息按照ISO14649标准写入STEP-NC程序。

  2. STEP文件与数据库的映射

  本系统将STEP文件的信息映射到数据库中,由于数据库具有良好的互操作性,要将STEP文件的几何信息存放到几何信息库中,首先对STEP文件进行解析,读取其数据信息,将几何信息存储到数据库中。因此,系统首先要实现EXPRESS数据类型与C++数据类型的映射,再实现与SQL Server数据类型的映射。

  2.1 数据类型的映射

  2.1.1 简单数据类型的映射

  EXPRESS描述的简单数据类型到C++数据类型和SQL Server数据类型的映射关系如表1所示。

  表1.EXPRESS和C++、SQL Server数据类型映射

  

  2.1.2 聚合数据类型的映射

  聚合数据类型是具有相同数据类型值的集合。在应用程序中,系统将根据具体情况采用不同的方法实现数据类型的映射,主要包括:

  (1)聚合数据类型与数组映射。

  (2)根据聚合型数据元素的个数,定义相同个数的变量与其映射,这些变量的类型与聚合型数据元素数据类型相同,映射方法采用简单数据类型的映射方法。

  (3)聚合数据类型一般出现在实体的属性中,可以将实体与C++类进行映射,聚合型数据也就映射成类中的变量。

  几何信息库用于存放STEP文件的几何信息,所以其表结构可以反映文件中相关信息的关系和结构。在数据库中,通过建立二维表来实现与聚合数据类型的映射,以及数据表中的列与变量的元素映射。

  2.1.3 命名数据类型的映射

  命名数据类型是用户说明的数据类型,包含实体数据类型和定义数据类型。这里主要讨论实体数据类型的映射方法。

  (1)实体数据类型与C++中类的映射

  类是一种将不同类型的数据和与这些数据相关的操作封装在一起的复杂的数据类型,它使得应用中的实体在程序中可以表示为一个标识符,并可以对其进行引用和操作,使得程序中的概念和应用中的概念之间比较一致和对应。

  本系统通过建立与STEP文件中实体相对应的类,将实体对应类的内部数据结构与实体的几何信息建立一一对应的关系,实现了数据的封装和隐藏。

  EXPRESS语言的一个强大之处是面向对象的继承机制,在继承关系上引入了三个关系运算子,即ONE OF,AND,ANDOR,这三个继承算子可以任意组合,嵌套使用,它们与C++中的继承性和派生类映射关系如表2所示。

  表2.EXPRESS语言与c++中的继承机制映射表

  

  (2)实体数据类型与SQL Server实体数据表的映射

  实体数据类型包含的信息比较复杂,同时也会引用其他类型的实体。STEP文件中,通过为实体数据类型添加实体型属性,实现实体数据类型之间的引用与被引用关系。在SQL Server数据库中,将实体数据类型映射成二维数据表,通过为不同的实体数据类型建立对应的二维数据表,实现实体数据类型与数据表的映射;通过数据表之间主键、外键的联系来映射实体数据之间的引用与被引用关系。

  2.2 几何信息库的建立

  AP203文件描述零件几何信息的模型反映了各个实体间的引用关系和层次关系,文献给出了AP203文件数据模型。通过对模型中实体信息及其引用关系的分析,可以得到两方面信息:①几何信息库所包含的实体数据表,为STEP文件中每一种实体建立一个实体数据表与之对应;②上述数据表之间的引用关系,根据图中实体间的引用关系和层次关系,定义数据库中实体数据表的引用关系。

  数据库中数据表的具体建立方法如下:

  (1)实体的每一个显式属性映射为该实体表的一个字段,不同的数据类型属性按照前面所述的映射规则进行映射。

  (2)将该实体的ID号字段设为数据表的主键。

  (3)如果该实体引用其他类型的实体,添加其所引用实体的ID号字段,体现两个实体间引用与被引用关系。

  利用上述方法建立的几何信息库不仅体现了实体数据的属性信息,还体现了STEP文件中实体间的引用与被引用关系。

  2.3 词法分析

  词法分析是通过对STEP文件的解析,提取出文件中的实体、属性信息,使之与已经定义好的实体类相匹配的过程。STEP文件中每一行语句表示一个实体,构成了一个实体语句段。对于每一个语句段,词法分析的作用就是提取实体语句段中的实体名、实体的ID号、实体的各个属性值。词法分析的关键是解析实体语句段中的单词序列,实现与实体类的匹配。

  系统首先将一个零件的STEP文件读取到内存中,并定义一个字符指针变量指向该字符串。然后以识别界符“I”为标记,读取一行文件,即得到了一个实体语句段。词法分析对这样一个实体语句段的解析过程的实现流程如图2所示。

  

  图2.实体语句段的词法分析流程图

  现以笛卡尔点为例介绍实体语句段的词法分析过程,笛卡尔点的语句如下:

  #47=CARTESIAN_POIN(“,(-1.5E2,1.E2,-1.5E2));

  词法分析时,首先得到笛卡尔点ID号是47,将ID号赋值给实型数组AttriVarArray的第1个元素;然后得到实体名称是CARTESIAN_ POINT,将实体名称赋值给字符串变量EntityName;最后得到三个实型变量-1.5E2,1.E2和-1.5E2,表示笛卡尔点X,Y,Z轴的坐标信息,将它们赋值给实型数组AttriVarArray的第2~4个元素。整个STEP文件的解析过程就是若干个实体语句段的解析过程。在完成一个实体语句段的词法分析后,对字符申变量EntityName(即实体名称)进行判断,找到后续程序的人口,从而将该类实体映射成的实体类实例化,完成将STEP文件几何信息写入几何信息库中的操作。

  2.4 几何信息库的相关操作

  通过词法分析,从STEP文件中提取到了几何信息,通过EXPRESS数据类型、SQL Server数据类型、实体数据表的映射建立了几何信息库,现在要解决的问题是如何将几何信息存储到几何信息库中。

  从上文可知,对应于STEP文件中.的实体,系统建立与之对应的类。这些类不但封装了实体的几何信息,而且封装了实体对应函数的操作,这些操作由类中定义的函数实现,包括几何信息的读取、匹配、写入几何信息库、从几何信息库中读出等。以笛卡儿点(cartesian_point)为例,它所映射成的类名为CCartesian_point,该类主要包括SQL_insert(),GetData(),Getxyz(CString CCPoint_Id)三个函数。

  2.5 STEP文件与几何信息库的映射过程

  系统定义了相应的实体类,并与STEP文件中的实体类型进行映射,STEP文件与几何信息库的映射过程如图3所示。系统首先要解析零件的STEP文件,当完成一个实体语句段的词法分析后,会得到实体的ID号、实体的名称及属性集。然后,根据实体名称调用相应的实体类对已经解析出来的几何信息进行处理,将几何存入到几何信息中相应的数据表中。

  

  图3.STEP文件与几何信息库的映射过程

  3. 工艺规划与STEP-NC程序生成

  STEP-NC程序的生成过程包括加工特征信息的提取、工艺规划和程序文件的生成三个部分。

  3.1 特征信息提取

  特征信息提取是提取加工特征的类型、几何、位置等信息的过程。加工特征信息的提取实质是加工特征的几个关键面信息的提取,然后对关键面的信息进行分析进而得到加工特征的特征信息。以平底盲孔为例,平底盲孑L由一个底面和两个半圆柱面组成,得到了这三个面的信息后,对它们进行分析就可以得到盲孔的相关信息了。限于篇幅,具体的算法将在其他文献中介绍。本系统通过人机交互的方式进行工艺规划,工艺人员在三维模型交互界面中选择加工特征,得到该特征的关键几何信息后进行特征信息提取。

  3.2 工艺规划

  工艺规划是根据加工特征的类型及工艺要求设置工步、操作、工艺参数的过程。工艺规划包括工序的安排、机床选择、刀具选择、加工策略、切削参数的确定。当通过人机交互完成加工特征的选择、信息提取后,在工艺参数设置界面中设置详细的工艺信息。

  3.3 STEP-NC文件的生成

  STEP-NC文件的生成过程就是将特征信息提取、工艺规划过程中生成的零件基本信息、坐标系、材料、夹紧点、加工特征、工步、操作等信息按照IS014649标准写入STE—NC文件的过程,具体过程如图4所示。

  

  图4.STEP-NC程序生成沉程

  本系统中,程序行号包括七位,分为三组:第一位是第一组,分别取值1,2,3,其中1表示工程、工作计划、工件和加工工步等基本信息,2表示加工特征信息,3表示操作信息;中间三位是第二组,表示的含义根据第一组的取值变化而变化;后3位是第三组,从001开始递增,没有明确的含义。详细信息如表3所示。

  表3.STEP-NC程序行号规则表

    

  4.原型系统

  基于上述方法,作者开发基于STEP-NC的CAPP实验原型系统。利用VC++6.0开发环境,以AutoVue作为三维模型交互显示界面,数据库采用SQL Sever 2000。运行时的界面如图5所示,图中三维模型由Pro/E建立,并生成STEP文件。

  

  图5.基于STEP-NC的CAPP系统

  在该系统中,首先打开STEP文件,通过词法分析实现对STEP文件的解析,提取实体属性信息并存入几何信息库中。然后,用户在三维模型交互显示界面中选取加工特征,并为该加工特征设置工步、工艺参数,设置界面如图6所示。工艺规划完成后,写出的STEP-NC程序如图7所示。

  

  图6.加工工步中工艺参数的设置界面

  

  图7.STEP-NC程序实例

  5.结束语

  本文建立了基于STEP-NC的CAPP系统总体结构,分析了各模块的功能。文中重点研究了STEP文件映射成的几何信息库的建立过程,以及STEP文件与几何信息库的映射方法和过程。该系统的几何、工艺信息存放于数据库中,为将来实现数据信息双向流动打下了很好的基础。