Use tight compression for SLA archives with svg
This commit is contained in:
parent
91b79bb85c
commit
516f459edc
4 changed files with 36 additions and 8 deletions
|
@ -503,21 +503,19 @@ static void write_thumbnail(Zipper &zipper, const ThumbnailData &data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SL1Archive::export_print(const std::string fname,
|
void SL1Archive::export_print(Zipper &zipper,
|
||||||
const SLAPrint &print,
|
const SLAPrint &print,
|
||||||
const ThumbnailsList &thumbnails,
|
const ThumbnailsList &thumbnails,
|
||||||
const std::string &prjname)
|
const std::string &prjname)
|
||||||
{
|
{
|
||||||
Zipper zipper{fname};
|
|
||||||
|
|
||||||
std::string project =
|
std::string project =
|
||||||
prjname.empty() ?
|
prjname.empty() ?
|
||||||
boost::filesystem::path(zipper.get_filename()).stem().string() :
|
boost::filesystem::path(zipper.get_filename()).stem().string() :
|
||||||
prjname;
|
prjname;
|
||||||
|
|
||||||
ConfMap iniconf, slicerconf;
|
ConfMap iniconf, slicerconf;
|
||||||
fill_iniconf(iniconf, print);
|
fill_iniconf(iniconf, print);
|
||||||
|
|
||||||
iniconf["jobDir"] = project;
|
iniconf["jobDir"] = project;
|
||||||
|
|
||||||
fill_slicerconf(slicerconf, print);
|
fill_slicerconf(slicerconf, print);
|
||||||
|
@ -527,13 +525,13 @@ void SL1Archive::export_print(const std::string fname,
|
||||||
zipper << to_ini(iniconf);
|
zipper << to_ini(iniconf);
|
||||||
zipper.add_entry("prusaslicer.ini");
|
zipper.add_entry("prusaslicer.ini");
|
||||||
zipper << to_ini(slicerconf);
|
zipper << to_ini(slicerconf);
|
||||||
|
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
for (const sla::EncodedRaster &rst : m_layers) {
|
for (const sla::EncodedRaster &rst : m_layers) {
|
||||||
|
|
||||||
std::string imgname = project + string_printf("%.5d", i++) + "." +
|
std::string imgname = project + string_printf("%.5d", i++) + "." +
|
||||||
rst.extension();
|
rst.extension();
|
||||||
|
|
||||||
zipper.add_entry(imgname.c_str(), rst.data(), rst.size());
|
zipper.add_entry(imgname.c_str(), rst.data(), rst.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -549,4 +547,14 @@ void SL1Archive::export_print(const std::string fname,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SL1Archive::export_print(const std::string fname,
|
||||||
|
const SLAPrint &print,
|
||||||
|
const ThumbnailsList &thumbnails,
|
||||||
|
const std::string &prjname)
|
||||||
|
{
|
||||||
|
Zipper zipper{fname, Zipper::FAST_COMPRESSION};
|
||||||
|
|
||||||
|
export_print(zipper, print, thumbnails, prjname);
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Slic3r
|
} // namespace Slic3r
|
||||||
|
|
|
@ -22,8 +22,13 @@ protected:
|
||||||
SLAPrinterConfig & cfg() { return m_cfg; }
|
SLAPrinterConfig & cfg() { return m_cfg; }
|
||||||
const SLAPrinterConfig & cfg() const { return m_cfg; }
|
const SLAPrinterConfig & cfg() const { return m_cfg; }
|
||||||
|
|
||||||
|
void export_print(Zipper &,
|
||||||
|
const SLAPrint &print,
|
||||||
|
const ThumbnailsList &thumbnails,
|
||||||
|
const std::string &projectname);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
SL1Archive() = default;
|
SL1Archive() = default;
|
||||||
explicit SL1Archive(const SLAPrinterConfig &cfg): m_cfg(cfg) {}
|
explicit SL1Archive(const SLAPrinterConfig &cfg): m_cfg(cfg) {}
|
||||||
explicit SL1Archive(SLAPrinterConfig &&cfg): m_cfg(std::move(cfg)) {}
|
explicit SL1Archive(SLAPrinterConfig &&cfg): m_cfg(std::move(cfg)) {}
|
||||||
|
|
|
@ -224,4 +224,14 @@ sla::RasterEncoder SL1_SVGArchive::get_encoder() const
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SL1_SVGArchive::export_print(const std::string fname,
|
||||||
|
const SLAPrint &print,
|
||||||
|
const ThumbnailsList &thumbnails,
|
||||||
|
const std::string &projectname)
|
||||||
|
{
|
||||||
|
Zipper zipper{fname, Zipper::TIGHT_COMPRESSION};
|
||||||
|
|
||||||
|
SL1Archive::export_print(zipper, print, thumbnails, projectname);
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Slic3r
|
} // namespace Slic3r
|
||||||
|
|
|
@ -14,6 +14,11 @@ protected:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
void export_print(const std::string fname,
|
||||||
|
const SLAPrint &print,
|
||||||
|
const ThumbnailsList &thumbnails,
|
||||||
|
const std::string &projectname = "") override;
|
||||||
|
|
||||||
using SL1Archive::SL1Archive;
|
using SL1Archive::SL1Archive;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue