Commit Graph

329 Commits

Author SHA1 Message Date
SoftFever
9aa90fa6a8 update BBL H2D and X2D profiles 2026-07-14 00:52:54 +08:00
SoftFever
83d2d4179d feat(profiles): enable cooling filter on H2D, H2D Pro, and H2S
Declare support_cooling_filter=1 on the three profiles (0.2/0.6/0.8
variants inherit from 0.4) and insert the cooling-filter conditional
into the H2D and H2S machine start g-code, inside the low-chamber-temp
airduct branch:

  {if(cooling_filter_enabled)} M145.2 P0 F0 {else} M145.2 P0 F1 {endif}

H2D Pro intentionally gets no g-code edit: its duct firmware takes the
filter mode over the device channel only, so the flag merely enables
the toggle.

Impact on existing users at default settings: H2D/H2S start g-code gains
exactly one line (M145.2 P0 F1, filter off) in the cool-chamber branch;
nothing is removed or reordered. The existing support_air_filtration=1
overrides are deliberately kept so exhaust-fan behavior for ABS-class
filaments is unchanged, even though the machine-tab row is hidden while
the cooling-filter toggle is shown.
2026-07-10 16:49:22 +08:00
SoftFever
826e36fb1e feat(printer): add cooling filter support flag and expose its toggle
cooling_filter_enabled existed as a config option but was shown nowhere,
and there was no capability flag to gate it. The cooling filter and air
filtration are alternative accessories sharing the same duct, so a
printer declares one or the other.

- new hidden printer capability flag support_cooling_filter
- "Use cooling filter" toggle in the Accessory group, shown only when
  the printer supports it; the air-filtration toggle hides in that case
  (no vendor restriction: third-party printers keep air filtration)
- explicit defaults (0) in the common machine base
- H2C declares support_cooling_filter=1 instead of support_air_filtration;
  its start-gcode already carries the cooling-filter conditional, so the
  toggle is functional. On H2C this drops the two exhaust-fan lines that
  air filtration emitted for ABS-class filaments, matching the printer's
  actual duct accessory; H2C is new on this branch so no existing user
  output changes.

Printers without the flag keep exactly the previous accessory UI and
g-code.
2026-07-10 16:38:46 +08:00
SoftFever
b12aad6a8c feat(orient): auto-orient the largest overhang toward the cooling fan
New printer option fan_direction (undefine/left/right/both, default
undefine) declares which side the auxiliary part-cooling airflow comes
from. When set and the printer has an auxiliary fan, auto-orient adds a
yaw rotation so the dominant overhang area faces the airflow, and newly
added primitive shapes are pre-oriented the same way (except the Cube,
whose axis-aligned bounding box the pressure-advance pattern calibration
depends on).

- FanDirection enum + fan_direction printer option (Accessory group,
  enabled only with auxiliary_fan)
- orient engine: weighted overhang areas per candidate, yaw-direction
  search, vertical rotation applied on top of the primary orientation;
  the cooling weights are taken from the candidate actually chosen,
  including the flat-bottom tie-break
- orient_for_cooling() for primitive placement
- set fan_direction=left on H2C/H2D/H2D Pro/X1/X1E/P1S 0.4 profiles
  (X1C/H2S/P2S/X2D/Qidi X-Max 4 already carried the key, which now
  takes effect)

With fan_direction unset or no auxiliary fan the vertical rotation stays
identity and auto-orient results are unchanged; slicing and g-code are
never affected.
2026-07-10 16:21:48 +08:00
SoftFever
93a81179a1 feat(gui): add purge mode selector dialog
The engine already implements prime_volume_mode (Default/Saving/Fast)
but nothing in the UI could set it, leaving prime-saving unreachable on
multi-sub-nozzle extruders and fast purge unreachable on printers that
support it.

- new PurgeModeDialog with selectable Standard/Fast or
  Standard/Prime Saving cards depending on printer capability
- "Purge mode" sidebar button next to Flushing volumes; opens the
  dialog and stores the choice in the project config
- printer preset-load gating: button shown only when the printer has
  multiple sub-nozzles per extruder or sets support_fast_purge_mode;
  stale project values the printer cannot honor reset to Default
- enable fast purge on A2L 0.4 (support_fast_purge_mode), explicit
  default 0 in the common machine base
- new dialog strings added to OrcaSlicer.pot

Printers without these capabilities never show the button and their
projects keep prime_volume_mode at Default, so slicing output is
unchanged.
2026-07-10 15:41:57 +08:00
SoftFever
f688a3e741 update the profile 2026-07-09 19:01:19 +08:00
SoftFever
15412cd812 feat(profiles): Bambu Lab H2C and A2L profiles and resources
Machine models and presets, process and filament presets, plus bed models, covers, previews and device images for the H2C and A2L.
2026-07-09 01:16:25 +08:00
Diego Casasnovas
b676fd32b2 Bambu Lab X2D 0.4 enable air filtration (#14090)
Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-06-08 15:44:10 +08:00
Bingo2023
d6a49ace15 Update Bambu Lab X2D 0.4 nozzle.json (#13985)
* Update Bambu Lab X2D 0.4 nozzle.json

corrected mistake from 31.5.2026
" is correct in machine code.

* Update Bambu Lab X2D 0.4 nozzle.json

fixed error with " -> \"

* Merge branch 'main' into patch-2
2026-06-01 22:15:34 +08:00
Bingo2023
c714935596 Update Bambu Lab X2D 0.4 nozzle.json - updade Maschine Startcode (#13944)
* Update Bambu Lab X2D 0.4 nozzle.json - updade Maschine Startcode

bump in changes from BBL

update:
===== 2026/05/08 =====

old:
===== 2026/03/26 =====

* Update Bambu Lab X2D 0.4 nozzle.json

corrected:
- " " -> ' '
- {Tab} -> deleted

* Update Bambu Lab X2D 0.4 nozzle.json

replaced " -> '
2026-05-31 18:46:46 +08:00
Kiss Lorand
d14819e58f Fix air filtration settings hidden on printers that support that feature (#13384)
Enable air filtration support in affected system printer profiles

Some system printer profiles that support air filtration had the feature
incorrectly disabled in the printer settings.

This caused the related filament settings to be hidden, making the feature
unavailable to users even though it is supported by the printer.

Enable "support_air_filtration" in affected system printer profiles and
bump profile version thus forcing Orca to refresh cached settings.

This ensures air filtration settings are visible and usable on printers
that support the feature.
2026-05-15 00:59:19 +08:00
SoftFever
3a52fb3b3a Fixed an issue that X2D 0.4 don't have default material 2026-05-11 01:48:18 +08:00
glowstab
9956ad5b48 X2D Support (#13388)
# Description

Adresses #13294 

- Adds the X2D printer definition, machine presets, process presets,
filament presets, BBL profile index entries, CLI config entries,
filament blacklist updates, and printer/load/calibration/cover assets.
- Updates dual-nozzle handling to use configured toolhead labels and
match Bambu X2D hotend placeholders.
- Adds X2D-specific wipe tower cooling placeholder support and 3MF
filament/nozzle change sequence metadata import/export plumbing.

# Note

I own a P2S and an X2D. That's all. I frankly have no idea if my changes
cause regression on other printers, and have no capability to test. I
know that for my X2D, which runs an AMS, .2mm nozzles, SuperTack, and in
LAN mode, this has been working without issue.

# Screenshots/Recordings/Graphs

<img width="606" height="380" alt="Dual nozzle control"
src="https://github.com/user-attachments/assets/0d1c1063-4621-4097-b97c-d739557bf18c"
/>

*Dual nozzle control*

<img width="726" height="260" alt="image"
src="https://github.com/user-attachments/assets/270355b7-ca67-4ca3-ad19-582b8f11411b"
/>

*Multi nozzle filament override*

<img width="416" height="202" alt="X2D Machine config and dual nozzle
support"
src="https://github.com/user-attachments/assets/6a5c07b2-0d20-4819-8f42-d60731313249"
/>

*X2D Machine config and dual nozzle support*

<img width="397" height="142" alt="Filament for Supports test prints"
src="https://github.com/user-attachments/assets/3c7546bd-0e27-4d56-89b7-d9ca18c976f9"
/>

*Filament for Supports has been used in over 20 hours of test prints*

<img width="210" height="263" alt="Left vs Right filament distinction"
src="https://github.com/user-attachments/assets/03322268-b669-4f14-8d77-c4d96843d219"
/>

*Left vs Right filament distinction*

<img width="557" height="327" alt="Custom filament mapping"
src="https://github.com/user-attachments/assets/c1c4396f-7359-474e-80bd-78fec22f9c82"
/>

*Custom filament mapping*

<img width="556" height="314" alt="Auto map"
src="https://github.com/user-attachments/assets/d83e3217-edce-4340-886e-043962003a30"
/>

*Auto map*

<img width="689" height="664" alt="LAN mode send print with X2D preview
and no errors"
src="https://github.com/user-attachments/assets/76009bbf-31d3-4a6c-979c-8643b487c824"
/>

*LAN mode send print with X2D preview and no errors, dual nozzle
selection*


## Tests

- 20 hours of dual-nozzle printing.
- 100% CTest tests passed
- Validated 208 changed JSON files.

<!--
> A guide for users on how to download the artifacts from this PR.
-->

[How to Download Pull Requests Artifacts for
Testing](https://www.orcaslicer.com/wiki/how_to_download_pr_artifacts)
Fix #13294
2026-05-10 02:21:13 +08:00
Misterff1
e5294b1282 Update BBL P2S printer and process profiles (#13355)
* Disable arc fitting by default on BBL P2S

* Update BBL P2S printer profile

* bump the version so that it automatically update the cache

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-05-09 01:57:47 +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
Misterff1
211971b9d2 Updated profile to match latest officlal BBL tweaks (#13118)
* Updated profile to match latest officlal BBL tweaks

Updated the profile for the P2S with several changes to match the latest machine gcode changes made by BBL:

- Added Ventobox support
- Added air purification at the end of the print. When exhaust fan controls are setup in the filament profile, this is skipped
- Disabled auxiliary_fan by default to fix the issue that it overrides  auto cooling and heating managed by the printer. Enabling this in printer settings makes it behave as before if so desired
- Updated with other tweaks made by BBL

* Reverted one line in layer change code

Reverted one line in layer change gcode as it was causing issues and was bambu studio specific anyway. Filament change works exactly as expected now.

* Re-enabled soaking time

This was a personal change that sneaked in, but may be unwanted for other users who have been using Orca for this printer for a while.

* Fixed redundant homing command and moved enable input shaping up

Fixed some issues BBL made in their original startup code that executes one redundant homing command for people who disable ABL. Also moved up the enable input shaping command to make the startup sequence quieter.

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-04-08 22:09:52 +08:00
Ian Bassi
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
Michael Rook
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
Noisyfox
435dba580c Fix profile 2025-10-28 15:30:06 +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
weizhen.xie
a50f14c6ce Fix: Fix the abnormal temperature display issue in the G-code viewer for the P2S
Jira: None

Change-Id: I7b7f21bbab400ebec8aa10219120b938ff7bf174
(cherry picked from commit 8e4384d80e5b44260921a40ac226fe99f0d0ba43)
2025-10-28 15:30:04 +08:00
七喜
8cec2a854e Revert "Revert "ENH:[filament/process]add high flow of X/P""
This reverts commit 4f8d3466508f3706e8d3f656294f7c5d3a9a7f88.

Reason for revert: use another method

Change-Id: I2a6465ea507f15ce200ea9cf03994b18bb2f257f
(cherry picked from commit 630248ae566c8cf8c61ceacb74ae3cd31d9e1501)
2025-10-28 15:30:04 +08:00
窝头
88222a5f64 Revert "ENH:[filament/process]add high flow of X/P"
This reverts commit 576444e746f4de3ab71c91b8a66fa4a64c3427c8.

Reason for revert: <remove high flow of X/P>

Change-Id: I875f649c62d503bdf1321b5fec829bb190b02bce
(cherry picked from commit 0b46acb8e793af883b797f83a9ad72a55dd69f3e)
2025-10-28 15:30:03 +08:00
shsst
5e279118d0 ENH:[Process/Filament] N7 modify start.gcode Profile Edited by yuran.wang
Change-Id: Ia7beff3329948ce3e59c365fa91ba9b762768b94
(cherry picked from commit 1f54bbd93d233e1a80f0c77cbffd0532e00e95a0)
2025-10-28 15:30:01 +08:00
zhou.xu
a4fe4633ce FIX:delete cool plate
jira: STUDIO-14877
Change-Id: Ia65fcc706c255072dd78bfcfc80abc6e17fe213a
(cherry picked from commit 501991eaf9ac7cb1bf7b0bafa1213014e6b09e2e)
2025-10-28 15:29:59 +08:00
shsst
edb46704aa ENH:[Process/Filament] Modify:endgcode turn off left aux fan Profile Edited by peiyu.yao
Change-Id: I3db016a15e877fb44c0023a6ce3f9c0a2b56d9a7
(cherry picked from commit f1787c34502fde5b1d141f61bc4e234f0ef8aa61)
2025-10-28 15:29:59 +08:00
shsst
642cf3c09c ENH: modify N7 start and end gcode
Change-Id: Ic058fc9e35ded7dd5693097660d4847d837fc22b
(cherry picked from commit 2e534e594405a32b66d6fe92fbe72e37de2571c4)
2025-10-28 15:29:58 +08:00
shsst
f2c9acbd58 ENH:[Process/Filament] Modify:P2S add left aux fan gcode Profile Edited by peiyu.yao
Change-Id: I10e844b81f7651ff55e4d3fc59ba56f96668a9dc
(cherry picked from commit 5ad83d9aa423410dacccab480068874383e17210)
2025-10-28 15:29:58 +08:00
shsst
3c829f4df2 ENH:[Process/Filament] P2S add clumping_detection gcode Profile Edited by yuran.wang
Change-Id: I36a54fa4508f854cf2e7215896532ec7cc03c802
(cherry picked from commit 33191488f9b584134187660628dfbebe92d50235)
2025-10-28 15:29:58 +08:00
shsst
f2996a529b ENH: modify N7 start.gcode
Change-Id: I14737df6eb8829308002849193b2257a8f1a9084
(cherry picked from commit 1a3fef5d0f3a2520fd0b94cd8c55a9433848cfb4)
2025-10-28 15:29:58 +08:00
qian.wang
901bdea706 ENH:[filament/process]add high flow of X/P
Change-Id: Id4b1c9ee6c99cc4f95970ff94eac1f68f661ad86
jira:None
(cherry picked from commit ca9d5a226a07ecd5454046e6e45e52bf2ccb4936)
2025-10-28 15:29:57 +08:00
shsst
8534cf5fce ENH:[Process/Filament] [N7]Adjust clumping exclude area Profile Edited by yuanzhe.shen
Change-Id: I4753301dace1b017a4350414642d026a4bd20a25
(cherry picked from commit 574702cc4be361cde6d18d72d7d90b5847d69bc1)
(cherry picked from commit 04b1588fe5918e15e530b0bb6220efbcfdb6915d)
2025-10-28 15:29:55 +08:00
songwei.li
69b2b5d86d ENH: Optimizing the extrusion compensation pattern of the X series
Modify the machine start gcode for nozzle diameters 0.2, 0.4, 0.6, and 0.8 on the X1, X1 Carbon, and X1E models to move the compensation lines closer to the edge.

jira: STUDIO-14317
Change-Id: Ib0662d5cf9dfd63b960fcb7c458fa35dc0954c1b
(cherry picked from commit 6aaa7ae4ffd2c893ed41a5eed51a6a7dd2d83f7b)
(cherry picked from commit 62bcdd5b1627526035ce3f23ca9999b958fd05b2)
2025-10-28 15:29:55 +08:00
shsst
d3bf96f067 ENH:[Process/Filament] [X1/X1C/X1E/P1P/P1S/A1/A1 mini]Change the purging temperature and speed to independent variables(Requires the latest slicer). Profile Edited by pi.chen
The configuration changes that were previously reverted are now reintegrated

jira: none

Change-Id: I82148ddb9688ffb358018c187ed71accad47529c
(cherry picked from commit 55fad607fd4e66b6b44b1b11b67f8cc5141c3af6)
2025-10-28 15:29:54 +08:00
shsst
434d2142e4 ENH:[Process/Filament] [N7] Add clumping exclude area Profile Edited by yuanzhe.shen
Change-Id: I90aa1eab6f4b5adfc17ba907919e9189b8407f8f
(cherry picked from commit e8a367e4ec54d24dfc5334e10b352b7d82508855)
2025-10-28 15:29:54 +08:00
zhou.xu
4e63907f72 ENH:modidy bed type
jira: STUDIO-13919 STUDIO-13920
Change-Id: I8e9e6bda972d294b91add1eeaf15061188bcdb2d
(cherry picked from commit a436da8930d631e094eef3b7829d270a027a9ac4)
(cherry picked from commit 5468697ff4ac4546111afdfd1f7eb43bd899f1de)
2025-10-28 15:29:53 +08:00
qian.wang
dfa59a5c00 ENH:[Process/Filament] Modify upward_compatible_machine of P2S
Change-Id: I3dd6eea8abb7904391077ad6ca38976661349701
(cherry picked from commit cd015b9fdcdd7c2aa8f166cdf8ad94b9743974a4)
2025-10-28 15:29:53 +08:00
zhou.xu
11345d6b54 NEW:modify svg name
jira: STUDIO-13919
Change-Id: I8a7ae0df8c4203c8f00a0c0da83e98c1ec7be605
(cherry picked from commit 926809b06fe15e486f24c671af576d0a4dd13c37)
2025-10-28 15:29:53 +08:00
zhou.xu
38faa0ae46 FIX:support different picture for different machine
jira: STUDIO-13919
Change-Id: I391887c637345795d3af82b3d274fb995c03b190
(cherry picked from commit 8979c2fbc10f49e257aa30b660ef9d09f00c90a1)
2025-10-28 15:29:52 +08:00
shsst
66263839dc ENH:[Process/Filament] modify P2S end/start/filament_change.gcode Profile Edited by yuran.wang
Change-Id: I36a21e14e2b67fc8db8c53820d1b1294ed2417cb
(cherry picked from commit a2810f510386234ca344df9d7b5abdba6cbfd715)
2025-10-28 15:29:51 +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
qian.wang
4f12f83ba1 ENH:[Process/Filament] sync p2s profile file with master branch Profile Edited by qian.wang
Change-Id: I86385ec154ad4c2a2e4cb4e637221b3289881651
(cherry picked from commit 3c80e8a8b85109a215ad4b1d0fdb579333f553ff)
2025-10-28 15:29:49 +08:00
zhimin.zeng
7fc8992978 ENH: add P2S parameter config files
jira: none
Change-Id: I619c9a2859759caaeeebf38b54983c093e1d6cad
(cherry picked from commit cc0d9d35d39474015d6ee31de92aa1cf108ffd3b)
2025-10-28 15:29:49 +08:00
Noisyfox
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
Noisyfox
6b4975da72 Sync with latest bbl profiles 2025-10-09 20:37:31 +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
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
shsst
093367a58e ENH:[Process/Filament] MOD:[H2D/H2DP][start] increase z avoid distance to avoid impact Profile Edited by xuanquan.liang
Change-Id: I8f8b5d9d27e204615c9380898da86d4d7ae4b132
(cherry picked from commit 0c6e34feec768e9a00aebf54d4b2d9f75773607f)
2025-10-04 23:59:20 +08:00
qian.wang
bac1473116 FIX:correct param length err
Change-Id: Ifbbdaa465d75cf39f224d7030b4910a7db87eb84
(cherry picked from commit a57dbe82cb65570ebc12bc80c648a9c09c556844)
2025-10-03 23:11:14 +08:00
shsst
f46c456a49 ENH:[Process/Filament] [H2S] Supports independent setting of flushing temperature and speed; Add a retraction after the extrusion compensation is complete; Supports foreign object detection on areas other than the textured plate. Profile Edited by haowen.wu
Change-Id: I475334e300ae0776936b74d673245c3dff74ca01
(cherry picked from commit 8ca2907df46c36337ff1f0ce48b64076671550a6)
2025-10-03 23:08:56 +08:00