mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-07-31 19:41:57 +08:00
#11562 - Fixed crash when slicing instanced sinking object (SPE-2005)
This commit is contained in:
parent
4d449fea77
commit
62c56e6f28
@ -2339,9 +2339,18 @@ void GCodeViewer::load_shells(const Print& print)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
// adds objects' volumes
|
// adds objects' volumes
|
||||||
int object_id = 0;
|
|
||||||
for (const PrintObject* obj : print.objects()) {
|
for (const PrintObject* obj : print.objects()) {
|
||||||
const ModelObject* model_obj = obj->model_object();
|
const ModelObject* model_obj = obj->model_object();
|
||||||
|
int object_id = -1;
|
||||||
|
const ModelObjectPtrs model_objects = wxGetApp().plater()->model().objects;
|
||||||
|
for (int i = 0; i < static_cast<int>(model_objects.size()); ++i) {
|
||||||
|
if (model_obj->id() == model_objects[i]->id()) {
|
||||||
|
object_id = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (object_id == -1)
|
||||||
|
continue;
|
||||||
|
|
||||||
std::vector<int> instance_ids(model_obj->instances.size());
|
std::vector<int> instance_ids(model_obj->instances.size());
|
||||||
for (int i = 0; i < (int)model_obj->instances.size(); ++i) {
|
for (int i = 0; i < (int)model_obj->instances.size(); ++i) {
|
||||||
@ -2360,8 +2369,6 @@ void GCodeViewer::load_shells(const Print& print)
|
|||||||
v->set_volume_offset(v->get_volume_offset() + z_offset);
|
v->set_volume_offset(v->get_volume_offset() + z_offset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
++object_id;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
wxGetApp().plater()->get_current_canvas3D()->check_volumes_outside_state(m_shells.volumes);
|
wxGetApp().plater()->get_current_canvas3D()->check_volumes_outside_state(m_shells.volumes);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user