# Description
This PR introduces most features and capabilities needed for future network plugin-related changes, as discussed on Discord. In short bullet points:
- it allows users to select a specific version of the Bambu network library to use,
- improves hot reloading (in most cases, version changes don't require restarting Orca),
- introduces possibility to add _custom_ variants of supported plugin versions by placing them in the plugin directory with a suffix of `-<name>`,
- adds an button in the "Developer" section of Preferences to hot-reload the network plugin from disk,
- ports plugin error messages from Bambu Studio, including the questionable unsigned app one (rephrased), to make it clear to users why their printer commands don't really execute.
Also introduces CMake 4.x compatibility on macOS, because I was too lazy to install CMake 3 on my computer 😶
# Screenshots/Recordings/Graphs
<img width="494" height="225" alt="image" src="https://github.com/user-attachments/assets/366e8c0f-8b12-4c75-a2db-ba08e7544ecd" />
<img width="223" height="276" alt="image" src="https://github.com/user-attachments/assets/dffec726-b6d5-44d3-a2b3-dd56d2590356" />
<img width="521" height="182" alt="image" src="https://github.com/user-attachments/assets/934ba963-f299-4d20-a107-8375f1f99571" />
<img width="644" height="640" alt="image" src="https://github.com/user-attachments/assets/00385657-04f2-4f36-896e-58265df58ebc" />
## Tests
Tested manually, also added some basic tests to make sure config management behaves correctly.
# Description
This PR addresses the issue that WipeTower's start z position didn't consider the z_offset.
fixes#11611
# 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.
-->
# Description
Fix application freeze when Prime Tower brim is set to Auto
This PR fixes an issue where enabling Auto brim width for the Prime Tower caused the application to freeze and consume unbounded amounts of memory.
Root cause
0c5f6c9865/src/libslic3r/GCode/WipeTower2.cpp (L2036-L2039)
When Auto brim is selected, the brim width was not being computed and the raw configuration value (-1) was used directly.
This resulted in an effectively infinite loop during Prime Tower brim generation, leading to runaway memory allocation instead of a controlled failure or a crash.
Solution
The Auto brim width is now properly computed based on the Prime Tower height, matching the intended behavior and existing logic used in other slicer implementations.
# Description
* What issue does this PR address or fix?
1. Refactor Polymaker folder within Snapmaker profile directory, so that the structure is more clear.
2. Add more Polymaker filament presets for Snapmaker printers.
* What new features or enhancements does this PR introduce?
1. None
* Are there any breaking changes or dependencies that need to be considered?
1. None
# Description
This PR updates the machine start G-code and adaptive bed mesh options of the **OpenEYE Peacock V2** printer profile.
There are no breaking changes. Existing profiles and workflows remain fully compatible.
## Tests
- Loaded the updated profile in Orca Slicer.
- Generated sample G-code files and verified the updated startup sequence.
- Confirmed no impact on slicing behavior, materials, or process settings.
# Description
Accurate color change calculations for coprint setups by specifying the nozzle volume, reduced risk of jamming by removing parking position setting.
## Tests
Settings tested on N3+ and K1 equipped with coprint kits.
* fixes: wxTimerEvent not supposed to be created by user code [-Wdeprecated-declarations]
* use wxTimerEvent instead of wxCommandEvent.
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
# Description
[Updated Qhull]
changelog
https://github.com/qhull/qhull/releases/tag/v8.0.2
# 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.
-->
* Added InnovatiQ Vendor Files
* Cover image corrected
* Corrected Texture Image
* Support Interface Pattern modified
* Fix file name casing
* Added new filament(PETG)
* changed three parameters
* Added 6 new printer files
0.25, 0.6, 0.8 printer profiles are added to TiQ2 and TiQ8
* Added 6 new machines in machine list
* 6 new machines added in machine list
* Modified the PACF filament and process file
* Added two new filament file and one process file
* Modified one filament and one process file
* PETG Polymax profile for TiQ2 updated
* HPP4GF25 Grauts filament-process addeed to TiQ2
---------
Co-authored-by: MohanS <sibi.mohan@innovatiq.com>
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
Co-authored-by: Ashidsha Jaleel <JaA0@germanreprap.local>
Co-authored-by: SoftFever <softfeverever@gmail.com>
Co-authored-by: ash-innovatiq <ashidsha.jaleel@innovatiq.com>
* ConfigOptionDef: min/max values type are changed from INT to FLOAT.
(cherry picked from commit f277bc80c22e0c9a067481a4301922e2c96aed47)
* Fix infinite loop and crash when `fuzzy_skin_point_distance` = 0 (SoftFever/OrcaSlicer#11069)
* Fix Linux build issue
* Fix float comparison due to precision loss
* 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>
* Replace spline with PchipInterpolatorHelper in flow compensator
Swapped out the tk::spline implementation for PchipInterpolatorHelper in SmallAreaInfillFlowCompensator. Updated member types and method calls to use the new interpolator for improved flow compensation modeling.
* Enforce strictly increasing flow compensation factors
Added a check to ensure that flow compensation factors in SmallAreaInfillFlowCompensator strictly increase with extrusion length, throwing an exception if this condition is not met. This improves input validation and prevents invalid compensation models.
* Add context to Small Area Flow Compensation errors
Prefixed error messages in SmallAreaInfillFlowCompensator with 'Small Area Flow Compensation' for improved clarity and debugging. Also rethrows exceptions after logging to ensure proper error propagation.
* Remove spline library from dependencies
Eliminated the spline header-only library from the project by deleting its CMake configuration and header file, and updating documentation and build scripts to remove references to spline. This streamlines the dependencies and build process.
* Brim can follow EFC outline
* Optimization
* Update Spanish EFC brim description
Adopt reviewer-proposed wording from RF47.
Co-authored-by: RF47 <RF47@users.noreply.github.com>
* Tag Orca specific changes
Tag Orca specific changes vs. Bambu using the comment //ORCA: . This helps when reviewing merge commits from upstream Bambu so we don't end up causing regressions when pulling in commits from upstream
* Tooltip update
---------
Co-authored-by: RF47 <RF47@users.noreply.github.com>
Co-authored-by: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com>
Relocated Clipper2 source files and CMake configuration from src/clipper2 to deps_src/clipper2. Updated CMakeLists to add Clipper2 as a dependency from the new location, improving dependency organization.
Co-authored-by: Rodrigo Faselli <162915171+RF47@users.noreply.github.com>
* Fix missing force-build and use non-docker publish action
Fixes#11687Fixes#10404
* Initial deletion of build_check_cache
Start to fold functionality into build_deps, but definitely broken.
* Tests can be built separately
Missed this before
* Create artifact for all platforms, fix cache usage
Cache is only created on `main` branch.
Artifact is used to move files between jobs.
The Linux artifact was broken, now it's not.
The Mac artifact didn't exist, now it does.
The Windows artifact gets a new name and now isn't a
zip-within-a-zip. Perhaps this will cause a permissions problem; we
will see shortly.
* Apparently cannot update env used for `if` mid-stream
* Force-build causes a clean deps build
* Either build or pull from cache
Cache only has final output, not intermediate files. So we either
build or use the cache.
* Keep dep uploads for 10 days instead
It's just the final object outputs, not intermediates, so it's not as
large and we can keep it slightly longer.
* Adds M3D D8500 Enabler Pro Profiles V1
Adds support for M3D D8500 Enabler Pro support for Orca.
Allows user to set up the printer directly from the printers menu.
* Adds M3D D8500 Enabler Pro Profiles V1
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
Fix adaptive fill issues
- Disconnecting from walls at low density
- Not supporting rotation
Co-authored-by: Rodrigo Faselli <162915171+RF47@users.noreply.github.com>