mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-16 19:28:14 -06:00
FIX: issue 551: support to import prusa 3mf file
Change-Id: I6d00fab62304893cc5f1aba0d0a74e4c6194bce9
This commit is contained in:
parent
acc6d70db9
commit
09d5651c39
5 changed files with 209 additions and 14 deletions
|
@ -1,7 +1,30 @@
|
|||
#ifndef slic3r_Format_3mf_hpp_
|
||||
#define slic3r_Format_3mf_hpp_
|
||||
#include "../expat.h"
|
||||
|
||||
namespace Slic3r {
|
||||
// PrusaFileParser is used to check 3mf file is from Prusa
|
||||
class PrusaFileParser
|
||||
{
|
||||
public:
|
||||
PrusaFileParser() {}
|
||||
~PrusaFileParser() {}
|
||||
|
||||
bool check_3mf_from_prusa(const std::string filename);
|
||||
void _start_element_handler(const char *name, const char **attributes);
|
||||
void _characters_handler(const XML_Char *s, int len);
|
||||
|
||||
private:
|
||||
const char *get_attribute_value_charptr(const char **attributes, unsigned int attributes_size, const char *attribute_key);
|
||||
std::string get_attribute_value_string(const char **attributes, unsigned int attributes_size, const char *attribute_key);
|
||||
|
||||
static void XMLCALL start_element_handler(void *userData, const char *name, const char **attributes);
|
||||
static void XMLCALL characters_handler(void *userData, const XML_Char *s, int len);
|
||||
private:
|
||||
bool m_from_prusa = false;
|
||||
bool m_is_application_key = false;
|
||||
XML_Parser m_parser;
|
||||
};
|
||||
|
||||
/* The format for saving the SLA points was changing in the past. This enum holds the latest version that is being currently used.
|
||||
* Examples of the Slic3r_PE_sla_support_points.txt for historically used versions:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue