如何只为第一层生成gcode?

3D打印 切片3r
2021-04-30 22:57:19

由于第一层非常重要,我正在寻找一种简单的方法来生成 gcode 以仅打印第一层。我看到使用 Slic3r,您可以从 Z 中剪切但出于测试目的,我更喜欢只选择要生成的多个层,这样我就可以轻松生成具有不同第一层设置(宽度)的不同“第一层测试” ,高度,速度,流量......)我实现它的唯一方法是编辑gcode。有什么帮助吗?谢谢

2个回答

我理解你的问题是这样的:

我知道我可以切割网格并只切割模型的底部,但由于我对给定的层数感兴趣,层的高度可能会根据设置而改变(例如:0.2mm、0.1mm、0.05mm。 ..),我想找到一种方法来从完整模型生成任意数量的层。我使用 slic3r。

如果我的理解是正确的,那么你可以通过几个步骤来实现你想要的。

使用详细的 GCODE

该设置位于“打印设置 → 输出选项”下。这将输出带有注释的 gcode。

保存有效打印作业的整理 gcode

基本上,打开一个有效的 gcode 文件,并将最后几行(注释将帮助您了解哪些行,它会因打印机而异)保存在单独的文件 ( gcode.tail) 中。这些线通常是将喷嘴从打印件移开、禁用加热元件、步进器和零件冷却风扇的那些线。

准备first-lines.sh脚本

#! /usr/bin/env sh
sed -e '/move to next layer (3)/,$d' $1 > /tmp/gcode.tmp
echo ~/gcode.tail >> /tmp/gcode.tmp
echo /tmp/gcode.tmp

这个脚本的作用是:

  • 从命令行 ( $1)取一个文件名,然后gcode.tmp保存到其中的一部分,不包括说“移动到下一层 (3)”的行(您实际上应该在这里使用您真正想要的层数,3是只是一个例子)。同样,此类行的存在取决于您生成的“详细 gcode”。
  • 附加到gcode.tmp文件的内容gcode.tail(此处替换~/为您机器上的实际路径。
  • 输出为流的全部内容 gcode.tmp

将您的打印机设置为自动在生成的 gcode 上运行脚本

此设置再次位于“打印设置 → 输出选项”下。您必须输入到first-lines.sh. 还要记住使脚本可执行 ( chmod +x first-lines.sh)。

您还可以将鼠标悬停在文本框上以获取有关如何访问 slic3r 变量的其他信息(例如,您可能希望从设置中读取图层高度并在脚本中计算要保留的图层数)。

利润

:)

最后说明:

  • 我尝试了 sed 命令并自己在我的 gcode 上运行了后处理脚本,所以它应该可以工作,但我自己还没有尝试过完整的程序,如果您遇到错误,请发表评论,以便我可以为每个人修复答案。:)
  • 我使用 slic3r Prusa Edition(我相信这些设置是相同的,但以防万一……您可能希望下载该版本。
  • 以上所有内容都应该在所有主流 Linux 发行版和 OSX 上开箱即用。对于 windows,已经在评论中建议安装CygWin
  • 由于此过程仍然对完整模型进行切片,然后将其大部分丢弃,因此您可以通过仅对模型的相当厚的“底部”进行切片来使其更快。例如:假设您知道您永远不想打印超过 5 层,并且层高永远不会超过 0.3 毫米……在这种情况下,您只能保留模型底部 2 毫米,这样对所有人都是安全的层和层高的其他组合。不过,不要精确地保持1.5 毫米,因为这可能会生成与完整模型中的顶层不同的顶层。

祝你好运!:)

你可以在第 1 层的末尾插入一个 M30,工作就会在那里结束。