为什么 Cura 在 G1 命令之间插入 G0 命令而 Slic3r 没有?

3D打印 切片 ultimaker-cura 切片3r
2021-05-22 12:59:55

在查看 G 代码时,我想知道为什么 Cura 每隔一行在 G1 命令之间插入 G0 命令,如下所示:

G1 F2400 X144.612 Y130.187 E1652.56358
G0 F6000 X144.612 Y129.621
G1 F2400 X72.905 Y57.914 E1654.16570
G0 F6000 X73.471 Y57.914
G1 F2400 X144.612 Y129.056 E1655.75518
G0 F6000 X144.612 Y128.490
G1 F2400 X74.036 Y57.914 E1657.33203
G0 F6000 X74.602 Y57.914
G1 F2400 X144.612 Y127.924 E1658.89623
G0 F6000 X144.612 Y127.359

看起来它想移动到下一个挤压稍微偏移的起始位置。我不明白为什么。结果它想要有感人的线条,不是吗?

我确实认为这在填充情况下是有意义的 - 此部分称为“类型:皮肤”。没有这个, slic3r 如何摆脱填充?

我正确读取 slic3r gcode 以使用 G1 而不是 G0 命令吗?

1个回答

形式上,G0 是快速移动,G1 是协调移动。G1 将使打印头从开始位置到结束位置沿直线移动,而 G0 允许打印头沿任何曲线移动,只要它以目标位置结束即可。由于加速和减速限制,有时沿曲线移动比沿直线移动更快。

但是,我认为实际上没有任何固件实现这一点,并且 G0 的行为方式与 G1 完全相同。

您发布的那段 G 代码正在创建一个实心填充,它由一堆平行线组成,每条线与下一条线略有偏移:

G 代码渲染的部分,显示实心填充的平行线。

当材料从一条线移动到另一条线时,没有材料被挤出是有道理的,否则太多的材料会沉积在边缘。