diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index cd1166f71a..3fa4b4c022 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -5555,6 +5555,8 @@ void Plater::export_stl_obj(bool extended, bool selection_only) TriangleMesh vols_mesh(mesh); mesh = TriangleMesh(); for (const ModelInstance* i : mo.instances) { + if (!i->is_printable()) + continue; TriangleMesh m = vols_mesh; m.transform(i->get_matrix(), true); mesh.merge(m); @@ -5570,8 +5572,10 @@ void Plater::export_stl_obj(bool extended, bool selection_only) const SLAPrintObject *object = this->p->sla_print.get_print_object_by_model_object_id(mo.id()); - if (!object || !object->get_mesh_to_print() || object->get_mesh_to_print()->empty()) - mesh = mesh_to_export_fff(mo, instance_id); + if (!object || !object->get_mesh_to_print() || object->get_mesh_to_print()->empty()) { + if (!extended) + mesh = mesh_to_export_fff(mo, instance_id); + } else { const Transform3d mesh_trafo_inv = object->trafo().inverse(); const bool is_left_handed = object->is_left_handed();