注释
作者
这是一个孤立的问题吗?谁能证实? |
合作者
我最近看到了类似的行为(尽管尚未确认 100%)。我认为解释器在某些操作中以错误的顺序应用偏移/旋转。它在佳能(因此也是运动)中是正确的,因为 emccanon 有自己的当前位置和坐标偏移状态。 |
作者
任何人都可以 100% 确认这一点吗? 这是一个更简单的 g 代码,其中 G30.1 在 #5181 和 #5182 中存储了错误的值 G53 G0 X5Y5 它应该给出 X5 Y5,而不是我得到 X0.562178 Y-11.562178 |
合作者
进一步研究,我也看到了,并且有一个实验性的修复(虽然需要重新定位到 2.7 / 2.8)。@SebKuzminsky, 这应该在 2.7 中修复,还是只在 2.8 中修复?我的修复程序在解释器中进行了大量的底层检修。 |
合作者
2.7 中是否存在此错误?如果是这样,有针对性的修复会很好,但如果修复涉及彻底检查解释器,则不属于 2.7。 |
以下是我重现该问题所遵循的步骤:
G53 G0 X5Y5
G10 L20 P2 X1 Y1
G30.1
(调试,X#5181 Y#5182)
G10 L2 P2 R180
G55
G30.1
(调试,X#5181 Y#5182)
G10 L2 P2 X0 Y0 R0
G30.1
(调试,X#5181 Y#5182)
M2
这是我期望发生的事情:
X5.000 Y5.000
X5.000 Y5.000
X5.000 Y5.000
这是发生了什么:
X5.000 Y5.000
X3.000 Y3.000
X5.000 Y5.000
在此之前它工作正常:
不知道这个问题是从什么时候开始出现的,应该是很久很久了吧
有关我的硬件和软件的信息:
lsb_release -a
):Ubuntu 18.04.2 LTSuname -a
):4.15.0-45-genericscripts/get-version-from-git
):来自 github LINUXCNC 的最新大师 – 2.8.0~pre1##################################
我在玩坐标系旋转,我想获得绝对位置来做一些 if 语句,我遇到了一些奇怪的行为,经过进一步检查,G30.1 并不总是获得绝对位置,看起来像坐标系统旋转会影响 G30.1 存储在参数中的值。