Commit Graph

626 Commits

Author SHA1 Message Date
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 ddaf34b317f8797540235b8f7d179b1c9b6d10f8.

* 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
25bc45c8f5 Tab.cpp Machine + Material: Linking Wiki update (#11548)
* Fix tooltip + URL

* Full Material wiki redirection maping

* Machine wiki + append_option_line wiki linking

* Machine wiki 2

* Update README with improved wiki links and clarity

* Bring back Print statistics options

* Move num_extruders config to OtherSlicingStatesConfigDef

The num_extruders configuration option was relocated from OtherPresetsConfigDef to OtherSlicingStatesConfigDef for better organization and relevance. This change ensures that the number of extruders is defined in the context of slicing states rather than presets.

* Unifi adaptative bed mesh
2025-12-09 23:57:03 +08:00
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 771e4c0ad2fdbaa26a8fee77030650afacdc5083.

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-08 22:42:11 +08:00
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
c0c1ddfda0 Filament Ironing Override (#11194) 2025-11-17 15:56:39 +00:00
77f7514d97 Fix spacing and punctuation issues (#11244) 2025-11-17 09:35:53 +00:00
5e2a7fbf35 Merge branch 'main' into dev/p2s-pr 2025-11-17 14:56:09 +08:00
8ec2454835 Standard units need translation for CIS Languages (#11376)
* Standard units need translation for CIS Languages
2025-11-17 10:29:44 +08:00
614612ed38 Merge branch 'main' into dev/p2s-pr
# Conflicts:
#	src/slic3r/GUI/DeviceErrorDialog.cpp
2025-11-09 12:35:32 +08:00
b1bb08b096 Fix casing on file extensions (#11265)
* Fix casing on file extensions
2025-11-09 11:38:45 +08:00
a151ac931d Add missing translation markers (#11243) 2025-11-08 22:58:32 +08:00
2bcbb688a1 Fix casing of axis' names (#11258) 2025-11-08 22:36:03 +08:00
0115cfbdd0 Merge remote-tracking branch 'upstream/main' into dev/p2s-pr 2025-11-07 10:42:06 +08:00
4b7e95d81d Increase Bridge Density Maximum (#11283)
* Increase bridge density maximum and updated External Bridge Density tool tip.
2025-11-07 09:38:26 +08:00
4efaee4c98 Merge branch 'main' into dev/p2s-pr 2025-11-04 10:26:47 +08:00
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
f198ac306b Fix tool change time settings 2025-11-01 14:58:47 +08:00
0767d3a363 Merge branch 'main' into dev/p2s-pr 2025-10-28 22:19:27 +08:00
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
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
934f32bd8c FIX: remove some warnings
jira: [none]
Change-Id: I0e74b7316d0efe38c65e1f695b2a09eb09103552
(cherry picked from commit 766c6e004145325bcc7a6addfce27842ee9504de)
2025-10-28 15:29:56 +08:00
3a8269f9d4 ENH:Frontend limits rib width to less than half the tower side length
jira: STUDIO-14681
Change-Id: Id303ae07cacf36059d6de8570fa5ddf7802829ee
(cherry picked from commit 919a57eef5d05066c4a804448cad69bdd3102456)
2025-10-28 15:29:55 +08:00
a839b81fdf Calibration Cornering Jerk Test + Generic interpolator + Fix (#10962) 2025-10-26 20:44:19 +08:00
b2047ba563 Merge branch 'main' into dev/h2d-2
# Conflicts:
#	localization/i18n/list.txt
#	src/slic3r/GUI/CalibrationWizardPresetPage.cpp
#	src/slic3r/GUI/DeviceManager.cpp
#	src/slic3r/GUI/DeviceManager.hpp
#	src/slic3r/GUI/Printer/PrinterFileSystem.cpp
#	src/slic3r/GUI/Printer/PrinterFileSystem.h
#	src/slic3r/GUI/SelectMachine.hpp
#	src/slic3r/GUI/SendToPrinter.cpp
#	src/slic3r/GUI/SendToPrinter.hpp
#	src/slic3r/GUI/StatusPanel.hpp
#	src/slic3r/GUI/Widgets/AnimaController.cpp
2025-10-24 09:59:00 +08:00
f0b89eadf4 Remove to Ignore small overhangs: Full update (#11073)
Ignore small overhangs

Co-authored-by: Briella Bugs <72235413+briellabugs@users.noreply.github.com>
2025-10-23 23:43:57 +08:00
972026f0a5 Merge branch 'main' into dev/h2d 2025-10-20 23:15:29 +08:00
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
a6d9fa49b4 Limit Shrinkage values (#10930)
* Limit Shrinkage values

Co-Authored-By: Rodrigo <162915171+RF47@users.noreply.github.com>

* Min 50 Max 150

---------

Co-authored-by: Rodrigo <162915171+RF47@users.noreply.github.com>
2025-10-20 11:00:20 +08:00
3b1a420b4e Merge remote-tracking branch 'upstream/main' into dev/h2d-2 2025-10-20 09:37:23 +08:00
fcb640bee1 Set Ironing angle setting to be a relative degree offset from top surface infill direction (#10841)
* Change ironing angle setting to be an offset angle from the top surface angle rather offset from the layer 0 angle that changes on each layer.

* Change Ironing angle offset range from [-1,359] to [0,359].
-1 is redundant because it is the same behavior as 0 offset.

* Change ironing_angle new default value to 0.

* Update existing print profiles' hardcoded ironing_angles from -1 to 0 to reflect new default value.

* Add migration for old -1 ironing_angle settings. Remove logic for -1 ironing_angle.

* Add u8 prefix for degree symbol string

* Use solid_infill_direction instead of infill_direction for top surface infill direction. Use calculate_infill_rotation_angle to add offset to solid_infill_rotate_template if used.

* Update quality settings wiki for Ironing

* Set f->is_using_template_angle when making ironing filler objects

* Update quality_settings_ironing link from #angle to #angle-offset

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-10-20 09:01:53 +08:00
8e0e8ce461 Merge remote-tracking branch 'remote/main' into dev/h2d-2
# Conflicts:
#	src/libslic3r/PrintConfig.cpp
#	src/slic3r/GUI/ConfigManipulation.cpp
2025-10-19 23:11:13 +08:00
a48235691e Material Type standarization + Technical Filament Types (#10553)
* New materials

* Temps

* Full filament type list

* Improve nozzle temperature range validation messages

Separates minimum and maximum recommended temperature warnings for nozzle configuration + generig °c usage.

Co-Authored-By: Alexandre Folle de Menezes <afmenez@gmail.com>

* Material Updates

Co-Authored-By: Rodrigo <162915171+RF47@users.noreply.github.com>

* petg-cf10 should be petg-cf

options.

* Pla reduced range

* Adjust some temps

* FilamentTempType Temperature-based logic

* chamber temps

* Fromatting

* Filament chamber temperature range support

Introduces get_filament_chamber_temp_range to retrieve safe chamber temperature limits for filament types. Updates ConfigManipulation to use these limits instead of hardcoded values.

* add adhesion coefficient and yield strength

Replaces hardcoded material checks for adhesion coefficient and yield strength with lookup functions using extended FilamentType struct.

* Thermal length

* Fix

* Refactor filament type data to MaterialType class

Moved filament type properties and related lookup functions from PrintConfig.cpp into a new MaterialType class.

* Fix adhesion_coefficient

Co-Authored-By: SoftFever <softfeverever@gmail.com>

---------

Co-authored-by: Alexandre Folle de Menezes <afmenez@gmail.com>
Co-authored-by: Rodrigo <162915171+RF47@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-10-19 21:57:34 +08:00
12226c472b Merge branch 'main' into dev/h2d-2 2025-10-15 14:48:45 +08:00
4e79527bf8 Add the u8 marker to UTF-8 strings (#10666) 2025-10-15 14:35:39 +08:00
2fa386cbdb Treat extruder_clearance_max_radius as extruder_clearance_radius, and raise error if both options are present 2025-10-11 16:34:58 +08:00
9e44fe0cd2 Update tooltips & units 2025-10-08 19:14:31 +08:00
4897fd5ea2 Apply extend_default_config_length to system profiles too
so we don't need to worry about default values for different variants
2025-10-08 15:19:25 +08:00
c4adf70e45 ENH: config: set default 'extruder_printable_area' to empty
JIRA: no-jira
Change-Id: I5d574a12684281faabbd1cf96e68e9b9ad593edc
(cherry picked from commit 2d791aea17bc6607d68df4f88c8481f5a8aa139e)
2025-10-08 10:36:33 +08:00
fb4bb83546 Fix issue that when swtiching to other printer from H2D/H2S, an empty preset dirty dialog will pop up 2025-10-06 20:25:34 +08:00
da2934d02a Revert "ENH:instead of prime_volume by filament_prime_volume"
This reverts commit e7e6405ad3.
2025-10-05 19:16:05 +08:00
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
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
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
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
917717f2aa Fix certain extruder parameters not working properly 2025-10-03 14:34:55 +08:00
a932821168 Rename wipe tower ribs related options 2025-10-02 22:56:54 +08:00
251bd230da ENH: CLI: add logic to process wrapping detect
jira: no-jira
Change-Id: Iacf689208a2fc26437892f9f5d847c53a21bf264
(cherry picked from commit 6c2e71c8f51a0384e6fdf784421490820282d3cc)
2025-10-02 17:07:21 +08:00
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
6bb19e10b2 FIX: modify the clumping detection text
jira: none
Change-Id: I646e2fdcb3802bb9255dd77b158ce6d516c7afaf
(cherry picked from commit 370ca3c217ef28a1d1aac08af720578c48aac405)
2025-10-01 21:58:46 +08:00
b3689ec700 FIX: modify the text of Clumping detection
jira: STUDIO-13659
Change-Id: Ib033689f89d90f14f1eab0a488fa76cbb705afb8
(cherry picked from commit d1606d12b53fa21aab38d882b8bac3215af03e71)
2025-10-01 21:21:42 +08:00