为什么我的打印机的喷嘴会钻进我的打印件中?

3D打印 g代码 创造者-3
2021-05-01 09:10:34

我刚刚在我的 Ender-3 上完成了我的第一次打印,当打印完成时,喷嘴没有提升自己以远离工件。我看着喷嘴慢慢地降低到我的打印件中并摧毁它。这是使用的 Slic3r 生成的 gcode:

; 灯丝特定的末端 gcode
G4; 等待
M221 S100
M106 S0 ; 关闭冷却风扇
M104 S0 ; 关闭挤出机
M140 S0 ; 关掉床
G91
G1 F1800 E-3
G90
G1 Z{z_offset+min(layer_z+30, max_print_height)}{endif} ; 向上移动打印头
G28 X0 ; 主页 x 和 y 轴
G1 Y180;删除打印位置
M84; 禁用电机
M300 S2600 P100;
; 使用的灯丝 = 24040.5mm (57.8cm3)
; 总长丝成本 = 0.0

破坏的预览

3个回答

在结束代码中使用了不正确的命令,用于与打印头升高有关的不正确工具

Slic3r 不知道最大打印机高度(如变量max_print_height),因为没有输入字段来指定 this,如以下部分屏幕截图所示:

Slic3r 打印区域设置

但是,在 Slic3r PE(Prusa 版)中,可以输入这样的值,如下面的部分屏幕截图所示:

Slic3r PE 打印量设置

请注意,在两个版本中,按下Bed shape时界面是等效的Set...Slic3r 和 Slic3r PE 床区设置

要使用头部抬高,考虑到最大打印高度,在Slic3r PE 中,您需要添加以下行:

{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+60, max_print_height)}{endif}

这将在Slic3r PE 中解析得很好,但在Slic3r 中无法解析max_print_height未知)。

如果要在Slic3r 中使用这样的命令,需要输入(对于最大打印高度为 240 mm 的打印机):

G1 Z{[z_offset]+min([layer_z]+3, 240)}

导致 20x20x20 mm 校准立方体的 Slic3r 为零z_offset

G1 Z23

您的打印结束代码应该读取类似于以下内容的内容:

; Filament sy end gcode
G4 ; wait
M221 S100
M106 S0 ; turn off cooling fan
M104 S0 ; turn off extruder
M140 S0 ; turn off bed

; End code
G1 F1800 E-3 ; retract 3 mm
G1 Z30 ; Move print head up 30mm
G28 X0 ; home x and y axis
M84 ; disable motors
M300 S2600 P100; Beep

与您的最终代码的问题是G90绝对测量与配方一起G1 Z{z_offset+min(layer_z+30, max_print_height)}{endif}设置的高度。打印机本身不计算任何东西。它没有解释的东西,它忽略了,将整个事情解释为某种疯狂的东西,例如G1 Z30强迫打印机在绝对值 0 以上绝对 30 毫米。要修复它,您的切片机需要{z_offset+min(layer_z+30, max_print_height)}为打印机进行计算- 这似乎是出现在打印上方 30 毫米处,然后是一个不在任何地方开始的 if 语句。

通过留在原地G91 ; relative measurements并要求G1 Z30再增加 30 毫米,可以更容易地增加 30 毫米,尽管这对于打印机框架来说可能太高了。

几年前,同样的事情发生在我身上。我的打印件对于我的 delta 打印机来说是一个相当高的部分,大约 220 毫米。在以前的很多打印中,打印头在完成后总是会上升,但我不知道的是,Slic3r 完成打印例程指定了大约 200 毫米的绝对 Z 高度。当较高的部分完成后,仍然很热的打印头向下移动并破坏了打印件的顶部。

在确定该例程具有绝对参考后,我将其替换为向上 20 毫米的相对运动。从那以后它运行良好。一个简单的修复。