NC加工自动编程技术 - -毕业设计 联系客服

发布时间 : 星期日 文章NC加工自动编程技术 - -毕业设计更新完毕开始阅读67a9225ef242336c1eb95eab

NC加工自动编程技术的研究

工图元时,整个图形为一环型图。把图形是否封闭(环型与否)计入相应的变量fengbi中,以供下面刀补部分调用。

图6-2 第一加工图元指定流程图

31

NC加工自动编程技术的研究

6.2 刀补轨迹生成模块

这部分程序设计时应这样考虑:根据图线之间的转接类型的判断及相应的求点的坐标的算法,可以确定刀具的中心的转折点(一个或多个),这样,将图线中每相邻的两段依次进行组合,判断其转接类型并求得各转折点的坐标,将上一步求得的最后一个转折点的坐标作为下一步画第一段线的起点,将当前步所求得的第一个转折点这步画第一段线的终点,进行画线(直线或圆弧)。每步中间的相邻点用直线直接相连即可(这是按照算法来进行的)。对于第一段和最后一段,进行B刀补的专门处理就行了。

对于第一段,调用InitiaSRxRy(const CEntity &ent, double &rx, double &ry)求得rx和ry。再根据是圆弧还是直线求得刀具中心轨迹上第一点(TrackSPoint)的坐标,然后从选定的入丝点至TrackSPoint点画直线,即可得到刀具中心轨迹上的第一段。

对于最后一段情况比较特殊:

①当图形为一链型图时,若是直线,仍调用InitiaSRxRy(const CEntity &ent, double &rx, double &ry)求得rx和ry,并求最后一点的坐标,将其作为终点,将前一步求得的最后一个转折点的坐标作为起点,画直线,即为刀心轨迹上最后一段,并从最后一段末点向出丝点连线;若为圆弧,则调用InitiaEARxRy(const CEntity &ent, double &rx, double &ry)求rx和ry,并求最后一点的坐标,将其作为终点,将前一步求得的最后一个转折点的坐标作为起点,画圆弧,得到刀心轨迹上最后一段,同样也要从最后一段末点向出丝点连线。

②当图形为一封闭图形时,仍要把最后一段图元与第一段图元做刀补,求出刀补轨迹,最后从刀补轨迹的末端向出丝点连线。这样就比不封闭的图形多做了一次刀补运算。在本系统中,这次刀补也是在求其它刀补轨迹的循环中完成的,用表示封闭与否的变量fengbi来控制循环的出口。

至此,刀心轨迹就完全确定了。 这部分的程序流程图如下图6-3所示。 6.3 小结

本章内容是对刀具中心实际运动轨迹的生成,它是数控程序代码的基础,也就是实际的加工路线。这些加工信息生成后存储于数组加工链中,供代码生成模块调用,逐次输出。

32

NC加工自动编程技术的研究

开始

是实体数小于零或刀具半径等于零是否计算刀心轨迹的起始点 坐标并画第一段线i=实体总数且图元不封闭(fengbi=0)否是 (跳出循环)1第i个实体是 直线吗?是否第(i+1)个实体 是直线吗?否第(i+1)个实体 是直线吗?是否

从TrackSPoint到出丝点画直线调用直线接直线的处理函数LLTypezj及LLGetsp并返回TrackSPoint点调用直线接直线的处理函数LCTypezj及LCGetsp并返回TrackSPoint点调用直线接直线的处理函数CLTypezj及CLGetsp并返回TrackSPoint点调用直线接圆弧的处理函数CCTypezj及CCGetsp并返回TrackSPoint点i实体总数吗?是否 i++是最后一个实体 是直线吗?否1调用InitiaSRxRy()函数计算刀心 轨迹上最后一个点的坐标调用InitiaEARxRy()函数计算刀心轨迹上最后一个点的坐标从TrackSPoint到最后一点画直线以TrackSPoint为起点以最后一点为终点画圆弧结束图6-3 刀补轨迹生成模块流程图

33

NC加工自动编程技术的研究

七、代码生成模块

本模块是自动编程系统的最后部分,它是把刀补轨迹生成模块中的刀补轨迹链数组中的各元素加以判断输出的模块。本系统选用G代码形式输出。关于G代码,在此不再赘述,详见有关资料[2]。

这部分的关键在于对顺逆时针圆弧的判断以及优弧劣弧的判断,从而正确的输出G代码。流程图如下:

图7-1 代码生成模块流程图

34