Commit Graph

17385 Commits

Author SHA1 Message Date
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
65d4be8cea Merge branch 'main' into fix/wipe-tower-outside-boundary-on-first-slice 2026-03-15 17:40:56 +08:00
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
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
43285a493c Flow ratio instead flow rate calib 2026-03-14 22:17:04 -03:00
1f18be9ff2 fix compacting when app open with home tab 2026-03-15 04:16:45 +03:00
20f8d478aa init 2026-03-15 01:42:28 +03:00
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
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
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
485917461a Allow cancellation during beam interlocking generation 2026-03-13 23:33:19 +08:00
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
ba5b06196a Revert changes to 'ArcFitter' 2026-03-13 02:12:10 -07:00
9fae402d62 Fix scarf seams 2026-03-13 01:56:51 -07:00
7399b5d9e6 Update calib_dlg.cpp 2026-03-12 23:58:23 +03:00
3a98890e53 Update calib_dlg.cpp 2026-03-12 20:45:30 +03:00
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 ffe321370b16e61d75e6ca84944480c6827ec79a.
2026-03-12 19:38:36 +08:00
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
59f6d75df7 Revert extraneous changes. 2026-03-11 17:20:12 -07:00
e6dfd2d8cb Update CC2 Profiles from elegoo slicer (#12215) 2026-03-11 23:57:40 +08:00
aabbc41527 Update BBLTopbar.cpp 2026-03-11 15:36:19 +03:00
ef2f7ca22a simplify solution 2026-03-11 15:14:21 +03:00
42fa706655 Merge branch 'main' into titlebar-buttons-fix 2026-03-11 14:48:05 +03:00
e5a1020fcb fix shaky text while resizing 2026-03-11 14:43:27 +03:00
deb464854a Remove obsolete build and documentation files and clean up commented-out code 2026-03-11 02:47:32 -07:00
cf135c6843 Revert "fix: Exclude external spool from 16-material AMS limit"
This reverts commit 285d040e4a.
2026-03-11 02:36:12 -07:00
b945c957d8 Merge branch 'main' into zaa 2026-03-11 01:04:44 -07:00
e8357f60d5 Fix ZAA test failure in test_extrusion_entity.cpp 2026-03-11 00:28:14 -07:00
52d33853cb Remove references to "/nonplanar" resource directory. 2026-03-11 00:12:21 -07:00
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
eab3139268 update 2026-03-11 06:56:03 +03:00
d48585c715 Update BBLTopbar.cpp 2026-03-10 22:16:06 +03:00
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
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
c9bf6f088a Remove duplicate items from actual speed plot (#12711)
* init

* update
2026-03-10 23:54:44 +08:00
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
97da125d62 FIX: hidden Line Type Linux (#12364)
Fix(GCodeViewer): Resolve z-fighting for wipe, seam, and retract markers using shader depth bias

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-03-10 15:28:21 +08:00
e6f3eb7fe9 QoL: Default values in tooltips for Percent, FloatOrPercent, String and Bool options (#12508)
QoL: Default values in tooltips for Percent, String and Bool options
2026-03-10 10:21:10 +08:00
a16f8e2cc0 Merge branch 'main' into fix-height-calculation 2026-03-09 20:02:23 +03:00
f310bebf9a Fix an issue that on Linux the project name or model file name was not displayed in titlebar (#12706)
* optimize resize feature on Linux

* fix the black screen issue on app startup on Linux

* Fixed an issue that Filament Grouping dialog always popup on Linux

* Fix an issue that on Linux the project name or model file name was not displayed in title bar
2026-03-10 01:02:18 +08:00
6049c6e234 Optimize linux experience (#12705)
* optimize resize feature on Linux

* fix the black screen issue on app startup on Linux

* Fixed an issue that Filament Grouping dialog always popup on Linux
2026-03-10 00:55:09 +08:00
e22c8b6648 update 2026-03-09 17:09:09 +03:00
3ad9e242c8 Add support for esthetic filament sub-types in Snapmaker Printer Agent (#12699)
# Description
Esthetic filaments such as wood-infused, matte and marble filaments will now be handled by the Snapmaker printer agent so that they could be matched to more appropriate print profiles instead of generic PLA.
2026-03-09 20:53:51 +08:00
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
d7ea6daae2 Standardize strings (#12665)
* Standardize view actions

* Standardize the term for "first layer"

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-03-09 20:36:36 +08:00
3842511068 fix: round flush_volumes_matrix values to integers (#12672)
When flush_multiplier is applied to flush_volumes_matrix values, the
result can be a decimal (e.g., 272 * 1.3 = 353.6). Some printer firmware
metadata parsers (notably Creality K2) crash when parsing decimal values
in flush_volumes_matrix, causing prints to get stuck at "File selected".

This fix rounds the multiplied values to integers, ensuring compatibility
with firmware that expects integer values in this field.

Fixes compatibility with Creality K2 and potentially other Klipper-based
printers that parse the CONFIG_BLOCK metadata.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2026-03-09 20:35:56 +08:00
d09699cf34 Fix conversion to wxstring (#12698)
Fix obj import dialog encoding for non ASCII letters by making the correct conversion to wxstring

JIRA-137
2026-03-09 19:32:11 +08:00
1bcc239a9a Added check for esc key to close dialog (#12697)
Added wx event for esc to close dialog for filament grouping dialog

JIRA-139
2026-03-09 19:31:27 +08:00
afc2fe5428 Remove leftover Bambu warning caption from dialogs (#12696)
### Description
A couple of warning dialogs still used a caption containing "**BambuStudio warning**". It is a leftover from the original BambuStudio codebase.

### This PR
- removes the explicit caption so the dialogs use the standard application warning title instead.

### Result
- removes the remaining Bambu reference while keeping the visible behavior consistent with the rest of the UI.
- addresses point 1. of  "New ports from Bambu Studio" section from #12684

### Screenshots

- **Before:**
<img width="1352" height="277" alt="image" src="https://github.com/user-attachments/assets/d107acaa-f159-496a-b14e-93cd149bf355" />

- **After:**
<img width="1356" height="278" alt="image" src="https://github.com/user-attachments/assets/e111b5b3-9b3e-4b13-b20d-f98e5173ea16" />
2026-03-09 19:30:07 +08:00
8b15ec44f0 Fix flushing windows dialog able to move around using trackpad and added esc to close dialog (#12694)
Added entry to wipingdialog.html css to prevent it from being overscrollable and its position fixed.
Added escape button to close dialog event on both javascript and webview events

JIRA-136
2026-03-09 19:28:59 +08:00