NX沿斜线进刀G2的输出(算法篇)
大家好,我是安周,相信很多朋友以及爱好者都在讨论沿斜线进刀不可以G2输出,这个问题当然也困扰我很长一段时间,今天把我前面研究的算法分享在这里,以供爱好者研究,优化,改进!
尽我努力,做一件对行业有贡献的事情!
我建立一个程序
下面是输出结果
算法思路
解决是否三点共线(向量叉乘法)
拟合过程:
1:两点公式求距离L 这个L也就是判定是否进行拟合
2:三点求出圆心XY 以及半径R (圆的一般式)
3:利用最小二乘法拟合圆弧,这样的目的就是最佳圆,(迭代法)
4:用向量叉乘法求出圆弧的方向drc
5: 解决其中不够三点的问题,构造中点(中点坐标公式)
因为这个拟合是在进刀处,所以直接放在进刀块定制命令直接处理,不会影响其他程序!
(三点求圆)圆的一般式代码
(向量的叉乘,最小二乘法迭代拟合圆,模长公式)代码
思路在于提出,方案在于优化,站在前辈的肩膀持续改进! 作者目前简单的做了一下,也希望有朝一日突破这个问题,不断的精进技术绝不可墨守成规。
作者在这里提出几个优化方向,大家可以参考:
1:引入球坐标系,之间应当考虑螺旋问题
2:每个连接处的相切,圆弧与直线,圆弧与圆弧(这是一个很关键的地方,代表了曲线的连续)
3:共线的处理方式可以分为2种,一种就是直线,一种就是圆弧,在微积分思想下,两者可以相等,两点距离无限小半径无限大就是直线,可以用等比曲线分割。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!