关闭 关闭 功能请求:抑制发送到机器的 gcode 中的 gcode 注释。#444 描述 格斯鲁尼翁 根据https://community.carbide3d.com/t/so5-pro-inline-comment-firmware-issue/64097,Shapeoko 5 Pro 固件中存在一个错误,导致机器在内联 gcode 注释上阻塞。 虽然这个问题最终需要他们自己解决,但将 gcode 注释转发到机器没有任何意义。我建议对 gsender 进行修改,在将 gcode 发送到机器时删除所有 gcode 注释。 👍用👍 回应2 活动 kglovern 评论道 2024年1月15日 克格洛文 成员 我们将在接下来的几个版本中对此进行研究。 ❤️用❤️回应1 gsrunion 评论道 2024年1月16日 格斯鲁尼翁 作者 太棒了!谢谢。JavaScript 不是我的强项,不过我可能会尝试发个 PR。 hamanjam 评论道 2024年1月16日 哈曼詹姆 我实际上编辑了我的后处理器,添加了更多注释,例如文件路径和保存日期。如果您不需要注释,如果它们导致控制器出现问题,编辑后处理器删除它们可能会更容易。解析注释可能很困难。有没有特定的 Shapeoko 后处理器不产生注释? 为了在发送之前进行剥离,您必须使用正则表达式来停止“(”和“)”之间的任何内容,类似于: 字符串.replace(/([^()]*)/g, ”) 此解决方案取自类似的具有示例的线程: https://stackoverflow.com/questions/640001/how-can-i-remove-text-within-parentheses-with-a-regex 👍用👍 回应1 gsrunion 评论道 2024年1月16日 格斯鲁尼翁 编辑 作者 据我了解,GSender 端的探测例程也会插入内联注释。 gsender/src/服务器/控制器/Grbl/GrblController.js 第 479 行 d3c8652 返回 行.replace ( ‘M6’ , ‘(M6) ‘ ) ; 这里至少有一个例子。在 gcode 文件中替换它们很容易。鉴于 C3D 已经将 gcode 内部保存到其设计文件格式中,后处理器对我来说没有选择余地。 hamanjam 评论道 2024年1月16日 哈曼詹姆 有趣的是,在“检查”模式下,它会将命令更改为注释(我假设只是为了在调试时取消发送实际命令),我发现这是一个问题。我看不出定期向控制器发送注释有什么好处,因为 grbl 基本上会忽略注释,我们实际上永远看不到它们。 听起来你的选择非常有限,只能使用专有应用程序和文件格式。使用其基础架构之外的任何工具,似乎都需要大量的手动 gcode 编辑。学习曲线和成本是缺点,但切换到更“开放”的工具似乎更容易一些,但我完全理解你想使用自己熟悉的工具。我查看了我的 Shapeoko 的 Vectric 后处理器,他们只添加了 Vectric 品牌注释,这些注释很容易被删除。很遗憾你不能在 C3D 中编辑你的 pp。希望在固件修复之前你能找到解决办法(真的很惊讶它已经存在这么久了)。 gsrunion 评论道 2024年1月16日 格斯鲁尼翁 作者 如果您购买了 Carbide Create 的专业版,则有几种选择。否则,您只能使用默认设置。他们确实提供了一个从 C3D 文件中提取 G 代码的工具。但那是另一个步骤。LightBurn 团队正在推出一款 CNC 软件。我对此寄予厚望。如果没有,我会花钱从 VCarve Desktop 升级到专业版,这样就不会受到文件大小的限制。 … gsrunion 评论道 2024年1月16日 格斯鲁尼翁 作者 gsender/src/服务器/控制器/Grbl/GrblController.js 418 行 d3c8652 让 bracketCommentLine = / \s * \( . * \) * \) / gm ; 和 gsender/src/服务器/控制器/Grblhal/GrblHalController.js 第 381 行 d3c8652 让 bracketCommentLine = / \( [ ^ \) ] * \) / gm ; 这可能是我正在寻找的正则表达式,也许是进行替换的正确位置。 👍用👍 回应1 gsrunion 评论道 2024年1月16日 格斯鲁尼翁 作者 #448我尝试按照此处的指导进行更改。https ://community.carbide3d.com/t/gsender-any-special-steps-to-use/72349/39 👍用👍 回应1 kglovern 评论道 2024年1月26日 克格洛文 成员 这会合并到 1.4.1 版本中。感谢大家的反馈/pull request。 克格洛文 已完成,关闭2024年1月26日 Sienci实验室 额外 漏洞有些事情出了问题 良好的反馈感谢您告知我们! 2024年11月6日 喜欢 (0)
活动
kglovern 评论道 2024年1月15日
我们将在接下来的几个版本中对此进行研究。
gsrunion 评论道 2024年1月16日
太棒了!谢谢。JavaScript 不是我的强项,不过我可能会尝试发个 PR。
hamanjam 评论道 2024年1月16日
我实际上编辑了我的后处理器,添加了更多注释,例如文件路径和保存日期。如果您不需要注释,如果它们导致控制器出现问题,编辑后处理器删除它们可能会更容易。解析注释可能很困难。有没有特定的 Shapeoko 后处理器不产生注释?
为了在发送之前进行剥离,您必须使用正则表达式来停止“(”和“)”之间的任何内容,类似于:
字符串.replace(/([^()]*)/g, ”)
此解决方案取自类似的具有示例的线程:
https://stackoverflow.com/questions/640001/how-can-i-remove-text-within-parentheses-with-a-regex
gsrunion 评论道 2024年1月16日
据我了解,GSender 端的探测例程也会插入内联注释。
gsender/src/服务器/控制器/Grbl/GrblController.js
第 479 行 d3c8652
这里至少有一个例子。在 gcode 文件中替换它们很容易。鉴于 C3D 已经将 gcode 内部保存到其设计文件格式中,后处理器对我来说没有选择余地。
hamanjam 评论道 2024年1月16日
有趣的是,在“检查”模式下,它会将命令更改为注释(我假设只是为了在调试时取消发送实际命令),我发现这是一个问题。我看不出定期向控制器发送注释有什么好处,因为 grbl 基本上会忽略注释,我们实际上永远看不到它们。
听起来你的选择非常有限,只能使用专有应用程序和文件格式。使用其基础架构之外的任何工具,似乎都需要大量的手动 gcode 编辑。学习曲线和成本是缺点,但切换到更“开放”的工具似乎更容易一些,但我完全理解你想使用自己熟悉的工具。我查看了我的 Shapeoko 的 Vectric 后处理器,他们只添加了 Vectric 品牌注释,这些注释很容易被删除。很遗憾你不能在 C3D 中编辑你的 pp。希望在固件修复之前你能找到解决办法(真的很惊讶它已经存在这么久了)。
gsrunion 评论道 2024年1月16日
…
gsrunion 评论道 2024年1月16日
gsender/src/服务器/控制器/Grbl/GrblController.js
418 行 d3c8652
和
gsender/src/服务器/控制器/Grblhal/GrblHalController.js
第 381 行 d3c8652
这可能是我正在寻找的正则表达式,也许是进行替换的正确位置。
gsrunion 评论道 2024年1月16日
#448我尝试按照此处的指导进行更改。https ://community.carbide3d.com/t/gsender-any-special-steps-to-use/72349/39
kglovern 评论道 2024年1月26日
这会合并到 1.4.1 版本中。感谢大家的反馈/pull request。
已完成,关闭2024年1月26日
额外
2024年11月6日