Lib3MF is a C++ implementation of the 3D Manufacturing Format file standard.
As 3MF shall become an universal 3D Printing standard, its quick adoption is very important. This library shall lower all barriers of adoption to any possible user, let it be software providers, hardware providers, service providers or middleware tools. The specification can be downloaded at http://3mf.io/specification/
Its aim is to offer an open source way to integrate 3MF reading and writing capabilities, as well as conversion and validation tools for input and output data. The 3MF Library shall provide a clean and easy-to-use API to speed up the development and keep integration costs at a minimum.
A lot of energy has been put into keeping it as platform independent as far as possible. For example, it compiles well with the GCC compiler, but there is some work left to recode a few platform specific functionalities, which are now covered by the WinRT platform (like XML parsing and ZIP compression). This will come when time passes.
The current code runs on Windows, Linux and Mac and has very little external dependencies.
- Unix: uuid
- Linux (Ubuntu/Debian):
sudo apt-get install uuid-dev
- MAC:
brew install ossp-uuid
- Linux (Ubuntu/Debian):
You then have two options:
- Clone the repository
git clone https://github.com/3MFConsortium/lib3mf
- Enter local checkout
cd lib3mf
- Initialize the googletest submodule by running
git submodule update --init
- To generate projects for Visual Studio or Unix Makefiles use the scripts in the folder cmake:
CallGenerateVS2015.bat
(Windows) orGenerateMake.sh
(Linux, Mac), or define other targets by specifying custom CMake generators.
A new folderbuild
is created and contains projects for the IDE/build target you selected. - Build the projects:
- Windows:
- Open the VS Solution in the build folder and build it
- Select the project you want to run as "Start Up Project"
- Run/debug this project in VS
- Linux/Mac:
- navigate to the
build
-folder - Call
make
to build the projects - Run/debug a project
- navigate to the
- Windows:
Instead of building lib3MF from source, you can download the compiled shared libarary as part of a minimal SDK from the official releases, or use the nightly builds.
For example code, please refer to the examples in the SDK (SDK/Examples). They are also part of the binary SDK from the official releases.
For a more detailed documentation, please take a look into the PDF in the root directory of this repository.
Lib3MF is licensed under the simplified BSD license.