【发布时间】:2013-12-14 13:39:16
【问题描述】:
Microsoft 宣布在 Windows 8.1 中提供对 3D 打印的新支持。他们发明了一种名为 3MF 的新文件格式,用于与打印机通信。
有没有人有任何关于 3MF 文件格式的规范,甚至有任何关于它的详细信息?我对几何图形的表示方式特别感兴趣。
另外,您对 3MF 如何与现有 AMF 格式共存有任何想法吗?这两种格式是竞争还是互补?
【问题讨论】:
Microsoft 宣布在 Windows 8.1 中提供对 3D 打印的新支持。他们发明了一种名为 3MF 的新文件格式,用于与打印机通信。
有没有人有任何关于 3MF 文件格式的规范,甚至有任何关于它的详细信息?我对几何图形的表示方式特别感兴趣。
另外,您对 3MF 如何与现有 AMF 格式共存有任何想法吗?这两种格式是竞争还是互补?
【问题讨论】:
您可以在 microsoft dot com 的 ask3dprint 处索取 Microsoft 3D 打印 SDK(包括 3D 制造格式规范)。
几何的表示方式与 AMF 非常相似,格式更紧凑(字节更少)。
3MF 旨在成为 Windows 打印管道中的原生 3D 假脱机文件格式,而 AMF 不能(由于规范中的缺陷,已向 ASTM 报告)。 3MF 和 AMF 并不相同,但它们遵循相似的设计方法。由于 3MF 支持自定义元数据,因此可以将 AMF 文档转换为 3MF 格式(并返回)。
但是,3MF 不支持曲线三角形或脚本语言。无论如何,3D 打印制造商通常并没有真正使用它们。
【讨论】:
规范可以在这里下载: http://3mf.io/what-is-3mf/3mf-specification
我阅读了规范,它使用 XML 标签存储了单个网格顶点。
而且,这是有道理的:“ASCII 编码的可变精度特性比固定宽度的二进制格式具有显着优势,有助于弥补存储效率的差异。”
任何从事 Web 编码的人都知道 XML 标签会占用超过 60% 的存储空间。只需比较用于 xml 标签和有用数据的字节数。而且,它需要更多的 CPU 时间来解析。此外,以可变宽度 ASCII 存储数字仍然比固定宽度双精度 IEEE 更长。
这从本质上削弱了 3MF 处理大型网格的能力。当然,除非相关公司开发了自己的专有扩展来克服这一点。
我呼吁消费者和用户公开拒绝当前的 3MF 规范,直到 3MF 联盟修复此特定方面。修改公共规范以包含顶点/法线/索引/流的替代二进制格式部分。
【讨论】: