汽车覆盖件模具压板槽自动化数控编程技术的开发

2024-04-18 03:17周红平
汽车科技 2024年2期

周红平

摘  要:本文以覆盖件模具压板槽的自动化数控编程技术的开发为例,介绍了覆盖件模具结构数控编程过程中加工特征的自动识别、加工几何的自动创建、加工参数的自动设定,提供了覆盖件模具结构自动化数控编程技术的开发思路。

关键词:自动化数控编程;特征识别;压板槽

中图分类号:TP20       文献标识码:A      文章编号:1005-2550(2024)02-0052-04

Development of Automatic CNC Programming Technology for Pressing Plate Grooves of Automotive Panel Dies

ZHOU Hong-ping

(DONGFENG Die&Stamping Technology CO., LTD., Shiyan 442000, China)

Abstract: This article takes the development of automatic CNC programming technology for the pressing plate groove of automotive panel molds as an examplek, introducing the automatic recognition of machine features,automatic creation of machining geometry, automatic setting of machining parameters, and providing a development idea for structural automation CNC programming technology.

Key Words: Automatic CNC Programming; Machine Feature; Pressing Plate Grooves

1    引言

隨着汽车覆盖件模具精细化加工的日益普及,对模具结构面NC程序的要求越来越高,模具结构面数控编程已经成为模具制造技术的一个技术瓶颈,严重影响了数控编程效率。在这种背景下,模具结构的自动化数控编程技术成为了模具行业急需解决的关键技术。

压板槽是模具上下底板的重要结构,数控编程时需要编程人员手工制作加工几何、调用加工模板、设置加工参数,完成数控编程任务,效率低下且容易出错。同时由于个人数控编程思路不一,NC程序存在差异化的问题。

开发思路:通过基于NX软件的二次开发,输入实体,对3D实体进行扫描,通过特定的算法,将符合压板槽特征的几何区域提取出来,优化排序,干涉判断,自动创建加工几何,根据几何尺寸自动设定加工参数,完成压板槽的自动化数控编程,实现标准化作业。

2    技术开发主要内容

基于vs2013开发平台建立一个vb.net工程,模板选用NX12_Open_VB_Wizard,采用dotnet4.6目标框架,应用程序类型选用类库,添加引用NX文件夹下NXBIN/MANAGED/NXOPEN.dll,NXOPEN.UF.DLL,pskernel.net.dll等文件,修改GetUnloadOption函数返回值为Session.LibraryUnloadOption.Immediately。

2.1   压板槽几何特征的识别

扫描3D实体,以区域特征识别为主、面颜色为辅,实现压板槽的自动化识别,同时对颜色、碎面具有一定的容错性。

工作原理:输入三维实体,使用NXOpen.body.getFaces函数扫描实体上所有面,以加工颜色的平面为基础,使用ScRuleFactory.CreateRuleFaceTangent规则获取相切面集合,使用ScRuleFactory.CreateRuleFaceSlot规则获取沟槽面集合,使用ScRuleFactory.CreateRuleFaceAdjacent规则获取相邻面集合,通过面的属性、颜色、数量、几何尺寸、位置以及面与面之间的相关性来判断是否为压板槽特征。压板槽开裆尺寸为几个固定值时,也可以作为限定条件之一。由于3D设计输入的实体不能保证实体造型水平的标准化,开发过程中还需要考虑小碎面片的存在,以及颜色漏涂色或错涂色的问题,需要识别出这些面片并在后续计算过程中过滤处理。

2.2   压板槽特征类的创建

开发计算模块,根据识别通过的集合面,识别各个面的特征:沟槽面(pFace1,connectFace,pFace2),圆角面(cylFace1,cylFace2),外平面(xFace1,xFace2),识别相关联的压板台面(ybtFace),小倒角面,将这些特征封装到一个vb.net的ybc类对象里。计算当前压板槽特征中心点(centerPt)、开口方向(xVect),计算压板槽宽度、深度等尺寸。

建立一个ybcList链表(LinkedList),加入所有识别出来的压板槽特征,根据中心点坐标值及方位按最短加工路径进行排序处理。

2.3   加工几何的创建

如果使用三维实体作为加工几何进行计算,数据量会非常大,导致计算速度慢。因此本文采用了边界驱动加工方式(boundary),需要构建出加工用的曲线,以曲线作为加工边界。具体方法:创建一个高度为中间值的平面,使用Features.CreateSectionCurveBuilder截面函数,按顺铣加工(climb)的方向,依次计算加工区域与平面的相交曲线,并按顺序生成一个曲线链(LinkedList Of Curve),保证曲线之间首尾相连,作为一个变量保存在类对象里。小倒角面的加工也可以使用此曲线链。

干涉几何(check boudary)的创建:在使用曲线驱动加工时,因为没有使用3D实体作为加工几何,刀具有可能会与3D实体之间产生干涉碰撞,因此需要判断刀具切削过程中是否存在干涉,并创建干涉几何。具体方法:采用UFUN射线法(Modl.TraceARay),从加工区域边界处发射多条射线,返回命中曲面及命中点,以此来查找附近是否存在干涉面,此方法计算速度较慢,推荐使用parasolid内核函数PK射线法(PK_BODY_pick_topols)。从边界点发射光线,返回沿途每个被击中面的信息,与面内部相切但不穿过面的光线不会被视为击中,返回的面按与光线原点的距离进行排序,此函数为非公开的NX二次开发接口(pskernel.net.dll)。本文采用了PK射线法,由于该函数使用了不安全的指针,vb.net无法直接使用,需要另外创建一个VC#或VC++工程引用此函数,再由vb.net调用此工程;或者通过直接调用动态链接库的方式。通过此函数返回的击中面和击中点,通过干涉距离来确定干涉面,再根据干涉面的属性,构建相应的干涉曲线(如图5),并保存于类对象中。

2.4   创建并生成加工NC程序

建立一个加工几何为边界类型的压板槽加工模板,根据上平面高度自动设置安全平面,根据深度自动设置底平面。模板包含一个自定义(UDOP)的等高开粗程序,一个粗加工程序和一个精加工程序,根据加工需求还可以创建压板台面线驱动加工程序、小倒角线驱动加工程序。通过软件自动调用模板,按最短加工路径的顺序、刀具顺铣切削的方向,依次自动选择加工曲线及干涉曲线作为加工几何,根据压板槽的开口宽度和深度确定加工刀具的直径、刃长,从刀具库选择合适的刀具,自动设置安全平面、底平面、加工深度、切深等参数,自动生成加工程序。

开粗程序没有使用NX本身的模板,而是使用了UDOP的自定义模板,程序生成时会根据设定的环境变量调用二次开发程序,按照自己的方式来生成轮廓层切开粗程序,生成的程序轨迹更容易控制,效率更高。

2.5   交互式界面的開发:

在实际应用过程中,总会遇到非标准化设计造成无法自动识别特征的情况(比如烂面、多碎面、色标滥用),开发过程中已经充分考虑了此类情况,但仍然存在这种几率,因此需要开发交互式界面,用手工添加、删除加工区域的方式来完善。

3    总结

通过覆盖件模具底板压板槽自动化数控编程的开发,并延展到其他加工区域自动化数控编程的开发,将大量繁琐重复的工作由计算机来自动完成,主要关键技术点有:

·加工区域的自动识别及分类;

·加工干涉面的自动识别;

·最短刀长的自动计算

·加工起刀点的自动计算;

·干涉处的自动避让;

·NC程序及参数的自动设定;

·自动识别+人工干预的交互式操作方式。

通过本项技术的开发,大幅提高了数控编程工作效率,降低了工作强度,消除了因员工技能水平不一带来的NC程序差异化,实现了标准化作业。

参考文献:

[1]Parasolid On-Line Documentation.

[2]parasolid API官方说明文档.

[3]Unigraphics NX Help Open API Reference Guide

[4]董正卫,田立中,付宜利. UG/OPEN API编程基础. 北京:清华大学出版社,2002.

[5]夏天,吴立军. UG二次开发技术基础. 北京:电子工业出版社,2005.