From version 1.8.3, Bambu Studio's 3D model file format (.3mf) is compatible with the 3mf reading code provided by 3MF Consortium; Bambu Studio's 3MF files can also be opened in Microsoft 3D Viewer.
This article will introduce the compatibility between Bambu Studio's 3MF file format and the 3MF consortium standards, outlining its features and advantages, and explain why some other slicer can not open the 3mf Bambu Studio generated.
Bambu Studio currently employs the 3MF Production Extension specification from the 3MF Consortium as the default for saving 3MF files. This decision stems from a comprehensive consideration of user experience and future development.
The 3MF Production Extension serves as a supplement to the 3MF Core Specification, introducing new features to effectively support packaging for build platforms and ensure load integrity, particularly in high-production printing environments. The primary focus of this extension is the ability to store model data in files separate from the root model file, allowing the build elements of the root model file to reference these resources.
In summary, a 3mf file adhering to the 3MF Core Specification has only one root file containing all model data. When parsing the 3mf file, it retrieves from this root model file, and only one model file can be read. On the other hand, a 3mf file following the 3MF Production Extension Specification not only has a root file but also stores the actual model data in different files. When parsing the 3mf file, it uses the index in the root model file to locate other files containing model data. This enables the simultaneous reading of multiple model files, achieving parallel processing of model data.
By adopting the 3MF Production Extension specification, Bambu Studio achieves parallel processing during the loading and saving of model data, significantly enhancing operational efficiency. The features of this specification empower our users to rapidly handle large-scale 3D models and multi plates, whether during the design phase or when opening and saving 3D models.
Below are two 3MF files of the same data model. The right one uses the 3MF Production Extension specification (named Muti-part-Production.3mf) and the left one does not (named Muti-part-Core.3mf). Opening them separately in Bambu Studio shows the loading speed of right example being much faster than left.
The ability to successfully retrieve 3D models from the files is a critical criterion for the usability of 3MF files. An example of reading 3mf reads file is included in the lib3mf library of the 3mf Consortium. Therefore, employing Bambu Studio as the producer of 3mf file and the lib3mf as the consumer to read, a reading test is conducted.
The 3MF files saved by Bambu Studio can be successfully read, retrieving model data without issues.
Below is a 3mf file from MakerWorld, where after downloading, opening and saving through Bambu Studio v1.8.3, the data can be successfully read by lib3mf.
The following example contains the main model data:
From version 1.8.3, 3MF files produced by Bambu Studio can be successfully opened in the 3D Viewer.
The following gif is a MakerWorld 3mf file saved by Bambu Studio, which can be opened by the 3D Viewer.
We would like to issue a special notice regarding a particular situation. It has come to our attention that including certain Chinese punctuation marks in the 3D model description file of a 3MF file may result in the 3D Viewer being unable to open the file successfully.
This issue is not limited to 3MF files compliant with the 3MF Production Extension but also applies to those adhering to the 3MF Core Specification.
In addition, certain software and slicers don't support the 3MF Production Extension specification. This results in the inability of these tools to open 3mf files produced by Bambu Studio.
In the case of PrusaSlicer and Cura, which are widely used in 3D printing, we have submitted pull requests on GitHub to enable support for the 3MF Production Extension specification.
However, we have not received any feedback as of now.
https://github.com/prusa3d/PrusaSlicer/pull/10808,
https://github.com/Ultimaker/Cura/pull/15761.
Update: PrusaSlicer merged the patch on March 21, 2024.
We deeply understand the critical importance of file compatibility for user's work and creative endeavors. In light of this, we consistently strive for improvement and optimization, aiming to align with standards, and actively engage in communication with the community and relevant organizations.
Throughout this process, we appreciate your understanding and patience. Should you have any questions, please feel free to reach out to us; we are ready to provide support at any time.
Thank you for your understanding and support of Bambu Studio!