跳转至

切片软件

本文档提供了与 Klipper 一起使用的一些切片软件配置技巧。 Klipper 常用的切片软件有 Slic3r、Cura、Simplify3D 等。

将 G-Code 风格设置为 Marlin

很多切片软件可以设置“G代码风格”选项。Klipper支持通常默认的“Marlin”;Klipper 也兼容“Smoothieware”风格。

Klipper gcode_macro

切片软件通常可以配置一个"开始G代码 "(Start G-Code)和 "结束G代码 "(End G-Code)序列。但在 Klipper 配置文件中定义自定义宏通常更简便,例如:[gcode_macro START_PRINT][gcode_macro END_PRINT] 。然后就可以在切片软件的配置中使用 START_PRINT 和 END_PRINT 。在 Klipper 的配置中定义这些动作可能会简化打印机的开始和结束步骤的配置,因为修改不需要重新切片。

参见sample-macros.cfg中的示例 START_PRINT 和END_PRINT 宏。

参见配置参考中关于定义 gcode_macro 的细节。

大的回抽值可能意味着需要调优 Klipper

在Klipper中,回抽的最大速度和加速度由 max_extrude_only_velocitymax_extrude_only_accel 参数控制。在大多数打印机上这些参数的默认值应该能很好地工作。然而,如果切片软件中配置了一个大的回抽值(例如,5毫米或更大),可能会发现期望的回抽速度受到了限制。

如果你正在使用一个大的回抽值,考虑调优 Klipper 的提前压力来代替。否则你可能会发现打印头在回抽和启动时暂停,此时可以考虑在 Klipper 配置文件中设置max_extrude_only_velocitymax_extrude_only_accel参数来解决这个问题。

不要启用“滑行(coasting)”

和Klipper 一起使用“滑行(coasting)”功能可能会导致打印质量不佳。考虑使用 Klipper 的提前压力功能替代。

具体来说,如果切片软件在移动之间大幅改变挤出率,那么 Klipper 将在移动之间进行减速和加速。这更可能会造成更多的挤出颗粒(blobbing),而不是更少。

相反,使用切片软件的"回抽"、"擦拭 "和/或 "缩回时擦拭 "设置通常是有益的。

不要在 Simplify3d 上使用“额外重启距离(extra restart distance)”

这个设置会导致挤出速度的剧烈变化,从而触发 Klipper 的最大挤出截面检查。考虑使用 Klipper 的提前或 Simplify3d 的常规回抽设置来代替。

在 KISSlicer 上禁用“PreloadVE”

如果使用 KISSlicer 切片软件,那么需要把 "PreloadVE "设为0并考虑使用Klipper的提前压力代替。

禁用任何"提前挤出压力"的设置

一些切片软件宣传有 "高级挤出机压力调整 "的功能。建议在使用 Klipper 时禁用这些功能,因为它们很可能会降低打印质量。考虑使用 Klipper 的压力提前代替。

具体来说,这些切片软件的设置生成的命令会固件对挤出率进行剧烈的改变,希望固件能接近这些请求值,使打印机获得一个大致理想的挤出机压力。然而,Klipper利用精确的运动学计算和计时。当Klipper被命令对挤出率进行重大改变时,它将计划出速度、加速度和挤出机运动的相应变化--这不是切片软件的意图。切片软件甚至可能产生过大的挤出速度,以至于触发Klipper的最大挤出截面检查。

相反,使用切片软件的"回抽"、"擦拭 "和/或 "缩回时擦拭 "设置通常是有益的。

START_PRINT宏

当使用START_PRINT宏或类似的宏时,也可以将切片变量的参数传递给宏。

在 Cura 中,要传递温度参数,使用以下开始G代码:

START_PRINT BED_TEMP={material_bed_temperature_layer_0} EXTRUDER_TEMP={material_print_temperature_layer_0}

在PrusaSlicer和SuperSlicer等sli3er衍生版本中,使用以下G代码:

START_PRINT EXTRUDER_TEMP=[first_layer_temperature] BED_TEMP=[first_layer_bed_temperature]

还要注意,当某些条件不满足时,这些切片软件会插入自己的加热代码。在Cura中,存在{material_bed_temperature_layer_0}{material_print_temperature_layer_0}这两个变量就足够了。在slic3r衍生品中,你需要使用:

M140 S0
M104 S0

在宏调用之前。还要注意的是,SuperSlicer有一个 "仅包含定制G代码"的按钮选项,可以达到同样的效果。

在config/sample-macros.cfg中可以找到一个使用这些参数的START_PRINT宏的例子

回到页面顶部