mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-18 04:08:02 -06:00
3mf I/O - Added import and export of object's and volume's name
This commit is contained in:
parent
2a2bdaa0e0
commit
ecac4ab175
1 changed files with 19 additions and 4 deletions
|
@ -529,9 +529,12 @@ namespace Slic3r {
|
||||||
{
|
{
|
||||||
// config data has been found, this model was saved using slic3r pe
|
// config data has been found, this model was saved using slic3r pe
|
||||||
|
|
||||||
// apply object's config data
|
// apply object's name and config data
|
||||||
for (const Metadata& metadata : obj_metadata->second.metadata)
|
for (const Metadata& metadata : obj_metadata->second.metadata)
|
||||||
{
|
{
|
||||||
|
if (metadata.key == "name")
|
||||||
|
object.second->name = metadata.value;
|
||||||
|
else
|
||||||
object.second->config.set_deserialize(metadata.key, metadata.value);
|
object.second->config.set_deserialize(metadata.key, metadata.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1344,9 +1347,12 @@ namespace Slic3r {
|
||||||
stl_get_size(&stl);
|
stl_get_size(&stl);
|
||||||
volume->mesh.repair();
|
volume->mesh.repair();
|
||||||
|
|
||||||
// apply volume's config data
|
// apply volume's name and config data
|
||||||
for (const Metadata& metadata : volume_data.metadata)
|
for (const Metadata& metadata : volume_data.metadata)
|
||||||
{
|
{
|
||||||
|
if (metadata.key == "name")
|
||||||
|
volume->name = metadata.value;
|
||||||
|
else
|
||||||
volume->config.set_deserialize(metadata.key, metadata.value);
|
volume->config.set_deserialize(metadata.key, metadata.value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1776,6 +1782,10 @@ namespace Slic3r {
|
||||||
{
|
{
|
||||||
stream << " <" << OBJECT_TAG << " id=\"" << obj_metadata.first << "\">\n";
|
stream << " <" << OBJECT_TAG << " id=\"" << obj_metadata.first << "\">\n";
|
||||||
|
|
||||||
|
// stores object's name
|
||||||
|
if (!obj->name.empty())
|
||||||
|
stream << " <" << METADATA_TAG << " " << TYPE_ATTR << "=\"" << OBJECT_TYPE << "\" " << KEY_ATTR << "=\"name\" " << VALUE_ATTR << "=\"" << obj->name << "\"/>\n";
|
||||||
|
|
||||||
// stores object's config data
|
// stores object's config data
|
||||||
for (const std::string& key : obj->config.keys())
|
for (const std::string& key : obj->config.keys())
|
||||||
{
|
{
|
||||||
|
@ -1795,11 +1805,16 @@ namespace Slic3r {
|
||||||
stream << FIRST_TRIANGLE_ID_ATTR << "=\"" << it->second.first_triangle_id << "\" ";
|
stream << FIRST_TRIANGLE_ID_ATTR << "=\"" << it->second.first_triangle_id << "\" ";
|
||||||
stream << LAST_TRIANGLE_ID_ATTR << "=\"" << it->second.last_triangle_id << "\">\n";
|
stream << LAST_TRIANGLE_ID_ATTR << "=\"" << it->second.last_triangle_id << "\">\n";
|
||||||
|
|
||||||
|
// stores volume's name
|
||||||
|
if (!volume->name.empty())
|
||||||
|
stream << " <" << METADATA_TAG << " " << TYPE_ATTR << "=\"" << VOLUME_TYPE << "\" " << KEY_ATTR << "=\"name\" " << VALUE_ATTR << "=\"" << volume->name << "\"/>\n";
|
||||||
|
|
||||||
// stores volume's config data
|
// stores volume's config data
|
||||||
for (const std::string& key : volume->config.keys())
|
for (const std::string& key : volume->config.keys())
|
||||||
{
|
{
|
||||||
stream << " <" << METADATA_TAG << " " << TYPE_ATTR << "=\"" << VOLUME_TYPE << "\" " << KEY_ATTR << "=\"" << key << "\" " << VALUE_ATTR << "=\"" << volume->config.serialize(key) << "\"/>\n";
|
stream << " <" << METADATA_TAG << " " << TYPE_ATTR << "=\"" << VOLUME_TYPE << "\" " << KEY_ATTR << "=\"" << key << "\" " << VALUE_ATTR << "=\"" << volume->config.serialize(key) << "\"/>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
stream << " </" << VOLUME_TAG << ">\n";
|
stream << " </" << VOLUME_TAG << ">\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue