开源改变世界!!

从 in/mm 切换点动单位时,也转换进给率和步长单位 #1010

推推 grbl 2年前 (2023-01-27) 149次浏览
关闭
RecceDG 打开了这个问题 2018 年 4 月 16 日 · 3条评论
关闭

从 in/mm 切换点动单位时,也转换进给速率和步长单位#1010

RecceDG 打开了这个问题 2018 年 4 月 16 日 · 3条评论

注释

从 in/mm 切换点动单位时,也转换进给率和步长单位 #1010

所以事实证明,如果您将 Z 轴步长设置为 5mm,然后按 UI 按钮将单位设置为“英寸”,然后将 Z+ 点动一步,您将获得 5 英寸的点动。

翻转该开关还应转换点动尺寸和进给速率,以便在单位切换后实际点动行程/速率保持不变。

从 in/mm 切换点动单位时,也转换进给率和步长单位 #1010
合作者

@winder我所做的更改可能不是最佳的,我需要您就如何进行进行输入。

我认为最好让控制器以它喜欢的任何单位返回坐标,然后让 GUI 将其转换为用户首选项。我认为这在我的测试中效果很好:

  • 我可以在点动面板中将 MM/Inches 切换为首选单位,它还会更改 DRO 中的单位。
  • 我可以在不更改 GUI 中的单位的情况下更改 G20/G21(我认为这只有在数据发送到控制器时才有趣,而不是应该如何显示,所以它不应该影响演示)
  • 我可以更改设置 $13 而不会弄乱坐标的 GUI 显示(我认为这是控制器如何报告其单位的设置,不应该用于显示)。

至于坐标,我认为这是可行的。但是对于进给率,没有 gcode 状态告诉我速度的单位。我可以想出一种方法来解决这个问题,方法是使用一种特殊的速度数据类型,其中还包括单位“mm/min”或“inch/min”。然后控制器实现应该负责在返回速度时设置这些单位类型(在 GRBL 中我们可以使用设置 $13,在 TinyG 中它在状态报告中报告)。

当将 13 美元更改为英寸时,我确实注意到机器边界(软限制)的可视化器中的错误。要解决这个问题,发送到可视化模块的坐标需要它们所用的单位。稍后我会研究这个。

从 in/mm 切换点动单位时,也转换进给率和步长单位 #1010
所有者

很长一段时间以来,很多人都想要这个功能,我总是把它留给控制器,几乎忽略了 UGS 中的问题(正如你所发现的)。

  • 我可以在点动面板中将 MM/Inches 切换为首选单位,它还会更改 DRO 中的单位。
  • 我可以在不更改 GUI 中的单位的情况下更改 G20/G21(我认为这只有在数据发送到控制器时才有趣,而不是应该如何显示,所以它不应该影响演示)
  • 我可以更改设置 $13 而不会弄乱坐标的 GUI 显示(我认为这是控制器如何报告其单位的设置,不应该用于显示)。

这些对我来说听起来都不错,正是我所希望的。我认为它限制了 UI 需要对控制器做出的任何假设。

我没有意识到 GRBL$13用于提要……嗯。这很棘手。

我不确定我们是否需要一个特殊的类型,因为它应该很少改变。

Visualizer 除了按百分比放大/缩小提要外,不会对提要执行任何操作,因此您无需为此担心。

也许可以将 speedUnits 字段添加到ControllerStatus?在 GRBL 中,它可以getStatusFromStatusStringgetReportingUnits. TinyG 也可以将它添加到那里,因为它已经是其标准状态报告的一部分。现在,backend.getController().getControllerStatus()JogService 可以在缩放值时进行检查。或者,也可以将它缓存在Settings对象中,因为它应该很少更改。这将使直接访问和启动时更容易一些,例如getPreferredUnits.

从 in/mm 切换点动单位时,也转换进给率和步长单位 #1010 breiler 自己分配了这个 2018 年 8 月 6 日
从 in/mm 切换点动单位时,也转换进给率和步长单位 #1010 breiler 在 #1105 完成后 关闭了它 2018 年 8 月 7 日
喜欢 (0)