注释
|
是的,有一个下限,但很难说有多小。它主要与限制在 7 位数字的浮点精度错误有关。 对于绝大多数弧,单精度就可以了。但是,如果您的轴偏移或半径为 0.001 英寸或更小,您可能会开始遇到数学问题,并且行为会变得不可预测。 Grbl 没有空间或额外的周期来检查这些东西,但这些错误非常罕见。通常 CAM 程序有一个最小目标长度(或类似的东西),如果弧足够小,它只会插入一个直线运动。他们这样做是因为大多数 CNC 控制器都固有地受到浮点数学精度的限制。 |
|
此精度限制还会导致半径非常大的圆弧出现问题。大卫朗
|
|
半径不会很大,因为它将被限制为所使用的任何刀具的半径。 这是关于在执行刀具半径/直径补偿时,如果您遇到外角,例如围绕零件的外周,补偿例程会在角处插入一个圆弧,如下图所示。潜在问题显示在右侧,方向变化很小。由此产生的插入弧变得越来越短。如果变化真的很小,如果允许这种情况发生,听起来可能会出现问题。我将通过检查插入弧的起点和终点之间的距离来处理它,如果低于某个值,我将只使用直线路径的投影交点并放弃插入的弧,或者我将插入一条线。 在输入这个时,我意识到我的实现可能还有另一个我必须处理的问题。通常刀具半径和路径的偏移量是刀具的实际半径,但还有另一种方法可以做到这一点,并且在手动将没有 comp 的程序转换为有 comp 的程序时很方便。如果程序是在没有 comp 的情况下编写的,则路径已经偏移到预期的刀具半径。然而,这意味着使用重新磨锐的刀具或不同直径的刀具会产生尺寸不正确的零件。通过适当地插入 G41 或 G42 命令,然后输入刀具半径,可以相对轻松地添加 Comp,该刀具半径不是刀具半径,而是预期刀具直径与实际使用的刀具直径之间的差值。例如,如果编程为 0.5″ 刀具,但使用 0.375 刀具时,输入的刀具直径将为 -0.125。如果实际直径非常接近编程的刀具直径,这可能会给我带来问题,例如在使用重新磨锐的立铣刀时。我可以用小半径和小弧长结束。我将不得不以类似于小弧长的方式处理这个潜在的小弧半径问题。那好吧。 |
|
2019 年 2 月 26 日,星期二,109JB 写道:半径不会很大,因为它将被限制在所使用的任何刀具的半径内。
嗯,不。G02/G03 拱形可以有效地平整切削区域(即一条直线),而不受钻头直径的限制。即使移动的最小半径也不受钻头直径的限制。大卫朗
|
|
我曾经和一位实现了 cutter comp 的开发人员交谈过。他警告说,你必须处理很多奇怪的边缘情况。其中之一是弧线。另一个是消失的特征以及如何处理它们。 |
嗯,是的。看看我在我的问题中指的是什么。刀径补偿加圆弧的半径不能大于刀径。我不是在笼统地谈论 G02/G03,而是在我的特定应用中,因为它适用于刀具半径补偿。 |
是的。这肯定是一团粪便。我将它分成 4 个大笔场景,每个场景都有更小的子案例。这4大类分别是线到线、线到弧、弧到线、弧到弧。 消失的特征是一件特别烦人的事情。即使只是考虑导致这种情况的可能情况也很困难。不过,我正在取得进展。 |
|
得到答案如此关闭 |



这不是真正的问题,但我正在为我的 GUI 研究刀具半径补偿算法,并且想知道是否存在 Grbl 可以解析的最小圆弧半径和/或最小圆弧长度。换句话说,如果定义了一个非常微小的弧线,比如说比 10 美元的值小得多,Grbl 会不会在上面阻塞,或者它会基本上线性移动到 G02/G03 线中的目标?我只需要知道我是否必须在我的 gui 级别处理它,或者我是否可以传递它并让 Grbl 处理它。