1. When the option is not set, print.full_print_config() is empty, so we
can't access opt_bool("scan_first_layer") or opt_bool("enable_support").
Should use wxGetApp().preset_bundle->full_config() instead.
Jira: STUDIO-3264
2. Allow different object having different brim_width to encode support's brim width.
In this way the arranging logic is simpler and more objects can be arranged in a plate.
Change-Id: Ic7178652147b0519d50b2eb9ceb214b4ef4c0251
(cherry picked from commit 0f163d59b40009cd29b8b1e32f730258ad0786dc)
Also add an option to add_object_to_list to speedup.
Change-Id: I9860a950fb98b144d831ded11d5911d3aba77ba5
(cherry picked from commit aa9dd9a02ef4ac4cd6987b02b0c9be6d9ce9097f)
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)
1. In auto arranging bed temp can be higher than vitrify temp by no more than 15 degrees.
2. In by-object printing we use max radius for clearance
3. Add P1P max radius
Change-Id: If595f3e19fd74f6f36d2f394edbb835c413cc800
(cherry picked from commit 2af42420ad3770f0728adb583082600544519a58)
Change large object's inflation to (bedsize-objectsize)/2 when it could actually be placed into bed but couldn't with default inflation.
JIRA: STUDIO-1536
Change-Id: Ibf8ed066ee20a9a7b1c604371a9e030c94711080
(cherry picked from commit 093bad1a1765f05d909984d24a113e125870d55b)
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. Should start from bottom left if there is excluded regions
2. avoid exclusion regions in fixed_overfit_topright_sliding
Jira: STUDIO-1422
Change-Id: If88ecf86a0485bd478a77df8cfd4942df8ca27ac
(cherry picked from commit a8393de51bd178b731ef4c7201a5fe3247d97a1f)
if the brim of an object exceeds the bed area, it will be clipped before transformed to G-Codes
Change-Id: I68d700a85e1d28a5e337e53d614266f6e5e0a653
(cherry picked from commit d19ffaa7bdf4b0ab750119d9ef6252491d936f3e)
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)
Wipe tower is needed if support base and interface use different materials.
Jira: STUDIO-1336
Change-Id: I006ece952aac1a0f0a57721c2cd1b52b2ceee28a
(cherry picked from commit 1a387e4b1607dee36f5abe499892f027e244fbeb)
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. Previous logic can't guarantee left-to-right printing order, so
toolhead may crash on the right side. In the new algorithm printing
order is guaranteed.
2. Clearance radius should be the max of 3 directions (left, bottom,
up), not including right, otherwise collision may happen on bottom or
up directions.
3. Add is_extrusion_cali_object property to handle extrusion brim
overlap better.
Change-Id: I44868b9925d983f5cca0c31d35dfa28d895fadbf
1. do not consider extrusion calibration region if no micro lidar on the
printer
2. do not inflate extrusion calibration region by brim width, just let
them overlap
Change-Id: I62228d85e8a55d40e22a6ae7f5f065f281936429
(cherry picked from commit 4c456e1f3e675a2ea1358d2983f85a95e58eb49c)
1. when the plate is locked, the sliced result is kept after auto-arrange;
2. when only arrange a plate, other plates' results are not affected
Change-Id: I7566e11e9eec0c2b196a2e78d9dc306ea325e9ff
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)