Commit Graph

17401 Commits

Author SHA1 Message Date
SoftFever
1475cf6e3f Ensure slice / print buttons visible on frame (Accordion tabs) (#12772)
Fixes
https://github.com/OrcaSlicer/OrcaSlicer/issues/12723#issuecomment-4033223440

## NOTES
• Icons easy to discern so its not an issue
• User will explore this feature while resizing window so its ok as well
• maybe will add a tooltip while button compacted on future

## PROBLEM
print / slice buttons not visible in frame and not usable. bbl machines
uses much more tabs and issue gets worse

**regular printer on minimum window size**
<img width="766" height="96" alt="Screenshot-20260315014602"
src="https://github.com/user-attachments/assets/965e72d2-64d6-462e-abbf-f3c355783da0"
/>

**bbl printer on minimum size**
<img width="764" height="93" alt="Screenshot-20260315014708"
src="https://github.com/user-attachments/assets/1250afd1-45c3-42d9-bda3-334671ec7dc5"
/>

## SOLUTION
tabs uses only icons to reduce space usage dynamically depends on
available space

**regular printer**

![explorer_PoszqO4wyw](https://github.com/user-attachments/assets/848331ee-0206-41a8-961f-e65e68ca5f56)

**bbl printer with multi device enabled**

![explorer_WznxxHVgIJ](https://github.com/user-attachments/assets/3e3a0414-71c2-436d-be3d-d1f380d5d299)

**worst case scenario without issue. (minimum window width + multi
device + Export sliced plate button)**
<img width="772" height="97" alt="Screenshot-20260315015216"
src="https://github.com/user-attachments/assets/8b21d693-4119-4f91-b16d-d734e4633b87"
/>

**adapts automatically to used layout**

![firefox_W80FMQaHee](https://github.com/user-attachments/assets/3f9eed31-2f8d-4763-8911-bf765175d30d)
2026-03-17 18:34:59 +08:00
SoftFever
847ec12741 Support longer project names on title and fix window buttons not visible on minimum window size (#12730)
fixes https://github.com/OrcaSlicer/OrcaSlicer/issues/12723

tested on windows, ubuntu

## CHANGES
• Created a painted control because AddLabel method has fixed size.
**new control expands and uses all available space**
• removed invisible publish button to get perfect center. i assume this
feature already not in use on orca

## WINDOW BUTTONS NOT VISIBLE ON MINIMUM WINDOW WIDTH
• This issue only exist on windows

**Before**- causes window buttons not fitting to frame. 
**After** - all fits to frame
<img width="759" height="203" alt="Screenshot-20260311141345"
src="https://github.com/user-attachments/assets/99da00ea-48f9-449b-9dd0-0bd023e041d8"
/>

## ADDS SUPPORT FOR LONGER PROJECT NAMES
**Before** - title not showing all name because it has a fixed size with
300px
**After** - shows all name because it uses all available space
<img width="1263" height="216" alt="Screenshot-20260311141612"
src="https://github.com/user-attachments/assets/f0b4d16a-882f-46c0-8918-d0b8a7c34007"
/>

## ELLIPSIZES LONG NAMES WHEN REQURIED
**Before** - method was static

![explorer_6M2Lqu7Sla](https://github.com/user-attachments/assets/b0aedc44-6bb8-4b25-a4e3-8e3fea25fd44)

**After** - supports longer names and ellipsizes end dynamically

![explorer_l92JNSeq3v](https://github.com/user-attachments/assets/aa0b3ff1-c155-46b5-abc8-cf8167db18a7)

## FIXES THIN TITLEBAR ON LINUX
Left windows Right one Linux
**Before - Linux titlebar uses less height for titlebar**
<img width="806" height="84" alt="Screenshot-20260312013547"
src="https://github.com/user-attachments/assets/3507016c-e46b-4fb1-86de-29978ee48e2b"
/>
**After- Heights almost matches**
<img width="819" height="110" alt="Screenshot-20260312013531"
src="https://github.com/user-attachments/assets/3b28d32b-d054-406e-85bc-939609ba1aef"
/>
2026-03-17 18:28:00 +08:00
Aleksandr Dobkin
f808053968 Fix z-offset handling for ZAA 2026-03-16 13:48:42 -07:00
yw4z
e674945119 update 2026-03-16 15:10:36 +03:00
SoftFever
fd0010ce75 small tweak 2026-03-16 18:56:17 +08:00
SoftFever
fd26b6f92f Merge branch 'main' into feature/wipetower-option 2026-03-16 17:41:00 +08:00
SoftFever
4565e1d543 Flow ratio instead flow rate calib (#12773)
# Description

Point II - 5 of #12684


# Screenshots/Recordings/Graphs

<img width="558" height="265" alt="image"
src="https://github.com/user-attachments/assets/fe8212b2-3062-4f21-8912-a9aaa87b3df1"
/>
2026-03-16 17:39:55 +08:00
Aleksandr Dobkin
7f51f94264 Fix mesh transformation logic PrintObject::contour_z to handle off center cases 2026-03-16 00:56:52 -07:00
SoftFever
0f4ec114ba Fix height calculation for preferred filament area height (#12660)
## FIXES
• Corrects area height on windows while using 125% and 175% scaling. it
shows scrollbar when it incorrectly set. i have used directly size of
combobox this time instead static number

## IMPROVEMENTS
• Removes restriction for restarting orca when setting changed
2026-03-16 15:06:14 +08:00
SoftFever
5bc6bc3fd4 Fix plurals on some GUI strings (#12681)
# Description
Some terms were singular and should be plural, and vice-versa.
2026-03-16 14:53:51 +08:00
SoftFever
64547b8496 fix crash when opening preference dialog 2026-03-16 00:18:39 +08:00
SoftFever
dc4dd9cb4a Fix calibration dialogs not sizes properly on linux (#12752)
Fixes https://github.com/OrcaSlicer/OrcaSlicer/issues/12737 and
confirmed in here
https://github.com/OrcaSlicer/OrcaSlicer/issues/12737#issuecomment-4050896603

Only occurs on X11. tested on mint

`v_sizer->SetSizeHints(this);` was the real fix

issue starts to appear when dialog height higher then 280px
Removed height limitation on creating dialog as solution since dialogs
already resized with its content

• also fixes clipped text on bottom
|BEFORE|AFTER|
|---|---|
|<img width="330" height="456" alt="Screenshot-20260312203213"
src="https://github.com/user-attachments/assets/c6b0e577-f1e1-4da7-ba02-808d157ebee6"
/>|<img width="342" height="443" alt="Screenshot-20260313010726"
src="https://github.com/user-attachments/assets/a78605fa-ed75-4b42-a484-a2376d1b2982"
/>|

|BEFORE|AFTER|
|---|---|
|<img width="263" height="365" alt="Screenshot-20260312204651"
src="https://github.com/user-attachments/assets/ff04692e-3fd6-4fe1-bb6e-90594599c459"
/>|<img width="261" height="393" alt="Screenshot-20260313011644"
src="https://github.com/user-attachments/assets/be01936d-753a-4b95-99cb-c16228f8706f"
/>|
2026-03-15 23:21:51 +08:00
SoftFever
74342f6f12 Fix infinite loop with zero top solid infill density (#12762)
# Description

This pull request fixes the bug where Orca Slicer enters an infinite
loop when a density of zero is introduced for the top layer solid infill

# Screenshots/Recordings/Graphs

<img width="2560" height="1392" alt="image"
src="https://github.com/user-attachments/assets/5bf5c220-a398-483f-9f69-63dadbc888af"
/>

Note: For bottom solid infill, this is not a problem because the minimum
density is 10%.
2026-03-15 23:20:47 +08:00
SoftFever
860950c44f Fix non-bbl printer filament grouping by mapping all filaments/tools to group 0 (#12767)
Makes sure all non-bbl printers go through the same filament reordering
code so custom filament sequence is properly handled, while skipping the
filament grouping part by mapping all filaments to group 0.

This is the same method used by BBL printer to calculate the optimal
filament grouping so should be robust.

Fix #12449
Fix #12766
2026-03-15 23:19:47 +08:00
SoftFever
617647dad2 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
fcfe268318 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
534dee4d0e 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
ac3b45ecb7 Merge branch 'main' into fix/wipe-tower-outside-boundary-on-first-slice 2026-03-15 17:40:56 +08:00
SoftFever
c6639b2188 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
c29a11415b 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
6022180dc8 Flow ratio instead flow rate calib 2026-03-14 22:17:04 -03:00
yw4z
92baefd06f fix compacting when app open with home tab 2026-03-15 04:16:45 +03:00
yw4z
c9cdf9b750 init 2026-03-15 01:42:28 +03:00
Noisyfox
02027ae708 Fix non-bbl printer filament grouping by mapping all filaments/tools to group 0 (#12449, #12766) 2026-03-14 23:30:37 +08:00
SoftFever
cfae8b598e 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
0d6ecdca02 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
Noisyfox
4216c3e318 Allow cancellation during beam interlocking generation 2026-03-13 23:33:19 +08:00
Max Paperno
c01ca511d7 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
Aleksandr Dobkin
457b27a56d Revert changes to 'ArcFitter' 2026-03-13 02:12:10 -07:00
Aleksandr Dobkin
705e9a74e9 Fix scarf seams 2026-03-13 01:56:51 -07:00
yw4z
420c0e66ce Update calib_dlg.cpp 2026-03-12 23:58:23 +03:00
yw4z
f536305993 Update calib_dlg.cpp 2026-03-12 20:45:30 +03:00
SoftFever
7902a0f41e 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
Niccolo
7ae1eb7f49 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
Aleksandr Dobkin
e236acb8d4 Revert extraneous changes. 2026-03-11 17:20:12 -07:00
TheLegendTubaGuy
77aa97a822 Update CC2 Profiles from elegoo slicer (#12215) 2026-03-11 23:57:40 +08:00
yw4z
bda75c46a4 Update BBLTopbar.cpp 2026-03-11 15:36:19 +03:00
yw4z
b1e6aad587 simplify solution 2026-03-11 15:14:21 +03:00
yw4z
3de95a5d31 Merge branch 'main' into titlebar-buttons-fix 2026-03-11 14:48:05 +03:00
yw4z
0d008a918a fix shaky text while resizing 2026-03-11 14:43:27 +03:00
Aleksandr Dobkin
1386198ae2 Remove obsolete build and documentation files and clean up commented-out code 2026-03-11 02:47:32 -07:00
Aleksandr Dobkin
26e3a4e1a4 Revert "fix: Exclude external spool from 16-material AMS limit"
This reverts commit 285d040e4a.
2026-03-11 02:36:12 -07:00
Aleksandr Dobkin
d1bcc78d14 Merge branch 'main' into zaa 2026-03-11 01:04:44 -07:00
Aleksandr Dobkin
fa8e2e25bb Fix ZAA test failure in test_extrusion_entity.cpp 2026-03-11 00:28:14 -07:00
Aleksandr Dobkin
17718a65e7 Remove references to "/nonplanar" resource directory. 2026-03-11 00:12:21 -07:00
SoftFever
9abb76403f 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
yw4z
514d03f837 update 2026-03-11 06:56:03 +03:00
yw4z
31dae9eefc Update BBLTopbar.cpp 2026-03-10 22:16:06 +03:00
yw4z
d6f863ddf3 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
6ca46c3dd6 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