Commit Graph

135 Commits

Author SHA1 Message Date
Ian Bassi
16727644bb Reduce size by Json Fromatting (#13163)
Reduce the size of current and new JSONs by standardising them with 1 tab indentation instead of 4 spaces.
This effectively reduces the size by almost 20 MB.

| Current | New |
|---|---|
| 85.2 Mib | 67 Mib |

Used [JQ](https://jqlang.org/) `--tab` to automatically format every current JSON.

> [!NOTE]
> Some profiles had the arrays on the same line, but those created by Orca were in the standard format (each object below the previous one). In some cases, this increases the number of tabs due to the new lines, but the increase is negligible, and this way both the base profiles and those created by Orca maintain the same style.
2026-04-15 22:58:12 +08:00
yw4z
095b5116ac Add option for hiding / showing gridlines (#10545)
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" />
2026-03-01 00:19:04 +08:00
yw4z
5e6a8e4daf Add preference for filament area height to reduce scrolling while using 16+ filaments (#12317)
Fixes https://github.com/OrcaSlicer/OrcaSlicer/issues/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" />
2026-02-23 12:56:09 +08:00
Argo
ffc8a3e307 Adds (AMS) filament sync options: Only sync color / sync all (#12169)
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" />
2026-02-10 09:12:30 +08:00
Sabriel-Koh
cae1567726 fix: Show Labels and Show Overhang toggles not being saved (#12218)
* fix: Show Labels and Show Overhang toggles not being saved

* refactor: use get_bool and add comments
2026-02-09 22:27:03 +08:00
Maeyanie
bb30999673 Add support for Draco (.drc) format (#10681)
* 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 7e9c85f31a.

* Revert "Change to a lossy checkbox and a bits field with a range of 8-30."

This reverts commit d642c9bcc0.

* 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>
2026-02-06 18:27:17 +08:00
SoftFever
5d121b12ee Fix a regression where the login panel is displayed even when the plugin is disabled (#12185)
Update GUI_App to show or hide the login panel based on the "installed_networking" setting.
2026-02-06 09:18:52 +08:00
SoftFever
9703a6b4d7 init 2026-01-23 17:05:56 +08:00
SoftFever
1b355be432 Merge branch 'main' into libvgcode 2026-01-06 11:09:09 +08:00
SoftFever
01f5c4caaa Fix an error that AppConfig::save is called from non main thread 2026-01-05 23:29:28 +08:00
SoftFever
541f3bb93b Merge branch 'main' into feat/configurable-bambu-network-lib 2026-01-05 08:39:21 +08:00
yw4z
0330e86007 Introduce canvas menu (#11618)
* init

* update

* Update GLCanvas3D.cpp

* Update GLCanvas3D.cpp

* cleanup

* fix icon size

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-31 00:02:48 +08:00
yw4z
e8af78d032 Custom grouping options for user filament presets (All, None, By Vendor, By Type) (#11681)
* Update PresetComboBoxes.cpp

* add option on preferences

* simplify changes

* update

* Update PresetComboBoxes.cpp

* Update PresetComboBoxes.cpp

* support lowercase on sorting non submenu list

* minor changes

---------

Co-authored-by: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-29 23:37:36 +08:00
SoftFever
0e5a816318 Migrate legacy networking configuration to new network plugin versioning system. Remove legacy networking setting and update related GUI components to reflect the changes. Implement auto-migration for legacy libraries to ensure compatibility with the new versioning scheme. 2025-12-28 19:57:08 +08:00
SoftFever
11c9794faa Merge branch 'main' into feat/configurable-bambu-network-lib 2025-12-19 22:18:19 +08:00
Ioannis Giannakas
d6815653f4 Merge branch 'main' into libvgcode 2025-12-18 12:55:11 +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
Maciej Wilczyński
a4d4bfff27 Allow selecting specific network plugin versions 2025-12-14 14:26:16 +01:00
Andrew Sun
e4d354b673 Merge remote-tracking branch 'upstream/main' into libvgcode
# Conflicts:
#	src/libslic3r/GCode/GCodeProcessor.cpp
2025-11-18 20:22:57 -05:00
Andrew Sun
7814605906 Merge remote-tracking branch 'upstream/main' into libvgcode
# Conflicts:
#	src/libslic3r/GCode/GCodeProcessor.cpp
#	src/libslic3r/GCode/GCodeProcessor.hpp
#	src/slic3r/CMakeLists.txt
#	src/slic3r/GUI/GCodeViewer.cpp
#	src/slic3r/GUI/GCodeViewer.hpp
#	src/slic3r/GUI/GLCanvas3D.cpp
#	src/slic3r/GUI/GLCanvas3D.hpp
#	src/slic3r/GUI/GUI_Preview.cpp
2025-11-15 11:11:20 -05:00
Noisyfox
4efaee4c98 Merge branch 'main' into dev/p2s-pr 2025-11-04 10:26:47 +08:00
githubber4ever
2ae3378605 toggle axis visibility on canvas (#9666)
* toggle axis visibility on canvas

* set show_axes config on toggle
2025-11-02 00:23:26 +08:00
Noisyfox
00122a9de5 Merge branch 'main' into dev/p2s-pr
# Conflicts:
#	src/slic3r/GUI/Jobs/PrintJob.cpp
#	src/slic3r/GUI/SelectMachine.cpp
#	src/slic3r/GUI/SendToPrinter.cpp
#	src/slic3r/Utils/CalibUtils.cpp
2025-10-29 21:03:22 +08:00
Seref
4b7b81a0a2 Add setting to enable uploads to abnormal Storage; improve sd_card_state error reporting (#10981)
* Add option to allow upload to SD-Cards marked as abnormal, also add better error description

+ Adds the options under the Network Settings to allow upload to abnormal SD-Card.
+ If not enabled user will now see why the upload is stuck at 10% depending on the sd_card_state (Readonly/Abnormal)

* Merging with current branch, and updateing "sd-card" to "storage"

* Generate localization and also change remaining sd_card_abnormal states to _storage_abnormal

* Fix issues from merge, and other bugfixes.

* Regenerate localization files.

* Improve Missing Storage Message, Add skip for abnormal storage in printer select dialog
2025-10-29 20:32:38 +08:00
zhimin.zeng
0f7e6cc442 FIX: load config file failed
jira: none
Change-Id: I0264eaee3eacf13e57cc0918984f02d04327342c
(cherry picked from commit 07ce2a3f021241532f3260c4b45e9d290fac09ca)
2025-10-28 15:29:59 +08:00
zhimin.zeng
0964a9a85c FIX: the bed_type is incorrect for flowrate cali
jira: STUDIO-14901
Change-Id: I8a1fcdf5eb051a81f0fcd0c5d9a590bce2646994
(cherry picked from commit 49edbe52572137ff79f1b17dab261d5b800b2499)
2025-10-28 15:29:59 +08:00
Noisyfox
53790c7bf3 Default to new network plugin 2025-10-03 16:04:39 +08:00
fei2.fang
9ee76e4775 NEW: Official filament color selection approved
- Add a filament picker dialog for official color selection
- Enable displaying multiple filament colors in the picker dialog and preview sidebar
- Introduce two new config options:
  - `filament_multi_colors`
  - `filament_color_types`
  to both the application config and the 3MF config

jira: STUDIO-12346

Change-Id: I66f8c1ec9147df4f5948c8a329c1737551280e63
(cherry picked from commit 522dc0bbca49033a1ba9725ca7f6c3ea729691a6)
2025-09-28 14:17:52 +08:00
zhou.xu
94732b6bad ENH: 3mf: fix save fullpath issue
jira: STUDIO-12970
Change-Id: I71bbd9fd3e1bae669fcc29822f75a3ab9025af56
(cherry picked from commit da0f893433049899227a71e5ddc79833431ce39a)
2025-09-28 13:12:11 +08:00
Noisyfox
03e056e278 Merge remote-tracking branch 'upstream/main' into dev/h2d-2
# Conflicts:
#	src/slic3r/GUI/GUI_App.cpp
2025-09-28 11:09:24 +08:00
SoftFever
f020480900 Revamp OrcaSlicer updater (#10884)
* Revamp OrcaSlicer updater
2025-09-28 10:33:33 +08:00
Andrew Sun
f696d19181 Add seq_top_layer_only config default to fix moves slider 2025-09-24 22:49:14 -04:00
xin.zhang
38a71f527e ENH: move some level
jira: [none]
Change-Id: Ibd0d380b16b30f63144d38a0c34972d8b7c4153f
(cherry picked from commit 2da69efd9b0db6c2be6a1b3985bbafb7afc5d3be)
2025-09-21 13:47:50 +08:00
xun.zhang
0af34f4324 ENH: enhance auto flush option
1.Support auto flush when change printer and nozzle volume type

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I9dfc2fff095bbf1901afe99556d1e57aa225f482
(cherry picked from commit f12305832227940eb0eae05817ad046dd4eff02d)
2025-09-17 11:39:56 +08:00
zhimin.zeng
27b16455b7 ENH:remove restrictions on mixed use of high and low temp filaments
jira: STUDIO-10482
Change-Id: Ifdf6f11b45f2e6d138ea615a3ad1f23d40ad3fe9
(cherry picked from commit 0178e930809cabcdbc09ab305e70e4323598b343)
(cherry picked from commit 8f92391717e37dd0f51aa067ad626b83630a46b1)
2025-09-17 11:36:18 +08:00
zhou.xu
25a195d1f4 ENH:Fix the issues discovered in the demo
jira: STUDIO-10384 STUDIO-10385 STUDIO-10387
Change-Id: I68f3099b9fbb6d6996373cae07b2e62930ce614c
(cherry picked from commit 91df890100199a3e26ef3792a1f8650d2dab8577)
2025-09-17 09:08:48 +08:00
zhou.xu
cf9e784893 ENH:add "nozzle_has_ams_then_ignore_ext" deal
jira: STUDIO-10245
Change-Id: I77e49dcbdfc3acd9473ca3885c6cc7eebdd0d3fa
(cherry picked from commit 288b1eddc5e3c8e16d8b76d4360f0be40329646c)
2025-09-16 21:21:39 +08:00
zhou.xu
c1f5884683 ENH:reopen "enable_merge_color_by_sync_ams" option
jira: STUDIO-10227
Change-Id: If6e070f4daf1f96ec667f65ce4872bd942d866ab
(cherry picked from commit 068f1d1256febed272c7debfef76c1577c2ef6c7)
2025-09-16 20:09:17 +08:00
liz.li
fe204f972f ENH: collapse the dailytips by default when slicing
jira: STUDIO-9658

Change-Id: Iad5bd087337e7d0540f0da4cdb25873f4f1ac6fb
(cherry picked from commit ce54aa8a8408789ae21dc2091da12dec36e8be21)
2025-09-10 14:40:56 +08:00
zhou.xu
ee12c32b11 ENH:update SyncAmsInfoDialog
jira: none
Change-Id: I7549dd3334fd9bcc4eba5d3b41786516fd879f38
(cherry picked from commit 9b1717fa56b1d5baacc3801f23d1586050970574)
2025-09-10 11:17:47 +08:00
xun.zhang
fc09eb2138 ENH: temperoraily disable map dialog after slice
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I6d3d90db3508642e0e56015296d3efd50248bd05
(cherry picked from commit 3ddc30a60a36c531b004b7bacc0c583f9d6add3d)
2025-09-09 17:17:07 +08:00
chunmao.guo
80c4891926 FIX: support maximum 999 recent projects
Change-Id: I2465990583a1295f40e3c4c6ef9237657e38a91c
Jira: STUDIO-9107
(cherry picked from commit d29fa512acd0c21255fbf8d6f5f0488214677e83)
2025-09-09 15:41:25 +08:00
zhou.xu
e2d86888b5 FIX:add mode for syscAMsInfoDialog
jira: none
Change-Id: Iabfc9953f86cd08a2357a9197d6e1afe8d781d9f
(cherry picked from commit eaeac42b19b322f56b501c0d2ce99c4a6b2fd050)
2025-09-09 15:35:19 +08:00
xun.zhang
897a78ce9a ENH: refine the logic of filament map dialog
1. Always change the map and mode in plate if plate mode is not default
2. Always add pop up before slice
3. Fix the mapping issue in gcode viewer

jira: studio-9523,studio-9519,studio-9513,studio-9479

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I0d7d5daf081951ea2d49e06565762ac24064e77c
(cherry picked from commit afaa48520e16b6808f05e511ac1cfe91acadc84b)
2025-09-09 11:03:56 +08:00
zhou.xu
ad79ed6d93 ENH:add "SyncAmsInfoDialog"
JIRA: none

Change-Id: I8e26178f6da816e102a40b429c565696924c58ea
(cherry picked from commit 2a46460d5a65279cbb42c8aef2474172b1e1ae30)
(cherry picked from commit f7995d5a9f682107bd629841e2f903b0e6a0e7f2)
2025-09-07 20:55:54 +08:00
xun.zhang
057a1a4f5d ENH: refine ui logic with filament group
1. Add filament group pop up when slice
2. Add more filament modes in filament dialog
3. Add capsule button

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8bc3a2e08696e406b89e550a0335a1a36728ee65
(cherry picked from commit f1702a5c3604f685a3b35ea0e83d29bdbbd90f70)
2025-09-06 23:52:20 +08:00
lane.wei
9142654795 ENH: config: add default_nozzle_volume_type in printer
1. also remove original nozzle_volume_type from printer
and move into project config
2. support save nozzle_volume_type into appconfig
and load from it at beginning or printer switch

jira: no-jira

Change-Id: I01fc82d142fc633fc59a238796a71b9f8d180efb
(cherry picked from commit fe8b904e7551cde83b1ead75922e9b60278b50ad)
2025-08-24 23:18:16 +08:00
zhimin.zeng
8eb0a59723 FIX: fix flow ratio calib bug for single extruder printer
2. modify the filament_flow_ratio to nullable
jira:none

Change-Id: I3f0569ee643cfe9473c6029ca0e04f4b80c8332e
(cherry picked from commit ed61d1d31bdc79f064567deacf35e05bd123880d)
2025-08-24 23:18:13 +08:00
zhimin.zeng
e7d2c51326 ENH: flow_ratio cali support multi_extuder
jira: none
Change-Id: I03399040a772043d3d20116b0588fd04e0725be1
(cherry picked from commit 38b3c32b6ae2ca63e815623144cb4c2a9c194977)
2025-08-24 23:18:13 +08:00
Vovodroid
5fa35342fd Add stl, step, etc. to recent list (#9481)
* Add stl, step, etc. to recent list

* Make configurable

* Merge branch 'main' into recent-files-pr
2025-08-24 00:24:30 +08:00