Commit Graph

310 Commits

Author SHA1 Message Date
Misterff1
81d81da08c Add more granular control over exhaust fan speed during print and on completion (#13228)
# Description

This commit adds the enhancement of https://github.com/OrcaSlicer/OrcaSlicer/issues/13116

- Adds checkboxes to enable or disable the fan speed override during print or after printing is completed. This allows users to, for example, only override the fan speed during printing whilst leaving the fan speed as is set in the machine gcode at the end. 
- Two new flags are added for this: `activate_air_filtration_during_print[extruder]` and `activate_air_filtration_on_completion[extruder]`. These can be used to more finely control machine gcode
- Current filament settings remain as they are: `activate_air_filtration[extruder]` settings are unaffected and by default both new flags are set to true, ensuring the same set behavior as before.

# Screenshots/Recordings/Graphs

<img width="856" height="208" alt="Screenshot From 2026-04-09 18-57-14" src="https://github.com/user-attachments/assets/e71e7de3-2def-4046-b5dc-55bf3b516ce5" />

As you can see there are now checkboxes left of the fan speeds. They have their own tooltip too, which also helps identify the correct flags for users who want to adjust their machine gcode.


## Tests
I have thoroughly tested this on my own computer (CachyOS) and on my printer. I have also carefully checked the gcode in every possible state this is in and ensured that the unsaved changes dialog properly displays the labels for these settings. Flags are set properly, sliced files properly use the flags if you check for them in machine gcode and default behavior is unaffected for those who have already changed settings for air filtration. From what I can see, this does exactly what it should be doing without any issues.
2026-04-22 23:28:18 +08:00
Richard Copra
00704c368f make initial layer travel move acceleration and jerk configurable (#11674)
* make initial layer travel move acceleration and jerk configurable

* Update spelling to match UI pattern

* Update min integer and re-order to match patterns

---------

Co-authored-by: Thomas Scheiblauer <tom@sharkbay.at>
Co-authored-by: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com>
2026-04-22 09:55:24 +08:00
Ian Bassi
16727644bb Reduce size by Json Fromatting (#13163)
Reduce the size of current and new JSONs by standardising them with 1 tab indentation instead of 4 spaces.
This effectively reduces the size by almost 20 MB.

| Current | New |
|---|---|
| 85.2 Mib | 67 Mib |

Used [JQ](https://jqlang.org/) `--tab` to automatically format every current JSON.

> [!NOTE]
> Some profiles had the arrays on the same line, but those created by Orca were in the standard format (each object below the previous one). In some cases, this increases the number of tabs due to the new lines, but the increase is negligible, and this way both the base profiles and those created by Orca maintain the same style.
2026-04-15 22:58:12 +08:00
SoftFever
70b9bedf94 Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-03-18 17:50:39 +08:00
SoftFever
13b08385c8 check precise_z_height and enable_prime_tower conflicts in print validate 2026-03-18 16:59:20 +08:00
SoftFever
d58d9be07b Add wipe_tower_type printer setting to replace vendor-based wipe tower selection
Previously, wipe tower behavior was determined by checking if the printer
  was a QIDI vendor. This introduces a configurable enum (Type 1 / Type 2)
  so any printer can select its wipe tower implementation. BBL printers
  remain hardcoded to Type 1. Qidi profiles default to Type 1.
2026-03-15 22:19:53 +08:00
Valerii Bokhan
b919148c66 Fix: Added a warning if the Hollow base pattern is selected for the non-tree supports (#12710)
Fixes point 4 of #12684
2026-03-10 23:56:00 +08:00
SoftFever
db7507b84e Some QoL tweaks (#12700)
* 1. Calculate `FilamentTempType` based on `filament_info.json`, with a fallback to the temperature range.
2. Clean up some strings.

* Update src/slic3r/GUI/ObjColorDialog.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-09 20:52:12 +08:00
SoftFever
eb6da907a9 Fix crash when slicing multi-material print with wipe tower (#12682)
The WipeTower2 code path never called construct_mesh(), leaving
wipe_tower_mesh_data as std::nullopt. GCode export then dereferenced
it unconditionally, triggering an assertion failure / crash.
2026-03-09 13:31:11 +08:00
Alexandre Folle de Menezes
d54adafdaa Grammar and spelling fixes on GUI strings (#12410) 2026-03-03 17:36:42 -03:00
Valerii Bokhan
5e30783dcf Enhancement: Enabling base patterns (infill) for Organic supports (#12141)
Enhancement: Enabling base patterns for Organic supports
2026-02-28 18:25:21 +08:00
Argo
769fc137c7 Ported Bambu Studio wipe tower interface features (with improved preheat and cooldown behaviour) - NEW (#12266)
Wipe tower interface features and preheat fixes

Fresh PR branch rebuilt on upstream/main (squash of origin/BBL-studio-wipe-tower-merge) to avoid merge-history issues.
2026-02-13 22:53:25 +08:00
Argo
ed3f0e2898 Fix issue #10971 (#12108)
Sorry had to re-create the PR as I did some chaos in my repo with CLI. xD

Fixes issue https://github.com/OrcaSlicer/OrcaSlicer/issues/10971

Description:
Fix wipe tower filament selection and clean up tool ordering. Added wipe_tower_filament handling to WipeTower2 (store config, mark non-selected tools as “soluble,” and use it in toolchange selection) and ensured the configured wipe‑tower extruder is included in the extruder list for ordering. Removed duplicated/merged tool‑ordering code (extra insert_wipe_tower_extruder definition, duplicate declaration, and redundant reorder block) so the tool order logic runs only once.

<img width="1819" height="799" alt="image" src="https://github.com/user-attachments/assets/cef39026-cf6a-46da-a87a-ef895774699f" />
2026-02-10 10:56:38 +08:00
Vovodroid
a254bec6b2 Check instances for collision (#11866) 2026-01-26 12:07:44 -03:00
Ioannis Giannakas
d9c48c3d53 Clarify shrinkage compensation warning message & tooltips (#12031) 2026-01-21 15:17:19 +00:00
Kiss Lorand
5c05e036c4 Fix: Apply bed–filament compatibility checks to all printers (#11432)
### What was the issue?

The check that validates whether a filament is compatible with the selected build plate type was only executed for Bambu Lab printers.
Other printers skipped this entirely, even though they can also use multiple plate types with different temperature requirements.

This caused cases where:
- incompatible filament/plate combinations went unnoticed,
- users received no warning even when the bed type clearly couldn’t support the selected filament.

### What’s changed?
- The validation block extends beyond BambuLab printers.
- Now all printers get the same compatibility check:
  - if a filament requires a bed temperature not supported by the chosen plate,
  - Orca shows the same clear error message as it does for BBL printers.
- Show the selected filament preset name (alias if present) in bed/filament mismatch warnings instead of substituting the parent preset.

### Why this helps
- Consistent behavior across all printer brands.
- Prevents invalid filament/plate setups that could cause print failures.
- Makes plate presets more robust and predictable for custom and community printers.

### Notes
- No behavior changes for BBL printers — they keep the existing checks.
- Other printers now benefit from them too.
2026-01-15 19:02:58 +08:00
Ioannis Giannakas
a83b005f8b Bug fix: Display max_junction_deviation warning dialogue only on marlin printers (#11891)
# Description

max_junction_deviation value is only available for marlin2 printers. Update warning dialogue conditions to only display it for Marlin 2 printers.

Fixes #11889

# Screenshots/Recordings/Graphs

Before:
![image](https://github.com/user-attachments/assets/62f5bbf0-b726-43b0-9c89-7aaee65e35ce)

After:
![image](https://github.com/user-attachments/assets/ec9b83d6-b07d-4885-ba5a-a723387838f5)
2026-01-09 23:33:34 +08:00
Ioannis Giannakas
0f397492e7 Fix non bambu wipe tower issues (skirt overlapping with tower, extreme travel moves outside plate boundary) (#11748)
* Fix prime/purge tower extreme travel for non BBL printers
* Fix wipe tower skirt not generating correctly for non bambu printers
2025-12-30 09:28:09 +00: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 8d296720b8.

* 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
weizhen.xie
6161c5c9bc Fix: The skirt data cache of the object was not cleared, causing the skirt paths to be duplicated.
Jira: STUDIO-14819

Change-Id: Id8716bc54b0b0ae027cfab7e924eb6f8daaf478c
(cherry picked from commit eac888093102bca0056780ebd285e868db9ab64b)
2025-10-28 15:29:56 +08:00
jiangkai.zhao
b9cd05dc86 FIX:When a smaller negative number is entered for the primer_tower_extra_rib_length, the program crashes.
jira: STUDIO-14677
Change-Id: I67477535ce2e88a2bded23959195ba9b95abf75a
(cherry picked from commit 21e01c87b678bc4f639293363591142fc9884f2d)
2025-10-28 15:29:55 +08:00
Ian Bassi
a839b81fdf Calibration Cornering Jerk Test + Generic interpolator + Fix (#10962) 2025-10-26 20:44:19 +08:00
Noisyfox
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
Ian Bassi
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
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
zhimin.zeng
811060aabb FIX: the wipe tower should not show for printer which is not support clumping
jira: none
Change-Id: Ife535adb406224252fe8b0b3e7807a3e84752cc2
(cherry picked from commit 2f2bc935bfeb325de548e4cf867eb2d3a5d67879)
2025-10-03 23:08:56 +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
songwei.li
561f4ebfbd FIX: enable_prime_tower and enable_wrapping_detection warning does not work
The translated strings cannot match the correct config, delete the translation of these two opt_key

jira: STUDIO-13989, STUDIO-13988
Change-Id: I5e8ebf342b5bb18c1ca6a88a3916197941c0cb03
(cherry picked from commit a84d9ab466b1f6b1ccb727d4f34cdb7c2eb8e30a)
2025-10-03 21:44:59 +08:00
Noisyfox
a932821168 Rename wipe tower ribs related options 2025-10-02 22:56:54 +08:00
weizhen.xie
b42afde4d0 FIX:Unify the wipe tower size calculation logic between frontend and backend.
Jira:STUDIO-13711

Change-Id: I498b83d2f9892068a29290b154b7f64f0dca9396
(cherry picked from commit 477ab2f2a48ea6cf49305ebcae88f30e1bf97008)
2025-10-02 18:08:27 +08:00
weizhen.xie
1d52ab4738 FIX: Optimize the convex hull calculation logic when checking for overlaps between the assembly and sensitive areas.
Jira: STUDIO-13686

Change-Id: I7ec402e7da150fd6f22eac079c7e4809d42eabde
(cherry picked from commit 16bff83ca2a4269b7c792f3485a902b5d027433e)
2025-10-02 18:03:33 +08:00
songwei.li
f82783259a ENH: add jump to potion button for Clumping detection by object error
Added option information to the error prompt to facilitate users to jump to the corresponding option

jira: none
Change-Id: I3f13acac08a1e84625dc22363822989f1eab7ec7
(cherry picked from commit 96b4e6610fa532b74247abe925d8c8d19869bf93)
2025-10-02 18:00:54 +08:00
songwei.li
ad45236056 ENH: add warning about enable_wrapping_detection without prime tower
Add warning about enable_wrapping_detection without prime tower. Note: Only one of this warning, check_multi_filament_valid, and support_enforcer without support can be displayed at the same time.

jira: none
Change-Id: Ic8f0fc7ab62b63af1604e32b7380642741669462
(cherry picked from commit 698c0d16c99e13244101c06d7a3a8ff66ae2e4d0)
2025-10-02 18:00:40 +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
songwei.li
1304b315c7 FIX: Error in setting variable layer height
Because the function in print.cpp mistakenly considers models with different variable layer height configurations to be the same, the layer height configurations of the copied objects are optimized and overwritten. Fixed function: auto is_print_object_the_same = [this](const PrintObject* object1, const PrintObject* object2)

jira: STUDIO-13507
Change-Id: Ic4b3a479e8984b46a2f9557f65826951b8979646
(cherry picked from commit 2d5137914e9699c4fe9ddbbc76f13b85dbc3a1a9)
2025-10-02 09:43:13 +08:00
songwei.li
641577c835 FIX: error of the mixed material printing is lost when by-object
In print.cpp, logic was added to skip checking for mixed prints when using the byobject mode. This prevented false positives for single-filament objects, but it also failed to detect mixed prints. This detection has been restored, but separate logic for byobject mode has been added to the detection function: StringObjectException Print::check_multi_filament_valid(const Print& print). This will only prompt a warning when a single object contains high- and low-temperature filaments.

jira: STUDIO-13667
Change-Id: I37622e49b76581ea4a2d78c97ebcd655bb7199e6
(cherry picked from commit 7128758056f1fe11bdd953e7f3d91284b15535a9)
2025-10-02 09:43:02 +08:00
zhimin.zeng
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
zhimin.zeng
f391070cb7 FIX: only detect wrapping area when enable wrapping
jira: none
Change-Id: I1353e888624f26679e04a98cc9ac8950b991e77e
(cherry picked from commit 53ca132fcdcbec9761b1328f3dc94ab4194e3f07)
(cherry picked from commit e8c8a10c97c7eb681f80978106a28716ea5737f8)
(cherry picked from commit a28eeef7f4f016689a900d4880e2e8927cea363b)
2025-09-30 15:32:44 +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
5a1dc90e8c ENH: add prompt for incompatible filaments and nozzles
jira: STUDIO-12873

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ieb79a35e0609e7687fdcf31742df3a08fedc925b
(cherry picked from commit 1ef32833035629c1b3644d77fdc9c234992090f3)
2025-09-28 14:03:52 +08:00
jiangkai.zhao
fd17dd6382 FIX:Crash caused by wipe_tower depth = 0
and remove useless assert

jira: STUDIO-12514,STUDIO-12474,github#7064
Change-Id: I8faf498251c8f7ca2c1eead463f38e8a3d836299
(cherry picked from commit 723e2d7ced6b466f2166085b8ca007762aaf17aa)
2025-09-25 14:45:44 +08:00
xun.zhang
1e9d825dbb ENH: remove the limit for number of tpu filaments
jira:STUDIO-11995

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ifd3ff7bf870570f9691b7008d8ca6ee8245c046d
(cherry picked from commit cd3219e6654d126363c04d0135bece62dcf94e39)
2025-09-23 21:32:18 +08:00
xun.zhang
3064da3ed7 ENH: do not reslice if only notes changes
jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ibcb33b981af691c1521041251df9e1c158d26e0c
(cherry picked from commit 43531ed01e7dfa28a649227471cf283a33b38959)
2025-09-23 08:58:51 +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
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
xun.zhang
b5756d1702 ENH: add timelapse pos picker
1. refine code structure
2. prevent moving tool head between camera and object
3. consider raft layer

jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ic0004791bfd4036d4323045a041709d861e5c8d0
(cherry picked from commit 7dc269f99473421162ad89c555bfac7ace0e9a6b)
2025-09-21 13:48:03 +08:00