to avoid integer overflow during the polygon operations in make_brim(),
plateoffset is applied during gcode generation. This results in a wrong
first layer convexhull "m_first_layer_convex_hull" which is used in _make_skrit().
This patch fixs this issue.
JIRA: https://jira.bambooolab.com/browse/STUDIO-3719
Change-Id: Icfe21f4dbab05cc9e1c6f668791a62f954c2e0e5
(cherry picked from commit 6286b3e447b7ac7cbc061dca435091094783f74b)
tbb parallelization is used to improved the efficiency of for_each_volume and for_each_polygon loop
JIRA ID: STUDIO-2866
Change-Id: Id5b3a536e3162b148417cbee803bcede3b62a651
(cherry picked from commit 15a6f7ef2f575eaa4b4694ad357d881b39b82f5b)
grouping of volumes in the slicing process, which will be used by the brim generation processes,
is moved to an indivial function from the fixed_slicing_errors function.
Change-Id: I241081823a671829d8cc4e923da5f6f22776c410
(cherry picked from commit 18a7b541ee48f3c01319d5835c05610c3d8ca0ae)
If an object has only one empty layer, error will encount
during grouping volumes
studio-2602
Change-Id: I25871b8cc8e4772c347c615db346875a9658db71
(cherry picked from commit 78b7e7706f6c8e7e86f4bd2e8daab7036499ced2)
the processes are parallized via tbb
the patch 12311 ENH: remove trim_overlap should be used
Change-Id: I226dc171daadebd81b8d3ae013b08c71b91fb392
(cherry picked from commit eaa2e7997a59f43175d5af430269127471e40cbb)
1) the function is not released to public
Change-Id: Ia1b5a31db3b1b1864997b57fe875c01f3ea9fb08
(cherry picked from commit a816cc313659f87978e1275b98f43172cb416a59)
The tooltip of brim type contain messages of inner brim,
which is not enabled in the current version
Change-Id: I155a16cc4331cb0b5b54d29f6be1de6c82819e0c
(cherry picked from commit 1fe773438e1697b8a0b9817a885b13e7e4fae097)
now, when XY compensation with negative value is assigned, the brim can be
generated correctly (Studio-2222). In addition, one can add brim to a model whose
first layer is empty while second layer is not empty (studio-1286).
Change-Id: I28443dc6e28bc6fff8c92d3cc35ab7a416d43138
(cherry picked from commit cb62afcfd295ca93962d99350d1dfaf3441c4759)
Brim will be croped to ensure it does not exceed the bed area. However,
plate offsets are not considered and thus the croping does not work in
multi-plate cases. This can be fixed by this patch.
Change-Id: Iffcce6cba23a82de1fdd9fffe8c48c4e303e9e15
(cherry picked from commit 9c53fb12153cc8a31448ae4a670171c495243dae)
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)
In current studio, a brim area will be ignored if it does not be connected to any object island.
After patching, a brim area will be ignored if it does not connected to any object island and other brim areas.
Change-Id: I1aef5cd1af12cf76746f7614807aa03956d625ad
In auto brim mode, first layer of common support may be apart from object island, which is controled by support object distance.
if support object distance is lower than "flow width + brim_object_gap", the brim will not work.
Therefore, if first layer of common support is interesected with object island, the distance will be brim_object_gap in auto brim mode.
Change-Id: Icbb98af8fd9e84e3ac1977794ca2b60629dd53dd
1) if an object has a slender footprint but its height is small, brim will not be generated;
2) two volumes are treated as intersected if their distance is larger than 0.3mm, instead of 0.8mm.
Change-Id: Iaf7ab644ba9bcc1a8d404acd455f1d8b57e1eb91