1. Use map<int, std::string> extrude_id_filament_types to avoid mismatching of extruder ids and filament types.
jira: STUDIO-10708
2. fix plate level arranging not working
jira: STUDIO-10733, STUDIO-10721
3. fix auto arranging may put objects overlapping with fixed ones when
changing printer profile.
3. fix auto arranging puts large objects overlapping with occlusion area
4. add alt+a to trigger auto arranging for out of plate objects
4. fix several texts not translated.
Change-Id: Ie43624cb20304f27649d3ce24efa01394f30188e
We use EdgeCache to sample contact points along overhang contours.
However, the EdgeCache misses the last edge if the polygon is not closed.
jira: STUDIO-9179
Change-Id: Id06b565b12f513e753a66135c74eab60979ea612
1. Compute score_all_plates correctly. Previously we only compute the
first j plates which was wrong.
2. Compute height score correctly. Use average height difference instead of sum.
3. Compute color change score in a different way. If adding the current item
increases extruder number, then adds up the score by 1.
jira: STUDIO-7013
Change-Id: I921c181bd4b32080627514d3834f4b74ccd00adb
(cherry picked from commit 4f6ae81be98109fe61d55203e306686e0d294ec4)
1. FIX low-level NFP bug with auto-arranging due to correctNfpPosition's
bug.
jira: STUDIO-5756, STUDIO-4874
2. FIX large items may not be able to be packed due to a too large inflation
jira: STUDIO-5566, STUDIO-5716
github: #3194
Change-Id: Id63fb3a5f5fe7ce3a5675c86a3d1440f46866ca3
(cherry picked from commit 9a789262cee4e14f10b673a4f00126d27bcf071b)
Auto-arranging allows more filaments to be printed on the same plate
Only HighTemp and LowTemp filaments are not allowed on the same plate.
Jira: https://jira.bambooolab.com/browse/STUDIO-4682
Change-Id: I1bd4966e6aaa55a6dd9dff05f0bd94f2795a62b0
(cherry picked from commit 965040912af0555ca190702e7c7ac92e177a2922)
finalAlign was not correct because the excluded regions are counted twice.
Jira: STUDIO-4259
Change-Id: Ie4ad167af8487ce7250b83d85f144ef01e60e00f
(cherry picked from commit 154de0d94ff34231a60966fb89cc14655cce8008)
For i3 printers, best object position may not be the bed center,
we need to align objects to the specified best_object_pos.
Jira: STUDIO-4133
Change-Id: I06e31e597d2dd8288eb24a52d836cc8a134a4111
Previously we assume the NFP of exclude regions are rectangle, which was
not always right. Now we calculate the NFP and find a best new position
to shift.
Change-Id: I02c075603cf71dd3c9146d7ac7a6706c0f850669
(cherry picked from commit 713ebd666c90d5dcfaf89914c37d211e9a470e99)
Use a more accurate way to estimate wipe tower:
1. read wipe configure from front-end (the positions may be different at
different plates).
2. when depth is unavailable, use all materials to estimate depth (the
estimated wipe tower may be larger than the actual generated one).
Change-Id: I42ffd03d9817b57f5023a6820cda0032509c6fe5
(cherry picked from commit 77ba9757023afb9160c996eeea6ead8a27b50ce4)
Arranging multi-color objects with disabled
multi_materials_on_same_plate option was not currect.
Previously we only consider the first extruder id for multi-color
objects. Now we consider all extruders.
Jira: STUDIO-2164
Change-Id: If64ff4f88f0fe4f6c31ebf657b3449b19bf063f0
(cherry picked from commit f4f6bdd00a0c3d3e13406b69be9b5b0468b27d44)
1. Use nlopt and clipper offset togather seems not stable, very easy to
crash. We do the offset outside nlopt now.
2. Fix a bug with finalAlign where objects may be translated to overlap
with excluded region.
3. change the words of support_expansion
Change-Id: I22e37b20e4ae16f47bde206de90845616e4cefad
(cherry picked from commit 1c26e5d2862fd3f3292971b5c749420bfb2cdf0e)
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)
Also change words for extruder clearance parameters.
Change-Id: I736fd9049d184c140b33078d78f764b4fe172765
(cherry picked from commit e70c0c0ea133cffa5788efbfc9633332b196e8df)
1. hybrid(auto) on_buildplate_only option not working correctly because
parent is not set.
2. tree(auto) on_buildplate_only not working correctly because unsupported
branch isn't deleted completely. I add child to track the dangling nodes
and then delete nodes with no child.
Change-Id: I24c69a7cf400d2961b22a720a6069cf95db6c1a5
(cherry picked from commit bce77c16128d35c668b175e7135b9fe9acd71d13)
0. disable arranging selected
1. fix bug where brim is not correct.
2. fix bug where big circle objects are not arranged properly
3. disable default enable_rotation
Change-Id: Ifc69f35d900ff63ec1e9ec8bf8638afc6ea7d54b
(cherry picked from commit 2ed1b0dd8573a1e10aaf77f0d9f8896cef304427)