-
Notifications
You must be signed in to change notification settings - Fork 1.3k
[GSoC 2017] Support 3MF Format Read/Write. #4046
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…n slic3r.cpp Fix miniz.c error: * Miniz source functions were included more than once (once during TMF.cpp and once during compiling miniz.c in /xs/src/miniz. * Miniz is a header file library. * Solution was to add #define MINIZ_HEADER_FILE_ONLY to include the header part of the single header library miniz.c.
…sic string. - Remove #define #define MINIZ_HEADER_FILE_ONLY in the previous commit ( It's not the solution)
…use #define MINIZ_HEADER_FILE_ONLY before including it.
Add zip lib to target_link_libraries.
I think this makes TMF read/write more modular.
fix some typos and variable names.
* Write types in "[Content_Types].xml" at / * Create "_rels" folder at /
* write <triangles> element representing the volumes of each object.
* Adding ModelObject part number attribute (Specific to the new 3MF format).
* xmlns schema link added to < Types > element.
* Write ModelMaterials custom config data.
* Some Refactoring.
…roblem was that 3MF 3d matrices were row major matrices.
* Add namspaces as constant map<string, string> carrying name of namspace and the link to the namespace.
…alues but according to c++11 I must use .at(key) to compile.
…ume in TMFEditor::write() Some refactoring.
…tor clear() function.
…rs as 3MF options to Slic3r GUI.
@alexrj, @lordofhyphens I have updated the code according to the link you have provided in IRC and I have used also -Weffc++ and -Wextra flags to see warnings. There were only warnings about TMFEditor and TMFParserContext not having their override versions of copy constructor and =operator overloading. I will implement them when I wake up, I don't see any need for them in our case, however. |
@alexrj @lordofhyphens If there are any improvements I should do please tell me :) |
* Add Slic3r::ZipArchive class to handle creating zip files.
* Improvements in ZipArchive.
…we are using now ofstream.
* Add Doxygen documentation to ZipArchive class. * Update MANIFEST file/ * Update CMakeLists.txt file
…anipulated on windows as \r\n
@Samir55 probably should add these files to the MANIFEST file. |
I've added the test files to the MANIFEST But these files should be removed from the repo (they are no longer used)
@lordofhyphens sorry I forgot to add them :) |
@Samir55 Then you should |
|
Well, that would do it ;) |
3MF is generally smaller than other comparable 3D formats where transforms and object references are supported. 3MF has an advantage over the STL format since STL doesn’t contain color or material/property and also it doesn’t have mesh topology which in turn results in larger file size.
This topic was discussed in this original issue: #2811
Features:
The test suite is found in 23_3mf.t in xs/t/.
The code is documented using Doxygen syntax.
Related Links:
Other Pull Requests: