Commit Graph
429 Commits
Author SHA1 Message Date
7c91459c37 Emit Disable Power Loss Recovery (#11616)
* Emit Disable Power Loss Recovery

Now only works if it's enabled but the goal it's to force disable it.
With this change it will always emit the command for BBL or Marlin 2.

Co-Authored-By: Michael Rook <54159303+michaelr0@users.noreply.github.com>

* Refactor power loss recovery G-code comments

* Return empty power loss recovery when no compatible printer

* Update power loss recovery comments

Update label and tooltip for power loss recovery

* Add enum for power loss recovery mode

Refactored power loss recovery configuration to use a new PowerLossRecoveryMode enum instead of a boolean. Updated GCodeWriter and related logic to handle the new enum, allowing for 'printer_configuration', 'enable', and 'disable' options. Updated config handling, legacy value conversion, and default values accordingly.

* Update PrintConfig.cpp

---------

Co-authored-by: Michael Rook <54159303+michaelr0@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-31 00:16:47 +08:00
3dc80593bd Brim: optionally generate brim from Elephant Foot Compensation outline (#11760)
* Brim can follow EFC outline

* Optimization

* Update Spanish EFC brim description

Adopt reviewer-proposed wording from RF47.

Co-authored-by: RF47 <RF47@users.noreply.github.com>

* Tag Orca specific changes

Tag Orca specific changes vs. Bambu using the comment //ORCA: . This helps when reviewing merge commits from upstream Bambu so we don't end up causing regressions when pulling in commits from upstream

* Tooltip update

---------

Co-authored-by: RF47 <RF47@users.noreply.github.com>
Co-authored-by: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com>
2025-12-29 09:35:44 +08:00
5c547ea4a1 Add ability to disable Power Loss Recovery on BBL machines (#11582)
* Add ability to disable Power Loss Recovery

* Fix typo in PrintConfig.hpp for power loss recovery

* Attempt to resolve Unknown option exception: disable_power_less_recovery

Add disable_power_loss_recovery property to any json which had scan_first_layer

* Revert "Attempt to resolve Unknown option exception: disable_power_less_recovery"

This reverts commit ddaf34b317.

* Fix typo

* Change attribution from BBS to Orca in PrintConfig.cpp

* Mini refactor power loss recovery handling in GCode export

- Moved power loss recovery G-code generation to a new method in GCodeWriter.
- Support Marlin 2

* Update comments and power loss recovery handling

* Implement power loss recovery G-code commands

Added functions to start and end power loss recovery with appropriate G-code commands and comments.

* Add power loss recovery methods to GCodeWriter

* refactor and fix build errors

---------

Co-authored-by: Michael Rook <michael@rook.id.au>
Co-authored-by: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-10 23:19:57 +08:00
coryrcandSoftFever 52c2a85d28 Fix tests (#10906)
* Get libslic3r tests closer to passing

I can't get geometry tests to do anything useful. I've added extra
output, but it hasn't helped me figure out why they don't work
yet. That's also probably the last broken 3mf test doesn't work.

The config tests were mostly broken because of config name changes.

The placeholder_parser tests have some things that may-or-may-not
still apply to Orca.

* Vendor a 3.x version of Catch2

Everything is surely broken at this point.

* Allow building tests separately from Orca with build_linux.sh

* Remove unnecessary log message screwing up ctest

Same solution as Prusaslicer

* Make 2 TriangleMesh methods const

Since they can be.

* Move method comment to the header where it belongsc

* Add indirectly-included header directly

Transform3d IIRC

* libslic3r tests converted to Catch2 v3

Still has 3 failing tests, but builds and runs.

* Disable 2D convex hull test and comment what I've learned

Not sure the best way to solve this yet.

* Add diff compare method for DynamicConfig

Help the unit test report errors better.

* Perl no longer used, remove comment line

* Clang-format Config.?pp

So difficult to work with ATM

* Remove cpp17 unit tests

Who gives a shit

* Don't need explicit "example" test

We have lots of tests to serve as examples.

* Leave breadcrumb to enable sla_print tests

* Fix serialization of DynamicConfig

Add comments to test, because these code paths might not be even used
anymore.

* Update run_unit_tests to run all the tests

By the time I'm done with the PR all tests will either excluded by
default or passing, so just do all.

* Update how-to-test now that build_linux.sh builds tests separately

* Update cmake regenerate instructions

Read this online; hopefully works.

* Enable slic3rutils test with Catch2 v3

* Port libnest2d and fff_print to Catch2 v3

They build. Many failing.

* Add slightly more info to Objects not fit on bed exception

* Disable failing fff_print tests from running

They're mostly failing for "objects don't fit on bed" for an
infinite-sized bed. Given infinite bed is probably only used in tests,
it probably was incidentally broken long ago.

* Must checkout tests directory in GH Actions

So we get the test data

* Missed a failing fff_print test

* Disable (most/all) broken libnest2d tests

Trying all, not checking yet though

* Fix Polygon convex/concave detection tests

Document the implementation too. Reorganize the tests to be cleaner.

* Update the test script to run tests in parallel

* Get sla_print tests to build

Probably not passing

* Don't cause full project rebuild when updating test CMakeLists.txts

* Revert "Clang-format Config.?pp"

This reverts commit 771e4c0ad2.

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-08 22:42:11 +08:00
Noisyfox 760f66d3d7 Merge remote-tracking branch 'upstream/main' into dev/p2s-pr
# Conflicts:
#	src/slic3r/GUI/Plater.cpp
#	src/slic3r/GUI/PrePrintChecker.cpp
#	src/slic3r/GUI/StatusPanel.cpp
2025-11-18 09:17:13 +08:00
Ian Bassi c0c1ddfda0 Filament Ironing Override (#11194) 2025-11-17 15:56:39 +00:00
xun.zhang 21399999f1 ENH: add eager lift function
1.Immediate do lift in eager_lift function

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I931d22e901e2123bb886c31d8d1a5788fddeed42
(cherry picked from commit 6cea772d4f3b2f7e2a43c35a2271e4bdbba9eadd)
2025-11-14 11:08:08 +08:00
Noisyfox 4efaee4c98 Merge branch 'main' into dev/p2s-pr 2025-11-04 10:26:47 +08:00
Anson Liu c6e4ac1c4d Add fixed Ironing Angle setting for uniform surface finish (#11195)
* Initial working fixed ironing angle implemented with new Fixed ironing angle setting

* update documentation

* Combine Fill.is_using_template_angle and Fill.alternate_fill_direction into Fill.fixed_angle

* Rename SurfaceFillParams.is_using_template_angle to SurfaceFillParam.fixed_angle.
2025-11-03 17:21:01 +08:00
SoftFever 0767d3a363 Merge branch 'main' into dev/p2s-pr 2025-10-28 22:19:27 +08:00
Valerii Bokhan 790bb39783 Fix: The fix of the adaptive layer height logic for supports (#10697)
Fix: Fixing the logic of the adaptive layer height for supports

Removing `tree_support_adaptive_layer_height` because its logic duplicates `independent_support_layer_height`
2025-10-28 17:31:49 +08:00
weizhen.xie ca34800cad ENH:Object skipping supports skipping flushing of filament change
Jira:[STUDIO-12781]

Change-Id: Ia21d07b0ef107867cce55631d99bd03caebd6387
(cherry picked from commit d74849d499078f87d14282e92f48b2c02355d96c)
2025-10-28 15:30:05 +08:00
hemai 104cbb7b9b ENH: support E3D print parts display
Jira: [STUDIO-14908]
Change-Id: Ie8273eb6f74a3e7508f440d2092bb48f2e1dbb10
(cherry picked from commit a4218e991e6367e3f1ee3802e785802df2ad6d41)
2025-10-28 15:30:00 +08:00
Noisyfox 972026f0a5 Merge branch 'main' into dev/h2d 2025-10-20 23:15:29 +08:00
Valerii Bokhan e6a4ddf32d Feature: Ability to change flow ratios by extrusion path types (Code + Docs) (#10641)
This new feature allows users to override flow ratios for the following extrusion path types:

* First layer (excluding Brims and Skirts)
* Outer walls
* Inner walls
* Overhang perimeters
* Sparse infill
* Internal solid infill
* Gap fill
* Support
* Support interfaces
2025-10-20 21:45:52 +08:00
Noisyfox da2934d02a Revert "ENH:instead of prime_volume by filament_prime_volume"
This reverts commit e7e6405ad3.
2025-10-05 19:16:05 +08:00
weizhen.xie 7bc01c625d ENH: Add a button to control whether to enable volumetric-speed fitting
Jira: None
Change-Id: I8d9fd3468dbfb8904d164b289f9d5223e476145c
(cherry picked from commit 3acf97f1b3cf12d34a3679eef550cc26e03eb86c)
2025-10-03 23:28:58 +08:00
weizhen.xie 38a18dc086 ENH: Polynomial fitting via Gaussian regression for determining the filament_max_volumetric_speed
Jira: none
Change-Id: Iab1ef65f0546884c60d2a9e39213a07d76a1f483
(cherry picked from commit 186948cc91b12d547b7168104ba629d40c333d1b)
2025-10-03 23:08:54 +08:00
lane.wei 8e9281d68e ENH: CLI: add support for single extruder with multiple nozzle volume type
jira: no-jira
Change-Id: Ibb16fd87e5df074bca0068446782109100310ee1
(cherry picked from commit 304070083cbfc7098bbd95a3ae31c845cd53134d)
2025-10-03 22:01:31 +08:00
xun.zhang a218000b9a ENH: add new config transfer logic for model,region,layer config
jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I995ebb45b992bba3879b71afd3fe21510335f24c
(cherry picked from commit d45dacff9a97132c8999b1072c54c10bd0a2d12d)
(cherry picked from commit 0b4e224aefbcdbc4b4ed88c3343948f68361a72b)
2025-10-03 21:52:41 +08:00
Noisyfox a932821168 Rename wipe tower ribs related options 2025-10-02 22:56:54 +08:00
zhimin.zeng 89c58fb4d9 FIX: add clumping detect area parameter
1. add wrapping detect area parameter
2. fix spiral retract bug
3. modify the enable parameter to print config
4. close clumping detect for manual cali mode
jira: STUDIO-13761 & STUDIO-13766

Change-Id: Ib597ca48a0342a8ae3930f5e790085987f252374
(cherry picked from commit 698a5e6bc0b281ba77fc1fd7692daec09cb440b4)
2025-10-02 17:07:17 +08:00
xin.zhang 4a787f6ff8 ENH: clean codes about device
JIRA: [STUDIO-13609]
Change-Id: I591de7033360b9570600006cfbce2148a8d031d5
(cherry picked from commit e9c774be8f4c89b8dafa14ef56913612fb68bd0c)
2025-10-02 09:30:48 +08:00
zhimin.zeng 1ccdf7b43b ENH: add wrapping detection
jira: STUDIO-13192
Change-Id: I0fb5692b18cdb3b7af624a831dcfb0f635b165f0
(cherry picked from commit 89a8b6ea5e34340cba3750416ce3100dcc39f5c2)
(cherry picked from commit 50bc8c10a7b4ddc0b2dfe9cbab438b9d307b7fc0)
2025-09-30 15:32:44 +08:00
weizhen.xie 04f0b96029 FIX:Fix the crash that occurred when importing G-code file
Jira:STUDIO-13408

(cherry picked from commit 3810f4edfe086b9500860e59baf35e5568b56977)
2025-09-30 11:02:32 +08:00
xun.zhang bc02e48dc0 FIX: display the minimum flush data
1. Use the minimum flush between nozzle volume and flush in datalist
2. Add a new param to decide the datalist to use

github:7445

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Id87c98ca5069e7b328974d641d7a81dfbf9c50a0
(cherry picked from commit 2be29b784727330732170b5c2ff0ba9d5e79d82f)
2025-09-29 20:38:38 +08:00
xun.zhang 3c051f4180 FIX: invalid params in user preset load
jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I7e9cdabb2d9c285db841c810f32aee5943b4db82
(cherry picked from commit ff8d764e7256cec1e7cd1d4d3d034590eb846f45)
(cherry picked from commit fb0461f3459afcfc80165442277ba8c54e232a39)
2025-09-24 14:37:18 +08:00
lane.wei ae72d3345f ENH: config: add nill load/save logic for user config
Change-Id: I8da6c5b345cc088862f2c720aeb742b9617ff3e7
(cherry picked from commit 603f93d97f0ad70e01e120854887142ab05ee089)
2025-09-24 14:17:53 +08:00
xun.zhang a6084d01bd ENH: add placeholder to check whether filaments is BBL
1.Also add some side texts

jira: STUDIO-12308,STUDIO-12309

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I16f21d001cf0c87620a8d7c93b33af4f63981624
(cherry picked from commit 31451dcd3310720692ec2748962f379ac3c50cf4)
2025-09-24 10:40:45 +08:00
xun.zhang 7bd4f85a96 ENH: add params for filament retract when extruder change
jira: STUDIO-11965

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Id175e9dbce419d43cf45d6116ed4fa4fd556f606
(cherry picked from commit c7964441719f521d1a20dc9f084a7598bd01a9a5)
2025-09-23 16:38:50 +08:00
xun.zhang cdf66984dd ENH: add flush params for multi filament
jira: STUDIO-11965

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I2245f22a03c65b570bc60a2792daf4c1683f1ebd
(cherry picked from commit ffe2653341bffd5aee42436e236d45e0b87b56aa)
2025-09-23 14:16:03 +08:00
zhimin.zeng 119f16c565 ENH: add filament_printable and delete unprintable and printable list
jira: none

Change-Id: I643ab11831ceac1fe0793510f64b288cbd16415a
(cherry picked from commit 3dd5a601547485bfcc4188727343a52c30bb6a73)
2025-09-21 13:48:08 +08:00
zhimin.zeng 0926dc46fb ENH: add printable filament types for extruder
jira: none

Change-Id: Ie6ada223bc11a53b975c8c20b4a41e7cdc2d524c
(cherry picked from commit c64270f506a4d004f66aef3ff31760f793eca489)
2025-09-21 13:48:07 +08:00
jiangkai.zhao 8e616ce892 ENH:add flat_irong as print preset
jira: none
Change-Id: Ic29634780e1ece2d0cffddd0c2cf7cafb1318fa2
(cherry picked from commit 2acd313f72d5e9531cf1394c218dc3bc6b8d9521)
2025-09-21 13:48:03 +08:00
xin.zhang 472a48acc6 ENH: add nozzle type ntTungstenCarbide
jira: [STUDIO-11597]
Change-Id: Ibec41549042d253aeb85ba81e93e7c26a4a56ed2
(cherry picked from commit 1352cff31427eadd2c85ce4c9602ab3379a5ae9e)
2025-09-21 13:48:01 +08:00
zhimin.zeng 95e97e09fc FIX: fix build error
jira: none
Change-Id: I97df69b728fc3871b7c33e1fd3ba068e741d51c7
(cherry picked from commit 326d7d28b47017bdbd98873a6437ef84116291ba)
2025-09-18 20:22:29 +08:00
zhimin.zeng 9cdabfbd59 FIX: Remove unprintable_filament_map
jira: none
Change-Id: I30285d0cc98a974e71f16fd9adb57dfcccb39415
(cherry picked from commit 1959fa7d5c213a7720b8f215f1578597278e6920)
2025-09-18 14:13:51 +08:00
xun.zhang 6f5ea725dc ENH: add new way to set bed temperature
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I99a9f67e9b13b2137ad371b22cf0999ccf9c096d
(cherry picked from commit 69c2947daf66eb0a6732b1b980c9b87f597c8da7)
2025-09-17 16:22:05 +08:00
zhimin.zeng a0b5cdfbb2 ENH: generate framework for all layers
jira: none
Change-Id: I95f35ba45fe9f544c53bdf0c5a52a70bd45ee7a9
(cherry picked from commit 3e0b6eb2289eab383c6e616d37559b0c6619eca1)
2025-09-17 10:07:27 +08:00
xun.zhang 229ef8884f ENH: enhance filament group alogrithm
1. Try to merge filaments before grouping
2. Set max match num for machine filamnet in match mode

jira:STUDIO-10392

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I2451d838e07ee02f493fda4dc702f3d13b2ad37b
(cherry picked from commit d15fc37ff2fa048e38a0b132bb3ae525ff666fab)
2025-09-17 09:46:04 +08:00
qing.zhang 01c2a31ac9 ENH: change param name
Jira: none

change filament category to filament adhesiveness category

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I267d71b2f968becf4e8f434daafdf1a70c36a823
(cherry picked from commit faec4160d560d965978447eaa8675a5fbee4090c)
2025-09-16 21:56:37 +08:00
jiangkai.zhao 9e29f2db0b ENH: add wipe_tower infll gap
and fix wipe error when enable timelapse and in single color
and set rib wall as default
jira: none

Change-Id: Ic365bb7ee0ee6715c9d4f4f00b4bca9fd472c61a
(cherry picked from commit 89b59f1c41e0f360457622438a09237bfa1eaa18)
2025-09-16 21:34:10 +08:00
Noisyfox 2375ab860a Merge remote-tracking branch 'upstream/main' into dev/h2d
# Conflicts:
#	resources/profiles/BBL.json
#	src/slic3r/GUI/AmsMappingPopup.cpp
#	src/slic3r/GUI/MediaFilePanel.cpp
#	src/slic3r/GUI/Plater.cpp
#	src/slic3r/GUI/StatusPanel.cpp
2025-09-16 14:46:40 +08:00
qing.zhang e7e6405ad3 ENH:instead of prime_volume by filament_prime_volume
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I96e7d0604da8f90678feed81833e3a634752ffff
(cherry picked from commit be02e769bb49680d6be678fc5fa73a141ca8da1c)
2025-09-16 10:39:19 +08:00
qing.zhang a6c4e22e15 ENH: move extra params
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ib5c4d203c6585b9946d8703d9f33477780afb275
(cherry picked from commit 78079dacd1c4f14c171668d6c7895e72dd96c52a)
2025-09-12 17:43:07 +08:00
jiangkai.zhao 16731a90b0 ENH:add rib wall wipe tower
jira: none

Change-Id: I9699cc74e206851284949f89230e986435b9e1b7
(cherry picked from commit eabfa6b272590698886ecec33b89207605b91993)
(cherry picked from commit 1d33d1c37d4dada1cd1129ff16fe46d07933ad26)
2025-09-12 15:31:11 +08:00
qing.zhang 34f4300f4e ENH: add filament change length for color change
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I84ab638d6af056ede9b9524d1395eb42fa731150
(cherry picked from commit 9b46d437bad707d38a978bc768e0359979e5fb19)
2025-09-10 16:00:00 +08:00
xin.zhang b5dc52b00e FIX: sort the filament names
jira: [STUDIO-9825]
Change-Id: I29a313db9a012124888357008afea1ddba39a3e5
(cherry picked from commit 1a676645eb522821428cc3167bfb8ac43277e330)
2025-09-10 10:07:22 +08:00
lane.wei 42c1005e76 ENH: using shared area for fillbeds when obj is small
when obj is small, it uses the full build volume to compute the empty cell
we need to use the shared one
jira: STUDIO-9583

Change-Id: I4cc183df38e054a7b94579637a49168c2fb77992
(cherry picked from commit fea423cdad4ee1a24c077cfeed99962e89953d5b)
(cherry picked from commit 06d483ee462f6b1a7a3f39805c81ac0b6f0dfcca)
2025-09-09 16:08:12 +08:00
zhimin.zeng 6ab141e0e1 ENH: add PPS-CF/PPA-CF detection for multi-extruder printer
jira: STUDIO-9660

Change-Id: I1df024e178b8561569b493888d6057d8f96aea3c
(cherry picked from commit b68a7b3bd6ad5c980885fbaed3c635ae1a424f73)
2025-09-09 14:41:23 +08:00