ENH: improve auto arranging of multiple single color objects

If two objects have similar area, sort them by extruder id.

jira: STUDIO-9760
github: #5738
Change-Id: I6041fef4d3bfccce767555ac382688eea59e73c7
This commit is contained in:
Arthur 2025-01-15 17:29:09 +08:00 committed by lane.wei
parent 00e3844eb8
commit ac4873d976
1 changed files with 4 additions and 2 deletions

View File

@ -687,8 +687,10 @@ public:
if (p1 != p2)
return p1 > p2;
if (params.is_seq_print) {
return i1.bed_temp != i2.bed_temp ? (i1.bed_temp > i2.bed_temp) :
(i1.height != i2.height ? (i1.height < i2.height) : (i1.area() > i2.area()));
return i1.bed_temp != i2.bed_temp ? (i1.bed_temp > i2.bed_temp) :
i1.height != i2.height ? (i1.height < i2.height) :
std::abs(i1.area() / i2.area() - 1) > 0.2 ? (i1.area() > i2.area()) :
i1.extrude_ids.front() < i2.extrude_ids.front();
}
else {
// single color objects first, then objects with more colors