corner cases
this patch is cherry-picked from PrusaSlicer's 84722876012ca310e29b291e10fef9d18ae26cea
thanks to 'Vojtech Bubnik' for the fix
Implementing a test whether the current thread is the main (UI) thread
and using it on AppConfig::save() to assert if save is called
from a worker thread.
The old assert was using thread names, which did not always work
on Windows.
Fixes#7839#9178#9370#9420
1. when object skipped, it should not be duplicated
it is set to unprintable before arrange
and the plate needs to be considered a skipped plate also
2. skip the wipe tower if not multi-color after skip
3. load default configs if there are no configs loaded
4. refine the result.json to include key_values
Change-Id: I8c132cabcdd78756673fe900267a226a41ae1b4d
1. load the updated machine/process config from uptodate_settings
2. if don't have uptodate_settings, keep the logic as before, use from local
Change-Id: I3520469ab6094f03895b8e0e4e84c7549190f244
1. from small bed to larger one, auto translate the models based on center;
2. from large bed to smaller one, report an error
Change-Id: I7b7fac1e370ff4daca82c4f36977a86fca268625
Enforcers should also subtract the lower polygons to get overhang areas.
Jira: STUDIO-3692
Github: #2045
Change-Id: I70f4aaae13826efc624e9bc942d2d11e9b1df1a1
(cherry picked from commit fc3d9b24ac1eb14e259488c94fca3469f319b368)
1. We have a logic to add supports at corners for tree(auto), now I extend
it to tree(manual) also.
2. Only show support_critical_regions_only option to tree(auto).
Github: #2008
Change-Id: I161444da93464fd2ef0e0f3b40a0c5852beba351
(cherry picked from commit af4efb4aadc2a4d16de3eea881c6610955985fff)
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)
while the newer version of 3mf be load to older software
pressure_advance be unrecogized
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ie160759f58e573f8ad01a2941763016e9b070e9e
What: As title. The original code is always apply
at the end of last object of last layer, whichi is before
layer change
Why: the fan spped will be skipped if the last object is
skipped. So we must move the layer time fan speed setting
after changing layer, where is common gcode block and does
not belong to any object.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I442f80e00778b524576210b451f81dd15e25e14c
Only use MCut to do boolean, with a little modification to allow input
mesh to have multiple components.
Jira: STUDIO-3167
Change-Id: I4f53010f76fbcacfe966c2ef48e465f97d6516fe
(cherry picked from commit 92d0eb11744820466ee2f67c02d4764e496b7e60)
when the cached object is skipped
we need to reslicing it;
also do overhang detect for all objects
Change-Id: Ic842fd5a441426983a760145aeff9285e398d430
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