我正在尝试添加该行
G4 P4000 G1 F4000 E-50
暂停和收回打印,以使打印的线条变干(在空中垂直打印)。上面的代码是否有效,或者我应该跳过几行还是根本无关紧要?
G4 P4000
G1 F4000 E-50
以下行会做完全相同的事情吗?
G4 P5000 E-50
我正在尝试添加该行
G4 P4000 G1 F4000 E-50
暂停和收回打印,以使打印的线条变干(在空中垂直打印)。上面的代码是否有效,或者我应该跳过几行还是根本无关紧要?
G4 P4000
G1 F4000 E-50
以下行会做完全相同的事情吗?
G4 P5000 E-50
是的,G 代码是逐行读取的。G-code 是一种数控编程语言。它基本上逐行指示机器执行特定任务。打印机然后逐行执行直到到达末尾。
如果您指示打印机等待(G4
停顿),它将首先执行等待/停顿,然后执行下一个命令以收回灯丝。因此,如果您想在暂停期间收回灯丝,您的示例将不起作用,如果您想实现这一点,您可以反转该过程。
要添加暂停(简单),例如更换灯丝,您应该指示头部移动到某个位置,取出灯丝,然后插入 pause/dwell 命令。给自己足够的时间来插入和灌注喷嘴,然后返回上一个位置继续打印。
您可以插入类似的内容(例如,在图层更改之间,之前G1 Zx.xx
):
...
G1 X0 Y0 F2000 ; Relocate the print head
G1 F4000 E-50 ; Retract filament
G4 P40000 ; Wait for 40 seconds
G92 E50 ; The new filament should continue at this value
...
G1 Zx.xx
根据之后发生的情况G1 Zx.xx
,您可能需要将头部设置回之前的位置G1 X0 Y0 F2000
。
请注意,有可用于 Ultimaker Cura 等的暂停脚本/插件,还有M600
可以为某些固件启用的灯丝更换命令(如果这是您的最终目标)。
使用 Ultimaker Cura 的后期处理插件,暂停脚本如下所示:
... G0 X137.692 Y105 ;TIME_ELAPSED:707.873599 ;TYPE:CUSTOM;通过后处理添加代码 ;脚本:PauseAtHeight.py ;当前 z: 5 ;当前高度:5.0 M83 G1 F300 Z6 G1 F9000 X190 Y190 G1 F300 Z15 M104 S0; 待机温度 M0;做实际暂停 M109 S200;恢复温度 G1 F300 Z6 G1 F9000 X133.423 Y105 G1 F9000 M82 G92 E911.50045 ;层数:24 G0 X137.692 Y105 Z5 ...
请注意,G0
和G1
是“移动到”位置指令(尽管通过不同的方式,分别是快速移动和线性移动)。如果仔细观察,您会看到暂停后,打印机返回到暂停前离开的 XY 位置 ( X137.692 Y105
)。
旁注:
某些固件版本允许缓冲,但每个语句都是按顺序执行的。
这需要像你的第二个例子一样在两行上:
G4 P4000
G1 F4000 E-50
有关更多信息,请参阅 RepRap Gcode Wiki。https://reprap.org/wiki/G-code
编辑:如果你真的想收回然后暂停,反转它:
G1 F4000 E-50
G4 P4000