mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-02 03:50:40 +08:00
Follow-up 1b451cdf: Fixed #11415 - Connectors disappear when slicing => only when using multiple cut planes AND excluding parts
Note: With this issue was related crash on perform a cut (SPE-1938), because a variable with ended lifetime was used
This commit is contained in:
parent
8e0c21d8d4
commit
510d59687b
@ -464,6 +464,12 @@ const ModelObjectPtrs& Cut::perform_by_contour(std::vector<Part> parts, int dowe
|
|||||||
|
|
||||||
// Just add Upper and Lower objects to cut_object_ptrs
|
// Just add Upper and Lower objects to cut_object_ptrs
|
||||||
post_process(upper, lower, cut_object_ptrs);
|
post_process(upper, lower, cut_object_ptrs);
|
||||||
|
|
||||||
|
// Now merge all model parts together:
|
||||||
|
merge_solid_parts_inside_object(cut_object_ptrs);
|
||||||
|
|
||||||
|
// replace initial objects in model with cut object
|
||||||
|
finalize(cut_object_ptrs);
|
||||||
}
|
}
|
||||||
else if (volumes.size() > cut_parts_cnt) {
|
else if (volumes.size() > cut_parts_cnt) {
|
||||||
// Means that object is cut with connectors
|
// Means that object is cut with connectors
|
||||||
@ -490,17 +496,18 @@ const ModelObjectPtrs& Cut::perform_by_contour(std::vector<Part> parts, int dowe
|
|||||||
// Add Upper and Lower objects to cut_object_ptrs
|
// Add Upper and Lower objects to cut_object_ptrs
|
||||||
post_process(upper, lower, cut_object_ptrs);
|
post_process(upper, lower, cut_object_ptrs);
|
||||||
|
|
||||||
// Add Dowel-connectors as separate objects to cut_object_ptrs
|
|
||||||
if (cut_connectors_obj.size() >= 3)
|
|
||||||
for (size_t id = 2; id < cut_connectors_obj.size(); id++)
|
|
||||||
cut_object_ptrs.push_back(cut_connectors_obj[id]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Now merge all model parts together:
|
// Now merge all model parts together:
|
||||||
merge_solid_parts_inside_object(cut_object_ptrs);
|
merge_solid_parts_inside_object(cut_object_ptrs);
|
||||||
|
|
||||||
|
// replace initial objects in model with cut object
|
||||||
finalize(cut_object_ptrs);
|
finalize(cut_object_ptrs);
|
||||||
|
|
||||||
|
// Add Dowel-connectors as separate objects to model
|
||||||
|
if (cut_connectors_obj.size() >= 3)
|
||||||
|
for (size_t id = 2; id < cut_connectors_obj.size(); id++)
|
||||||
|
m_model.add_object(*cut_connectors_obj[id]);
|
||||||
|
}
|
||||||
|
|
||||||
return m_model.objects;
|
return m_model.objects;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user