feat: draft shield checkbox + additional base layers#1
feat: draft shield checkbox + additional base layers#1
Conversation
…rcaSlicer#9508. (OrcaSlicer#10739) * Add Rectilinear Support for Normal support type. Fix issue OrcaSlicer#9508. * Remove duplicate the rotation logic, use raft_interface_angle function. --------- Co-authored-by: SoftFever <[email protected]>
restore select all plates as its own function Co-authored-by: SoftFever <[email protected]>
…eat and cooldown behaviour) - NEW (OrcaSlicer#12266) Wipe tower interface features and preheat fixes Fresh PR branch rebuilt on upstream/main (squash of origin/BBL-studio-wipe-tower-merge) to avoid merge-history issues.
* Spanish Update
This reverts commit f1212be.
* Update CalibUtils.cpp * VFA.drc case to vfa.drc
… for filament sync (OrcaSlicer#12307) # Description # Screenshots/Recordings/Graphs https://github.com/user-attachments/assets/5558b4be-24eb-4f2d-83fd-8482560a0014 <img width="445" height="285" alt="Screenshot 2026-02-14 at 7 31 57 PM" src="https://github.com/user-attachments/assets/e71fee66-05da-4f9c-8123-0f52e93f0ebb" /> ## Tests Removed configured filaments and pressed the sync button. Observed the filaments configured in my system were populated.
) - Add configurable GLEW_USE_EGL option (default OFF) to match wxWidgets - Explicitly set wxUSE_GLCANVAS_EGL=OFF for vendored wxWidgets build - Add compile-time check to detect EGL/GLX backend mismatch between GLEW and wxWidgets, preventing silent rendering failures The bug occurred when GLEW was compiled with EGL support (using eglGetProcAddress) but wxWidgets created GLX contexts. This mismatch caused OpenGL function pointers to fail loading, resulting in blank 3D model preview. Co-authored-by: SoftFever <[email protected]>
…r sizes (OrcaSlicer#12289) Normalize printer_options_with_variant_2 (stride=2) machine limit vectors during preset merge to handle legacy 3MF/projects that store only a single (normal,silent) pair despite multiple printer variants, preventing set_with_restore() size-mismatch crashes. Crash error message during 3MF import as project: <img width="833" height="274" alt="image" src="https://github.com/user-attachments/assets/f92148a9-98c6-47b7-a0ab-d5ac8b1f2be4" /> 3MF attached that causes the bug. [cube.3mf.zip](https://github.com/user-attachments/files/25318309/cube.3mf.zip)
… quality (OrcaSlicer#12329) * tweak: adjust max volumetric speed for PETG profiles to improve print quality
…oper fix (OrcaSlicer#12278) * Reapply "Switch to self hosted mac runner (OrcaSlicer#12024)" with proper fix This reverts commit 783f992. * use conditional logic for self-hosted runners * improve readbility
* 2 seam fuzzy 2nd attempt * Update FuzzySkin.cpp * Fix debug SVG * solve bump artifact in extrusion junction joint * minor fixes * cleaning Update FuzzySkin.cpp
…owing as “Undef category” in preset comparison (OrcaSlicer#12298)
OrcaSlicer#12400) * tweak legacy library migration from rename to copy in BBLNetworkPlugin
* Add Pressure Advance visualization support Signed-off-by: minicx <[email protected]> * Port Pressure Advance visualization to libvgcode architecture Adapt PA visualization (originally in commit e3a7725) to work with the new libvgcode library introduced by upstream PR OrcaSlicer#10735. Changes across the libvgcode stack: - PathVertex: add pressure_advance field - Types.hpp: add PressureAdvance to EViewType enum - ViewerImpl: add ColorRange, color mapping, range updates for PA - LibVGCodeWrapper: pass pressure_advance from MoveVertex to PathVertex GCodeViewer UI integration: - Add "Pressure Advance" to view type dropdown - Add PA color range in legend (3 decimal places) - Add PA value display in sequential view marker tooltip - Add PA row in position properties table The GCodeProcessor PA parsing (M900, M572, SET_PRESSURE_ADVANCE) is preserved from the original implementation. * Tag Pressure Advance visualization changes with ORCA comments Signed-off-by: minicx <[email protected]> --------- Signed-off-by: minicx <[email protected]> Co-authored-by: Ioannis Giannakas <[email protected]> Co-authored-by: Claude <[email protected]>
…_id indexing (OrcaSlicer#12411) The extruder_id*2 offset in get_axis_max_feedrate/get_axis_max_acceleration was cherry-picked from BambuStudio's per-nozzle limit system, which OrcaSlicer never ported. Without that system the limit arrays only have 2 values ([0]=Normal, [1]=Stealth), so any extruder_id > 0 or the uninitialized value (255) would overshoot the array and fall back to values.back(), always returning stealth-mode limits and producing incorrect time estimates. Revert to indexing by time mode only (matching v2.3.1 behavior) and simplify the M201/M203 handlers to write only the two mode slots they actually use.
…der_id indexing (OrcaSlicer#12414) print_machine_envelope() used get_extruder_id(extruder_id)*2 to index machine limit arrays that only hold [Normal, Stealth] (2 entries). For multi-extruder setups this went out-of-bounds, causing wrong M201/M203 values in the G-code which then override the estimator's correct limits. Same class of bug as c6d1c11 but on the G-code writer side. Changes: - Remove unused extruder_id param from print_machine_envelope() - Use .values.front() for M201/M203, matching M204/M205 in same function - Change get_option_value() fallback from .back() to .front() so any future out-of-bounds index returns Normal mode instead of Stealth
…ng 16+ filaments (OrcaSlicer#12317) Fixes OrcaSlicer#12284 Adds a preference for filaments area height since every user has different amount of MM units and external filaments so users can set a value that fits their setups this way we might see 3 or 6 filaments for each unit on future. thats why i set value as int used 10 as default value. its good for 2 multimaterial units ( 8 filaments ) and 1 external filament min value is 8. might be good when no external filaments in use max value is 99. UI works same as 2.3.1 version <img width="562" height="122" alt="Screenshot-20260215194149" src="https://github.com/user-attachments/assets/309cec36-8b83-48f3-875f-d5f22a9631e7" /> **BEFORE** Scrollable area fixed for 10 items. that causes a lot of scrolling whe user has 3 or 4 ams units <img width="411" height="237" alt="Screenshot-20260215194816" src="https://github.com/user-attachments/assets/fc7823c0-d82a-4d1f-bb5b-56e8dd47abd2" /> **AFTER** value 10. - 2 multimaterial units ( 8 filaments ) and 1 external filament <img width="1002" height="250" alt="Screenshot-20260215195243" src="https://github.com/user-attachments/assets/e3238cd1-788e-4ed2-b048-89c63bd323db" /> value 18 - 4 multimaterial units ( 16 filaments ) and 1 external filament <img width="1001" height="355" alt="Screenshot-20260215195127" src="https://github.com/user-attachments/assets/afe0305e-fcb4-4a51-b8dc-e70a063aa391" />
…anges in tooltips (OrcaSlicer#11915) * Fix float number not working properly for option min/max (OrcaSlicer#11211) * ConfigOptionDef: min/max values type are changed from INT to FLOAT. (cherry picked from commit f277bc8) * Fix infinite loop and crash when `fuzzy_skin_point_distance` = 0 (OrcaSlicer#11069) * Fix Linux build issue * Fix float comparison due to precision loss * Fix: Range check added for coInt options; Ranges and defaults added in tooltips --------- Co-authored-by: Noisyfox <[email protected]> Co-authored-by: SoftFever <[email protected]>
* OpenEYE Peacock V2 machine profile: Add printer_agent key to enable AMS filament synchronization (Klipper/Moonraker) Signed-off-by: Sezgin AÇIKGÖZ <[email protected]> * Optimize retraction settings in printer profiles to reduce stringing and improve print quality Signed-off-by: Sezgin AÇIKGÖZ <[email protected]> --------- Signed-off-by: Sezgin AÇIKGÖZ <[email protected]>
Fix preheat regression bugs revert 769fc13
Added checks in ByLayer print sequence to handle ordering for Intra-layer ordering option. Prevents new ordering setup when "As object list" is enabled.
* Add Elegoo filament profiles to OrcaFilamentLibrary Add 7 Elegoo filament profiles based on manufacturer specifications: - Elegoo Rapid PETG (high-speed PETG, 240-270°C, 30-600mm/s) - Elegoo PETG Pro (standard PETG, 230-260°C, 30-270mm/s) - Elegoo PETG-CF (carbon fiber PETG, 240-270°C, 30-220mm/s) - Elegoo PLA (standard PLA, 190-230°C, 30-280mm/s) - Elegoo Rapid PLA+ (high-speed PLA, 190-230°C, 30-600mm/s) - Elegoo ASA (ASA, 250-280°C, 30-270mm/s) - Elegoo TPU 95A (flexible TPU, 220-240°C, 30-60mm/s) All settings sourced from Elegoo's official product specifications. * Fix dual seam fuzzy painted rev 2 (OrcaSlicer#11923) * 2 seam fuzzy 2nd attempt * Update FuzzySkin.cpp * Fix debug SVG * solve bump artifact in extrusion junction joint * minor fixes * cleaning Update FuzzySkin.cpp * Fix filament override changes not appearing in Unsaved Changes and showing as “Undef category” in preset comparison (OrcaSlicer#12298) * Fix an issue that on Windows the Bambu legacy plugin is 01.10.01.09 (OrcaSlicer#12380) * tweak legacy library migration from rename to copy in BBLNetworkPlugin (OrcaSlicer#12400) * tweak legacy library migration from rename to copy in BBLNetworkPlugin * Add Pressure Advance visualization support (OrcaSlicer#11673) * Add Pressure Advance visualization support Signed-off-by: minicx <[email protected]> * Port Pressure Advance visualization to libvgcode architecture Adapt PA visualization (originally in commit e3a7725) to work with the new libvgcode library introduced by upstream PR OrcaSlicer#10735. Changes across the libvgcode stack: - PathVertex: add pressure_advance field - Types.hpp: add PressureAdvance to EViewType enum - ViewerImpl: add ColorRange, color mapping, range updates for PA - LibVGCodeWrapper: pass pressure_advance from MoveVertex to PathVertex GCodeViewer UI integration: - Add "Pressure Advance" to view type dropdown - Add PA color range in legend (3 decimal places) - Add PA value display in sequential view marker tooltip - Add PA row in position properties table The GCodeProcessor PA parsing (M900, M572, SET_PRESSURE_ADVANCE) is preserved from the original implementation. * Tag Pressure Advance visualization changes with ORCA comments Signed-off-by: minicx <[email protected]> --------- Signed-off-by: minicx <[email protected]> Co-authored-by: Ioannis Giannakas <[email protected]> Co-authored-by: Claude <[email protected]> * Fix time estimation using wrong machine limits due to broken extruder_id indexing (OrcaSlicer#12411) The extruder_id*2 offset in get_axis_max_feedrate/get_axis_max_acceleration was cherry-picked from BambuStudio's per-nozzle limit system, which OrcaSlicer never ported. Without that system the limit arrays only have 2 values ([0]=Normal, [1]=Stealth), so any extruder_id > 0 or the uninitialized value (255) would overshoot the array and fall back to values.back(), always returning stealth-mode limits and producing incorrect time estimates. Revert to indexing by time mode only (matching v2.3.1 behavior) and simplify the M201/M203 handlers to write only the two mode slots they actually use. * Fix machine envelope G-code emitting wrong limits due to broken extruder_id indexing (OrcaSlicer#12414) print_machine_envelope() used get_extruder_id(extruder_id)*2 to index machine limit arrays that only hold [Normal, Stealth] (2 entries). For multi-extruder setups this went out-of-bounds, causing wrong M201/M203 values in the G-code which then override the estimator's correct limits. Same class of bug as c6d1c11 but on the G-code writer side. Changes: - Remove unused extruder_id param from print_machine_envelope() - Use .values.front() for M201/M203, matching M204/M205 in same function - Change get_option_value() fallback from .back() to .front() so any future out-of-bounds index returns Normal mode instead of Stealth * update error message when plugin upgrade failed * Add and update pt-BR translations (OrcaSlicer#12409) * Add preference for filament area height to reduce scrolling while using 16+ filaments (OrcaSlicer#12317) Fixes OrcaSlicer#12284 Adds a preference for filaments area height since every user has different amount of MM units and external filaments so users can set a value that fits their setups this way we might see 3 or 6 filaments for each unit on future. thats why i set value as int used 10 as default value. its good for 2 multimaterial units ( 8 filaments ) and 1 external filament min value is 8. might be good when no external filaments in use max value is 99. UI works same as 2.3.1 version <img width="562" height="122" alt="Screenshot-20260215194149" src="https://github.com/user-attachments/assets/309cec36-8b83-48f3-875f-d5f22a9631e7" /> **BEFORE** Scrollable area fixed for 10 items. that causes a lot of scrolling whe user has 3 or 4 ams units <img width="411" height="237" alt="Screenshot-20260215194816" src="https://github.com/user-attachments/assets/fc7823c0-d82a-4d1f-bb5b-56e8dd47abd2" /> **AFTER** value 10. - 2 multimaterial units ( 8 filaments ) and 1 external filament <img width="1002" height="250" alt="Screenshot-20260215195243" src="https://github.com/user-attachments/assets/e3238cd1-788e-4ed2-b048-89c63bd323db" /> value 18 - 4 multimaterial units ( 16 filaments ) and 1 external filament <img width="1001" height="355" alt="Screenshot-20260215195127" src="https://github.com/user-attachments/assets/afe0305e-fcb4-4a51-b8dc-e70a063aa391" /> * Fix: Correct range checking for int and float Config Options + QoL changes in tooltips (OrcaSlicer#11915) * Fix float number not working properly for option min/max (OrcaSlicer#11211) * ConfigOptionDef: min/max values type are changed from INT to FLOAT. (cherry picked from commit f277bc8) * Fix infinite loop and crash when `fuzzy_skin_point_distance` = 0 (OrcaSlicer#11069) * Fix Linux build issue * Fix float comparison due to precision loss * Fix: Range check added for coInt options; Ranges and defaults added in tooltips --------- Co-authored-by: Noisyfox <[email protected]> Co-authored-by: SoftFever <[email protected]> * Update machine profile for OpenEYE Peacock V2 (OrcaSlicer#12333) * OpenEYE Peacock V2 machine profile: Add printer_agent key to enable AMS filament synchronization (Klipper/Moonraker) Signed-off-by: Sezgin AÇIKGÖZ <[email protected]> * Optimize retraction settings in printer profiles to reduce stringing and improve print quality Signed-off-by: Sezgin AÇIKGÖZ <[email protected]> --------- Signed-off-by: Sezgin AÇIKGÖZ <[email protected]> * Fix preheat regression bugs (OrcaSlicer#12438) Fix preheat regression bugs revert 769fc13 * Fix the issue where `resources/profiles/OrcaFilamentLibrary.json` is not updated accordingly. --------- Signed-off-by: minicx <[email protected]> Signed-off-by: Sezgin AÇIKGÖZ <[email protected]> Co-authored-by: Rodrigo Faselli <[email protected]> Co-authored-by: Kiss Lorand <[email protected]> Co-authored-by: SoftFever <[email protected]> Co-authored-by: minicx <[email protected]> Co-authored-by: Ioannis Giannakas <[email protected]> Co-authored-by: Claude <[email protected]> Co-authored-by: Alexandre Folle de Menezes <[email protected]> Co-authored-by: yw4z <[email protected]> Co-authored-by: Valerii Bokhan <[email protected]> Co-authored-by: Noisyfox <[email protected]> Co-authored-by: Sezgin AÇIKGÖZ <[email protected]>
* Add files via upload * Add files via upload * Add files via upload * Add files via upload * fix --------- Co-authored-by: SoftFever <[email protected]>
…r#12486) ## Summary - Change default bed temperature type from "By First filament" to "By Highest Temp" - Move `bed_temperature_formula` option from develop mode to advanced mode for better accessibility - Relocate UI control from "Basic Information - Advanced" to "Multimaterial Setup" section where it's more relevant for multi-filament printing Using the highest temperature of all printed filaments is generally safer for bed adhesion than using the first filament's temperature, especially in multi-material prints where different filaments may require different bed temperatures. <img width="390" height="239" alt="Screenshot 2026-02-26 at 18 44 56" src="https://github.com/user-attachments/assets/0fe9f8c7-062a-4a7a-8ab3-c52df7e74b26" />
Co-authored-by: Valerii Bokhan <[email protected]>
* Update 22.js * fix printer list empty * switch to vertical scrolling on custom filaments * Update 23.css * add stats * fix uncommon filament types * fix setup wizerd styling --------- Co-authored-by: SoftFever <[email protected]>
Fix crash in PA calibration pattern generation Reset current extruder ID and clear pointers in set_extruders to prevent dangling pointers when extruders are recreated. Also fixed undefined behavior by checking if the vector is empty before taking max_element. Co-authored-by: SoftFever <[email protected]>
* fix deps cache miss for Mac PR build
…ond minor update) (OrcaSlicer#12453) * SAVE line 20K+ ~ 16573 * fix syntax errors --------- Co-authored-by: SoftFever <[email protected]>
add new translations
… is specified (OrcaSlicer#12491) Co-authored-by: SoftFever <[email protected]>
Updated new preview options missing + Ru improvements (thanks @valerii-bokhan )
Update Tab.cpp
…caSlicer#12141) Enhancement: Enabling base patterns for Organic supports
Might be useful who want to use custom grid line system with textures. or a clean look ### PROBLEM / SCENARIOS • Custom made textures overlapping with grid system. so it might be confusing for user if want to use specific markings • User may found its a distracting item and wants a clean look ### SOLUTION added to view menu <img width="477" height="434" alt="Screenshot-20251230192707" src="https://github.com/user-attachments/assets/e298d9b2-5f8f-4e33-af22-ea7c84c9b5b8" /> added to canvas menu <img width="278" height="297" alt="Screenshot-20251230192717" src="https://github.com/user-attachments/assets/a9952408-a361-4e64-ad9a-72e2480c74cf" /> Clean look without gridlines <img width="1669" height="1157" alt="Screenshot-20250827144140" src="https://github.com/user-attachments/assets/9229f330-9543-4d39-a8fc-01deb9b61336" /> <img width="1669" height="1157" alt="Screenshot-20250827144212" src="https://github.com/user-attachments/assets/ab3848fb-74d7-4618-8bc7-0cdff10a3804" /> Few Examples with custom made textures / markings without gridlines <img width="1669" height="1157" alt="Screenshot-20250827140008" src="https://github.com/user-attachments/assets/5d7b17ab-e97a-489c-9e4d-99157a37b6b7" /> <img width="1669" height="1157" alt="Screenshot-20250827141904" src="https://github.com/user-attachments/assets/a7e0f360-a85a-489d-9bc2-39286984643a" />
… setting
Draft Shield: Convert from coEnum (DraftShield enum with dropdown) to
coBool (auto-rendered checkbox). Update all references in Print.cpp,
GCode.cpp, ConfigManipulation.cpp, PrintConfig. Add legacy handler to
convert old string values ("disabled"/"enabled"/"limited") to bool.
Update 649 profile JSONs from "disabled" to "0".
Additional Base Layers: New Int setting (0-3, default 0) that adds
extra foundation layers at the bottom of support/raft structures on
the build plate. For raft (raft_layers > 1), adds to base_raft_layers
count in Slicing.cpp. For non-raft support (raft_layers = 0), creates
new base layers in SupportCommon.cpp. Extra layers use
raft_first_layer_density but no horizontal expansion. Toolpath
generation extended in both SupportCommon.cpp and TreeSupport.cpp.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
❌ Profile Validation ErrorsSystem Profile Validation FailedCustom Preset Validation FailedPlease fix the above errors and push a new commit. |
The additional base layers were using the original unexpanded support column footprint. They should match the first layer's expanded footprint (from raft_first_layer_expansion) to form a proper foundation. - Raft case: additional base layers now use the expanded first-layer polygons instead of the narrower base polygons - Non-raft case: use columns_base->polygons after expansion instead of saving pre-expansion columns_original Co-Authored-By: Claude Opus 4.6 <[email protected]>
❌ Profile Validation ErrorsSystem Profile Validation FailedCustom Preset Validation FailedPlease fix the above errors and push a new commit. |
Add Catch2 test suite covering the additional_base_layers feature: - SlicingParameters math (raft split, base/interface counts) - Full-pipeline tests with normal support (no-raft, raft=1/3/5) - Full-pipeline tests with tree support (no-raft, raft=1) - Behavioral tests verifying extra layers are created - Diagnostic test for tree support + raft=3 issue Also update CLAUDE.md with accurate macOS build instructions. Co-Authored-By: Claude Opus 4.6 <[email protected]>
❌ Profile Validation ErrorsSystem Profile Validation FailedCustom Preset Validation FailedPlease fix the above errors and push a new commit. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
|
|
||
| msgid "illegal suffix:" | ||
| msgstr "Illegal suffix:" | ||
| msgstr "" |
There was a problem hiding this comment.
English capitalization overrides removed without source string update
Low Severity
The English PO file previously corrected "illegal characters:" → "Illegal characters:" and "illegal suffix:" → "Illegal suffix:". These overrides were removed (set to empty msgstr), but the corresponding source msgid strings in the POT file were not capitalized. This is inconsistent with the PR's pattern of fixing capitalization at the source level before removing English overrides. English users will now see lowercase text where it was previously capitalized.


Summary
coBool). Updates legacy handling, 649 profile JSONs, and all code references.Test plan
"draft_shield": "disabled"parse correctly🤖 Generated with Claude Code