工艺准备环境(Process Planning Enviroment,PPE)中的工艺规划与数控编程子模块是基于CAD/CAM软件CATIA开发的,它是以飞机结构件数控加工工艺准备过程为背景,充分利用现有资源(涵盖产品工艺路线设计、零件加工工艺数据优化),建立的基于知识的飞机结构件的快速工艺准备集成系统。CATIA参数化特征造型的思想运用于加工模块,使刀具、夹具等工装可以创建参数化模型。该方法使创建模型后,可以仅仅通过定义主参数来控制结构和特征,通过传递不同系列的主参数就能自动生成一系列的零件。用此方法辅助加工,能在仿真时利用这些参数化模型,提高建库效率。CATIA刀具库也是基于此思想创建的,但由于刀具参数与切削仿真、刀位计算直接相关,它不能像普通零件一样能够看到模型并且随意修改尺寸参数,从而修改创建刀具。这样使得程序员使用CATIA进行数控编程时,无法从PPE中选择库房中现存的刀具,加之无法保证手工输入刀具参数的正确性,从而使整个PPE运行的流畅性得不到保证。
怎样使用一种简单有效的方法来维护刀具数据,笔者翻阅了多种资料,了解到虽然CATIA本身并没有提供刀具库的创建和修改界面,只提供一个读取包含刀具库信息的CATALOG文件接口,但可以通过程序读取符合格式的CSV文件,生成包含刀具信息的CATALOG文件,从而创建或修改刀具库。本课题根据以上思想,通过程序读取PPE中刀具库信息,并将其转换成符合格式需求的CSV文件,再把CSV文件转换成CATALOG文件,实现PPE与CATIA刀具库的集成,并完成自定义成型刀具库的创建和修改。在PPE中通过不断执行此过程刷新刀具库的数据,实现PPE刀具库与CATIA刀具数据的一致性,不仅提高了编程的效率,而且确保了数控程序的适用性,促进CATIA在数控加工领域中的推广应用。
CATIA刀具库分析
在CATIA系统中编制工艺程序时,在每个加工操作的刀具标签下点击,可从刀具库中选择当前刀具,刀具库应用界面如图1所示。根据加工对象和刀具形状,CATIA刀具库提供了铣削刀具库、车削刀具库、组合刀具库、刀片库等多种刀具库。其中铣削刀具库分为16小类,每一小类的切削参数和形状参数都不全相同。刀具库统一采用CATALOG格式文件保存,文件包含刀具类别、尺寸参数、名称等信息。CATALOG文件中,以Keyword values的形式保存刀具尺寸和属性信息。尺寸信息完全约束了刀具的几何特征;属性信息是如刀具最大切削速度、刀具材料、旋转方式、适合加工类型等信息,它决定了刀具的性能。对于尺寸信息,若在CATALOG文件中修改对应的参数值,其三维刀具模型也会相应的变化,通过此方式可以修改刀具的几何信息。由于刀具固有的特性,它的尺寸等参数与仿真和刀位轨迹计算直接相连。因此它只能通过对下图CATALOG文件中的关键参数做直接修改,若要添加新的刀具或创建刀具库则需通过程序命令对一个CSV文件进行处理而得到。
PPE刀具库与CATIA的集成
根据上述分析可知,通过对CATALOG文件进行操作即可修改刀具库而要自定义刀具或者创建刀具库,则需通过创建符合刀具库格式的Mircosoft Excel的*.xsl文件,另存为*.csv文件,再执行程序命令。*.csv文件是Comma Separated Value(逗号分隔值)的缩写,通常是纯文本文件。它是以逗号来分隔数据,默认以Excel打开。
1 集成方式
以程序方式读写*.csv文件是实现与CATIA刀具库集成的简单有效方式。集成方式如图2所示。当用户在PPE中添加或修改完刀具后,程序将数据库中的刀具信息写入到CSV文件中,再将之转换成刀具库CATALOG文件,从而实现集成。
2 CSV文件分析及与其对应的数据库结构
由于CATIA中的刀具涉及到仿真,其参数多且复杂所以集成的重点是在保证各类刀具数据完整的基础上简化PPE的数据模型。为了防止CATIA刀具库中的分类过于复杂,因此在CATALOG下只创建一个章节,用于存储所有的数据,读取时根据刀具类型名称进行分类,这样可简化参数多样性带来的困难。在数据库中,每把刀具信息都含有一个var_property_value_list属性,每个数据之间用特殊符号分隔。这样既使数据读取方便,又保证了信息的完整性和准确性。
(1) CSV文件结构分析。
基本的CSV文件有以下几部分组成:
·文件头。在PPE的刀具库集成格式中,格式为:
[ENDCHAPTER, <章节名>]
例如,ENDCHAPTER,NC_TOOLS中NC_TOOLS为章节名代表,从此章节下开始识别NC_TOOLS库中的刀具。
·刀具属性名称。格式为:
Keywords,<属性1, 属性2, …, 属性n >
·刀具属性单位。格式为:
Types,<单位1, 单位2,… ,单位n>
·刀具文件主体。通常以“逗号+刀具类别”开始。格式为:
,<刀具类别>,<属性值1, 属性值2, …, 属性值n>
刀具类别的参数值用以在CATIA中区分刀具类别。以上述文件第4行的Drill D2.513刀具为例,分析每把刀具的取值。第一个“,”代表刀具属性行中keywords下不取值。依次下去是刀具类别(MFG_NAME_BAS)MfgDrillTool(钻头)、刀具名称(MFG_NAEM)Drill D2.513、刀具描述(MFG_COMMENT)为空、刀具号(MFG_TOOL_NUMBER)2401等。
·章节结束指令。以“END”标识此章节结束。
需要说明的是,为了程序读取方便,所有的刀具都在一个章节内表示,而属性名称中包含了所有刀具的属性。对应每把刀具属性值只填和它相关的内容,这些由CATIA自己判别读取。nextpage
(2) 数据结构。
数据结构如图3所示。Procutter表用于存储刀具的信息,每个元组代表一把刀具。
Cutter_type表用于存储刀具类型信息。每个元组代表每种刀具类型。
Cutter_var_property表用于存储每种刀具类型的属性。每一种类型的刀具属性可能相同也可能不同,所以以刀具类型type_code和property_code作为主键,这2个主键可约束其他值。
在Procutter表中,有一个属性名var_property_value_list表,它存储了该刀具的所有属性的值。每种属性以“◇↑”分隔。
3 CATIA刀具库生成流程
CATIA刀具库生成流程如图4所示。程序在CATIA的VBA上编写。CATALOG文件是CATIA识别刀具库的位置,不能随意改变。在将CSV文件数据写入CATALOG时,同时创建与写入相对应的日志文件,存在相同路径下,方便查找错误。
文件和数据进行错误检查后,函数CreateCatalogFromcsv负责把CSV文件转换成CATALOG刀具库文件。其中,CreateCatalogFromcsv函数是对象Catalogdocument下的一个方法,参数csvFile为输入参数,代表CSV文件路径,catalogFile为输出参数,是输出的刀具库CATALOG文件路径。
需要说明的是,由于CSV文件有严格的格式要求,只有正确的数据格式CATIA才能够识别。所以在PPE平台添加刀具时,存入数据库之前和写入CSV文件的同时都必须有完善的错误检查程序以保证数据格式的正确性。
结论
本课题以PPE平台的研发为背景,对CATIA刀具库的建立技术进行研究,提出了使用CSV文件在CATIA中创建刀具库的方法,并利用数据库实现了PPE平台与CATIA刀具库的集成,使用户在PPE平台与CATIA软件中的刀具能够同步添加、删除、更新。该方法已经在平台中多次测试,目前运行良好。该方法的成功应用具有以下作用:
(1) 运用该方法建立符合企业实际情况的刀具库,使数控编程所选刀具和生产现场密切联系起来,确保了数控程序的适用性;
(2) 进行数控编程时,直接从刀具库中选取刀具,大大减轻了数控编程人员设置刀具参数的工作量,提高了编程效率;
(3) 刀具库内容的不断更新使机加工检验优化的刀具切削参数得以保留,让部门共享专家水平的知识与经验,从而提高了数控加工效率,降低了生产成本;
(4) 将实际编程中适用的刀具与刀具库管理结合起来,指导刀具库房管理者采购有效率的刀具。