将 STL 导出为 ASCII 还是二进制?
这两种格式包含关于模型的相同信息,但二进制格式更紧凑,因此它会从同一部分生成更小的文件,但它们的工作方式应该相同。也就是说,如果采用完全相同的模型,将其另存为二进制 STL 和 ASCII STL,则二进制 STL 文件在磁盘上占用的字节数会更少。三角形的数量和打印模型的尺寸将保持不变。
这里有几个重要的例外:
我不具体了解 Meshmixer,但有些工具将具有完全不同的代码路径来导出这两种格式。一个出口商可能有另一个出口商没有的错误。切片器也是如此,它可能会在读取两种 STL 中的一种时出现错误,但不会读取另一种。在这种情况下,您使用哪一个会产生巨大的差异,但您只会在出现问题时发现。这就是 fred_dot_u 在他的回答中所经历的。
某些工具可以将颜色信息放入二进制 STL 格式,而 ASCII 格式则无法做到这一点。如果您的模型有彩色三角形,您可能会发现二进制 STL 会保留颜色,而 ASCII STL 会丢失颜色。这对您是否重要取决于您将使用哪种打印技术。大多数切片器无论如何都不能使用这些颜色 - 随后,在导入时忽略颜色信息。
ASCII STL 格式比二进制格式更古老,因此您可能会发现一些非常老的软件只能理解 ASCII STL 文件,但除非您使用此类旧软件,否则通常最好使用二进制格式。较小的文件不仅可以节省磁盘空间:它们还可以更快地通过电子邮件或服务器进行处理和传输。
您应该始终选择二元选项。ASCII 文件较大且保存和加载速度较慢。除非您使用与二进制文件不兼容的软件,否则没有理由使用 ASCII。
保存时选择的格式会影响最终模型吗?
在实践中,模型不会受到任何一种选择的影响。两种格式之间存在一些细微差别,例如二进制能够存储每个三角形的属性(有时用于表示颜色),ASCII 能够在文件中存储实体的“名称”,而二进制可以存储包含元数据的 80 字节标头,二进制限制为 32 位精度,而 ASCII 理论上可以选择使用任意精度。但是,对于 99.9% 的所有用例没有区别,因此最好使用二进制文件,因为它的文件大小较小。
在使用二进制导出的 Meshmixer 模型时,我有时会遇到问题。使用的切片器是 Simplify3D 和 Prusa Slicer 2.0,可能还有更早的版本。除了更改该特定模型以导出到 ASCII 然后解决问题之外,我没有尝试解决该问题。ASCII 文件会更大,但在我看来,这不是一个重要因素。
如果您使用的程序无法正确处理二进制导出,那么以 ASCII 格式覆盖模型就足够简单了。
该线程上的其他答案似乎有点笨拙,所以我会给出我的意见。
简而言之,我们在这里处理的只是对相同数据进行编码的两种不同格式。3D 文件是相同的,只是文件数据用不同的术语来描述。
话虽如此,3D 打印失败的原因有很多。Fusion 360 因圆角、放样、平滑曲线类型图案或相交平面而存在切片器问题而臭名昭著。
二进制是一种较小的编码。它几乎总是对我有用。ASCII 从来没有让我失望过作为二进制文件的备份。