□ 张新伟 □ 韩刘侠
中航工业 西安飞行自动控制研究所 西安 710065
铸造技术是一门传统的工艺技术,具有零件尺寸和重量适应范围广、金属种类几乎不受限制的特点,是比较经济的毛坯成形方法,对于形状复杂的零件更能显示出它的经济性,尤其在航空工业中,各类高温合金、钛合金、铝合金等复杂薄壁整体构件的精密铸造技术应用广泛,是航空工业中的关键制造技术之一[1]。而箱体类零件就是其中的典型代表,它结构复杂,箱体多平面和孔,内部成腔形,壁薄且不均匀,刚度较低。常用的机械加工方法费时费力,而由于目前我国铸造水平的限制,对于具有较高精度要求特征的零件无法通过铸造获得,故都采用先精密铸造再进行机械加工的方法来完成箱体类零件的制造。在此生产流程中,精铸件毛坯的生成就显得尤为关键。
本文通过分析箱体类零件的几何特性,根据铸造水平现状,制定出相应的推理规则,并借助UG软件提供的二次开发功能,实现箱体铸件毛坯的自动生成。
该箱体类零件主要由平台腔和电子腔两个腔体组成,平台腔为半封闭腔,用来安装惯性导航平台,电子腔为开放腔,用来安装各种电路板,两腔通过箱体中间的隔板分隔开,两腔中的元器件由各种电缆通过隔板上的过线孔进行连接。电子腔一侧的端面上安装有各种电子元件;箱体零件的外表面安装有盖板,同时在箱体表面还安装有其它电子元件。在整个箱体零件中,所有配合的表面及重要表面都是在精铸件毛坯上通过分配余量再进行机械加工来获得,而其它一些表面,如:过线孔等则是由铸造直接获得,对于其它的非形状特征,如:精度、材料、热处理及表面处理等,是在设计图样中反映出来的,也是箱体铸造毛坯生成的重要依据。
1.2.1 NX Open中的对象模型
NX Open for Java开发包是UG软件提供给用户的一种支持Java语言的二次开发包,它内部封装了大量的应用程序接口(API),所封装的程序接口是面向对象模式的,通过这些程序接口,能够对UG模型中各种类型的数据进行各种操作,如特征的创建、修改、属性读取以及与特征相对应的各种尺寸及注释的创建及修改等。开发包最顶层为进程接口,通过其获取当前系统进程,并以此获取零件集;利用零件集的迭代器来获取当前工作的零件,并以此获取零件的实体集、特征集及尺寸集,利用相应的迭代器来获取具体的实体、特征及尺寸,最后通过实体来获得面和边。
1.2.2 形状特征的识别
在UG软件中,零件模型中的形状特征是按照一定的顺序进行组合的,它们与每一次零件模型的改变操作是相对应的,系统会根据操作的时间顺序给出特征间的层级关系,并且对零件中的每一个特征给出一个唯一的(Tag)标识,而对于该特征的每一个组成面也有唯一的标识,而每一面的组成边也是具有唯一标识的。
结合上述对NX Open中各程序接口的组织结构和UG模型中特征的结构关系分析,可以发现,程序接口的组织方式与特征的结构关系这二者之间是互逆的。因此,利用NX Open开发包进行二次开发时,可以通过各程序接口设计遍历程序,就能获得零件模型中的每一个面和边,而零件的几何模型是通过面和边表现出来的,这样对零件模型中的任何一个几何对象都可以用这种方法来识别。
1.2.3 非形状特征的识别
对于非形状特征中的精度来说,它虽然是对应于整个零件模型的,但具体表现是针对零件的具体面或具体边而言的,如在工程图中标注的某一处尺寸,它是与两条边相对应的,需要用它的标注公差值与设定精度的理论公差值进行比较,以判断该处尺寸精度的高低。所以该特征识别与形状特征的识别相同,即应在对应的形状特征的面或边上识别。而对于材料、热处理及表面处理等非形状特征是对应于整个零件模型的,这些非形状特征的信息可以通过读取属性值的方法来识别。
结合前面的零件结构分析发现,虽然箱体零件的结构复杂,由许多安装面及配合孔所组成,但无论对于平台腔、隔板还是电子腔,这些组成特征都可以归纳为两种,即孔特征和面特征。因此,当前的工艺流程就是对零件上的孔特征和面特征进行处理,然后再进行细节特征如棱边的处理。对于孔特征,需要根据经验尺寸对零件上的孔特征进行筛选,以确定该处孔特征是否可由铸造获得;对于面特征,需要对设计图样进行分析,标注为机械加工表面的面,则需分配余量,而对于未标注为机械加工的表面,则需将与其关联的尺寸精度与设计精度进行对比,再决定是否需要分配余量;最后对零件中的棱边进行倒圆角处理。目前铸造复杂零件都通过拼模的方法进行铸造,因此不再需要对毛坯设置拔模斜度。经过这些过程即可完成由箱体零件到箱体精铸件毛坯的转换。
根据精铸件毛坯生成工艺流程模型和UG中对象模型关系,建立如下的毛坯生成规则。
2.2.1 孔特征生成规则
如果孔的类型为沉头孔、埋头孔或者螺纹孔,那么就应删除模型上相应的孔特征;如果孔的类型为简单孔并且孔的直径小于设定的经验直径,那么删除该处孔特征;如果孔的类型为简单孔并且孔的直径大于等于设定的经验直径,那么保留该处孔特征;如果孔的类型为阵列孔或者镜像孔并且孔的父特征直径小于设定的经验直径,那么删除该处孔特征及其父特征;如果孔的类型为阵列孔或者镜像孔并且孔的父特征直径大于等于设定的经验直径,那么保留该处孔特征及其父特征。
2.2.2 面特征生成规则
如果面特征需要机械加工,那么对该面分配余量;如果面特征未标注需要进行机械加工,但与其关联的尺寸精度高于设计图样规定的精度,那么需要对该面分配余量。
2.2.3 边生成规则
如果边倒角为直角,需对该边进行倒圆角处理。
首先,需要在系统环境变量中添加环境变量“UGII_USER_DIR”, 将其值设置为 “F:ugmenu”;然后, 在 “F:ugmenu” 中新建两个名为 “startup”及“application”文件夹,其中“startup”文件夹下放置自定义菜单配置文件,“application”文件夹下放置与自定义菜单配置文件相关联的用户程序。加载好的菜单如图1所示。
▲图1 菜单窗口
其基本过程为:首先获取系统进程,通过系统进程来访问模型中对应的特征集,再通过对特征集的遍历,来获取各特征信息。其对应的代码一般如下(以获取简单孔特征为例)。
Session theSession= (Session) SessionFactory.get("Session");
//获取系统进程
FeatureCollection features=theSession.parts().work().features();
//获取当前工作部件的特征集
Iterator i=features.iterator();
▲图2 系统工作流程
Feature feature= (Feature) i.next()
String featureName=feature.featureType().toString();
//获取特征名称
if(featureName.equals("SIMPLE HOLE")) {
String tmp= (feature.getExpressions()[t]).description();
int l=tmp.indexOf("");
String name=tmp.substring(l+1,tmp.length()-1);if(name.equals("Diameter")){
double diavalue= (feature.getExpressions()[t]).value();
}
}
//获取简单孔的直径信息
整个系统工作流程如图2所示。
随着箱体类零件种类的不断增加,如何提高箱体类零件的生产效率成为日益突出的问题。本文所提出的箱体精铸件毛坯系统能够节省出大量的技术准备时间,能够确实提高箱体的生产效率。未来若能将其与CAD及CAM无缝集成,将更进一步提高箱体类零件的生产效率。
[1] 熊艳才.精密铸造技术在航空工业中的应用和发展[J].航空制造技术,2008(22):32-35.