ENH: improve auto-arrange compactness around wipe tower

1. improve auto-arrange compactness around wipe tower
2. do not show "Avoid extrusion calibration region" for P1P
3. encourage objects with similar height to be arranged together

Jira: STUDIO-1364

Change-Id: I5efa61a676c453618cdb3915fb98928d07138deb
(cherry picked from commit 571ee0c6d91d8a5f6a60838052f09d49d85f12ed)
This commit is contained in:
Arthur 2022-11-21 15:00:01 +08:00 committed by Lane.Wei
parent a06de19577
commit 869b93e270
4 changed files with 24 additions and 14 deletions

View file

@ -425,12 +425,20 @@ protected:
Item& p = m_items[i];
if (p.is_virt_object) {
// Better not put items above wipe tower
if (p.is_wipe_tower)
score += ibb.maxCorner().y() > p.boundingBox().maxCorner().y();
if (p.is_wipe_tower) {
if (ibb.maxCorner().y() > p.boundingBox().maxCorner().y())
score += 1;
else if(m_pilebb.defined)
score += norm(pl::distance(ibb.center(), m_pilebb.center()));
}
else
continue;
} else
} else {
// 高度接近的件尽量摆到一起
score += (1- std::abs(item.height - p.height) / params.printable_height)
* norm(pl::distance(ibb.center(), p.boundingBox().center()));
score += LARGE_COST_TO_REJECT * (item.bed_temp - p.bed_temp != 0);
}
}
}