1. Top surfaces are detected as internal bridge. Can be seen in FDMTest
2. Fix bridge line overlap wall line
jira:NEW
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I73c47e8b3aba862f46c8438fc69e3fcc382d16cc
1. Compute score_all_plates correctly. Previously we only compute the
first j plates which was wrong.
2. Compute height score correctly. Use average height difference instead of sum.
3. Compute color change score in a different way. If adding the current item
increases extruder number, then adds up the score by 1.
jira: STUDIO-7013
Change-Id: I921c181bd4b32080627514d3834f4b74ccd00adb
(cherry picked from commit 4f6ae81be98109fe61d55203e306686e0d294ec4)
github: #3987#3805
1. In some languages that use commas as decimal points, setting multiplier below 1 will resolve to 0
2. Unable to save multiplier correctly
Change-Id: I62bc55e270929ebb5e910eb79c6f97106e842b93
1. improve sorting logic by packing higher objects first, so objects with similar heights can be packed together.
2. remove the logic of arranging around wipe tower.
This logic is no longer useful, and it makes auto arranging density low.
jira: none
Change-Id: I3458ad8702cece29c6853f990497dbcc45365537
(cherry picked from commit bbb72c833324a8cddaab1891693c5c9e1cdedc9b)
Organic support doesn't work with adaptive layer height.
jira: STUDIO-6971
Change-Id: I1fa6418bbc49914b3e5887e465861a0dacd42228
(cherry picked from commit dfe1cecb234d86bfbcba741ca3b46725fee43ea8)
I found a use after free bug in LinesBucketQueue::emplace_back_bucket. This was found by enabling address sanitizer.
The LinesBucketQueue class has two related members:
std::vector<LinesBucket> line_buckets;
std::priority_queue<LinesBucket *, std::vector<LinesBucket *>, LinesBucketPtrComp> line_bucket_ptr_queue;
line_bucket_ptr_queue holds pointers into line_buckets. However, since items are inserted into line_buckets one at a time, existing pointers that were stored inside line_bucket_ptr_queue become invalid. Specifically:
void LinesBucketQueue::emplace_back_bucket(ExtrusionLayers &&els, const void *objPtr, Point offset)
{
auto oldSize = line_buckets.capacity();
line_buckets.emplace_back(std::move(els), objPtr, offset); <--- Causes a reallocation, making previous pointers invalid
line_bucket_ptr_queue.push(&line_buckets.back()); <-- priority queue compares against old, now invalid pointers
...
The proposed fix is to calculate the required number of entries in ConflictChecker::find_inter_of_lines_in_diff_objs, and then calling line_buckets.reserve(count). This ensures that sufficient buffer is allocated up front and the pointers are stable as items are added.
bad function call when calling empty function throw_on_cancel.
jira: STUDIO-6927
Change-Id: Ib37530b5cf155973d4e21d088e07d3110c2d36e4
(cherry picked from commit 53f27f5968a481bab1666fe0053f9753d585f0da)
Upgrade ui, users can directly ok to proceed to the next step
jira: STUDIO-6805
Change-Id: Ia81019c2eacb503666680c0b8583d026baa0134c
(cherry picked from commit 38a2434753c8e3b422267283b16c75f6ad195b14)
jira: 6701
Change name from Flippingline to CrossHatch.
Reduce noise, improve speed by 6.5%. Improve transation layers by
gradually increasing rotation angle and overshoot the transation
layer while direction changed.
Change-Id: I17fcc45b409074d121bf5bb5702e15553d925b51
1. Only set the filament id in map when flush length is not 0
jira:NEW
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I6e0aeaf010f6e6dcbdc3bca5c0034aa60750bb67
1. Add total_filament_volumes, directly access it to get used filaments
github:#3865
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I4fae4f1947b4ebd16e394e0f3cf5fb0e9f979717
Add 45 degree angle offset when processing the bridge.
Need to raise infill_direction to invalidate posPrepareInfill
jira: 6774
Change-Id: I5e6bef3aa814b01c5f30398ac745937a67e3ef4c
(cherry picked from commit 7b12cab10b88f432a11414f8caa1c6427777a1ba)
also change default style to tree organic
jira: STUDIO-6801
Change-Id: Iab1d8c6117139c9a7a4c1fa71de0a13bcb356dd5
(cherry picked from commit d2c4efad58f16b23bef49bd47d3b70bf322d6f55)
jira:6701
New infill pattern that combine block lines infill and switching layers for smooth transition.
Change-Id: I2608a2d39b14efcdfe9d39a9437280da350b94c0
(cherry picked from commit 8d0a09c8b763dfc924cbba9913c241e6afadbc7f)
auto-arranging incorrect with rotation enabled and the objects already have been rotated.
jira: STUDIO-6022
Change-Id: I349d663efb1fc71367c8a77aa8ed5047a0bf2017
(cherry picked from commit 75fe40257a274ed83886e1ee20ce8dedd0de48f6)
1.Fix filament can not map if it's not used in model body
jira:NEW
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ibd2685ffd198b2e17dbf44289d0144b5b7c25788
Github: 2744
* Practically full re-write of spiral vase
- Adds transition out to prevent sharp edge at the top of spiral vase.
- Adds XY interpolation
- Adds option to turn XY interpolation on/off
* - Increasing E to 5 decimal digits (I observed uneven flow with less than that)
- Excluding all travel moves (I saw a bug where somehow we ended up with travel moves within the print so excluding all travel moves)
* - max_xy_smoothing is now configurable, default is 200% of nozzle_diameter
- fixed no-op travel moves in the middle of spiral that now show up as defects when Smooth Spiral is enabled!
* - Avoiding namespace pollution
- Fixing dist_XY == 0 bug
---------
Co-authored-by: Andrew Boktor <aboktor@microsoft.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
Change-Id: I4e982b6192f730037ff497389454313af3905e82
1. Fix crash when change infill pattern. Now change infill pattern will
influence prepare infill
2. Remove with loop param, no longer use now
jira:NEW
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ibee8808e462bd418d83b7e5781dd2bc5cc772eb1
1.In the new algorithm,we no longer use this param
jira:NEW
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie7660c0f9744cb1f33bce4fa1ccbfef06b3df712
1. Only auto calculate flush when enabled
2. Add default params for long retraction
3. Disable filament override for unsupport machines
jira:NEW
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ib5d51505b58101839527e944f9a237483951f9fe
1.The new algorithm still generate unnessary infill some time.
So we readd the option
jira:NEW
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I65fdd58e19db85582d89facb5038adf8e87f299a
obj->bounding_box().size() is not the real object size if the object has been rotated.
jira: STUDIO-5999
Change-Id: I6553d4c990696efd674e3e57063802127d5d5282
(cherry picked from commit 479ea9fb02f55d24f27c94633f3d852bd5c62c83)
Code fallback:reload scene
in 3D view GLVolume::explosion_ratio = 1.0
hide "Edit to scale" icon
Jira:STUDIO-6727
Change-Id: Ib7079077f5b39930891869af618b93861f3aa178
Cherry-picks new 3D Honeycomb from Orca Slicer by David Eccles (gringer).
jira: 6697
Orignal commit message:
3D Honeycomb - switch direction at smallest bridge point, rather than every layer (#4425)
Co-authored-by: SoftFever <softfeverever@gmail.com>
Change-Id: Ida2e5b76a7b906be21045e053200519af1bd9489
(cherry picked from commit a9f521c37e04a0cf404184848aa738b8a6043f87)
1. associate button display logic
2. Add valid range tip
3. seperate the printer into three types
jira:NEW
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie14c8746eb20456dacd5c129a5449c1e7c7db372
This patch is cherry pick from Prusa, thanks to Prusa
Rework multi-material segmentation to work directly on the Voronoi diagram without creating a copy of it.
Previous algorithms assume that they can get an invalid Voronoi diagram. Because of that, during the multi-material segmentation, a copy of the Voronoi diagram was created, and there were several attempts to fix missing vertices and edges. But as it shows, this wasn't a good enough approach and sometimes led to several issues like bleeding layers.
After generalization, our approach for detection and repairs of invalid Voronoi diagrams from Arachne, we could assume that multi-material segmentation gets non-invalid Voronoi diagrams.
With this assumption, we reimplement multi-materials segmentation to work directly on the Voronoi diagram. That should make multi-material segmentation more stable.
So, this should fix several issues like bleeding layers. Also, memory consumption should decrease by a lot. Also, there should be some speedup of multi-materials segmentation.
Jira: none
Change-Id: I72aa6e1f9634d9ee8759aa469a0b39a36ace62f5
1. initial port of new ensure vertical thickness algorithm from prusa
2. initial port of new internal bridge algorithm from prusa
3. readd interface shell
Based on prusa commit 11c0e567a68979e96085b3763a76464cb793ea12
and commit f8e7d1b01c114b4d45f9e221c6b5bb935065d650
Thanks prusa.
original author:
PavelMikus <pavel.mikus.mail@seznam.cz>
Vojtech Bubnik <bubnikv@gmail.com>
jira:NEW
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I0d36be065a29cf87315918d720f726975a43ef9f
Previous parallelization has a bug where two adjacent nodes may be deleted at the same time.
jira: none
Change-Id: I99a29dae9f72aa74ed2721eea4421b15eec10732
(cherry picked from commit 91efe67d723652d3f7e4484dd3cdf31638f769a4)
1. sharp tails are supported by a sparse set of contact points which are
easier to remove than previously dense surrounding support.
Organic tree support also has this feature, including all other smart
overhang detection techniques (small overhang and cantilever detection),
with the cost of slightly longer time to detect overhangs.
2. improve supporting overhang contours by adding contact points along
contours.
jira: STUDIO-3876
2. remove some redundant data structure.
Change-Id: If7f595348506a14aba2d0132d23f97d3539c1e1f
(cherry picked from commit e3cce09b9db12ced2841045ffd337b1f35494e6c)
jira:none
code is from PrusaSlicer,thanks for enricoturri1966 and PrusaSlicer
commit dcec7a8ad40eaad72789f6dba15cafc94664119f
Author: enricoturri1966 <enricoturri@seznam.cz>
Date: Tue Feb 28 08:08:56 2023 +0100
Fixed Rotate Gizmo orientation for mirrored objects + ensure that instances and volumes always rotate as rigid body
Change-Id: I359d15814a6411bbd6bcb753661388bb5e6fb513
1. Add wipe tower role cache in GCodeProcessor result
2. Add wiki link for prime tower
jira:NEW
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ia766c7218df68fb1ffba567af193d6bfecacf588
1.reducing purge through retracting filament.Currently only
applicable to X&P series
github: PR#3100
Signed-off-by: XunZhangBambu <xun.zhang@bambulab.com>
Change-Id: Ie328039872e50e699dc5e5082fa99f68ac5f5fd1
and clip paths correctly while has 50% overhang on slope
Jira: 6640 6639
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I8abe43177c3965130514017eaaa75bc79ab7b2db
only check slope overhang on conditional mode
add not apply speed slow down for gloss of print result
Jira: none
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I22f7ea7785aeed5833f28103d51f36be84fc7c56
not working correctly with short objects
jira: STUDIO-6489
Change-Id: I33e1a165f448e1c3e272d4045934c63ad345db2f
(cherry picked from commit 9348eaa22a056db5384a38ea966cec9ba4a533a7)
Jira:none
BBL:Merged scarf seam and
add imorovemnt to improve seam on defalue setting
--as default setting wipe before rectract get good seam on end
--clip slope at start and end
--clip more on inner wall slope start than outer wall
--slowdown slope speed to get better sea
--todo-slope path had error double dE
reduce it could improve seam,but slope could not stick well.
--check slope path overhang and avoid it while on conditional scarf mode
Co-authored-by: qing.zhang <qing.zhang@BambuLab.com>
Change-Id: I583a1c25e534b2aa5c9d710dcf207aefbea64347
1. speedup detect_overhangs by skipping sharp tail and cantilever detection if there are too many overhangs.
jira: STUDIO-3584, STUDIO-2592
2. drop_nodes with precalculation of avoidance and tbb parallel_for_each for all nodes in each layer.
jira: STUDIO-1814, STUDIO-2381, STUDIO-2639, STUDIO-5020,
3. don't show too many progress messages
Change-Id: Ia4897089c69c235fb7cd8e5fdcf4690086048b31
(cherry picked from commit 9c08e28b5b5342dfdde2c939fc953f143a42a59b)
1.Change small sparse infill to solid infill after doing expand
introduces too much solid infill.
jira:NEW
Signed-off-by: XunZhangBambu <xun.zhang@bambulab.com>
Change-Id: If8ac07356185729c192d42bae8d9325ebe5fee87
1. reduce unnecessary small parts of tree supports
jira: STUDIO-6506
2. fix the bug that zero height tree support may be generated with synced support layer height.
3. fix the bug that tree nodes' radii may change abruptly
jira: STUDIO-6326
Change-Id: I38153d136e46bf9d797881cc6ca8803767f46736
(cherry picked from commit 59af0a6c2643169463cf18010ffd75f3aa19b704)
1. raft under organic trees are not generated
2. Studio may crash when generating organic supports for some objects.
jira: STUDIO-6407
Change-Id: I6e7ff2423b9fee95e4a4a85ccc2844549142f0c8
(cherry picked from commit 00db6c241270f5524bf1618109a2b45872073fd0)
1. reduce the gap between blade-shape overhang and support
github: #3667
2. improve sharp tail detection of blade-shape overhangs by introducing
lslices_extrudable.
github: #2786, #3367
jira: STUDIO-5065, STUDIO-6038
Change-Id: I4e899eace1aa28b100a6f4ce2b8d740c317f5530
(cherry picked from commit 08328b848e39c345b6c7b64021d1e0f04df24d08)
1.Union first layer convex hull with object's bbox to detect whether
model enter head_wrap_detect_zone
jira:NEW
Signed-off-by: XunZhangBambu <xun.zhang@bambulab.com>
Change-Id: I11f26967d7421f41e9c824e62794c96591e6ae71
1. Raft was not generated when tree support is selected but enable_support is false.
2. Raft angle and density of tree support was incorrect
github: #3675
Change-Id: Ifd78bf619a28eb03a908e75ad56af4934b6b08b7
(cherry picked from commit 2a448095a2fb4a2abebb0a5c8082a2ddbb635f16)
1. When detect surface type,do not detect top/bottom
surface if top/bottom shell layers is zero
jira:STUDIO-5843
Signed-off-by: XunZhangBambu <xun.zhang@bambulab.com>
Change-Id: I844b24d061f3fc9aef56dab941140c567340eeae
Jira: STUDIO-6166
Referenced some code from PrusaSlicer,and i made some improvements:
Change the measurement object to a local coordinate system and support measurement of multiple model_objects
thanks for PrusaSlicer and enricoturri1966
commit 928a642eb94ae8f04aee26e8242deb836cc1d3c3
Author: enricoturri1966 <enricoturri@seznam.cz>
Date: Fri Sep 2 11:24:06 2022 +0200
Measuring: Added features selection in GLGizmoMeasure
Change-Id: I9cec73398f0cdbd9a7718cb1d52145bf2562d9e1
1. prompt sync user presets when create custom filament
2. Fix the issue of not displaying printers when creating custom Filaments based on presets when selecting PLA Aero Type.
3. Optimizing the traversal logic during AMS Setting Pop up reduces time complexity and allows for quick pop ups. Additionally, using nozzle calibers for retrieval and repairing custom materials may result in inaccurate retrieval.
4. Implement synchronization logic with the printer
-a. Received slot information, reset the slot when the "filament_id" in the information does not exist in Studio
-b. Received slot information, the nozzle temperature in the information is different from the preset nozzle temperature in Studio, reset the current temperature.
Jira: none
Change-Id: I511dc82563ec77a341839671d398607048ce1985
Signed-off-by: maosheng.wei <maosheng.wei@bambulab.com>
Jira: STUDIO-6166
most of the code come from orca
The original code is from PrusaSlicer and referring to the implementation of OrcaSlicer. Thanks for PrusaSlicer and OrcaSlicer , thanks for Lukas Matena and enricoturri1966 and so on.
commit f72d42f920334a05b0efa01f18eb4cc066809c00
Author: enricoturri1966 <enricoturri@seznam.cz>
Date: Tue Oct 31 11:43:04 2023 +0800
Measure: Initial porting of Measure Gizmo
diff --git a/resources/images/copy_menu.svg b/resources/images/copy_menu.svg
new file mode 100644
Change-Id: I81afa52165f14c34e0c63f2c40c953a04d76fc8b
Only early stop detect_overhangs if support is disabled AND not checking support necessity.
jira: STUDIO-6158
Change-Id: I2d9662231d941827d6392d57344f7d911f641e09
(cherry picked from commit b811a6031d1afe0e7b1cb73050fe6391a65411ef)
1. accurate top z distance for tree support
Also fix a bug that bottom z and top z distances are misused.
jira: STUDIO-3000, STUDIO-5990
github: #1827
2. Change interface pattern to interlaced rectilinear when using
support material.
2. clean up tree support code
Change-Id: Icc8ce1b6844c841a6fbd1d623df707fdc8ed0f7b
(cherry picked from commit da7412a48dfb5767918ef125b9d0fb9718c03a61)
1. export stl with proper translation
If the object is not on first plate, previous export will give the
vertices very big coordinates.
jira: STUDIO-5991
2. add log for boolean failure reasons.
Change-Id: I52cec4e3ca31b215fbe60246f0266de3d4b8cb61
(cherry picked from commit 6c4dbc8c6c43dd5789e5ce3a572f465548068b77)
1. FIX low-level NFP bug with auto-arranging due to correctNfpPosition's
bug.
jira: STUDIO-5756, STUDIO-4874
2. FIX large items may not be able to be packed due to a too large inflation
jira: STUDIO-5566, STUDIO-5716
github: #3194
Change-Id: Id63fb3a5f5fe7ce3a5675c86a3d1440f46866ca3
(cherry picked from commit 9a789262cee4e14f10b673a4f00126d27bcf071b)
1. skip_useless_pick support
2. fix the relation incorrect issue between plates and objects
JIRA: no-jira
Change-Id: I8aba229ca99292914583a1bbd036c2d8421b414d
1. interlaced rectilinear interface pattern not working with tree supports
2. infill overlaps with walls when wall count>1
3. support blockers can't block sharp tail detection in normal support
jira: STUDIO-5663
4. bottom z distance=0 not working for normal support.
jira: STUDIO-5676
github: #3203
Change-Id: I025eff2aaad90ad565661aa656c59c82ff969bbf
(cherry picked from commit 5aaf7ead0fd697043f673161e0ede0145ec49f4d)
For UNION and A_NOT_B(difference), the merged parts can be safely skipped.
jira: none
Change-Id: Ie931dba3d3f8c65565ff1f5ac24ff23292f8156f
(cherry picked from commit 37d49a0a49ddc15a187d3fac34b580f3192af86f)
Simultaneously solve: When downloading Preset from the cloud, the filament_id of the preset in m_preset is null.
Jira: 5846
Change-Id: I6ba1b46fe92e345614b6a4af3fffa87d81fa2456
JIRA: STUDIO-5441
Fix the issue of floating after flattening caused by Euler angle
calculation
thanks Lukas Matena and Prusa
Author: Lukas Matena
Data: Sep 23,2022
Fixed issue with Euler angles:
the function to extract Euler angles did not work reliably in some of the corner cases.
The bug was not present in 2.5.0 release.
Change-Id: Ie8e2c000ae38522b4f32d8557671519f86d19820
Jira: request from 1.9
1. add nozzle_height to machine profile
2. auto arranging and sequential_print_clearance_valid don't consider objects conflicting if they are all shorter than nozzle_height and close.
3. do not detect conflict when all models are short.
Change-Id: I8d1eebb15d5bfa8c40d7491e033149e360531b89
(cherry picked from commit 6b4b52653db5f08d724a556c5c766c0bfa00f34d)
JIRA: STUDIO-5551
1. flushing volume auto-calc when sync ams list
2. flushing volume takes the larger calculation value when filament has
multi-colors
Signed-off-by: Kunlong Ma <kunlong.ma@bambulab.com>
Change-Id: I72e6f9780ea56103a44c2da6068440a4615c254d
Variable layer height is not supported with Organic supports.
This is picked from Prusa. Thanks.
jira: STUDIO-5614, STUDIO-5615
Change-Id: Iea462ecf8dd56e2a5a25cbe071519c29a2a763d3
(cherry picked from commit 708c5f0f7a00a30f9fe414b3dabe007ebdc48ca6)
1. Cut with multiple volumes are OK now.
2. Close mesh boolean fail error with new object or open object
3. Fix wrong name and config of boolean resulting object
github: #3118
jira: none
Change-Id: If2c9dbfb36cbdfe4917a2371217923891bb7909c
(cherry picked from commit 982c0ecb92cf7c2b5ae5972ab900a6b10e7dda50)
Principles of removal:
1. Don't translate common symbols such as mm/s, °C, etc.,
they are the same in most languages.
2. Don't translate professional terminology, such as CoreXY,
I3, PLA, TPU, HMS, etc.
3. Don't use unicode codes, use symbols instead. Eg. \u2103 -> °C.
Dont' worry, gettext and modern compilers can recognize them.
4. Fix some encoding warnings (don't use GB2312, use UTF-8 instead).
jira: none
Change-Id: Ifa847d4f32a6f8dcba660ae2026ad09fc914c7fb
/Users/ci.slave/slicer/patch_build/1/bamboo_slicer/src/libslic3r/GCode/GCodeProcessor.cpp:486:33: error: cannot pass non-trivial object of type 'std::string' (aka 'basic_string<char, char_traits<char>, allocator<char>>') to variadic function; expected type from format string was 'char *' [-Wnon-pod-varargs]
get_time_dhms(machine.time));
^~~~~~~~~~~~~~~~~~~~~~~~~~~
github pull request: https://github.com/bambulab/BambuStudio/pull/3360
Change-Id: If13ee145b20ef9532b23a58bb3b0a29f30d8c0a8
Change-Id: I98fd87417c432c3afae67a3d2bc29c79f8bffa3c
/run/build/BambuStudio/src/libslic3r/Preset.hpp:772:10: error: ‘mutex’ in namespace ‘std’ does not name a type
772 | std::mutex m_mutex;
| ^~~~~
/run/build/BambuStudio/src/libslic3r/Preset.hpp:14:1: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
13 | #include "ProjectTask.hpp"
+++ |+#include <mutex>
14 |
1.Add "in_head_wrap_detect_zone".Detect if the model projection enters
a specified area.
jira:[NEW]
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I6aed5a782d2f33f023bdc19cf06dff0957828eeb
Now normal support also uses this option, so we can't default it to 1, otherwise normal supports will be too hard to remove.
jira: none
Change-Id: Ic5700af5c17e3a7b265c8915f28b0db35c6e06e6
(cherry picked from commit 6b84a9826da108b76569e686bd9def0b23ae29fd)
1. Add a base_interface_layer when using Supp.W
2. Fix a bug where base_angle and interface_angle are wong
jira: STUDIO-5386
Change-Id: I52ab32c63b3cd1e6e2ba6463b01ae26699cf13d3
(cherry picked from commit 92ddd4a10b793572a1fa009da5b9e44fcdf81de2)
Revert "ENH: do not leave a gap for top interface if the top z distance is 0"
This reverts commit 79ea32c7cbbdb7e689637980af7c36caf42284c9.
Revert reason: the supports are impossible to remove in some cases.
jira: STUDIO-5385
Change-Id: I376a6f4dfd78da6dfea68b9ac3d552cddd0b4272
(cherry picked from commit 34e38b705fde7f5d7f9a3a89c96a3627ce0c998e)
1. If layer range exceeds maximum/minimum layer range in printer
settings,pop up a window to warn
jira:[NEW]
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I0304ee790e557ecf967f355c171993d1f51b5057
1. open support wall count for normal support
Enabling this option makes normal support stronger and gives
better overhang quality, but also more difficult to removal.
Jira: STUDIO-5192
2. fix a bug where tree support (hybrid style) may get overlapped
extrusions near the walls.
3. fix a bug where raft layers can't be 1 in tree support
Jira: STUDIO-5261
Change-Id: Iadc0c67a9b50b5b221c8e83d5aa22ed282018cf8
(cherry picked from commit c0bb0084e386cb70ed6e16edf93190e4b38f5b90)
The original param is added by Prusa. Thanks orca for adding threshold.
1. Re add small perimeter speed and threhold.
github: #2221
Change-Id: I35b269b26f085d80f0edca28650bb21fc04898d7
Thanks for PrusaSlicer and YuSanka
Jira:STUDIO-5175
commit 510d59687b3b19c4a0f4e6540620d0694dd1b7ac
Author: YuSanka <yusanka@gmail.com>
Date: Thu Oct 5 14:13:14 2023 +0200
Follow-up 1b451cdf: Fixed#11415 - Connectors disappear when slicing => only when using multiple cut planes AND excluding parts
Change-Id: I9ccd5b85f482d723d21fccf5e104c9e0a9cc4849
This is a bug introduced in 7fbb650 when solving jira STUDIO-4695.
Now we use a more decent way to solve it.
Change-Id: I92deffcb9fe53e8a24c93fe973446ae37df07375
(cherry picked from commit bd98430dbd15eb6c9bb4b447990e0dcf8a50eef0)
1. uptodate_filaments to support update the original filaments to newest config
2. allow_rotations/avoid_extrusion_cali_region for auto-arrange
3. skip_modified_gcodes to support skip modified gcodes
JIRA: STUDIO-5112
Change-Id: I95c09af1b5462cce3bf27aea32228d6d1d1d201d
1. Modify default values of some supports params, so 3rd party profiles are easier to setup.
3. Fix a bug that organic support may cause crash.
Jira: none
Change-Id: Icae348d8fe5985f4287404e96089198a499283f2
(cherry picked from commit 8889cfc703b72e142f288e525b89c87619f2213c)
First layer support can't be top interface, and
min brim width of auto mode should be larger
than 0.
Jira: STUDIO-5010
Change-Id: I02f8b017b535f8a47965387e8679f692b1966e04
(cherry picked from commit 3e7d54abe352e8ab5f9d6492b5a86a96f9067f94)
Jira: XXXX
import config lose xxx_settings_id issue
export process config should not have user printer
export process config shoule remove duplicate presets
export filamnent config: filament list should have no third print compatible presets
Change-Id: I94bac062e07b3a989ff86142e3fb8266a48364c6
Fix organic support issues by syncing with Prusa's changes. Thanks to Prusa.
Jira: none
Change-Id: I96fa1a939767bb0b0d2e8a5fd72966bb10a2042e
(cherry picked from commit 89607dc73313e1b5d389674ed2d8f4f358bcb8b9)
Jira: 4917 4920 4928 4933 4934
4917 filament preset name too long to dialog too long
4920 too long fiilament preset can't save
4928 limit preset tree size
4933 edit filament dialog remove cancel button
4934 update preset tree and refresh
Signed-off-by: maosheng.wei <maosheng.wei@bambulab.com>
Change-Id: Ibf708911576324a58c5640a50f5207b45a69b4e9
1. Add a option to prevent support interface filament being used in
support body
jira:STUDIO-4847
Change-Id: Ic6e9f663b71a7e4d9cd1bca399c0da2ce22bb5b5
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
1. Option "assemble" assembles multiple input meshes into a single object.
2. Option "load_filament_ids" sets filament ids for each loaded object.
3. Option "clone_objects" add multiple copies for each loaded object
Jira: STUDIO-4848
Change-Id: I707b48767a7c978118490398da440f0fb54351fa
(cherry picked from commit 8ddb456375be1abc6a0f692096068d8eda89b0eb)
1. Improve generation speed by removing unnecessary get_avoidance.
2. Fix a bug of hybrid support's interface (Jira: STUDIO-4878,
STUDIO-4726, Github#2614)
3. Fix a bug of tree support pass through objects (Jira: STUDIO-4252, STUDIO-4608
STUDIO-4298)
4. Fix a bug with first layer + Arachne (Jira: STUDIO-4281, Github #2423)
Change-Id: I40978c93ab93fa6964483514dad552d73a66c710
(cherry picked from commit 2ccbbe49c74d4aab4f086e79a6f8262b7fc80f15)
Jira: XXXX
copy some new parameter for new preset
Change-Id: If17f329eea541d9da332185367b2ea1b7972d2dd
Signed-off-by: maosheng.wei <maosheng.wei@bambulab.com>
1. Add bed macth result after doing gcode export,according to filaments
used in first layer
jira: [NEW]
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Icf70fce0310b86fffc5276fb8fb3bf4cc14afcb0
1. add a hook inside tree branches for improved strength
2. fix the issue that interface may fly as a mess (delete the logic
where gap nodes can skip dropping down)
3. fix the issue that base nodes may fly as a mess (smoothing should
skip polygon nodes, see Jira:STUDIO-4403)
Change-Id: Ie9f2039813c2ca3127ed8913304cc455fec8e7ee
(cherry picked from commit 83cef5f91d49ff3d275a89ec3df8b5f0fd573f8c)
JIRA: STUDIO-4824
add model_id to each plate config
Change-Id: Icdc234fe3b17493016037128f1c187b14014276a
Signed-off-by: Stone Li <stone.li@bambulab.com>
1. Rectangle objects get higher alignment weights, so they are aligned
better and we can now pack more of them.
Jira: https://jira.bambooolab.com/browse/STUDIO-4790
2. Fix the bug that align to Y axis may cause object flip 180 degrees.
Jira: https://jira.bambooolab.com/browse/STUDIO-4695
Change-Id: I0cccc3291c154848f8e0e8ef1aca7045518aef80
(cherry picked from commit 7fbb650d4d3d187277f849273cf76b4d0989a67f)
Auto-arranging allows more filaments to be printed on the same plate
Only HighTemp and LowTemp filaments are not allowed on the same plate.
Jira: https://jira.bambooolab.com/browse/STUDIO-4682
Change-Id: I1bd4966e6aaa55a6dd9dff05f0bd94f2795a62b0
(cherry picked from commit 965040912af0555ca190702e7c7ac92e177a2922)
Auto arranging may put exclusion region may be too close.
Jira: none
Change-Id: I613a2525620cf58cd9da7d27e8bb6d9d0a52d807
(cherry picked from commit a8ed3929d3596b8ee5400c9376ca040c75025524)
when the 3mf contains modified gcodes or self defined presets
a popup window will be shown
JIRA: STUDIO-4628
Change-Id: I975758132ba9d200255e7bf7d3a606fd609da5c8
1. refine some tip
2. alert when bed temperture greq than softening temperature
jira: STUDIO-4532
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ib9623553a40825015744783f30c6e439827a49c6
1. set different bed_shrink for seq_print and layered print
2. fix the bug that seq_print arranging may get collision with exclusion
area.
3. remove unused functions.
Jira: STUDIO-4663
Change-Id: I8b726704cca33fe37bb3cb7c4502963a9ad8d16b
Jira:STUDIO-4227
Approximately 70% of the code comes from Prusa,thanks for PrusaSlcer and YuSanka
commit 492e356a21734b3503caae115fbb280da5fbaa22
Author: YuSanka <yusanka@gmail.com>
Date: Thu Aug 3 16:09:28 2023 +0200
CutGizmo: Fixed and improved Undo/Redo.
...
Change-Id: I63abb69180aec2ab0ce9bc8f30477d9e9a25a5fb
when the first support interface layer is default color, and the support filament is different
Jira: XXXX
Change-Id: Ibec1eb266ca86947cb56f7bfb4546569f66b1036
Astar.hpp, JumpPointSearch.hpp and JumpPointSearch.cpp are from Prusa.
Github: 1793
Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Original Authors:
tamasmeszaros <meszaros.q@gmail.com>,
Pavel Mikus <pavel.mikus.mail@seznam.cz>
Change-Id: I72f68d59bc8bb3b7cc0f37276c10811bca2ac38c
(cherry picked from commit 7a14a6a48af68b6a3d7985bdb9c171aabeb70817)
1. only report slicing error when no-check not set
2. skip duplicate when under spiral_mode with by-layer print
JIRA: STUDIO-XXX
Change-Id: I03bf7f45b4cc43dcc1fd2ffb6b53321fe3324dad
(cherry picked from commit 083684c01194787f54fb88787b76c1e16179c6de)
1. sometimes the pipe open failed,
add some retry logic;
2. return the reason when no-check=1 while validate fail;
3. return an error when duplicate object under spiral-mode when not using
by-object print sequence
JIRA: MAK-xxxx
Change-Id: I3792d89dbbe560a8febe0f0154bccb8f573959a5
since the accuracy issue
JIRA-ID: https://jira.bambooolab.com/browse/STUDIO-4534
Change-Id: I68f730abf90e0bf61ac25d4fa66c2c3ac8bacb29
(cherry picked from commit 9751e2504cd5c5748c02d42624318e4723ac9b57)
Including brim_max in bed shrink will make available area of bed be
small when an object has tree support, because this object will have
a brim_width as large as 24mm now.
Jira: MAK-2048
Change-Id: I309c0ec14e4acd75dcfc2fff0e7ea3558b43cc4c
Jira:STUDIO-4227
most of code from PrusaSlcer,thanks for PrusaSlcer and YuSanka
commit 1b451cdf9f8859aff58df54fa89d689aa47518d7
Author: YuSanka <yusanka@gmail.com>
Date: Wed Aug 9 13:22:11 2023 +0200
CutGizmo: Big code refactoring.
All manipulations related to cut are extracted to CutUtils now
...
Change-Id: I4e93e19b8e0d46ec2395247796c59587574851cb
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)
Previously when the overhang is a slop, it's controled by the xy
distance. Now we control it with top z distance as long as it's an
interface.
Note: Not working with Snug support, which has a different mechanism of
support interface.
Jira: STUDIO-3991
Change-Id: I1b7c4cf892b4c4ec2f3e668bd966ab0971212364
(cherry picked from commit c094b5ec83dc98dca7a8b8c0438b8f1994134db6)
We decide to set brim width of all objects to MAX_BRANCH_RADIUS_FIRST_LAYER if there is an object with tree support after discussion.
Jira: MAK-2009
Change-Id: I4c4940800632c433235966b01c44ac910e33a51c
We must ensure when independent support layer height is enabled, the
support layers are strictly synced with object layers. Otherwise, the
wipe tower toolchange may be messed up.
Jira: STUDIO-4097
Change-Id: I6208653f9665b15d028940d5e130c9e895629fc2
(cherry picked from commit 41d35c8af152c91cb356a68d88a879a115b44778)
JIRA: STUDIO-3921
fix the orientation bug that multiple objects does not perform the same
increase num of hull faces to iterate
Change-Id: I9c662e1e7858521585de612d7f1e9cd213e183bb
(cherry picked from commit 6a781a338df9d5a009ac5a667e8b1bc8009e32a9)
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)
Jira:STUDIO-4227
add TransformationSVD and some apis in Geometry for cut tool
these code from PrusaSlice,thanks for enricoturri1966
the original commit message:
commit 22ccb5657834e1b2fe548dc647a77044bc9c38f4
Author: enricoturri1966 <enricoturri@seznam.cz>
Date: Thu Feb 2 09:07:03 2023 +0100
Added class TransformationSVD to detect transformation matrix components using singular value decomposition
...
Change-Id: I4ce736449029d1fec22def20ef50fa20e1f48713
(cherry picked from commit da9e8127f5214f095da2db9a7898d2e0e84a0214)
Jira:STUDIO-4209
some codes are referenced form PrusaSlicer,thanks enricoturri1966 for the original commit
commit cf380fb4564fec4bd731e34819102f66fda23e75
Author: enricoturri1966 <enricoturri@seznam.cz>
Date: Tue Sep 21 13:51:57 2021 +0200
Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Out of bed detection for circular printbeds
...
Change-Id: I1b1e2ff045286566d4fb9f2d8ad4faa1f135f60c
(cherry picked from commit 284bca9f1f4cdb9eb405e8205cd50666a2b0b2a0)
JIRA: STUDIO-4408
1. if min_obj_distance is 0, use auto mode
2. normal support, 5mm gap, tree support, 22mm gap, no support, 0.1mm
gap
Change-Id: I906ccf267bef1f33a946572614d658fd50cfcda3
(cherry picked from commit 771efc935da625d8faa4cc5b77fedc5055f93c6c)
Jira:STUDIO-4227
most of the codes are referenced from PrusaSlicer,thanks YuSanka for the original submits
commit 7cd99d98f537198b78158feced2aa8977bfcbe08
Author: YuSanka <yusanka@gmail.com>
Date: Wed Jul 12 18:06:51 2023 +0200
WIP: Cut with Rivets
* Code refactoring: get_connector_mesh() and apply_cut_connectors() moved from ModelObject to CutGizmo.
* Allow to change values of space and bulges for snaps
7cd99d98f5
...
Change-Id: Id4c7991a0ed5bf9608823601775920a81a3dd1c4
Multiple filament slots does not change the actual filament settings
Jira: 3797
Change-Id: Ib377b4c79aae731caa97b408e84a87a33b3bb155
(cherry picked from commit 7d704d8f0bae14f16087c77c1bd90946632330a6)
adaptive layer height won't work with conflict checker because m_fake_wipe_tower's path is generated using fixed layer height.
Jira: STUDIO-4442
Change-Id: I964a69af2fa0be8224ffc11e4c86f8ccf6dbf152
(cherry picked from commit e8c915f9e0b8c8f6cb549259b20d6d850a06d7d3)
1.Support get filament required hrc by filament type
jira:STUDIO-3518
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: If0c1699331b75da17380b9eeca7bb155d98a14c2
1. If there is already a wipe tower on current plate, leave it there regardless need_wipe_tower flag.
This is useful when we have toolchange custom gcodes.
2. Correct wipe tower pos to prevent it outside bed.
Jira: STUDIO-4426
Change-Id: Iedecc7c5fe7ced01533d0a302253841046a7fb42
(cherry picked from commit e8d728e46b12baaf9fb0e87e3d14197ae3616826)
Add a new suport style "Tree Organic" from Prusa, as organic support is
faster and seems more strong in some cases. Thanks to Prusa.
Feature detection including sharp tail, small overhang, long cantilever,
are still kept.
Known issue: first layer support path may go outside build plate.
Jira: STUDIO-2358
Github: #2420
Change-Id: I4cec149bf4fa9eb733ae720ac1a7f65098e3b951
(cherry picked from commit d977bc5d3b4609f4fec0aa68152a33cacf184c4a)
Dominant direction is more accurate (solve the problem that cubes are
not arranged neatly).
Jira: STUDIO-4356
Change-Id: I8931f51a97bee96d5d9e75306481eae2e0cdc059
Z height after timelaps gcode is changed. Should get
the new z height and save into gcode writer.
Jira: none, bug is found by self-test
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I25516def507782600f0f270a339c88ea01a472a3
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)
1.Use json to store nozzle hrc
2.Use json to store filament temp type
jira: STUDIO-3488
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8eb226e26352a41418f4e46d8cda403dc22ecff4
by the multimaterial painting.
This commit is cherry pick from Prusa, the commit number is
9bce0fcf9bb479c289c396e7e23ce95841a61628
Thanks to Prusa.
Jira: XXXX
Change-Id: I29ad1fa9ab3ccc393a1e2affde1ae869d0a33afa
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)
Add cmd line option to pass layer change gcode.
This is useful for lithophane auto change colors.
Cmd: --custom-gcode custom_gcode_toolchange.json
Examples of the input json file can be found in the jira.
Jira: STUDIO-4070
Change-Id: I5beb5ff7d6d81028e95013e79f955e498cd3ba30
For i3 printers, best object position may not be the bed center,
we need to align objects to the specified best_object_pos.
Jira: STUDIO-4133
Change-Id: I06e31e597d2dd8288eb24a52d836cc8a134a4111
1. treat the critical slicing warnings as error
2. save more information into result
including the triangle counts and the non-critical warnings
JIRA: STUDIO-4217
Change-Id: I25b746d06c9a1ef2d642c67852577982a2986322
1. use extruder_clearance_max_radius instead
2. set the value of P1P/P1S to the same value of X1C
JIRA: STUDIO-4214
Change-Id: I1ae5e4203db0933854b4388b5505dbf34b40edae
1. Add align_to_y_axis option for auto-arrange.
This is useful for auto-arranging of i3 type printers.
2. Change default value of align_to_origin to true when switching
from non-i3 printers to i3 printers.
JIRA: STUDIO-2583
Change-Id: I7dabab846022a0da030a9fec060a60a4207537a0
(cherry picked from commit 9c549c18ecc1f513644e1bc4a60d6936721a13ac)
1. Enable open support_activate_air_filtration
2. Fix display exhaust fan params when support_activate_air_filtration is closed
jira:STUDIO-4230
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ieddba4bb104b6068b5afb4c109ea6b90d7c4045b
1. move the global functions to Model
2. set brim automation paremeters before process
JIRA: STUDIO-4208
Change-Id: I3f75175ec74d214ca2a6d5f3ade56d08e0ecd4f3
As title. Also add time for waiting chamber temp in printing time
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8054080d2e8821e421a6d03222b8b25365b5977f
Updated sandwich mode code to cater for edge case where two sets of internal perimeters were causing the perimeters of another island to not be re-ordered correctly.
Github pull request: #2182
Change-Id: Ib58722db8cb76aa6b6474412c71993bb8e4dc007
Z hop will only come into effect when it is between retract_lift_above and retract_lift_below.
Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: If43aea7024018eb8f532c6af5d8000973f2edee3
so that it does not decimate all triangles on very high detailed models
Relevant issue 8834 Access Error when slicing
Github: #2283
Change-Id: I047361c88c561962ef4d3cf67bc0126402c41941
In adaptive layer height, smoothing 1 time is not usable.
There'll be layer lines at the layer height change boundaries.
Change-Id: I84a8b69744db4936062d631864836f0a8cd99cf6
(cherry picked from commit ca77408f38c9a57bee4ab8ee4989024f7f105317)
As title.Use the same way to decide exhaust fan.
Removes end print exhaust fan control.
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ib848b04361dc1214eabe2819a6d120d9e0646689
(cherry picked from commit 02ef3a05141710172b1ec2cc45c1e3f9908c82a3)
Support controlling chamebr temperature and exhaust fan for air filtration
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I31627ce4f8acce99e132b0436ab7dcd0bcebf81d
(cherry picked from commit 215878864e1410085ddf9735595e1b1cb00c1e47)
allow changing the relative angle between the top surface and the ironing.
Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: I85e8ff3d05d3a6d9408da011631e7d71a6d85178
fix the ironing be apply to the preview layer of bridge
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I53cb4e6ff80176953c2927c1d9dc5eecc590764c
The bottom interface layers were not right when "independent support layer height" is enabled.
This commit ensures there are always 2 bottom interface layers and the gap
is not less than specified. However, the gap may be slightly larger.
Jira: STUDIO-3842, STUDIO-2138
Github: #2127
Change-Id: Ifd8fbc4c7bc6dd92f2534fdd0179458a9e93c79a
Add a new calibration pattern method for pressure advance calibration, which can better test the influence of k value on the corner. The changes of this patch are picked from OrcaSlicer by thewildmage, thanks to thewildmage for the great work!
github issue: https://github.com/bambulab/BambuStudio/issues/2222
Change-Id: Icc8fd4d52b20c1668bfa08716b48549dfada515b
(cherry picked from commit eb72d8b681bef270906406a2d10a36d4efbce900)
Updating position to gcode writer in wipe tower
miss plate offset.
This is handling for github issue #2256
github: github issue #2256
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I915591ee919d10bb5bd2c2dcd5f1e98fd4b66503
We planed to skip uncessary filament changing when skip
object. However, this caused color mixing.
If we try to fix the color mixing issue, the flush gcode
should be generated by printer itself. This is not a short
time job.
So currently we never skip changing filament when skip
object. This will not save much time and flushing. But better
than none.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I6046cd2765cf68058712b4256402acc0be771144
Can't delete nodes with no children, otherwise the parent-child relations may be corrupted.
Jira: STUDIO-3737, MAK-1557
Change-Id: I1de39e182bac4a55a8739c00e59fdf7b9b5e4dfb
fix bug with zero width tree supports throwing exception.
This a PR from @scottmudge commited to OrcaSlicer.
More than the original commit, we also unify the usage of line_width and
support_extrusion_width, making things simpler.
Change-Id: I0b7a4344cbda4fdf05dfd9f8965f598ad6844429
Previously holes of enforcer_polygons was taken as contours,
which caused enforcers inside a hole were too large.
Jira: STUDIO-3877
Change-Id: If38c34e2469b822012a2ed0b082783563fe99228
split to 3 mode
not apply
all top surface
topmost surface
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Id9bb1a6ded7414b2f093ac01e4ecb4b93057d022