Commit Graph

28822 Commits

Author SHA1 Message Date
SoftFever
7f9ddda01d feat: swap the mmu detection to prefer the more generic moonraker database (#12764)
# Description

<!--
> Please provide a summary of the changes made in this PR. Include
details such as:
  > * What issue does this PR address or fix?
  > * What new features or enhancements does this PR introduce?
> * Are there any breaking changes or dependencies that need to be
considered?
-->

Happy Hare now writes mmu lane data to the moonraker db similar to AFC,
so we can normalize to the one implementation. For now, i've just
re-ordered it so that the moonraker db is checked first. I want this
because I've actually updated the happy hare data to include more data
than we had access to via the "mmu" object. For happy hare we now have
access to vendor name, which we can eventually use to further fine tune
the auto-matched filament preset.

# Screenshots/Recordings/Graphs

<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->
_n/a_

## Tests

<!--
> Please describe the tests that you have conducted to verify the
changes made in this PR.
-->
2026-03-15 23:09:10 +08:00
SoftFever
9b9950c4c2 Disable arc fitting for Qidi processes (#12761)
# Description

Qidi printers run Klipper and we don't want arc fitting enabled for
these.

This is wrongly enabled in QidiStudio as well, likely where these
profiles originated.
2026-03-15 23:06:18 +08:00
SoftFever
c16c7de908 Merge branch 'main' into disable_arc_fitting 2026-03-15 23:05:37 +08:00
SoftFever
fe75c2c0fa Allow cancel during beam interlocking generation (#12759)
With certain irrational beam interlocking parameters, it will take a few
minutes to complete the interlocking generation; even worse:
cancellation doesn't work once it started.

This PR fix that by adding cancellation check inside some of the most
time consuming loops so it can be stopped ASAP.

Also cherry picked a sanity check from
https://github.com/bambulab/BambuStudio/pull/9925 by @mpaperno. Thanks!

The following test project (which was modified from the upper PR by
@mpaperno) took me more than 90s to complete with 0.1mm beam width:

[Interloack-Test2.orca.3mf.txt](https://github.com/user-attachments/files/25975637/Interloack-Test2.orca.3mf.txt)
2026-03-15 23:03:04 +08:00
SoftFever
a54c00e9ee chore: translate comment for ignoring truncating casts warning (#12757)
# Description

I was just building the project and checked out the CMakeLists to see if
there are some optional features I can disable to speed up compilation
and tripped on this chinese comment.
This just translates the comment to English for consistency
2026-03-15 23:01:26 +08:00
SoftFever
458882647f Add the filament id for the box of the Generic PC (#12756)
Add the filament id for the box of the Generic PC
2026-03-15 23:00:16 +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
SoftFever
494601eea5 Fix wipe tower placed outside bed boundary on first slice (#12777)
# Description

The wipe tower config position (wipe_tower_x/y) could be outside the plate boundary (e.g. default y=250 on a 200mm printer). No constraint was applied at slice time, so the tower was generated out-of-bounds.

issue reported in #12731

# Screenshots/Recordings/Graphs

<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->

## Tests

<!--
> Please describe the tests that you have conducted to verify the changes made in this PR.
-->
2026-03-15 17:41:07 +08:00
SoftFever
65d4be8cea Merge branch 'main' into fix/wipe-tower-outside-boundary-on-first-slice 2026-03-15 17:40:56 +08:00
SoftFever
ad0cce4c38 Fix wipe tower placed outside bed boundary on first slice
The wipe tower config position (wipe_tower_x/y) could be outside the
plate boundary (e.g. default y=250 on a 200mm printer). No constraint
was applied at slice time, so the tower was generated out-of-bounds.
2026-03-15 17:38:44 +08:00
Branden Cash
189bcafee0 feat: swap the mmu detection to prefer the more generic moonraker database
Happy Hare now writes mmu lane data to the moonraker db similar to AFC, so we can normalize to the one implementation. For now, i've just re-ordered it so that the moonraker db is checked first. I want this because I've actually updated the happy hare data to include more data than we had access to via the "mmu" object. For happy hare we now have access to vendor name, which we can eventually use to further fine tune the auto-matched filament preset.
2026-03-14 20:20:27 -07:00
RF47
43285a493c Flow ratio instead flow rate calib 2026-03-14 22:17:04 -03:00
yw4z
1f18be9ff2 fix compacting when app open with home tab 2026-03-15 04:16:45 +03:00
yw4z
20f8d478aa init 2026-03-15 01:42:28 +03:00
Noisyfox
478e8bda16 Fix non-bbl printer filament grouping by mapping all filaments/tools to group 0 (#12449, #12766) 2026-03-14 23:30:37 +08:00
TheLegendTubaGuy
3d1e96e74d Merge branch 'main' into disable_arc_fitting 2026-03-14 07:48:15 -05:00
SoftFever
d28e964e04 Fix crash in DiffPresetDialog::update_tree() on preset selection change (#12765)
std::map::at() throws std::out_of_range when option.category or
"Basic information" is not present in the tab's category_icon_map,
crashing the app. Replace with a safe find()-based helper lambda
that falls back to an empty string (no icon) when the key is missing.
2026-03-14 20:47:56 +08:00
RF47
1528c2cf3b Skip top surfaces with non-positive density
Add a guard that skips creating fill params for top surfaces when the configured density is less than or equal to zero. This avoids generating surface fills for zero/negative densities and prevents unnecessary processing or potential errors when top surface density is disabled.
2026-03-13 22:44:31 -03:00
TheLegendTubaGuy
ccf1442c8c Disable arc fitting for Qidi processes
Qidi printers run Klipper and we don't want arc fitting enabled for
these.
2026-03-13 16:38:03 -05:00
Noisyfox
485917461a Allow cancellation during beam interlocking generation 2026-03-13 23:33:19 +08:00
Bent Hillerkus
3c0f5c7e59 chore: translate comment for ignoring truncating casts warning 2026-03-13 16:05:46 +01:00
Max Paperno
1aed7dfe5b FIX: Divide by zero exception in InterlockingGenerator when invalid configuration parameters are used. (fixes https://github.com/bambulab/BambuStudio/issues/9910 )
(cherry picked from commit cdd60ab71f8a3895fcb1345b2ccc2f2f472bf968)
2026-03-13 21:13:29 +08:00
HYzd766
5a3523325d Add the filament id for the box of the Generic PC 2026-03-13 15:15:26 +08:00
HYzd766
e3d70933f9 Merge branch 'OrcaSlicer:main' into A2 2026-03-13 15:02:27 +08:00
Felix14_v2
71aeb3aaf5 Update OrcaSlicer_ru.po 2026-03-13 02:49:22 +03:00
yw4z
7399b5d9e6 Update calib_dlg.cpp 2026-03-12 23:58:23 +03:00
yw4z
3a98890e53 Update calib_dlg.cpp 2026-03-12 20:45:30 +03:00
SoftFever
845baaefbb Feature/fix crash on linux when clicking assemble feature (#12739)
* fix crash on Linux when clicking Assemble gizmo

* some qol changes for dev

* Revert "some qol changes for dev"

This reverts commit ffe321370b.
2026-03-12 19:38:36 +08:00
Niccolo
40bf2157e3 Fix CLI segfault (SIGSEGV) when using --info, --slice, or --export-3mf (#12719)
In CLI mode, PartPlateList is constructed with a NULL plater pointer
(OrcaSlicer.cpp:3612). When set_shapes() calls PartPlate::set_shape(),
it unconditionally executes render data preparation code that
dereferences the null plater through calls like generate_print_polygon()
→ wxGetApp().plater(), causing a segmentation fault (exit code 139).

This adds a null check on m_plater in PartPlate::set_shape() to skip
the render-only code block that generates logo triangles, print/exclude
polygons, gridlines, icon vertices, and plate name textures.

These rendering operations are not needed in CLI mode and this change
has no impact on GUI mode where m_plater is always valid.
2026-03-12 19:36:45 +08:00
TheLegendTubaGuy
e6dfd2d8cb Update CC2 Profiles from elegoo slicer (#12215) 2026-03-11 23:57:40 +08:00
yw4z
e1d844f71a Merge branch 'main' into titlebar-buttons-fix 2026-03-11 17:16:09 +03:00
Rodrigo Faselli
25740788e7 fix flatpak build (#12738)
remove duplicated code
2026-03-11 11:00:01 -03:00
yw4z
aabbc41527 Update BBLTopbar.cpp 2026-03-11 15:36:19 +03:00
HYzd766
909aea3150 Update Qidi X-Max 4 0.4 nozzle.json (#12716)
Update Qidi X-Max 4 0.4 nozzle.json
2026-03-11 20:17:41 +08:00
yw4z
ef2f7ca22a simplify solution 2026-03-11 15:14:21 +03:00
yw4z
42fa706655 Merge branch 'main' into titlebar-buttons-fix 2026-03-11 14:48:05 +03:00
yw4z
e5a1020fcb fix shaky text while resizing 2026-03-11 14:43:27 +03:00
Felix14_v2
c06d596a0d Update OrcaSlicer_ru.po 2026-03-11 10:17:04 +03:00
SoftFever
322b44d84a Feature/flatpak clang llvm21 (#12727)
* Fix GIT_COMMIT_HASH not set in Flatpak builds

The env var check was gated inside the .git directory check, so
Flatpak builds (which exclude .git from the sandbox) always fell
back to "0000000". Lift the env var check to top level and inject
the commit hash into the Flatpak manifest via build-options.env.

* Switch Flatpak build to Clang/LLD via LLVM 21 SDK extension

- Add org.freedesktop.Sdk.Extension.llvm21
- Bump runtime to GNOME 49 (SDK 25.08) for llvm21 availability

* fix build errors and improving build speed for flatpak

* fxi more build errors

* Update error messages for GNOME Platform and SDK versions
2026-03-11 14:59:29 +08:00
SoftFever
2ebc0aa6c1 Fix GIT_COMMIT_HASH not set in Flatpak builds (#12725)
The env var check was gated inside the .git directory check, so
Flatpak builds (which exclude .git from the sandbox) always fell
back to "0000000". Lift the env var check to top level and inject
the commit hash into the Flatpak manifest via build-options.env.
2026-03-11 13:32:29 +08:00
yw4z
eab3139268 update 2026-03-11 06:56:03 +03:00
Felix14_v2
e36fe7606b Fixes 2026-03-11 06:55:19 +03:00
yw4z
d48585c715 Update BBLTopbar.cpp 2026-03-10 22:16:06 +03:00
Felix14_v2
2f8e1c7864 Merge branch 'main' of https://github.com/Felix14-v2/OrcaSlicer 2026-03-10 22:02:08 +03:00
VOLUMIC
fbe2aeaa2e VOLUMIC profils update (#12721)
* VOLUMIC profils updates

* Delete resources/profiles/Volumic/EXO42 IDRE_cover.png

* VOLUMIC profils updates

* VOLUMIC profils updates

* Profils bug fix

* VOLUMIC profils updates

* Fix SC2 Stage 2

* Update Volumic.json
2026-03-11 00:15:09 +08:00
yw4z
5f54e694c4 Calibration dialog Fixes (incorrect validators, scaling issues, UI refinements) (#12702)
* Update calib_dlg.cpp

* match validators

* update

* add missing linebreak

* update
2026-03-10 23:56:17 +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
yw4z
c9bf6f088a Remove duplicate items from actual speed plot (#12711)
* init

* update
2026-03-10 23:54:44 +08:00
HYzd766
9034a74454 Update Qidi X-Max 4 0.4 nozzle.json 2026-03-10 16:22:52 +08:00
SoftFever
382cf57166 QoL: Fix hotkeys blocked in Prepare view when notification is shown (#12715)
Fix hotkeys blocked in Prepare view when notification is shown

Restore SetFocus() in the GLCanvas3D mouse-entering handler so the
canvas reclaims wxWidget keyboard focus whenever the mouse enters it
(provided the main window is active). Without this, clicking a sidebar
control or a UI update triggered by slicing could leave the canvas
without focus, causing hotkeys like Tab to stop working until the user
clicked the canvas or dismissed the notification.
2026-03-10 15:57:15 +08:00