技术频道

墙板类零件CAPP中工序尺寸的计算

创成式CAPP中,工序尺寸的自动计算是一个难点。目前,对墙板类零件工序尺寸计算尚无成熟算法。文章以墙板类零件的形状尺寸和定位尺寸为对象,讨论了其数据结构、类型及计算逻辑,并应用在墙板类零件创成式CAPP中。

  工序尺寸计算是CAPP系统中一项重要的功能。然而,在目前实用的CAPP系统中,这一功能不够完善。在许多相关文献中可以发现,工序尺寸计算的成熟算法主要集中于回转体零件的轴向工序尺寸,如基于尺寸联系矩阵的计算方法、基于树形图的计算方法等,而对空间三维定位工序尺寸的计算研究较少。在墙板类零件CAPP系统中,笔者将工序尺寸分为形状工序尺寸和定位工序尺寸,并在此基础上提出了一种基于一维线性链表的形状工序尺寸计算方法和基于二维非线性链表的定位工序尺寸计算方法,实现了墙板类零件CAPP中的工序尺寸计算。

1 基于一维线性链表的形状工序尺寸的计算

1.1 数据结构

  为使数据结构统一,本CAPP系统对形状工序尺寸和定位工序尺寸的表达采用了同一种数据结构。其C语言结构形式如下:

struct procdimt
/*工序尺寸数据结构名*/

  featypeenum FeaTypeEnum;
  /* 特征类型     */
  char FeaID[5];
  /* 加工特征    */
  double ProcBefDimValue;
  /* 工序前尺寸  */
        ∶    ∶
  struct procdimt  * NFea;
  /* 工序尺后续链表指针*/
  struct Procdimt *LFea;
  /*工序尺寸分支链表指针*/
  struct Procdimt * BFea;
  /* 工序尺寸前续链表指针*/

1.2 形状工序尺寸计算公式

  本系统是按照人体原则,从成品到毛坯逆向计算形状尺寸。按照形状尺寸是包容和被包容两种类型,计算公式分别为:

  如果是包容尺寸,则

  工序前尺寸=工序后尺寸-加工余量

否则

  工序前尺寸=工序后尺寸+加工余量

1.3 形状工序尺寸计算逻辑

  (1)总体初始化形状工序尺寸链表

  ①从后往前读入排序后的工序链表,取出工序号、加工方法、加工特征和特征类型,并生成形状工序尺寸初始化链表。

  ②按照加工方法和加工特征来搜索工序加工余量,并填入形状工序尺寸初始化链表的对应项中。

  ③取出特征信息中的形状尺寸、上下偏差,作为完成最后一道工序后该特征的形状工序尺寸,并将工序后尺寸标识号置为True;同时将该特征其余加工方法所对应的形状工序尺寸和相应的工序尺寸标识分别置初值-999和False。

  (2)读入经过初始化的形状工序尺寸链表。

  (3)计算工序尺寸 如果完成工序后尺寸的计算,而且工序前尺寸未计算,按照特征类型所对应的包容尺寸类型,来选择式(1)或式(2)计算工序前尺寸。

  (4)根据工序的加工精度值和精度代码计算工序尺寸的上下偏差。

  (5)用计算得出的工序前尺寸,局部初始化该特征上道工序的工序后尺寸。

  (6)IF到了链表尾THEN结束 ELSE指向链表下一结点并返回(3)。

2 基于二维非线性链表的定位工序尺寸的计算

2.1 定位尺寸的分类

  加工具有对称中心的特征,不影响定位尺寸的变化。因此在本CAPP系统中,不对该情况进行考虑,而只考虑与面特征相关联的定位尺寸的计算。与定位尺寸关联的面特征数目不定,所以必须按关联面特征的最大数目设计定位尺寸数据结构。而在墙板零件的实际标注中,关联的面特征数目介于2~4之间。

  如图1中所示:f1~f8为墙板中的面特征。定位尺寸L1~L4按关联特征数目可以分为三类:

  (1)与2个面特征相关联的为L4;L4关联面特征为f2和f8。

  (2)与3个面特征相关联的为L1,L2;L1关联面特征为f1、f2和f3; L2关联面特征为f2、f3和f4。

  (3)与4个面特征相关联的为L3;L3关联面特征为f4、f5、f6和f7。

图1 定位尺寸分类示意图

  由于实际标注中考虑到矢量方向性,因此在向数据结构中填写时必须按照表1规则进行(注:表中的空项不允许填写数据)。所以本系统中,关联方式被细分为四类(附表)。

关联方式列表

2.2 定位尺寸的计算公式

  按照定位尺寸四种实际存储方式分别定义计算公式:

  (1)附表中的类型d,定位尺寸有四个关联面特征。如图2所示(最通用的情况)。其中:F1、F2、F3、F4为关联面特征;S1~S4分别对应为F1~F4的面方向矢量;A为余量矢量;向量L、S1、S2、S3、S4、A均为单位矢量,余量大小为ΔA(ΔA>0)。

图2 定位尺寸向量示意图

  按照加工特征为关联特征F1、F2以及F3、F4两种类型选择不同的计算逻辑:

  类型1 对于加工特征为关联面特征F3、F4时(以图中加工面F4时的工序尺寸计算为例):

  ①计算出余量矢量在相临面F3上的投影

A1=A-S3(A.S3)

  ②计算工序尺寸矢量在面F3上的投影

L1=L-S3(L.S3)

  ③判断上述方向矢量的方向,来确定工序尺寸的增或减

  IF 向量内积(L1.A1)<0 THEN

  工序尺寸为减

  IF 向量内积(L1.A1)=0 THEN

  工序尺寸不变

  IF 向量内积(L1.A1)>0 THEN

  工序尺寸为加

  ④根据投影关系计算实际值

  余量ΔA对应的工序尺寸的ΔL值为
    
  ⑤根据③中计算确定的符号来计算工序尺寸

    L=L±ΔL

  类型2 加工特征为关联面特征F1、F2时,计算步骤(1~4)不变,而步骤⑤改为L=LμΔL。

  (2)对于附表中的类型a、b、c三种情况,可以看成类型d的特殊情况来分别对待。当定位尺寸只与一个面特征相关联时,系统默认面特征的方向矢量和定位尺寸方向矢量在同一直线上。根据该面特征为关联特征F1或F3,定位尺寸的计算公式分别为:

  ①为关联特征F1时 IF余量的方向矢量A和定位尺寸的方向矢量L一致。

  THEN L=L+ΔΑ
  ELSE L=L-ΔA

  ②为关联特征F3时 IF余量的方向矢量A和定位尺寸的方向矢量L一致

  THEN L=L-ΔA
  ELSE L=L+ΔA

2.3 定位尺寸计算逻辑

  (1)总体初始化形状工序尺寸链表

  ①从后往前读入排序后的工序链表,取出工序号、加工方法、加工特征和特征类型,并生成定位工序尺寸初始化主链表。

  ②按照加工方法和加工特征来搜索工序加工余量,并在形状工序尺寸初始化链表的对应项中填入。

  ③读入线性尺寸特征,按照线性尺寸的关联特征与定位工序尺寸主链表的加工特征相同与否,将线性尺寸内容连接于主链表的分支链表中。具体逻辑为:

  IF 该定位尺寸第一次被引用
  THEN 将定位尺寸特征的特征号、尺寸值、上下偏差连接于分支链表中AND将工序后尺寸标志置为True。
  ELSE只将定位尺寸特征的特征号连接于分支链表中AND将工序后尺寸标志置为False。

  ④将所有工序前尺寸标志置为False。

  (2)读入经过初始化的定位工序尺寸链表。

  (3)计算与主链表结点相关的分支链表中所有定位工序尺寸。

  如果工序后尺寸计算完成,而且工序前尺寸未计算,则根据加工特征是关联特征a、b、c、d四种类型中的具体类型选择对应公式计算工序前尺寸。

  (4)根据工序的加工精度值和精度代码计算工序尺寸的上下偏差。

  (5)用计算得出的工序前尺寸局部初始化该特征上道工序的工序后尺寸。

  (6)IF到了链表尾THEN结束。

  ELSE指向链表下一结点并返回(3)。

  从本质上而言,定位尺寸计算逻辑和形状尺寸计算逻辑相似,只是定位尺寸的计算和初始化是针对一个工序尺寸分支链表,而不是形状尺寸链中的单个结点。

3 结论

  笔者将墙板类CAPP中工序尺寸划分为形状尺寸和定位尺寸,建立了相应的数据结构、计算逻辑并开发了创成式CAPP中的工序尺寸计算模块,为工序细化、工序图的绘制及CAM提供了尺寸依据。

文章版权归西部工控xbgk所有,未经许可不得转载。