评论
感谢您的提示和分析。 G1 移动是模态的,因此一系列 G1 的顺序只需要在第一行有一个 G1。但是G1移动需要一个移动距离。“G1 S1”将无效。“G1 X0.1 S0”(相同位置)之后的“G1 X0.1 S1”也不正确,最终只会产生激光脉冲(取决于固件速度)。 光栅操作为每个像素创建具有工具直径长度的线。使用“join pixels”,所有没有间隙的线都应该采用线的第一个和最后一个点,并删除所有中间点。所以看起来我们在连接像素中有一个错误。 |
noJoin gcode 在我看来也是错误的,因为 G1 移动的长度为零。我想知道为什么它会起作用。需要再调查一些。 |
零长度G1无效吗?我认为这是燃烧与激光直径精确大小的点的唯一方法。唯一不受控制的是下一个 G1 发生之前激光脉冲的持续时间。下次我在当地的创客空间时,我会验证它是否真的会燃烧积分。 至于为什么会有零宽的G1:貌似是
我认为一个可能的解决方法是 |
我今天必须进行一些测试。结果如你所料。无论功率如何,零宽度移动都不会产生任何结果。我什至尝试了一个零宽度移动 ( |
在未启用“详细 GCode”的情况下使用“加入像素”会导致不正确的结果。如果比较文件 1、2 和 3,您会发现文件 1 和 2 在功能上是相同的,但是文件 3 将导致……什么都没有。一般来说,问题是任何一系列烧伤点中的第一个点都被剥离了。当图像主要是单个点时(例如,启用抖动选项时),会去除大量点。
据我所知,根本原因在于
_command
和postProcessing
。_command
正在剥离当前命令和上一个命令之间的所有公共值,这导致剥离无效的裸S
命令。 一个建议的修复方法是防止删除元素,另一个建议是在 bare命令前面加上 a 。postProcessing
_command
G
postProcessing
G1
S
相关文件:
1_noJoin_Verbose.txt
2_Join_Verbose.txt
3_Join_noVerbose.txt
vertical_bars.png
workspace.json.txt