在计算中使用 Gcode 挤出速度

3D打印 挤压 简化3d 多材料 撤回
2021-04-28 00:04:02

我有一台 Rostock Max V2,我在打印机上的单个喷嘴中添加了第二台挤出机,该挤出机进入 Y 型分流器。我的两台挤出机都正常工作,但是在打印期间在挤出机之间切换时,我无法调整回缩设置以防止拉线。我的系统与此处看到的设置基本相同但是,我无法让我的打印机像视频中的一样干净地缩回

我试图避免的是从热端收回灯丝时形成的又长又细的“尾巴”。在转换过程中,“尾巴”将另一根细丝结合在一起,并使挤出机在细丝上磨出一个空心点。

我在调整回缩设置方面取得的成功有限,但我发现我需要针对不同的挤出速度进行不同的设置。例如,像挤压后G1 E20 F240采用3mm回缩的3mm挤出,然后快速离开创建了一个很好,一刀两断(建议这个程序在这里通过kraeger在SeeMeCNC论坛)。但是,在像G1 E20 F900我这样的挤压之后,必须使用更长的缩回才能彻底休息。我认为这可能与在鲍登管内起到弹簧作用的灯丝有关。对我来说,你推动灯丝越用力,你就越需要向后拉以补偿被压抑的弹簧力。

这是我的问题:有没有办法读取挤压速度的值,本质上是 gcode 命令中的“F”项,并相应地更改我的收回程序。

示例伪代码:

If F value < 500 Then do short retraction
If F value > 500 AND F value < 1000 Then do medium retraction
If F value > 1000 Then do long retraction

我正在使用 Simplify3D 中的刀具更换脚本功能来存储刀具更换代码。

1个回答

我认为您不会找到专门处理您想做的事情的固件功能或切片器功能。切片器可能是放置它的最佳位置,我建议您使用 Ultimaker 打开功能请求票,因为这听起来像是一个很棒的功能。

话虽如此,没有什么可以阻止您在生成 GCode 文件后对其进行后期处理。如果您对 Python 完全有经验,那么我建议您从这里开始。

您可能希望通过以下方式做到这一点:

  1. 找到进行撤回的第一个行号。
  2. 总结该线与起点(文件开头)之间的所有挤压距离
  3. 用您的短/中/长退刀设置替换退刀距离和进给率
  4. 将该行号存储为您的新起点
  5. 转到 1。

如果您使用的是 Slic3r,实际上应用程序本身内置了一个后处理脚本功能,您只需要编写脚本并将其提供给应用程序即可使整个过程无需干预。对于其他切片器,您可能只需要在切片和打印之间手动运行脚本。