在打印结束时将打印床移到前面而不是后面

3D打印 ultimaker-cura g代码
2021-05-18 11:42:01

我有一台 Monoprice Maker Select Plus,目前使用 Ultimaker Cura 3.6.0 和万豪复印机 i3 Plus 的默认设置。现在,当打印完成时,床会退回到机器的后面。我宁愿把床放在前面,以便于拆卸零件。

这是我的结尾 G 代码:

M104 S0 ;挤出机加热器关闭 
G91 ;相对定位
G1 E-1 F300 ;在抬起喷嘴之前将灯丝缩回一点,以释放一些压力
G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;将Z向上移动一点并进一步缩回灯丝
G28 X0 Y0 ;移动 X/Y 到最小限位器,所以头部不碍事
M84 ;步进器关闭
G90 ;绝对定位

看起来我需要更改G28从底部算起的第三行,但我不确定要将其更改为什么。我还没有做过任何我自己的 g 代码操作。我不知道它使用的是什么单位,看起来它仍然具有相对定位,所以即使那样我也不知道将它设置为床的最大尺寸是个好主意。

那么如何更改此代码以根据需要移动床?

2个回答

请注意,该参考文献指出:

由于 的行为G28未指定,建议不要自动包含G28在您的结尾 GCode 中在笛卡尔坐标系中,这将导致损坏打印对象。如果您需要在打印完成后移动笔架,请使用G0G1

所以你需要使用一个G0G1移动。

使用 Ultimaker Cura 时(与许多其他切片器一样),有称为关键字的内置功能,可在此处找到完整列表

关键字machine_depth是对您有用的关键字,将其嵌入到大括号之间的最后 G 代码中,它将扩展到您机器的床尺寸(替换G28 X0 Y0):

G1 X0 Y{machine_depth}

对我来说,这编译为(例如,对于我的 coreXY 打印机):

G1 X0 Y300

要设置速度,只需在上述命令之前添加以下命令:

G1 F2500

在实际移动之前添加此行可确保速度恒定,如果F2500已包含在移动命令中(如G1 X0 Y{machine_depth} F2500),这定义了结束速度,它将以移动前的最后一个速度值开始移动。

这会导致在您的尾注中添加以下几行:

G1 F2500
G1 X0 Y{machine_depth}

应该更改 G28 线是正确的。我会做的是以下内容:

M104 S0 ;extruder heater off 
G91 ;relative positioning
G1 E-1 F300  ;retract the filament a bit before lifting the nozzle, to release some of the pressure
G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more
G28 X0 ;move X to min endstop, so the head is out of the way
G90 ;absolute positioning
G1 Y200 ;Move bed forward
M84 ;steppers off

这样,您的 X 轴在 Z 向上颠簸之后和 Y 移动以呈现打印之前仍然归位。

G28 是打印头归位命令。您当前的设置位于 X 轴和 Y 轴。G1是直线运动。G-Code 中这一变化的一个警告是,在您的打印开始时需要有一个 home 命令,因为您之后不再归位。(我相信大多数切片机在打印的开始和结束时默认使用 G28,因此这不是主要问题,但现在要小心以防万一。)