指南
二进制与 ASCII:OBJ转STL 的格式
更新 · 仅网格 OBJ 到 STL
二进制 STL 更小,对大多数切片软件更实用;ASCII 便于查看和对比差异。比较之后,再私下 OBJ转STL。
STL 要么是紧凑的二进制,要么是冗长的文本。三角形可以相同。文件不会相同。打印流程的下一个应用是切片软件,而切片软件是为紧凑形式做的,所以除非你勾选 ASCII,这个转换写的是二进制。
二进制存什么
二进制 STL 以 80 字节的文件头开始,多数工具会忽略它,然后是三角形数量,然后每个三角形是一条法线和三个角点,用小端数字表示,再加上通常为零的 2 字节属性。没有材质,没有切片软件会依赖的物体名,也没有单位。单位规则和其他任何 STL 一样:数字是我们缩放到的样子,切片软件会把它们叫做毫米。
二进制文件随三角形数量大致成直线增长。12 个三角形的立方体是几百字节。几十万三角形的雕刻,仍然比同样的数据写成文字小得多。这就是下载和切片软件导入感觉更快的原因,也是默认用二进制的原因,尽管 ASCII 在白板上更好讲。
ASCII 存什么
ASCII STL 是文本。你会看到 solid,然后是 facet normal,一个外环,三行 vertex,以及 endsolid。你可以在编辑器里打开并读坐标。追缩放错误时这确实有用:搜一个顶点,看你以为在 40 的角是不是停在 0.04 或 40000。用它来传递密的网格则很差。文件大,写得慢,如果程序用会把小数点换成逗号的区域设置重写文本,也容易损坏。
ASCII 不会保留 MTL 数据,也不会让网格变成流形。它不是 OBJ 那种“源”格式。想当网格编辑的东西,留着 OBJ。想当文本瞥一眼,ASCII STL 够看几片面,用来装整个角色就很痛苦。
下载哪一种
给 Bambu Studio、UltiMaker Cura 和 PrusaSlicer 用二进制。教学工具、差异对比或你自己的眼睛需要文本时,或者你在追单位错误、要确认一个坐标时,用 ASCII。同一个 OBJ 可以转换两次。三角形数量应该一致。如果单位、缩放、轴和热床选项一致,包围盒也应该一致。如果那些设置不同,文件不同是因为几何不同,不是因为其中一个是二进制。
二进制文件的文件头不是存放你所选单位的可靠地方。不要依赖它。要紧的检查是转换上的包围盒,以及切片软件报告的尺寸。毫米与米 是讲缩放的文章。什么是 STL 是这次比较底下的格式入门。
打包方式不改变隐私。二进制和 ASCII 都在 Worker 里生成,并保存为本机的 Blob。不会为了做出另一种而上传另一种。如果文件打不开,检查你是不是把 ASCII 文件改了名,却指望二进制解析器,或者相反。两种的扩展名都是 .stl。拿不准时,再导出一次二进制,让切片软件读那份新文件。
问题
ASCII 会印得更准吗?
不会。精度来自网格和单位缩放,不来自把数字拼成文字。ASCII 和二进制可以描述同样的角点。二进制更小。
什么时候打开 ASCII?
想在文本编辑器里打开 STL、读几片面的时候,或者很老的工具拒绝二进制的时候。给 Bambu Studio、Cura 和 PrusaSlicer 时,保持二进制。
二进制会藏起坏网格吗?
不会。洞和翻面都在三角形里,两种格式都一样。二进制只是一种打包方式。