Previously tree supports are harder to remove than normal
supports. We learn from normal supports and improve the gap between
object and supports.
Jira: STUDIO-3530
Change-Id: I229a7b869b334bdf4c5aba96c9450213b83457f2
As title. This function need to be used in calibration
page.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ia4228cbd195d87f433b59bc14129bd4acdd9df68
This is fix for jira-3493
Remove duplicated height pairs when add height range
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: If74c1f8af1c911d709b9582a15ea8852630c1a67
brim bounding box is now shifted w.r.t. plate origin, need to modify the
no-brim shift the same way.
Change-Id: Iefa7287e2848aadbfc4a468bca394ecec48a1e7c
1. Don't use mcut on splitable volumes
2. If MCut fails, try again with CGAL.
Change-Id: I55d352b166633db9e4548b5c9e6913cf931f5f8f
(cherry picked from commit c1bde5358524d2291db6efa584ff072308ed9d20)
Useless for BambuPrinter. But used by third party printer
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ib6a63e78816b25696c25952508f76c3d9221e363
When there are multiple empty layers needs to be replaced, error_msg is
assigned multiple times simutaneously by tbb, which causes problem.
Jira: STUDIO-3320
Change-Id: I52a48c9fe284d15aeb8e4e9e5d1db7e0c3321ad6
(cherry picked from commit fba54c063637a1bab4d835e2e5f8558b2affa4e6)
Mark code from OrcaSlicer with same comment tag for follow easily
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: If4db502a1b0e6d0648c73f2f383b6d1cc8e1aa01
1.store each printer's calibration status to appconfig.
2.add retraction calibration
3.add choose fine calibration directly at flowrate calibration
4.add start pages for every calibration
5.add history window for pa calibration
Change-Id: I117fd46e689e0573e70e8579f5a52ba62d99f3d6
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)
Do not do final align for filling in bed.
Jira: STUDIO-3265
Change-Id: I2ce2ebed575ba05b1d78ec89923f8e91c4de6648
(cherry picked from commit 581aa4fd0ff1c6f64026d7b934d4bd8a79b803ae)
Thanks OrcaSlicer.
This is just function for klipper printer.
NEVER used for BBL printer.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I910abceb67f4dcb4260f74f5dd1b4fb614812670
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
Should never use these two setting for bambuPrinter.
Thanks original code from OrcaSlicer.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ifda4086b71fd2ef170b044c7632d15fe2ef490fd
pa calibration for 3rd party printer and retraction calibration
Change-Id: Ifeb12807cdce366c9d265a0490b320224dfb23fe
(cherry picked from commit 732adceeef43c9c957468ab490f0e3ee20f3173b)
Enable label object when does not print with multi
filament and object number is smaller than 65
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Id670c6a5258f266076bc0a52c50ab5a28386f242
(cherry picked from commit 40248347908788ce6303ed255826011127d8eaa3)
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)
If support_on_buildplate_only is enabled, and a node will fall into the object,
this node should not be a normal node.
Jira: STUDIO-3047
Change-Id: I65dc6d69d28729732907111c3b34b4d32edff806
(cherry picked from commit d04dc35d45c171e20899cb391d3b192fa123c10e)
This can avoid to simplify wall twice when
the only invalid step is infill.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ie5a9ccc10d5331c29c716aece08cdb195352cfe3
Optimize support top interface fill direction for bridge.
The direction is set orthogonal to the biggest bridges's infill
direction.
Currently, it only works when thick bridge is off.
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: I7bd894ae6f5ae24bc597c609e27a16b6d45a9797
Small overhang diameter threshold is reduced,
and use bounding box size instead of area for final decision.
Github: issue 1681
Change-Id: Iabbb49dfc47345bb609214749104c808608c4d65
Previously grid infill may be cut, so the strength on one direction is too weak. Now we switch the order at neighboring layers, so the strength of both directions are good enough.
Change-Id: I0ba768eeee34ce430e43ea57d8f06c209d469d39
These two settings is necessary for some
specific user case.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I9d70679932ac90c34296393d0e8bb8aebd8ebe48
The print z was wrong previously when there is a wipe tower, or there
is an object with floating parts.
Jira: STUDIO-2719
udesk: https://bblcs.s5.udesk.cn/entry/ticket/show/2258732
Change-Id: Ifa070aeb548d692549cf88df0d405ecdf0160c80
(cherry picked from commit be3097d8044ce9e0079ebf7070b15c7aad7aff0e)
Remove all spaces and special symbols like \ / : * ? " < > | in the plate name,allow xml special symbols such as & '
Change-Id: I2b391d13be709af0e47f1573c0e225e63591fd23
(cherry picked from commit 135c97e9916c852a8625d9d9bf0a4dda051b6e2b)
1. Previously if there are multiple sharp tails in a layer, some will be
missed. To fix this, we should not skip if the current layer is already
detected as sharp tails.
2. Do not mistakenly detect sharp horns as sharp tails by only detecting
the overhang areas larger than half of the extrusion line width.
Github: #1578
Jira: STUDIO-2659
Change-Id: If7ba5c9ae547d3051551aa6fa34eb6214d01a46d
CGAL to 5.4
TBB to 2021.5
OpenVDB to 8.2
Change-Id: I08992fce104e6f56001643c3c5dbf6c3f59ffc3d
(cherry picked from commit 1571f176fc37dda1c3e889776e13fa49bba4ae42)
Multi-material arranging is more compact by redefining same_color_with_previous_items:
if the colors of previous items are a subset of current object's colors, or vice versa.
Either of the two cases will not increase the total number of colors of the plate.
Jira: STUDIO-2871
Change-Id: I7cbe0835408d306084490b4849d03bb9fb617d2b
(cherry picked from commit d58702e9c0db54bcd123739298ce6dc03f5ca1a5)
Little overlap of support lines from two objects are allowed.
Change-Id: I738874ee71fc9787abbef764dbad762c76bc5731
(cherry picked from commit a5f7a53dc818d598523149d675fd0310f5d22f86)
This is caused by the inverse-order polgyons after mirroring. Adding
a union_ before offset_ex fixes this bug.
Github: #1621
Jira: 2738
Change-Id: I885a3ca6af4e5fadb2158d913cf67525bfffa91e
(cherry picked from commit 4ea95d89e7ec058ac21218e1839cfe16b486893a)
referenced OrcaSlicer code and support for Chinese textures,chinese xml,limit plate_name length,Code decoupling,wxColour use Local Variables
Change-Id: I6434b90efb2f90235527c7dfb3a7ed516ac2cf4b
(cherry picked from commit 0ecfefb0e1cfccbe73b0fcc530e04e6405ecf68a)
sometimes the root mesh is loaded after the shared mesh
we need to treat the shared mesh loaded at first as the root mesh
Change-Id: Ibc6f6a07c5069f3dc9471a129c2f434b48f486e9
In normal support, contact_polygons were slightly larger than allowed region, so sampling to the wrong points, which were then removed when "on buildplate only" was turned on.
Jira: STUDIO-2742
Github: issue 1352
Change-Id: I2f131bac48eb30997f37818f312da3386516a5ea
(cherry picked from commit ed25a89c0e8c5358ea803344fbce482be172d2ee)
This reverts part of the commit d4490af, because redo slicing is unacceptable after changing support params.
Known issue:
Bottom surface type depends on support parmas, that's why we add the steps dependency of slicing against support params in commit d4490af.
With this commit, bottom surface type may not be right with the initial params, and the user can't do anything to make it better.
Change-Id: Iff079c4d1205b8a07468be6396990fe87634a3fe
(cherry picked from commit c663a844629c07dd40973832df4e4d1e1827235a)
1. Instead of smoothing top-down, now we smooth tree branches bottom-up, and do not stop at merged nodes.
2. Fix a bug where some nodes don't have child. This is critical for bottom-up smoothing.
Change-Id: Iac0fecd81dac541ca390bcf5cbdfe7fd66cfd3a2
(cherry picked from commit 536a8a4f0ef76fa0358f4b4b181c4c7e7fff8bc7)
We increase the smooth iterations from 1 to 50.
Change-Id: Iba883fd67d7a9a71c92b364dcc9b76e00fc45820
(cherry picked from commit 945fba20a5629148bfd8cee47f492d42c50f9824)
Tree Strong is too similar to Tree Slim and people don't like it.
Jira: STUDIO-2660
Github: #1579
Change-Id: I52d7e8e674f0fc332e4ab2813261ffbc4b4cfb7a
(cherry picked from commit 9eb209b4c1737d2f10b9b8bd78c9f876f3d32bce)
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)
tan(90\degrees) is too large and will make detect_overhangs very slow.
Jira: STUDIO-2620
Change-Id: I55901a6bc1b56216549f66e1a7e77c0da680997b
(cherry picked from commit e58cc8a4665808580e84107f54661447000d64f3)
1 limit the range of setting
2 avoid too dense points when fuzzy skin enabled
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I6691fd03d2aa960b055b68100dfb338b640cb4af
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)