Commit Graph

31 Commits

Author SHA1 Message Date
zhimin.zeng f127f95335 FIX: the brim cannot generated on left/right only printable area
jira: none
Change-Id: If1a46773cdbd66ea3ab8484dc5d58ce5bbd3ded2
2025-03-22 21:57:56 +08:00
Bastien Nocera 6b025c3fa2 libslic3r: Add missing include for tbb::spin_mutex
src/libslic3r/Brim.cpp: In function ‘Slic3r::ExPolygons Slic3r::outer_inner_brim_area(const Print&, float, std::map<ObjectID, std::vector<ExPolygon> >&, std::map<ObjectID, std::vector<ExPolygon> >&, std::vector<std::pair<ObjectID, unsigned int> >&, std::vector<unsigned int>&)’:
src/libslic3r/Brim.cpp:1084:18: error: ‘spin_mutex’ is not a member of ‘tbb’
 1084 |             tbb::spin_mutex brimMutex;
      |                  ^~~~~~~~~~
2024-10-28 08:33:48 +08:00
wintergua a60d6ba8ac FIX: typos in speeding up brim generation
1) exploys in brimMap are not modified
2) the overlap judgment is processed in paralleling

jira: STUDIO-8443

Change-Id: I8638071cfc06776975034f39aa994fc4dc7ae1be
2024-10-15 21:24:07 +08:00
Arthur 20784d845f ENH: speedup brim generation
Use support_islands for all types of suports to avoid gaps between
support regions of the first layer.

jira: STUDIO-8443
Change-Id: Ic65b47640d8352d406bb11eeff7390532631712b
2024-10-15 15:50:26 +08:00
Mack 754198cd03 ENH:brim ears prompt to set manual type [STUDIO-8407]
[STUDIO-8401]slicer failed

[STUDIO-8402]unable to save modified brim data

jira: details
Change-Id: I354bbf2c55bad41e09a1558cb6bddf49fc87f7c7
2024-10-15 15:50:26 +08:00
Mack 34fb47a618 FIX:fix brim ear bugs
1.[STUDIO-8385] Fix switch to split tool crash;

2.[STUDIO-8406]brim ears only works in manual mode;

2.[STUDIO-8410] Disable brim width modification when brim type is manual;

3.[STUDIO-8382] Warning message not cleared;

4.[STUDIO-8239] Translation issues;

5.[STUDIO-8380]Disable brim ears for non-part models

6.[STUDIO-8285]Clicking the delete brim button did not recalculate;

jira: details
Change-Id: Id333179236d6b6f23de5081bd9b8d94b08c7dd62
2024-10-15 15:50:26 +08:00
Mack 92c85a13d0 NEW: add brim ear gizmo
jira: STUDIO-7378
Change-Id: Ib6b5dbd3b113981612b05e01e59f62054ff0b654
(cherry picked from commit 37120830a2f958f464719db1f5d0180882bc4095)
2024-10-15 15:50:26 +08:00
qing.zhang 47139ad690 ENH: add tpu-ams type
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I98c1c8a1e214b2fcb6b51857e6da3716b7aa04f8
2024-10-15 15:50:26 +08:00
qing.zhang 758d087f15 ENH: add pctg type
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ie01fcd4bef0d3ebec5bbd7185a87a1740068bdba
(cherry picked from commit c6276932dd92bc4283600954415eedeac6d351ce)
2024-06-21 09:15:34 +08:00
Bastien Nocera 8e6e68de3f Fix missing BOOST_LOG_TRIVIAL declaration
/run/build/BambuStudio/src/libslic3r/Brim.cpp: In function ‘void Slic3r::make_brim(const Print&, PrintTryCancel, Polygons&, std::map<ObjectID, ExtrusionEntityCollection>&, std::map<ObjectID, ExtrusionEntityCollection>&, std::vector<std::pair<ObjectID, unsigned int> >&, std::vector<unsigned int>&)’:
/run/build/BambuStudio/src/libslic3r/Brim.cpp:1656:23: error: ‘debug’ was not declared in this scope
 1656 |     BOOST_LOG_TRIVIAL(debug) << "brim_width_max, num_loops: " << brim_width_max << ", " << num_loops;
      |                       ^~~~~
/run/build/BambuStudio/src/libslic3r/Brim.cpp:1656:5: error: ‘BOOST_LOG_TRIVIAL’ was not declared in this scope
 1656 |     BOOST_LOG_TRIVIAL(debug) << "brim_width_max, num_loops: " << brim_width_max << ", " << num_loops;
      |     ^~~~~~~~~~~~~~~~~
/run/build/BambuStudio/src/libslic3r/Brim.cpp: In function ‘Slic3r::ExtrusionEntityCollection Slic3r::make_brim(const Print&, PrintTryCancel, Polygons&)’:
/run/build/BambuStudio/src/libslic3r/Brim.cpp:1675:23: error: ‘debug’ was not declared in this scope
 1675 |     BOOST_LOG_TRIVIAL(debug) << "brim_width_max, num_loops: " << brim_width_max << ", " << num_loops;
      |                       ^~~~~
/run/build/BambuStudio/src/libslic3r/Brim.cpp:1675:5: error: ‘BOOST_LOG_TRIVIAL’ was not declared in this scope
 1675 |     BOOST_LOG_TRIVIAL(debug) << "brim_width_max, num_loops: " << brim_width_max << ", " << num_loops;
      |     ^~~~~~~~~~~~~~~~~
2023-12-15 09:58:21 +08:00
wintergua 6b30b0fe5f ENH: Disable thermal analysis in auto Brim
since the accuracy issue

JIRA-ID: https://jira.bambooolab.com/browse/STUDIO-4534
Change-Id: I68f730abf90e0bf61ac25d4fa66c2c3ac8bacb29
(cherry picked from commit 9751e2504cd5c5748c02d42624318e4723ac9b57)
2023-11-01 09:33:21 +08:00
wintergua 3afdf05e3e FIX: the brim generated from inner island should be limited
Inner island is the one which inside a hole of the object. the brim area of such island should be limited by the hole

JIRA-ID: https://jira.bambooolab.com/browse/STUDIO-4521

Change-Id: Iae70dbefc87b0cb7dcb19578f29aad16e9bd630d
(cherry picked from commit 2bf63f0ece88a230a37f83d156a44bdc76a0d094)
2023-11-01 09:33:21 +08:00
Arthur 181b05c236 ENH: tree support uses accurate lslices
For tree support, use lslices as tree support island when generating brim,
as this is faster and more accurate.
For normal support, still use "support_fills.polygons_covered_by_spacing()" as support island when generating brim;

Jira: studio 4332

Change-Id: Ibfadd3a166606f824e5780b57112fff221470aaf
(cherry picked from commit 64960b19818c7029eaaaf3d8a89804aeaa26f11d)
2023-11-01 09:33:21 +08:00
wintergua 5160c8c4f6 FIX: brim generation with extruder overridding in by layer slicing
in brim generation, object's first layer extruders are obtained from regions.
If the extruders are changed at certain layers in by layer slicing mode,
the extruders from layer regions are not right.

this patch fix that issue by updating the extruder overridding in
a new member "object_first_layer_wall_extruders" in "print_object" class during
constructing "Tool_ordering" class. then using the new member directly when generating brim.

besides, support contour, which should be no_brim_area, is obtained from "support_infills" instead of "lslices" of "support_layers"

JIRA-ID: https://jira.bambooolab.com/browse/STUDIO-4332

Change-Id: I271d0ea0d8c01c412d4fb9ade5296c6a6471aed6
(cherry picked from commit 9919ce9d1b9105b859273eee4fe9481c4dff6189)
2023-11-01 09:33:21 +08:00
wintergua e8f8a5d487 FIX: brim generation with raft
in previous codes, we generate brim for an object with raft, which do not need brim.

jira-ID: https://jira.bambooolab.com/browse/STUDIO-4238
Change-Id: I4b2c2c1c744c098cdcfdb03c2100b06a458e983a
(cherry picked from commit 0d06415d42c95e40f79a228f75827588171d410c)
2023-11-01 09:33:21 +08:00
wintergua 7430700b8e FIX: the convexhull of first layer is wrong during making skrit
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)
2023-07-31 14:29:15 +08:00
Arthur 0cad88309c FIX: fitst layer bbox was wrong for multiple plates
brim bounding box is now shifted w.r.t. plate origin, need to modify the
no-brim shift the same way.

Change-Id: Iefa7287e2848aadbfc4a468bca394ecec48a1e7c
2023-07-07 17:52:43 +08:00
salt.wei 568ad6f851 ENH: avoid overflow of 2D boolean in brim
This is fix for jira-1774, jira-2260, jira-2997.
This is also fix for github issue 1821.

Very old issue...And all caused by same reason.

Instance shift are too large for multi-plate,
which causes overflow in 2D boolean and generates
overlapped brim line.

Only apply local instance shift without plate shift.
And apply the plate offset at last step.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I23f7d1ec75c76dea1b4f5332f16ea8a3db14bddc
2023-07-07 17:29:08 +08:00
wintergua ee3e8fc515 ENH: restore inner and outerinner brim modes
1) the function is not released to public

Change-Id: Ia1b5a31db3b1b1864997b57fe875c01f3ea9fb08
(cherry picked from commit a816cc313659f87978e1275b98f43172cb416a59)
2023-04-17 15:39:02 +08:00
wintergua 4abaad0244 FIX: typos in the tooltip of brim tpye
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)
2023-02-24 09:23:57 +08:00
wintergua 4536ed9ae2 FIX: brim generation error in XY compensation and first layer fixing
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)
2023-02-22 20:09:17 +08:00
wintergua 49eb40b711 FIX: brim croping in mulit-plate case
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)
2023-01-10 19:08:26 +08:00
Arthur 646b259972 ENH: merge tree support layers to support layers
Will greately reduce repeated codes.

Change-Id: I506a97a907b5b393fe41e13ae53e2f7c9247c4c5
2023-01-10 19:08:26 +08:00
wintergua 6dfd598b7f FIX: Auto brim will not be considered during model arrange
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)
2022-12-15 04:38:15 -05:00
salt.wei 014152f078 ENH: wrong == in brim code
Typo, Should be fixed.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I576b15df9bc738ef2c4440356afc06c9132bd9eb
2022-09-15 16:03:53 +08:00
wintergua 73f4c848de FIX: some brim might be ignored by mistake
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
2022-09-02 13:16:54 +08:00
lane.wei fdd9582e3e add the logic to reduce slicing time between shared-mesh objects
also reduce the storage size

Change-Id: I61d6e0997979ec0ce701cc580fa6640a21b6260f
2022-09-02 12:52:18 +08:00
wintergua 1a63632f0a FIX: brim generation for objects with high height to area ratio
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
2022-08-05 16:11:42 +08:00
salt.wei 97ffa093c3 ENH: align the filament type with app/machine/RFID
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I534e6b619efbb7fe6b813bf51640f46066f378c5
2022-08-05 16:11:42 +08:00
lane.wei e9e4d75877 Update the codes to 01.01.00.10 for the formal release
1. first formal version of macos
2. add the bambu networking plugin install logic
3. auto compute the wipe volume when filament change
4. add the logic of wiping into support
5. refine the GUI layout and icons, improve the gui apperance in lots of
   small places
6. serveral improve to support
7. support AMS auto-mapping
8. disable lots of unstable features: such as params table, media file download, HMS
9. fix serveral kinds of bugs
10. update the document of building
11. ...
2022-07-22 20:35:34 +08:00
lane.wei 1555904bef Add the full source of BambuStudio
using version 1.0.10
2022-07-15 23:42:08 +08:00