3MF Consortium formed to develop new 3D printing file format
May 05, 2015 by CGP Staff
2
|
Seven companies in the 3D printing sector launched the 3MF Consortium. The new group is dedicated to developing a 3D Manufacturing Format (3MF) standard specification that will allow applications to send 3D models to a mix of other applications, platforms, services and printers. The 3MF specification eliminates problems associated with currently available file formats, such as STL, which was designed in 1989. The first version of the specification is available now for download. More on the the 3MF Consortium’s website.
The spec can be downloaded here: http://3mf.io/what-is-3mf/3mf-specification
I read the spec, and it stores individual mesh vertices with XML tags.
And, this is justified as follows: “The variable-precision nature of ASCII encoding is a significant advantage over fixed-width binary formats, and helps make up the difference in storage efficiency.”
Anyone doing web coding knows that XML tags can eat up >60% of storage space. Just compare the number of bytes used for xml tags vs useful data. And, it requires more CPU time to parse. In addition, storing digits in variable-width ASCII is still longer in bytes than fixed-width double precision IEEE.
This essentially cripples 3MF for handling large meshes.. Unless of course, the companies involved develop their own proprietary extension that overcomes this.
I make a call for consumers and users to openly reject the current 3MF spec until the 3MF consortium fixes this particular aspect. Modify the public spec to include an alternative binary format section for vertex / normal / index/ streaming.
I agree that xml is a poor choice for 3d in constrained environments, this is one of the reasons that collada didn’t take off, as well as VRML. A binary format isn’t necessary to fix that aspect, however.
For a 3D printing device, the imprecision of floating point could create some big headaches and raise costs of these devices.
Now, we could split the difference with something like OpenGEX, an open source 3D format specification designed for 3 games. Two specifications came out of that project, Open Game Engine eXchange, and Open Data Description Language, which is a superset of OpenGEX for use in specialized applications. Both are Ascii based formats.
If we mandated all the files as UTF-8 or UTF-16, we could do a cool little trick, by essentially encoding each UCS code point as a number, which would give us small file sizes, as well as support for multiple languages.
This would get my vote.
http://openddl.org/
http://en.wikipedia.org/wiki/Open_Data_Description_Language
http://opengex.org/
http://en.wikipedia.org/wiki/Open_Game_Engine_Exchange