问题标签 [g-code]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 这个空白是从哪里来的?
我正在为我的自制笔式绘图仪生成 GCODE 的 python 脚本的输出进行后处理。
后处理器在我的 GCODE 中紧跟关键信息位之后(在每个 X 和 Y 坐标值之后)添加了一个空格,导致 GCODE 变得无效。
它的外观示例:
我的输出外观示例:
我试图从可疑的代码片段中删除 \s 运算符,我尝试在各个区域使用 .lstrip() 来删除空格,但无济于事。我还删除了代码中存在的所有双空格,到目前为止没有任何帮助。
我怀疑这段代码正在这样做:
我希望能够找出空白的来源,我可能没有显示正确的代码,所以我已经链接了源文件。它出现在第 2648 行和第 5440 行,还有一个似乎相关的圆形函数。
这是完整代码的pastebin: https ://pastebin.com/s8J1H8r6
python - 如何检查 IF 语句中的数字是否已更改,然后才执行脚本?
我正在为笔式绘图仪创建一个工具更换器,它只会在每次源文件移动以从新图层(在 inkscape 内)读取数据时更换工具。该脚本在每一层更改时注入一段特定的 GCODE(基于 CNC 的机器需要知道它应该做什么的代码)。
我已经准备好所有变量,只需要知道如何查看层号保持“1”多长时间,直到它变为“2”,以便脚本知道何时注入“工具更改 gcode”。
经过数小时搜索可能的解决方案后,我还没有设法让它工作。我尝试了一些while语句,但都失败了,我什至让我的软件崩溃了几次。我已经到现在用're.sub'从它的字符中剥离所有图层数据,并制作包含'1'或'2'或'3'的变量'layer number'(应该能够扩大到 9 或更多)。
该脚本有效,但在此脚本中,“self.last_used_tool”在其他任何地方都不存在,所以我相信它是一个虚拟代码。
现在 if 语句每次开始在新路径上工作时都会输出换刀 gcode,从而导致同一工具在一层中进行多次换刀。我需要仅在第一次移动到新图层时更改工具。
我正在寻找一种方法来使 if 语句查看层号是上升还是下降,并仅在这种情况下相应地更改工具。稍后我可能不会检查图层编号而是检查工具编号,但是,就目前而言,在我工作的方式中,使用图层编号对我来说更清楚,因为该编号无论如何都与工具编号相对应,并且直觉上,我觉得这样做更清楚。
感谢您的时间和精力,我希望有人能够帮助我找到解决方案。脚本完成后,我会在线发布,以便其他人也可以使用它。我正在处理的脚本是一个旧的开源项目,它被遗弃了,显然缺乏一些功能。我已经修复了大部分扩展(包括语言),但工具更改从未奏效。
c# - 在 WPF 应用程序中渲染 g 代码坐标?
我需要开发一个 g 代码可视化器,它将根据 g 代码构建行。任务很简单。我需要在 WPF 窗口中,在 3d 组件中,所有行都根据 g 代码显示。应该可以增加/减少尺寸,旋转相机。g代码处理模块没有问题。我只需要决定使用哪个图形引擎进行渲染。我第一次面对这样的任务。
目前在我看来,unity3d 适合这项任务。我在 WPF 窗口中集成了统一应用程序。它使用“-parentHWND”参数并集成在 wpf 窗口中。也许我错了,有更简单的解决方案。如果是这样,那么请提出这些解决方案。 在此处输入图像描述
python - Python - 在gcode修饰符的if语句中出现多个“或”条件
我正在编写一个脚本来修改学校项目的一些 gcode。我的编程技能很差,但我在互联网的帮助下正在努力解决这个问题,但坚持使用 3 个不同选项的 if 语句。
我需要为此选择以“G0”和“G1”开头的行并尊重长度条件。
只有2个条件工作正常(它创建一个输出文件,所以我可以确认)
我已经尝试添加如下所示的第 3 个条件,但这会检索一个空文件 - 所以我假设这不起作用(据我研究,这似乎是正确的方法)。
功能齐全:
c# - 在 C# 中计算 gcode 文件的体积
我正在尝试在我的 C# 项目中获取或计算 gcode(3D 打印)文件的体积。要阅读我正在使用这个第三方库的 gcode: https ://github.com/gradientspace/gsGCode
可惜作者还没回复。
现在,这就是我读取文件的方式:
这让我得到了所有 gcode 行的列表。
现在我需要根据这些信息计算出音量。这是我用于阅读的 gcode 文件:https ://andreas-reitberger.de/wp-content/uploads/2015/12/4x_rod_0.1mm_PET_MK3.zip
PS 我知道该卷是写在 gcode 文件的注释中的,但这不是必须的,也不可靠。谢谢,
c# - 每个 GCode 图像的 Windows 文件资源管理器预览 C#
我可以从 GCode 文件生成图像,但我不知道如何在 Windows 文件资源管理器中为每个图像添加预览。
我想实现这一点: LINK
我从来没有这样做过
PS。我正在使用 .Net C# WinForms。
谢谢先进,史蒂夫
g-code - 显示 gcode 的逐行序列的应用程序
例如,是否有任何应用程序可以从 CNC 加载 gcode,并且我可以以图形方式逐行检查 g 代码中逐行发生的情况?我的意思是像苹果斯威夫特游乐场?
python - 如何通过 USB 发送一个 gcode 命令?
我正在尝试编写一个简单的 python 脚本,将 gcode 命令发送到我的 wanhao D9 主板打印机,运行 Marlin。我在通过 USB 连接到打印机的树莓派上运行 python 脚本。
我已经阅读了 20 多个有类似问题的论坛页面,并尝试了他们的答案,例如将波特率更改为 250000 以及对写入函数参数进行以下更改:
我已经尝试了所有这些组合,并且我还添加了:
以及我文件顶部时间模块的相关导入语句。我在我的 ser 声明和我的 ser.write 函数调用之间添加了这行代码。
我也尝试过添加:
看看这是否会有所作为,但事实并非如此,因为我知道无论如何这是最佳做法。
无论我使用什么组合的这段代码,当我运行我的python脚本时,我的打印机似乎重新启动(屏幕从主页变为打开的万号徽标并返回主页)
我期待任何人就我的代码和我可能做错的事情给予我任何帮助。
python - 在 Python 中使用 re.compile 函数逐行解析 gcode 文件
我正在逐行解析一个 gcode 文件(位于 f_path 中),搜索给定的字符串。该字符串(“M622”)在整个文本文件中出现一个文本,其结构如下:
代码文件
最后,我希望代码返回找到字符串的行号。
代码
当我运行上面的代码时,我进入了一个无限循环。有什么建议么?
raspberry-pi - 如何同时发送两个不同的 g 代码指令?
我尝试使用 pi 4B 的 UART 引脚同时向 SKR V1.3 发送两个不同的 g 代码指令,以控制我的激光雷达系统的两个轮式步进电机和一个步进电机:
首先,我发送此命令以允许电机不受限制地移动:
但是,当我想同时为轮子发送这些命令时,
对于 Lidar back n' 第四动作,
它们最终不会同时被处理。它们在单独执行时工作正常,但是当我同时或一个接一个地执行它们时,只有在前一个 G 代码命令停止时才会启动下一个。有没有办法解决这个问题并同时执行 g 代码命令?