最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能研发

冲压模凹R角预处理在CAD系统中的实现与应用

发布时间:2015-08-25 作者:徐伟 魏威 何彦田  来源:山大华天
针对冲压模处理圆角时,存在研磨工作量大、效率低且质量难以保证等问题。为此,通过对用户模具型面设计过程的调研与分析,在国产三维CAD系统SINOVATION中研发凹R角预处理功能,提供模面预处理、自动调整圆角、手工调整圆角等功能,在软件中预先实现型面圆角的处理,来提高冲压模型面设计的效率。通过六家大型冲压模具用户现场应用情况表明,凹R角预处理功能满足了冲压模具企业高效、灵活的型面设计需求,用户给出了高度的评价。

2.2 自动调整圆角

    目前CAD软件在处理圆角过程中,只能逐个选择圆角,操作复杂繁琐,为了方便用户操作,增强功能的易用性,需要软件能够按照圆角尺寸、凹凸性等条件自动检索识别出来,同时为了方便管理圆角面,需归类识别出所有圆角面,最大化满足用户的使用要求。

    此外,由于型面数据的精度问题,不能完全保证识别出所有的圆角面,还需要对不能自动识别的圆角进行分割处理,如图3所示,使其大部分面变成规则圆角面,便于后续提高圆角调整的成功率。通过自动批量处理的方法,实现快速的调整圆角,提高圆角的处理效率,同时也要提供多种应用方法来满足不同场景的圆角。

图3 圆角分割示意图

图3 圆角分割示意图

    因此,在自动调整圆角部分需提供以下三个命令:

    (1)圆角检索

    把曲面中符合条件的圆角面检索出来,圆角检索流程如图4所示,根据面的UV方向计算距离是否在允许公差范围内,判断识别是否是圆角面。从需求实现角度来看,主要实现以下功能:

    检索对象:把指定面作为检索对象,检索出面中所有的圆角面。

    检索设置:检索一定半径范围内的所有凸或凹圆角面。

    颜色和图层设置:检索出的圆角面指定颜色和分配图层。

图4 检索圆角面流程

图4 检索圆角面流程

    圆角检索命令中检索曲面上所有单个面的关键算法代码如下:

    stat=TiInqComFac(&idCom1,&numfac1,&faceidP);

 if (stat != 0){

  goto rtn;}

    stat=TiInqComFac(&idCom2,&numfac2,&faceidP);

 if (stat != 0){

  goto rtn;}

    (2)圆角分割

    把曲面中不规则的圆角面分割为规则和不规则的圆角面,不规则的圆角面将不能再被分割,主要实现功能:根据面的几何拓扑关系,自动分割圆角面。

    圆角分割命令中的面分割关键算法部分代码如下:

    if (m_SetDivSEve != ITEM_SEVE_VALUE) {

    m_cmbSetDiv.SetCurSel(m_SetDivSEve);}

    {return m_cmbSetDiv.GetCurSel();}

    if (nDivide == 1) {

    DivideFillet(&tmpFltInf,divComFlt,divFacFlt); }

    (3)圆角减小

    参照圆角周围面的延长面,根据减小的圆角半径值,重新创建圆角面,实现圆角的减小处理,主要实现以下功能:

    调整方式:提供按比例缩小、指定半径值、指定减小值三种调整方式,可自定义相关参数。

    颜色和图层设置:减小的圆角面指定颜色和分配图层。

    圆角分割:针对不规则的圆角,增加自动分割圆角处理功能。

    圆角减小命令中逐个圆角循环处理的关键算法代码如下:

    while (pos != NULL) {

  if (!UpdateProgress(++nLoop)) {

   break; }

    if (nMode == D4OPT2 || fltRadInf.FltType == FIXEDRAD) {

    bRet = ReduceGradualRadius(&fltInf, nMode, dValue, nDivide, newFltidAry);

  } else{

   continue; }}