* Union ex brims
Revert "Union ex brims"
This reverts commit bbc9a39faf318dc2df093eb2bdcebf19a4162fe9.
Update Brim.cpp
* dont repeat paths
* Update Brim.cpp
* multimaterial brim independiente
* Normal brim if is by object
* fix print order
* cleaning 1
* cleaning 2
* Normal brim if multimaterial on first layer
* fix artifact
* combine_brim optional
refactoring
* refactoring gcode.cpp
* refactoring brim.cpp
Update Brim.cpp
* Remove multimaterial first-layer check for brims
Stop detecting extruders used on the first layer and remove the is_multimaterial_first_layer guard. Simplify can_combine_brims to only consider combine_brims and whether printing is ByObject, allowing brims to be combined across extruders unless printing by object or combine_brims is disabled. Cleans up unused code and simplifies brim-generation conditions.
* Remove material specification from unified brim comment
* Update PrintConfig.cpp
- Plater: use Add() instead of wxArrayString(size_t, wxString) ctor
- Search: change sep from std::wstring to wxString for concatenation
- SendMultiMachinePage: replace wxList::Node* with compatibility_iterator
(Node type removed in wx 3.3 with wxUSE_STD_CONTAINERS=ON)
- PhysicalPrinterDialog: disambiguate set_values() call with explicit
std::vector<std::string> (wxArrayString now also matches initializer list)
- Preferences: use ToStdString() instead of mb_str() for std::string comparison
- Plater: use wxString::FromUTF8() for wxArrayString constructor argument
In wxWidgets 3.3, wxWindow::Raise() no longer implies Show(). Add
explicit Show() before Raise() in two event handlers that activate the
main frame from another instance (load model, start download), and swap
the Show/Raise order in bring_instance_forward() so Show() precedes
Raise().
wxWidgets 3.2+ asserts on invalid sizer flag combinations where
wxEXPAND (which fills the entire space in the secondary direction)
is combined with wxALIGN_* flags (which are meaningless when expanding).
Remove the conflicting wxALIGN_* flags from all 112 occurrences across
21 files, keeping wxEXPAND and any non-conflicting flags intact.
* 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
* Fix extruder_id out-of-bounds in switch_excluder
Added a check to reset extruder_id to 0 if it exceeds the size of nozzle_volumes or extruders, preventing potential out-of-bounds access.
Co-Authored-By: Christopher R. Palmer <1305033+crpalmer@users.noreply.github.com>
* Add custom nozzle diameter option in sidebar
Ensures that if the actual nozzle diameter is not present in the list, it is added as a custom option. This improves user experience by allowing selection of non-standard nozzle diameters.
Refactor nozzle diameter selection logic in Sidebar
Simplified the logic for updating the extruder nozzle diameter combo box by removing redundant checks and streamlining the addition of custom nozzle diameters. This improves code clarity and ensures the actual nozzle diameter from the printer config is always considered.
Co-Authored-By: yw4z <yw4z@outlook.com>
* Prevent profile switch if selected diameter matches nozzle
Adds a check in Sidebar::priv::switch_diameter to avoid switching printer profiles when the selected diameter matches the current nozzle diameter in the configuration. This prevents unnecessary profile changes and improves user experience.
---------
Co-authored-by: Christopher R. Palmer <1305033+crpalmer@users.noreply.github.com>
Co-authored-by: yw4z <yw4z@outlook.com>
This PR adds a new filament sync mode setting for device-based filament synchronization.
Users can now choose between syncing both filament preset + color (current behavior) or syncing color only, so calibrated local filament profiles are preserved while still updating slot colors from the printer.
It also includes small UI improvements for the new preference entry and sync status messaging.
<img width="665" height="671" alt="image" src="https://github.com/user-attachments/assets/23980846-0113-48ab-84aa-adf5cdab8ab6" />
# Description
Transforming internal 3D Files to DRC to reduce orca size
## Calibs
(Not counting temperature_tower)
Original 6,01 MB
Converted 1,57 MB
- Mesh (STL/3MF) to LossLess DRC
- SCV-V2 116kb -> 15kb
- fast_tower_test 66kb -> 9kb
- ringing_tower 172kb -> 22kb
- pressure_advance_test 124kb -> 16kb
- tower_with_seam 2kb -> 1kb
- retraction_tower 1.726kb -> 97kb (done at 25, if 0 = 212kb)
- ~~temperature_tower~~ Updated, fixed, wider range and Draco in: #12103 5.075kb -> 485kb
- vfa 1.453kb -> 179kb
- Step
- SpeedTestStructure 1.312kb -> 86kb
- Imported:
- Linear Deflection: 0.002
- Angle Deflection: 0.25
- Exported as LossLess DRC
## Handy Models
Original 4,66 MB
Converted 1,53 MB
- STL/3MF to LossLess DRC (Maybe reduce the bit depth???)
- 3DBenchy 2.417kb -> 570kb (done at 25, if 0 = 1.340kb)
- calicat 43kb -> 6kb
- ksr_fdmtest_v4 128kb -> 74kb
- Orca_stringhell 63kb -> 37kb
- OrcaToleranceTest 758kb -> 94kb
- Stanford_Bunny 755kb -> 187kb (done at 25, if 0 = 316kb)
- Voron_Design_Cube_v7 34kb -> 21kb
## Bit used
After some test with a lot of models and all possible combinations it's safe to say that >20 is BondingBox and mm3 volume the best it can.
So i used 25 just as a safe value in:
- Stanford_Bunny
- 3DBenchy
- retraction_tower
<img width="324" height="499" alt="imagen" src="https://github.com/user-attachments/assets/bb5000cf-c1fa-4153-af2f-691ea59bc254" />
<img width="324" height="499" alt="imagen" src="https://github.com/user-attachments/assets/f38e3528-0d05-4621-984e-f107a0eec91e" />
## MultiPart 3MF
Didint change them, too much trouble for small changes.
* Add read support for Google's Draco (.drc) format.
* Fix build on Linux
* Use boost instead of fstat.
* Switch to boost memory-mapped file to save RAM and potentially improve performance.
* Trim trailing whitespace.
* Initial Draco write support.
Currently always exports with 16-bit precision and speed 0 (best compression).
The back-end function does have arguments to specify them, it's just not hooked into the GUI.
* Add Draco to the About dialogue.
* Fix Linux compile (hopefully)
* Add an option to associate DRC files on Windows.
* Implement a Preferences option to set Draco position quantization bits
* Update src/slic3r/GUI/Preferences.cpp
Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
* Some slight changes to ianalexis's suggestion.
* Implement a create_item_spinctrl() function for numeric inputs, and use that instead of create_item_input().
* Move "bits" to inside the spinctrl box.
* Refactor following yw4z's feedback
* Update src/slic3r/GUI/Preferences.cpp
Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
* Change to 0 bits as the default setting for Draco export precision.
* Change to a lossy checkbox and a bits field with a range of 8-30.
* Proper SpinInput code from yw4z
* Revert "Proper SpinInput code from yw4z"
This reverts commit 7e9c85f31a0d776860690595b71441498c2034d1.
* Revert "Change to a lossy checkbox and a bits field with a range of 8-30."
This reverts commit d642c9bcc0c51b35bf915e04f35d9991c8485ddd.
* Redo preferences based on SoftFever's feedback
* Refactor to minimize code duplication
* Fix padding
* Improve Draco export quality level tooltip clarity
Clarify that 0 means lossless compression (not uncompressed),
document the valid lossy range (8-30), and better explain the
tradeoff between file size and geometric detail.
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
Closes#11726
# Description
Removed hardcoded 0.2mm layer height.
Now it will stay in with the user process.
Also corrected several config assignments to use print_config instead of obj->config for consistency.
## Note
Didn't change PA PATTERN because i don't know if it may impact the calibration results for this specific test.
* Add overhang_reverse config to calibration routines
Set the 'overhang_reverse' configuration option to false in both calib_temp and calib_retraction functions to ensure consistent calibration behavior.
* Disable overhang_reverse in calib_pa function
Adds a line to set the 'overhang_reverse' configuration option to false when running the calib_pa function, ensuring this feature is disabled during calibration.
* Disable reverse on even for PA Tower
* Remove unncesary overhang_reverse disablers
* Update Plater.cpp
Update Plater.cpp
* Update Plater.cpp
### What was the issue?
The check that validates whether a filament is compatible with the selected build plate type was only executed for Bambu Lab printers.
Other printers skipped this entirely, even though they can also use multiple plate types with different temperature requirements.
This caused cases where:
- incompatible filament/plate combinations went unnoticed,
- users received no warning even when the bed type clearly couldn’t support the selected filament.
### What’s changed?
- The validation block extends beyond BambuLab printers.
- Now all printers get the same compatibility check:
- if a filament requires a bed temperature not supported by the chosen plate,
- Orca shows the same clear error message as it does for BBL printers.
- Show the selected filament preset name (alias if present) in bed/filament mismatch warnings instead of substituting the parent preset.
### Why this helps
- Consistent behavior across all printer brands.
- Prevents invalid filament/plate setups that could cause print failures.
- Makes plate presets more robust and predictable for custom and community printers.
### Notes
- No behavior changes for BBL printers — they keep the existing checks.
- Other printers now benefit from them too.
* 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>