mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-08-12 02:29:03 +08:00
Improving 3MF import: checking for invalid data.
This commit is contained in:
parent
7e6da2903c
commit
f9f99c4889
@ -685,12 +685,12 @@ namespace Slic3r {
|
||||
|
||||
close_zip_reader(&archive);
|
||||
|
||||
for (const IdToModelObjectMap::value_type& object : m_objects)
|
||||
{
|
||||
ModelObject *model_object = m_model->objects[object.second];
|
||||
ObjectMetadata::VolumeMetadataList volumes;
|
||||
ObjectMetadata::VolumeMetadataList* volumes_ptr = nullptr;
|
||||
|
||||
for (const IdToModelObjectMap::value_type& object : m_objects) {
|
||||
if (object.second >= m_model->objects.size()) {
|
||||
add_error("Unable to find object");
|
||||
return false;
|
||||
}
|
||||
ModelObject* model_object = m_model->objects[object.second];
|
||||
IdToGeometryMap::const_iterator obj_geometry = m_geometries.find(object.first);
|
||||
if (obj_geometry == m_geometries.end())
|
||||
{
|
||||
@ -1396,8 +1396,11 @@ namespace Slic3r {
|
||||
bool _3MF_Importer::_handle_end_model()
|
||||
{
|
||||
// deletes all non-built or non-instanced objects
|
||||
for (const IdToModelObjectMap::value_type& object : m_objects)
|
||||
{
|
||||
for (const IdToModelObjectMap::value_type& object : m_objects) {
|
||||
if (object.second >= m_model->objects.size()) {
|
||||
add_error("Unable to find object");
|
||||
return false;
|
||||
}
|
||||
ModelObject *model_object = m_model->objects[object.second];
|
||||
if ((model_object != nullptr) && (model_object->instances.size() == 0))
|
||||
m_model->delete_object(model_object);
|
||||
|
Loading…
x
Reference in New Issue
Block a user