Commit graph

28145 commits

Author SHA1 Message Date
Kiss Lorand
ace2bd1349
FIX: Embossed text edit not reflected in Objects list (#11692)
Fix object list name refresh after emboss edits

Refresh the object list immediately after embossed text name changes so the displayed name stays in sync.
2025-12-22 18:23:41 +02:00
Kiss Lorand
b2a2b71b92
Fix filament preset undo tracking (#11693)
Fix filament preset undo/dirty tracking to match Bambu behavior

Use deep compare for filament presets so vector options report #idx keys.
Align undo/dirty mapping with indexed fields and Bambu’s filter_diff_option.
Pass explicit indices for filament override fields.
Add missing filament variant keys (retract lift bounds, ironing overrides) to filament_options_with_variant so per‑filament undo works.
2025-12-22 18:18:41 +02:00
Noisyfox
e69daea3c3
Fix filament override checkbox not update after click (#11517)
* Fix filament override checkbox not update after click

* Event args should be references otherwise `e.skip()` won't work

* Fix bool option override
2025-12-22 18:17:32 +02:00
Kiss Lorand
8e9daad2e8
Fix: Misaligned undo icons across all field types (#11431)
Align undo icons
2025-12-22 17:47:15 +02:00
scaiper
b30d7fb0fa
fix probe count for adaptive bed mesh (#11491)
fix probe_count in adaptive bed mesh
2025-12-22 17:41:50 +02:00
Bernhard Koppensteiner
74c547f94f
Reworked support settings in processes (#11683)
* explicitly set the machine_max_junction_deviation

* reworked the support settings for all profiles

* forgot the bottom interface spacing. set more accurate values

* set the wrong value, meant support_bottom_z_distance
2025-12-22 16:55:15 +02:00
Rodrigo Faselli
e32dbd3802
🧹delete unused icon param_zig-zag (#10298)
Some checks failed
Build all / Build Linux (push) Has been cancelled
Build all / Build Non-Linux (push) Has been cancelled
Build all / Flatpak (push) Has been cancelled
Build all / Unit Tests (push) Has been cancelled
delete unused icon. Since #10055 this icon is not longer needed.
2025-12-19 08:36:24 +00:00
yw4z
380ea7e2e8
Fix fill bed and disable arranging after adding / removing instances (#11619) 2025-12-19 08:32:14 +00:00
VigilantGardener
4d8581cd47
Update filament change G-code for Anycubic Kobra S1 (#11650) 2025-12-19 08:28:18 +00:00
Rodrigo Faselli
29f4e66715
Line type by default for single extruder single material (#11397)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
* line type by default single extruder

* Defautl to color print if use multicolor

* Update condition for setting view type in GCodeViewer

* Refine default view type selection in GCodeViewer

Improves logic for selecting the default view type based on nozzle and filament preset counts. Now selects 'Summary' for multiple nozzles, 'ColorPrint' for single nozzle with multiple filaments, and 'FeatureType' otherwise.

* Refactor multimaterial detection in GCodeViewer

Introduced a 'multimaterial' boolean to clarify logic for detecting multiple filament presets. This improves readability and maintains consistent behavior when setting the view type based on extruder and filament count.
2025-12-18 16:55:19 +00:00
Kiss Lorand
ad7fe3785a
Fix: Timelapse Z-hop logic used when timelapse was disabled (#11444)
No timelapse gcode if no timelapse
2025-12-18 14:34:32 +00:00
Noisyfox
e4f6499663
Fix issue that per-extruder settings doesn't work properly for non-bbl printers (#11165)
* Automatically generate extruder id & printer extruder variant mappings for non-BBL multi-extruder printers

* Support different layer height limit for non-bbl multi-extruder printer
2025-12-18 12:50:14 +00:00
Ian Bassi
d092d6d9a7
Autoslice + SliceDelay (#11407)
* Add auto slice after changes option

Introduces a new 'Auto slice after changes' setting in Preferences, allowing OrcaSlicer to automatically re-slice when slicing-related settings change. Implements logic in Plater to schedule auto-reslicing if the option is enabled and conditions are met, and sets the default to false in AppConfig.

* Improve auto-reslice scheduling after slice cancellation

Adds a flag to track when auto-reslice should be triggered after a slicing process is cancelled. Ensures that auto-reslice is scheduled once the current slicing process completes and is not lost if a slice is cancelled mid-operation.

* Add configurable delay for auto slice after change

Introduces a new 'auto_slice_change_delay_seconds' setting to control the delay before auto slicing starts after a change. Updates AppConfig to set a default value, adds a timer and logic in Plater to handle the delay, and exposes the setting in Preferences. This allows users to group multiple edits before triggering auto slicing.

* Combine auto-reslice checkbox and delay input in preferences

Replaces separate auto-reslice and delay settings with a unified UI element in Preferences. The new function create_item_auto_reslice adds both the checkbox and delay input in a single row, improving usability and code organization.

* Move auto reslice option into Control > Behaviour

* Remove 'loop' icon from AutoSlice

* Default disable and 1 Sec
2025-12-18 12:44:31 +00:00
John Brady
2be0f0e05e
Correct Typo (#11472)
* Correct Typo

* Fix the OrcaSlicer_en.po file

* Update OrcaSlicer.pot to revert the change in this auto generated file
2025-12-18 12:38:59 +00:00
Noisyfox
7f36a02f37
Fix cut memory leak (#11476) 2025-12-18 12:37:13 +00:00
Ian Bassi
c126aae902
PA Calib Values check (#11493)
* Add input validation for acceleration and speed values

Added a check to ensure that acceleration values are greater than speed values in the PA calibration dialog. Displays a warning message and prevents calibration if the inputs are invalid to guard against swapped or incorrect user entries.

* Add input validation for calibration parameters
2025-12-18 12:36:10 +00:00
Kiss Lorand
f9d5519294
Scale emulated spiral Z-hop segments based on slicing resolution (#11556)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
Spiral Z-Hop resolution

Use slicing resolution to determine segment count for emulated spiral Z-hop

What’s changed

The number of linear segments used to approximate a spiral Z-hop is now derived from the PrintConfig resolution value.

The segment count is clamped to a safe range (4–24) to avoid excessive G-code generation or MCU queue overflow.

Why

Previously a fixed 24 segments were always used, regardless of model resolution.

For small-radius spiral lifts this was excessive and could overwhelm some printers.

Adapting segment count to resolution ensures smooth motion where needed, but lighter G-code where possible.

Details

m_resolution is now stored via apply_print_config().

_spiral_travel_to_z() uses this value to compute segment count dynamically.

Only the linear-segment fallback path is affected; G2/G3 arc-fitting remains unchanged.
2025-12-18 12:30:41 +00:00
Ian Bassi
0e6fc7a92b
Add Cali Cat handy model (#11663)
Added the Cali Cat STL file to handy models and updated the GUI to include 'Cali Cat' as a selectable option in the handy model submenu.

Co-authored-by: davidzhen <3886830+davidzhen@users.noreply.github.com>
2025-12-18 12:25:59 +00:00
yw4z
22d2fe9b37
UI fixes / improvements (#11617)
* fix margins on titlebar fold

* update

* Update Plater.cpp

* update

* Update toolbar_double_directional_arrow.svg

* Update toolbar_double_directional_arrow.svg

* object list variable height icon

* Update tab_multi_active.svg

* update ams icons

* match popup border color

* Update param_advanced.svg

* Update custom-gcode_advanced.svg

* match label & parameter box width on object table

* revert changes for orange colors

* match sizes of radio buttons on widgets

* Update GLGizmoSVG.cpp
2025-12-18 12:17:29 +00:00
yw4z
00ff06a5d3
Match button styles on whole UI and fixes for button class (#11233)
* init

* web buttons

* Bind Dialog & Fix states

* update

* update

* Update common.css

* objcolordialog

* privacy update dialog

* Update CaliHistoryDialog.cpp

* Update MultiMachineManagerPage.cpp

* Update AMSControl.cpp

* TipsDialog

* Update AMSMaterialsSetting.cpp

* extrusion calibration

* Update UpdateDialogs.cpp

* recenterdialog

* update

* Update Calibration.cpp

* update

* update

* update

* fix

* update

* ReleaseNote

* update

* update

* fix remember checkbox position

* add comments
2025-12-18 12:14:56 +00:00
Ian Bassi
59ad126b48
Fix: Replace with STL to Replace with 3D file: Support STEP (#11637)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
* Replace with STL to Replace with 3D file: Support STEP

Enhanced the replace logic to support STEP (.stp, .step) files, including user-configurable mesh settings and dialog, while maintaining backward compatibility with STL and other formats.
Updated the menu label and tooltips to 'Replace 3D file' for clarity.

* Update 'STL' references to '3D file' in UI and logs

Replaces user-facing text and log messages referring to 'STL' with '3D file' for broader file type support and improved clarity in the menu, status messages, and logging.

* Merge branch 'main' into remplace-with-stl
2025-12-14 13:20:14 +08:00
Andreas Rammhold
b2822b6861
Enable IPv6 usage in curls resolve code (#11639)
* Enable IPv6 usage in curls resolve code

Before this change OrcaSlicer would fail to resolve the IPv6 addresses
of printers when trying to interact with them via HTTP.

For context: I'm running my Klipper based printers with only IPv6
addresses being assigned to them. That works fine for
everything (including other slicers such as prusa-slic3r).

A few years ago I did debug this and figured that it came down to the
single line in the code base that this commit removes. I've since
patched every single OrcaSlicer version with this change and never
noticed a downside. It should be fine to remove the restriction.
2025-12-14 11:43:04 +08:00
Matthew
7ec3d85a02
Allow 'Change Type' to be used with Multiple Parts Selected (#11544)
* Initial changes allowing you to change the type of multiple parts at once by selecting them all.

* Removed second occurance of Change type in right click menu

* Ready to go feature change

* Remove accidental file creation

* Removing excessive std::cerr

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-13 22:36:47 +08:00
Ian Bassi
54c876222e
Minor Tab.cpp redirection fixes + PowerLoss recovery link (#11608)
* Update Tab.cpp

* Readme Fix

* Update Tab.cpp
2025-12-12 23:32:28 +08:00
Alexandre Folle de Menezes
c9ea433cd5
Complement the pt-BR translation (#11620) 2025-12-12 21:50:37 +08:00
Rodrigo Faselli
83a64559a2
Update default Windows SDK include path version (Fix netfab mesh repair service for local compilation) (#11450)
Update default Windows SDK include path version

Changed the default Windows SDK include path from version 10.0.22000.0 to 10.0.26100.0 in CMakeLists.txt to use a newer SDK version when environment variables are not set.
2025-12-12 21:48:46 +08:00
Michael Rook
5c547ea4a1
Add ability to disable Power Loss Recovery on BBL machines (#11582)
Some checks failed
Build all / Build Linux (push) Has been cancelled
Build all / Build Non-Linux (push) Has been cancelled
Build all / Flatpak (push) Has been cancelled
Shellcheck / Shellcheck (push) Has been cancelled
Build all / Unit Tests (push) Has been cancelled
* 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
dependabot[bot]
d8de54dfca
Bump actions/checkout from 4 to 6 (#11547)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-09 23:58:02 +08:00
Ian Bassi
25bc45c8f5
Tab.cpp Machine + Material: Linking Wiki update (#11548)
* Fix tooltip + URL

* Full Material wiki redirection maping

* Machine wiki + append_option_line wiki linking

* Machine wiki 2

* Update README with improved wiki links and clarity

* Bring back Print statistics options

* Move num_extruders config to OtherSlicingStatesConfigDef

The num_extruders configuration option was relocated from OtherPresetsConfigDef to OtherSlicingStatesConfigDef for better organization and relevance. This change ensures that the number of extruders is defined in the context of slicing states rather than presets.

* Unifi adaptative bed mesh
2025-12-09 23:57:03 +08:00
Nanashi
bb537f97f2
Update release details from metainfo.xml (#11539)
* Remove release details from metainfo.xml

this fixes the error pointed out on the discord https://discord.com/channels/1137181739773603922/1443808926523981975

* Add release details to OrcaSlicer metainfo

Added release information and description to metainfo.

* fix typo from sticky shift key (oops)

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-09 23:49:15 +08:00
SoftFever
d453de3912 exclude resources 2025-12-09 23:41:34 +08:00
tntchn
0b83a0c8ad
Update zh_TW translations (#11514)
* Replace Simplified Chinese in `OrcaSlicer_zh_TW.po` with Traditional
  ones, fix '制', and add missing translatinos
* Fix settings -> system language selector (`Perefences.cpp`): 繁体 -> 繁體
* Two missing translation in `text.js`
2025-12-09 23:38:12 +08:00
yw4z
7760000aaf
Fix RolohaunDesign Delta Flyer Refit process visible for every printer (#11594)
init
2025-12-09 01:06:57 +08:00
yw4z
db64def4c2
Compact Printer Selection UI - part 2 (#11401)
* update

* match bbl covers with profile folder

* Update printer_placeholder.png

* match vertical margins

* improve logic for showing bed type preview

* fix focus

* fix conflict

* fix conflict

* Update printer_placeholder.png

* Update Plater.cpp

* Update printer_placeholder.png

* revert changes for margins

* Update Plater.cpp

* Update Plater.cpp

* Revert "Update Plater.cpp"

This reverts commit f73e482081.

* Update Plater.cpp

* fix badges not visible

* fix badge

* Update Plater.cpp

* update sync icon

* improve cover auto hide logic

* Update Plater.cpp

* delete bed type images

* simplify events

* hide nozzle selector for ToolChangers

* fix bed type not remembers value after printer change
2025-12-09 01:05:03 +08:00
coryrc
52c2a85d28
Fix tests (#10906)
* Get libslic3r tests closer to passing

I can't get geometry tests to do anything useful. I've added extra
output, but it hasn't helped me figure out why they don't work
yet. That's also probably the last broken 3mf test doesn't work.

The config tests were mostly broken because of config name changes.

The placeholder_parser tests have some things that may-or-may-not
still apply to Orca.

* Vendor a 3.x version of Catch2

Everything is surely broken at this point.

* Allow building tests separately from Orca with build_linux.sh

* Remove unnecessary log message screwing up ctest

Same solution as Prusaslicer

* Make 2 TriangleMesh methods const

Since they can be.

* Move method comment to the header where it belongsc

* Add indirectly-included header directly

Transform3d IIRC

* libslic3r tests converted to Catch2 v3

Still has 3 failing tests, but builds and runs.

* Disable 2D convex hull test and comment what I've learned

Not sure the best way to solve this yet.

* Add diff compare method for DynamicConfig

Help the unit test report errors better.

* Perl no longer used, remove comment line

* Clang-format Config.?pp

So difficult to work with ATM

* Remove cpp17 unit tests

Who gives a shit

* Don't need explicit "example" test

We have lots of tests to serve as examples.

* Leave breadcrumb to enable sla_print tests

* Fix serialization of DynamicConfig

Add comments to test, because these code paths might not be even used
anymore.

* Update run_unit_tests to run all the tests

By the time I'm done with the PR all tests will either excluded by
default or passing, so just do all.

* Update how-to-test now that build_linux.sh builds tests separately

* Update cmake regenerate instructions

Read this online; hopefully works.

* Enable slic3rutils test with Catch2 v3

* Port libnest2d and fff_print to Catch2 v3

They build. Many failing.

* Add slightly more info to Objects not fit on bed exception

* Disable failing fff_print tests from running

They're mostly failing for "objects don't fit on bed" for an
infinite-sized bed. Given infinite bed is probably only used in tests,
it probably was incidentally broken long ago.

* Must checkout tests directory in GH Actions

So we get the test data

* Missed a failing fff_print test

* Disable (most/all) broken libnest2d tests

Trying all, not checking yet though

* Fix Polygon convex/concave detection tests

Document the implementation too. Reorganize the tests to be cleaner.

* Update the test script to run tests in parallel

* Get sla_print tests to build

Probably not passing

* Don't cause full project rebuild when updating test CMakeLists.txts

* Revert "Clang-format Config.?pp"

This reverts commit 771e4c0ad2.

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-08 22:42:11 +08:00
Ian Bassi
02c8bba8b4
Fix typo in extruder clearance resource name (#11569)
Some checks failed
Build all / Build Linux (push) Has been cancelled
Build all / Build Non-Linux (push) Has been cancelled
Build all / Flatpak (push) Has been cancelled
Build all / Unit Tests (push) Has been cancelled
Renamed 'param_extruder_clearence.svg' to 'param_extruder_clearance.svg' and updated the corresponding resource reference in Tab.cpp to correct the spelling error.

Co-authored-by: Nanashi <53353250+NanashiTheNameless@users.noreply.github.com>
2025-12-05 12:03:12 +00:00
Mark Richins
bd6cfd6cec
Fixed a spelling mistake (#11523)
Some checks failed
Build all / Build Linux (push) Has been cancelled
Build all / Build Non-Linux (push) Has been cancelled
Build all / Flatpak (push) Has been cancelled
Build all / Unit Tests (push) Has been cancelled
Corrected a spelling error

Changed "Raparando" to "Reparando"
2025-11-30 12:28:03 +08:00
Ian Bassi
f71e09a8c6
Fix Flatpak build: Add fallback URL for MPFR source download (#11512)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
Add fallback URL for MPFR source download

Updated MPFR.cmake to include both the GNU FTP and mpfr.org URLs for downloading the MPFR source. This improves reliability in case one of the sources is unavailable.
2025-11-29 15:53:40 +08:00
Ian Bassi
7ec32fc484
Delete validate-documentation.yml (#11477) 2025-11-26 09:08:13 +08:00
artillerylab
f3e486c1a9
Update printer profiles for Artillery (#11284)
Some checks failed
Build all / Build Linux (push) Has been cancelled
Build all / Build Non-Linux (push) Has been cancelled
Build all / Flatpak (push) Has been cancelled
Build all / Unit Tests (push) Has been cancelled
* Update printer profiles for Artillery

* Revert "Update printer profiles for Artillery"

This reverts commit 5dc7083089.

* Update printer profiles for Artillery

* Update printer profiles for Artillery

* resolve workflow failures in profile validation

* resolve workflow failures in profile validation
2025-11-25 13:27:35 +00:00
Kiss Lorand
855870e256
Fix emulated spiral Z-hop XY offset on multi-plate slicing (#11468)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
2025-11-25 11:23:37 +08:00
SoftFever
f0d79b99eb Move WIKI to new repo
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
2025-11-24 23:50:54 +08:00
Noisyfox
4c1b6445d3
Validate invalid fields for hidden system profiles (#11455)
* Fix issue that for invisible system profiles, invalid fields are not removed

* Fix wrong note field
2025-11-24 20:11:42 +08:00
SoftFever
f57d0d1442 ci: Increase timeout for dedupe-issues workflow from 10 to 30 minutes 2025-11-23 21:22:07 +08:00
SoftFever
b78381e4f5 Fix CICD AI dedupe 2025-11-23 20:47:07 +08:00
SoftFever
b8cb62fb10
Change runner from self-hosted to ubuntu-latest 2025-11-23 18:06:54 +08:00
SoftFever
b843b36d8f
Check duplicated issues. ported from Claude code repo (#11454) 2025-11-23 18:03:28 +08:00
yw4z
9304cc35db
UI fixes / improvements (#11413)
Some checks failed
Build all / Build Linux (push) Has been cancelled
Build all / Build Non-Linux (push) Has been cancelled
Build all / Flatpak (push) Has been cancelled
Publish docs to Wiki / Publish docs to Wiki (push) Has been cancelled
Shellcheck / Shellcheck (push) Has been cancelled
Build all / Unit Tests (push) Has been cancelled
* init

* flushing volumes

* vertical margins

* fix titlebar scaling

* fix filament section

* flushing volumes

---------

Co-authored-by: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com>
2025-11-22 22:54:36 +08:00
Kiss Lorand
f48a438b27
Fix Spiral Z-Hop arc handling (#11430) 2025-11-22 22:09:29 +08:00
Kiss Lorand
589eb2cfeb
FIX: Open provided file at startup (#11419) 2025-11-22 21:49:51 +08:00