ENH: improve auto-arrange in several ways

1. reduce expansion of exclusion regions
2. expand extrusion calib regions to let them touch bed boundary, to
   greately simplify auto-arranging with avoidance option on
3. improve dist_for_BOTTOM_LEFT to allow objects be put left to
    exclusion regions temporarily
4. improve on_preload for better handling objects around exclusion regions.
5. improve debug tools
6. fix a bug with wipe tower estimation (don't estimate if wipe tower is
    explicitly disabled)
7. use larger y-overlap threshold to estimate rod height confliction
   better in per-object print ordering (now we use half the clearance
   radius)

Change-Id: Iab29d47a072d8515f28a09855432f92fcffa8c5f
(cherry picked from commit 3a4f242a3a6fd2f82dcc8306cde4d1cb107a5099)
This commit is contained in:
Arthur 2022-10-28 20:39:24 +08:00 committed by Lane.Wei
parent 17bc464bac
commit 5fa771c6cb
8 changed files with 59 additions and 35 deletions

View file

@ -3473,8 +3473,8 @@ bool PartPlateList::preprocess_nonprefered_areas(arrangement::ArrangePolygons& r
bool added = false;
std::vector<BoundingBoxf> nonprefered_regions;
nonprefered_regions.emplace_back(Vec2d{ 45,15 }, Vec2d{ 225,25 }); // extrusion calibration region
nonprefered_regions.emplace_back(Vec2d{ 25,10 }, Vec2d{ 50,60 }); // hand-eye calibration region
nonprefered_regions.emplace_back(Vec2d{ 45,0 }, Vec2d{ 225,25 }); // extrusion calibration region
nonprefered_regions.emplace_back(Vec2d{ 25,0 }, Vec2d{ 50,60 }); // hand-eye calibration region
//has exclude areas
PartPlate* plate = m_plate_list[0];