Commit Graph

168 Commits

Author SHA1 Message Date
Argo
ffc8a3e307 Adds (AMS) filament sync options: Only sync color / sync all (#12169)
This PR adds a new filament sync mode setting for device-based filament synchronization.
Users can now choose between syncing both filament preset + color (current behavior) or syncing color only, so calibrated local filament profiles are preserved while still updating slot colors from the printer.
It also includes small UI improvements for the new preference entry and sync status messaging.

<img width="665" height="671" alt="image" src="https://github.com/user-attachments/assets/23980846-0113-48ab-84aa-adf5cdab8ab6" />
2026-02-10 09:12:30 +08:00
SoftFever
cf3d9118ab Merge branch 'main' into feature/orca_network_refactor 2026-02-02 23:51:39 +08:00
SoftFever
977a66be39 Fix active filament preset not matching wizard selection on first run (#12132)
* Fix active filament preset not matching wizard selection on first run

After completing the setup wizard with only a non-PLA filament selected
(e.g. Generic ABS), the active filament preset defaulted to Generic PLA
instead of the user's selection. This happened because load_presets()
falls back to Generic PLA when the initial printer differs from the
preferred printer, and the first_added_filament override was disabled.

Add post-load correction in apply_config() that switches the active
filament to the first compatible wizard-selected filament when the
current active filament is not in the wizard selection. Also fix the
guide JS (22.js, 23.js) to use the filalist attribute for building
the filament array, and add platform-specific build test commands to
CLAUDE.md.

* Replace @System filaments with vendor-specific overrides in wizard

When the wizard selects a generic filament like "Generic ABS @System",
check if a vendor-specific override exists (e.g. BBL "Generic ABS")
and use that instead. This ensures printer-tuned profiles are preferred,
preventing load_installed_filaments from adding unwanted BBL defaults.

When printers from the default bundle are also selected, both variants
are kept since those printers need the @System version.

Also adds diagnostic logging for filament loading in LoadProfileFamily.

* Guard against persisting presets for Default Printer and fix filament override logic

Prevent export_selections from saving stale preset settings for the
built-in "Default Printer" placeholder, which is only the initial state
before a real printer is loaded. Also require a non-default vendor printer
to be selected before replacing @System filaments with vendor-specific
overrides in the wizard, avoiding incorrect filament substitution when
only the default bundle is present.
2026-02-01 21:34:14 +08:00
SoftFever
d782141ca5 Add handling for unknown filament IDs and improve filament type resolution 2026-01-31 19:32:35 +08:00
SoftFever
8d22fad30b badge support 2026-01-31 01:04:21 +08:00
SoftFever
7494c6da7d fix a crash bug when trying to add a filament after sync ams list 2026-01-29 19:10:44 +08:00
SoftFever
ccb7416a6d Fix crashes when loading old 3MF project (#11933)
Enhance backward compatibility for filament extruder variants in 3MF project files
Fix crashes when loading old 3MF project
2026-01-13 09:40:42 +08:00
yw4z
7fa6175b4f Compact Printer Selection UI - part 3 (#11676)
* init

* Update ImageDPIFrame.cpp

* Update Plater.cpp

* update

* update

* Update PresetBundle.cpp

* ensure 0.25 returned as 0.25 instead 0.2

* Merge branch 'main' into compact-printer-selection-UI-part-3

* Merge branch 'main' into compact-printer-selection-UI-part-3

* Merge branch 'main' into compact-printer-selection-UI-part-3
2025-12-23 01:30:03 +08:00
Noisyfox
4c1b6445d3 Validate invalid fields for hidden system profiles (#11455)
* Fix issue that for invisible system profiles, invalid fields are not removed

* Fix wrong note field
2025-11-24 20:11:42 +08:00
Noisyfox
61931d23a4 Fix filament profile import if inherit from vendor generic (#11398)
* Why log user id when importing profile?

* Use `find_preset2` when importing profiles
to properly handle renamed system profiles
2025-11-22 15:38:12 +08:00
Noisyfox
4efaee4c98 Merge branch 'main' into dev/p2s-pr 2025-11-04 10:26:47 +08:00
HYzd766
a351aa8cb0 Multi-color code compatible with QIDI models (#11185)
* The 0.30mm layer height configuration for the 0.4 nozzle of the QIDI model has been removed

* Merge branch 'main' into main

* Merge branch 'SoftFever:main' into main

* Revert "The 0.30mm layer height configuration for the 0.4 nozzle of the QIDI model has been removed"

This reverts commit 8d296720b8de58b1bfa4f008a24cee841a8472c6.

* Update Qidi Q2 0.4 nozzle.json

修改Q2打印高度

* Merge branch 'SoftFever:main' into main

* Merge branch 'SoftFever:main' into main

* change machine_gcode

* Merge branch 'main' of https://github.com/HYzd766/OrcaSlicer

* Merge branch 'SoftFever:main' into main

* Multi-color code compatible with QIDI models

* Merge branch 'main' into main

* toggle axis visibility on canvas (#9666)

* toggle axis visibility on canvas

* set show_axes config on toggle

* fix: Add pause and filament change to machine gcodes for Sovol SV08 MAX (#11214)

* 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 21:34:11 +08:00
xin.zhang
934f32bd8c FIX: remove some warnings
jira: [none]
Change-Id: I0e74b7316d0efe38c65e1f695b2a09eb09103552
(cherry picked from commit 766c6e004145325bcc7a6addfce27842ee9504de)
2025-10-28 15:29:56 +08:00
zhou.xu
59c2e222d8 FIX:Fix the image error of the hot bed
jira: STUDIO-14278
Change-Id: I3d0ee519b7ab057480cfde88be6b52d4f902b522
(cherry picked from commit af66ccee4e63074d4242f05792c1bc927c9ea2f8)
2025-10-28 15:29:49 +08:00
zhou.xu
e4418731eb FIX:Fix the issue of incorrect support material index in override mode
jira: github 7997
Change-Id: I1963a69b34037f41efe2e044361c9ca1cd581977
(cherry picked from commit 3f8af5c858b455c734f72dae601456a7b98a5f97)
2025-10-28 15:29:49 +08:00
Noisyfox
9e889afb53 Fix issues with non-bbl multi-head printers 2025-10-19 22:54:48 +08:00
Noisyfox
56d8bd8fbe Fix option nullable 2025-10-10 16:57:16 +08:00
Noisyfox
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
Noisyfox
a8482a1138 Fix AMS and filament list load when switching printer profiles 2025-10-05 21:24:41 +08:00
zhimin.zeng
337d987ec8 ENH: support new auto cali method
jira: STUDIO-10798
Change-Id: I9490b050e93cd556e1d34b1e69e0508eaecec2cd
(cherry picked from commit 7a8b34525ef77d49b6549ecb290e2b1f89c69419)
2025-10-03 23:08:47 +08:00
chunmao.guo
942d023a1e FIX: select printer preset with same printer_variant as old
Change-Id: Iccf72ed34da620f8ca728dfc56585f2ab2a496b9
Jira: STUDIO-11210
(cherry picked from commit 4a270ee6d3b1c1b6bb90cdf6933cae94f59e3a2a)
2025-10-02 17:07:21 +08:00
chunmao.guo
e56774ad71 FIX: get_similar_printer_preset only visit system preset
Change-Id: Ib219e76cba37ace7b81f69e63f4edd1edb25ddc4
Jira: STUDIO-10338
(cherry picked from commit 0b4795fd10a9d8fd4fd2fe32d03cd7efec9236e9)
2025-10-02 17:07:21 +08:00
maosheng.wei
e05d81c797 FIX: Fix the issue where the 'get_imilar_printer_preset' method returns a null pointer
Jira: 9935

Change-Id: I4b001721780162d656b73df316387a33967e4a2c
(cherry picked from commit 2ec50f771f07d7ca6dafde77b7683eb18ee7c554)
2025-10-02 17:07:21 +08:00
maosheng.wei
0581fac6e6 FIX: Update the alias of imported presets
Jira: STUDIO-12801

Change-Id: I7583a2022a0f565103953ee0ca742593769da81f
(cherry picked from commit cb470ae21279a555c7f4718673d83e3818b46bf0)
2025-10-02 09:54:18 +08:00
songwei.li
86a828afd2 FIX: Incorrect flush matrix update condition judgment
Due to the decimal portion of floating-point numbers generated during square root extraction, mismatched matrix sizes were mistakenly considered consistent, resulting in the flush matrix size not being corrected. Now we compare the square value to avoid errors.

jira: STUDIO-13727
Change-Id: I1f3768dab186b25c9ac4e85d4eff24913f15b3dc
(cherry picked from commit d0e9a8c3f3086b4ad2bc14bbfebd3d6ceff9eefc)
2025-10-02 09:39:17 +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
fei2.fang
27943f7047 FIX: Correct virtual tray loading and multi-color material display
- Fixed incorrect is_array() check on vtray["cols"], causing virtual tray init failure.
- Rewrote AMS grouping logic using iterators and set<int> for cleaner and safer traversal.

jira: STUDIO-12955

Change-Id: I09a68e259b56864260abb6c59ff9b1bf7ec2823c
(cherry picked from commit 60c47473047a3fba20d59cd974179537c116524d)
2025-09-28 14:19:10 +08:00
fei2.fang
9ee76e4775 NEW: Official filament color selection approved
- Add a filament picker dialog for official color selection
- Enable displaying multiple filament colors in the picker dialog and preview sidebar
- Introduce two new config options:
  - `filament_multi_colors`
  - `filament_color_types`
  to both the application config and the 3MF config

jira: STUDIO-12346

Change-Id: I66f8c1ec9147df4f5948c8a329c1737551280e63
(cherry picked from commit 522dc0bbca49033a1ba9725ca7f6c3ea729691a6)
2025-09-28 14:17:52 +08:00
lane.wei
bb08bb0e6d ENH: presets: add logic to process filament preset splits
jira: STUDIO-12952
Change-Id: I232434fb4b1d53a7379be2f745457a83bf923677
(cherry picked from commit b9f584281ae801a3ee542c1ebd81c6cb7dd35cde)
(cherry picked from commit 9b1f5496aef411218d538a07386fccb2a085435b)
2025-09-28 13:07:55 +08:00
zhimin.zeng
0431ae4e17 FIX: update edited preset when delete filament
jira: STUDIO-12198
Change-Id: Ie1eedf1a8b0acda8fb4292eb970f4aa416fa9181
(cherry picked from commit 9c8530946d888030061cc87b8a35c24ed583506e)
2025-09-25 17:21:54 +08:00
zhou.xu
2ba649d7ef FIX:add bottom texture
jira: STUDIO-11342
Change-Id: I69fd573b4d7b05135d5f280cf42d367421664cff
(cherry picked from commit 645f93fac732b8794aa1e99301bfe179a74915a7)
(cherry picked from commit 803a1dffde0f66c3076ae4fc80d4b821f34b03fc)
2025-09-25 14:42:57 +08:00
xun.zhang
e1626c26b1 FIX: add protection when sync presets from other printers
jira:STUDIO-12575

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I5a22129fe12a3600dcc4e3f387374122e349e38c
(cherry picked from commit 21863f925db1eeb1db79ba5859840aa23f852180)
2025-09-25 09:03:58 +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
xin.zhang
e758b77ab7 ENH: add some check job
jira: [STUDIO-11883]
Change-Id: I9a112b10b18d4c4f4bee5c8076b22f46fb63b13f
(cherry picked from commit 15c7bb729085ec65fee8cc36a5058ac5e883ceb8)
2025-09-21 16:25:57 +08:00
chunmao.guo
d31c4427aa ENH: printer nozzle diameter select
Change-Id: Ibf8b74e1f93a7c387db3f0fb5e6e733165322322
Jira: STUDIO-9140
(cherry picked from commit c990314567383d3bfff72ac11df6471e0a10f315)
2025-09-21 14:37:37 +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
zhou.xu
59e211a4e1 FIX:add exist_multi_color_filment logic
jira: STUDIO-11477
Change-Id: If30e0289096b6d465eace503fbe706fb31742f0c
(cherry picked from commit 1ace58b950de660bf7eac64bab77b0091d95a0c0)
2025-09-21 13:47:57 +08:00
xun.zhang
69be743c68 FIX: incorrect flush volume after sync ams
jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I44d031b1fdcc02adbfc4346314f5001c56a941b8
(cherry picked from commit e854174bc0d2f9965f11da9860f67ce5996e99b0)
2025-09-21 13:47:57 +08:00
chunmao.guo
d2754f4c36 FIX: sync_ams_list find filament_type
Change-Id: If6d95c26fa128377d8b4414470b07ed5a40f0b09
Github: 6152
(cherry picked from commit f076d95d8847d80ed466d118d718ec7584293e97)
2025-09-21 13:47:53 +08:00
Bastien Nocera
1f00b9e8e7 FIX: Fix missing L() localisation helper
/run/build/BambuStudio/src/libslic3r/PresetBundle.cpp: In member function ‘unsigned int Slic3r::PresetBundle::sync_ams_list(std::vector<std::pair<Slic3r::DynamicPrintConfig*, std::__cxx11::basic_string<char> > >&, bool, std::map<int, Slic3r::AMSMapInfo>&, bool, Slic3r::MergeFilamentInfo&)’:
/run/build/BambuStudio/src/libslic3r/PresetBundle.cpp:1973:49: error: ‘L’ was not declared in this scope
 1973 |                     unknowns.emplace_back(&ams, L("The filament model is unknown. Still using the previous filament preset."));
      |                                                 ^

(cherry picked from commit a8d792ecf8508c030e27aae139eeaf45884ebdc7)
2025-09-18 23:00:10 +08:00
chunmao.guo
484d70efb5 FIX: show sync ams unknown details
Change-Id: I1febb10b73a87f98a477fea5fbe2583c752ab330
Jira: STUDIO-10969, STUDIO-10973, STUDIO-11011
(cherry picked from commit f1eb5e829288236282e2322a961e012884ad90cf)
2025-09-18 16:42:09 +08:00
lane.wei
9c4c5ba915 FIX: config: add some error process logic when loading 3mf
jira: STUDIO-7956
Change-Id: I13084cfe5233da9e928dc8eb10d8ffe1bc38080c
(cherry picked from commit 2ccc72f16eab50ea9c354c4214999c702bb9ba08)
2025-09-18 16:16:13 +08:00
zhimin.zeng
5887caa431 FIX: Fix the error throwing exception
when adding double-head related material parameters
jira: none

Change-Id: I666e1069746d2c284f59ca2ac0f44c664c578a63
(cherry picked from commit 4af6386302ac8daf7349099009f2ad73111d1b0c)
2025-09-18 14:13:22 +08:00
zhou.xu
2c41b6e529 ENH:update image for plate type
jira: none
Change-Id: I590bf9d6596ccf5cd6e06844fb3ed247fa526ba6
(cherry picked from commit 6be306e548be9129d6cf1c34242910be02a70ed8)
2025-09-17 22:08:40 +08:00
zhou.xu
617dc5d6e7 FIX:Avoid array out of bounds
jira: none
Change-Id: I1ef5921a11ec7f9e2fc40edad4e954474628f7b5
(cherry picked from commit 2ca82b096e67d380eb0b318bd6447ece63becded)
2025-09-17 11:13:18 +08:00
xun.zhang
55b928694c ENH: protect build ams list
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I4e8665df0bb24f056f79bd5cabab886bb5ff7921
(cherry picked from commit 6d1b8f0324fd07319aa22fcdf25856531d687621)
2025-09-17 10:40:15 +08:00
zhou.xu
45e21155d5 ENH:add log
jira: none
Change-Id: I95f709399f63a0d5093d4c6a3dd7bc8f5c4f04b0
(cherry picked from commit c6f7e2e9e029a51c82fecd379ad55ad5e676862c)
2025-09-17 10:21:16 +08:00
zhou.xu
b3381b6e40 ENH:add log
jira: STUDIO-10445
Change-Id: If1c2b41b0f93a2f1f8bde4b3aa543a9ddeaccc08
(cherry picked from commit 4166a156ea2530d3ba348c579d188c9231fb81d9)
2025-09-17 10:21:15 +08:00
lane.wei
b08fe2cf0c ENH: config: allow invisible preset to be selected
when switch printer, we found some filament preset not visible
and we need to allow it to be selected
jira: STUDIO-9979

Change-Id: I9613747a755f449c2f48563082b6893e426f37ea
(cherry picked from commit bc5514bbabbbaddefb33ade556a0f15c051aed7e)
2025-09-17 09:47:00 +08:00