Communicating Additive Design Data & Lessons from Electronic Music.
The importance of a common interface file format for additive manufacturing
As additive manufacturing matures, the way we communicate design and manufacturing data from software to machines also needs to mature. While the file formats developed at the emergence of rapid prototyping such as the STL (1987) and the CLI (1994) were sufficient to communicate the relatively simple geometries engineers were ‘prototyping’, they are far from adequate for communicating the more complex designs possible today and in the future.
Prior to the development of the STL and CLI formats, there was a dissimilar problem with electronic music instruments that was solved with the MIDI format also in the 80s, that could help guide us in how to think about how to solve the problem of communicating design intent, and frame the way we think about the 3MF format as the solution.
What is MIDI?
In 1981, a group of representatives from synthesizer companies including Roland, Yamaha, Korg, Kawai, and Sequential Circuits convened to discuss how they might be able to adopt a Universal Synthesizer Interface proposed in a paper at an Audio Engineering Society conference. One year later (yes, one year) the Musical Instrument Digital Interface (MIDI) was announced by Robert Moog in Keyboard Magazine and the first analog musical instrument shipped in December of that same year.
Prior to MIDI, there was no standard way for an electronic musical instrument to communicate with each other, with various options such as CV/gate, DIN sync and Digital Control Bus that may or may not sync, making it very difficult to use instruments from different manufacturers together, limiting the growth of the electronic music industry.
The MIDI spec standardized the interface between both digital and analog (this is important) musical instruments, allowing them to sync and control each other, along with a very small digital file format that could be used to sequence not only the notes played, and the timing of tempo clocks, but also 16 channels for instruments, 127 channels of information each with potential 127 parameters for each of those channels.
Since the advent of MIDI, almost every single electronic musical instrument manufactured has adopted the spec. (Apart from some modular analog systems that would give any manufacturing engineer an embolism)
With the ubiquitous adoption of MIDI, electronic musical instruments have become implemented in most of the popular music produced since the early 80s, due in part to the ease of adoption and ability to apply a repeatable, reliable way to control instruments from all manufacturers.
Whether you think that the overwhelming adoption of electronic music is a good or bad thing aesthetically is up for interpretation, but the fact that a common interface file format is critical to adoption is not.
The other important thing to note is that MIDI is a digital control format, it contains no sound, no digital waveforms, and it can control both digital and analog instruments.
Is MIDI 100% perfect? No.
Is MIDI 100% reliable? Hmmm, nope.
Is MIDI sometimes glitchy and can stall completely? Absolutely. Some devices have a panic button that resets everything.
What is 3MF?
The 3D Manufacturing Format (3MF) is a standard file format developed for additive manufacturing by a consortium of software and manufacturing companies in the additive manufacturing space including Autodesk, HP, 3D Systems, Microsoft, Dassault Systems, EOS, GE, Hexagon, FIT, Materialise, nTopology, Prusa, PTC, Siemens, SLM and Stratasys, Ultimaker and Viaccess-Orca.
It enables design software to describe more than just geometry with extensions capable of communicating other data such as material properties, volumetric information, discretization into slice data, lattice structures and is also extensible so that any other relevant data can be embedded in a light weight file.
From the 3MF consortium site.
The 3D Manufacturing Format (3MF) is a 3D printing format that allows design applications to send full-fidelity 3D models to a mix of other applications, platforms, services and printers. The 3MF specification allows companies to focus on innovation, rather than on basic interoperability issues, and it is engineered to avoid the problems associated with other 3D file formats. The 3MF Consortium came into being to deliver to the additive manufacturing industry a file format that is:
Complete: Containing all of the necessary model, material and property information in a single archive
Human Readable: Using common structures such as OPC, ZIP, and XML to ease development
Simple: A short, clear specification, making development easy and validation fast
Extensible: Leveraging XML namespaces allow for both public and private extensions while maintaining compatibility
Unambiguous: Clear language and conformance tests ensure a file is always consistent from digital to physical
Free: Access to and implementation of the 3MF specification is and will always be free of royalties, patents and licensing
The specification and libraries for 3MF is open source and available via Github, including code for easy implementation in windows, OSX and Linux.
Will 3MF be the only solution for every situation? No, just as some electronic music instruments have other communications systems that augment MIDI with data unique to their machines and software, but by adopting a common interface for sending design intent to manufacture we can possibly cover the majority of scenarios just as many people are forced to attempt to do with the STL file today.
Around 2010 there was another push for a unified additive manufacturing file format to solve some of the same issues 3MF aspires to address called AMF (Additive Manufacturing File Format).
There was some adoption from a few CAD software vendors but there seems to be a lack of momentum, the original AMF site seems to only be accessible as an archive via wayback machine.
Ad Hoc Integrations.
Ad hoc integrations are not always bad, if they create enough value for enough customers (or a very valuable customer) it can be worth the effort for both software and hardware vendors.
If specified and executed correctly, with close communication with the end users, it can create an incredibly powerful automated solution for the designers and manufacturing engineers, saving them time swapping between software stacks with the chance for data loss and errors.
An interesting collaboration between Parameters and Covestro is an example of another way of communicating manufacturing data is to go as far as to produce the FDM tool-pathing driven by their simulation.
The results are impressive with a very tight integration between the engineering software and the manufacturing process, but it would be difficult to build a business case to scale this effort to multiple manufacturing platforms.
Why Adopt 3MF?
For software and hardware companies, implementing the 3MF format can lead to a reduction in effort in interoperability between software stacks.
Unlike a musician or recording engineer using MIDI, a manufacturing engineer may not need to send data to multiple machines simultaneously in synch, but they are 100% likely to need to send data to multiple machines from multiple pieces of software.
The effort and cost on a software team to implement bespoke solutions to multiple machines can be incredibly painful, time consuming and expensive.
Even though multiple hardware companies do currently accept STL and CLI files, the implementation of the spec is almost always different, with some home grown alterations. Some hardware companies no longer even have a written spec to the modifications they have made to their own implementation making it actually impossible to transfer files to their machines from any software but their own.
The format unlocks functionality in machines and the ability to communicate more than just discretized geometry that is otherwise impossible, or very very fragile, hacky and unscalable.
Whether using the volumetric extension to communicate the allocation of machine parameters to modify material properties, multiple materials or just color, the lattice extension to communicate extremely complex lattice structures that would be impossible to discretize to a mesh representation, or the slice extension to send layer by layer information similar to the CLI file, or all of the above simultaneously, all in the same file structure.
I personally have not written code for the implementation of interoperability between software stacks for manufacturing so I cannot go deep in the weeds on the elegance of the 3MF data structure or if there is something I am missing.
I have been involved on the business side, project managing the relationship between software and hardware vendors, including many on the 3MF consortium, and defer to their expertise on the development of the format.
Why Use 3MF
Anyone who has tried to send a geometry to a 3D printer, be it a desktop polymer system or an industrial metal system, is likely to have experienced the pain of a corrupted STL mesh, with inverted normals, floating triangles and, well, no fixed unit of scale.
The lowest possible baseline improvement from the STL is that all 3MF ‘mesh’ aspects are watertight and the file size is typically 1/3 that of the same STL file.
When communicating complex lattice structures, a mesh of even a small component can quickly blow out to be gigabytes of data that can choke build preparation software and absolutely crash a machine.
By adopting the 3MF lattice extension the file size can be orders of magnitude smaller with greater geometrical accuracy than a mesh representation.
The ability to define not just the geometry, but also the material properties as multi-objective optimization software such as Additive Flow matures, it is critical to be able to communicate the change in machine parameters, material properties and/or alignment.
Only with a volumetric file format such as 3MF is this really possible in a scalable, repeatable manner.
Scaling Ubiquitous Adoption
Next time you go to send a file to print and you grit your teeth to export that STL, check to see if 3MF is an export option.
You have nothing to lose but file size and possibly hours of mesh repair.
The more that people use the 3MF formats and request them from their vendors, the sooner we can make 3MF in additive manufacturing as ubiquitous as MIDI is in electronic music unless you want to be like the guy with a mess of patch cables with an unrepeatable, experimental process where ‘mistakes are magic’.
You can find a list of supported software, hardware and services on the 3MF site.
If you are part of a software or hardware company who has not yet adopted 3MF, reach out to the 3MF consortium if you need any help with adoption.
Disclaimer: I currently volunteer to the 3MF consortium as an evangelist.
DfAM is a reader-supported publication. To receive occasional emails and support the work, consider becoming a free or paid subscriber.