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,10 +529,13 @@ namespace Slic3r {
|
|||
{
|
||||
// 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)
|
||||
{
|
||||
object.second->config.set_deserialize(metadata.key, metadata.value);
|
||||
if (metadata.key == "name")
|
||||
object.second->name = metadata.value;
|
||||
else
|
||||
object.second->config.set_deserialize(metadata.key, metadata.value);
|
||||
}
|
||||
|
||||
// select object's detected volumes
|
||||
|
@ -1344,10 +1347,13 @@ namespace Slic3r {
|
|||
stl_get_size(&stl);
|
||||
volume->mesh.repair();
|
||||
|
||||
// apply volume's config data
|
||||
// apply volume's name and config data
|
||||
for (const Metadata& metadata : volume_data.metadata)
|
||||
{
|
||||
volume->config.set_deserialize(metadata.key, metadata.value);
|
||||
if (metadata.key == "name")
|
||||
volume->name = metadata.value;
|
||||
else
|
||||
volume->config.set_deserialize(metadata.key, metadata.value);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1776,6 +1782,10 @@ namespace Slic3r {
|
|||
{
|
||||
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
|
||||
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 << 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
|
||||
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 << " </" << VOLUME_TAG << ">\n";
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue