Commit Graph
100 Commits
Author SHA1 Message Date
Noisyfox 8dd9e64af8 Update profile selector loading text color (#9334)
Update loading text color
2025-04-13 23:18:46 +08:00
8e38ac234f Fix rare crash when calculating bridge expansion (#9287)
* Fix #12469 - crash caused by bridge expansion.

Handle a very rare case in which the algorithm picks a wrong
polygon for expansion seed.

(cherry picked from commit 5f843cc93470c96483abcbd47cf8ee5fe38dffe2)

* SPE-2698: Fix crash during regions expansion.

(cherry picked from commit a3f75133c8baead6f8d7bb01722a6bfcdc2e9038)

---------

Co-authored-by: Martin Šach <martin.sachin@gmail.com>
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
2025-04-13 17:39:28 +08:00
Noisyfox 7a40ebda66 Fix orca filament lib load (#9260) 2025-04-13 17:38:58 +08:00
Noisyfox 97ec03692c Fix wipe tower initial movement when switching extruder offsets (#9222)
Fix wipe tower initial movement when switching extruder offsets (SoftFever/OrcaSlicer#9214)
2025-04-13 17:38:29 +08:00
Noisyfox 443034553b Fix M486 still presented even with obj exclusion disabled (#9202)
Make sure `m_enable_exclude_object` is initialized correctly from user config (SoftFever/OrcaSlicer#7775)
2025-04-13 17:38:13 +08:00
Noisyfox 2f8fa3fec2 Avoid unnecessary travel in scarf seam (#9197)
* Avoid unnecessary travel in scarf seam (SoftFever/OrcaSlicer#9139)

* Fix typo
2025-04-13 17:37:40 +08:00
Noisyfox 0a3cbabae6 Fix flow calibration overlapping objects with nozzle > 0.4mm (#9189)
* Make sure the objects are refreshed after scaling

* Scale the calib pattern using `selection.scale` so they won't overlap (SoftFever/OrcaSlicer#9085)
2025-04-13 17:36:51 +08:00
Noisyfox 74df3a450b Fix wrong travel before printing first skirt point (#9179)
Fix wrong travel before printing first skirt point (SoftFever/OrcaSlicer#9109)

don't modify `last_pos`, otherwise it could move out of plate/to wrong places and cause issue
2025-04-13 17:36:36 +08:00
Noisyfox abcd6e7847 Don't apply adaptive PA in PA calibration (#9149)
Don't apply adaptive PA in PA calibration (SoftFever/OrcaSlicer#9140)
2025-04-13 17:35:57 +08:00
Noisyfox 61a68fb497 Don't allow selection change in paint gizmo (#8776)
If object has modifier, in some paint gizmos such as seam and support
paint, if you click the modifier, the gizmo will exit:

![paint-modifier](https://github.com/user-attachments/assets/5680a19f-5de7-485e-bf73-3d79b6a080a9)

This PR fixes this issue so the gizmo won't accidentally exit.
2025-04-13 17:35:12 +08:00
Noisyfox 5ed855aeef Improve brim paint gizmo shortcuts (#9174)
* Change section view hotkey to alt+mouse wheel

* Use ctrl+mouse wheel up/down to change brim size

* Update current brim brush size
2025-04-13 17:34:05 +08:00
Noisyfox 672a829cdb Fix issue that option visibility not updated after resetting (#9150)
Fix
https://github.com/SoftFever/OrcaSlicer/issues/8895#issuecomment-2764217763
2025-04-13 17:33:02 +08:00
Noisyfox ee07700aa7 Fix brim ear paint memory leaking & multi-selection with shift+left click (#9167)
* Fix issue that you cannot select multiple brim ears with shift+left click

* Fix brim ear size preview when dragging the slide

* Fix `render_hover_point` memory leaking by using `std::optional`
2025-04-13 17:32:39 +08:00
Noisyfox d54c139cdb Fix PA calib crash when default line width is set to 0 (#9146)
Fix PA calib crash when default line width is set to 0 (SoftFever/OrcaSlicer#9144)
2025-04-13 17:31:54 +08:00
Noisyfox 697fc5b8d3 Async profile load on printer/filament selection screen (#9118)
The selection screen shows a loading indicator instead of frozen during
the page loading process, during that time you will able to close the
window if you want, instead of been stuck at this screen until it
loaded:


![profile-select-async](https://github.com/user-attachments/assets/ff6c810e-72f8-4398-b86f-2ca5b516fbe2)

Ported from BambuStudio, huge thanks to BambuLab!
2025-04-13 17:30:37 +08:00
Noisyfox b149cb0682 Remove MAX_FLUSH_VALUE (#9262)
# Description

Fixes https://github.com/SoftFever/OrcaSlicer/issues/8342

Some printers require extreme flushes to prevent color bleeding or weird
mixed material issues. This change simply bumps the UI constraint by an
order of magnitude.

Filament manufacturers rejoice at the waste!

## Tests

I have made no attempt to test this change or its impact on
purge/flushing calculations.
2025-04-09 21:09:53 +08:00
Noisyfox 32efc176d9 Vfa calibs - Input Shaping & Junction Deviation (#9160)
@RF47 and I have been working on a **two-step input shaping
calibration** to help fine-tune print quality and Junction Deviation
Test for Marlin2 printers.
This is based on [Klipper's Resonance
Compensation](https://www.klipper3d.org/Resonance_Compensation.html#resonance-compensation),
[Marlin’s M593 G-code](https://marlinfw.org/docs/gcode/M593.html),
discussions from
[SoftFever/OrcaSlicer#1820](https://github.com/SoftFever/OrcaSlicer/issues/1820),
some elements from the [input_shaping
branch](https://github.com/SoftFever/OrcaSlicer/tree/feature/input_shaping)
and Junction Deviation [Marlin
Documentation](https://marlinfw.org/docs/configuration/configuration.html#junction-deviation-)

This is for Marlin only, but I'm working on a future Klipper-compatible
version here:
[VFA-Calibs+Klipper](https://github.com/ianalexis/OrcaSlicer/tree/VFA-Calibs%2BKlipper).
However, we don't own a Klipper machine, so we're unsure how to improve
it or verify if it works correctly.

### Calibration Steps

1. **Frequency Test** – Helps identify the optimal input shaping
frequency.
2. **Damping Test** – Fine-tunes the damping ratio for smoother prints. 

### Screenshots

![imagen](https://github.com/user-attachments/assets/bfa9ef9c-3a81-499e-b7f8-d60a77952304)

![imagen](https://github.com/user-attachments/assets/df764cfd-85ca-4048-8748-c95a56bc2c8b)

![imagen](https://github.com/user-attachments/assets/cb991d1b-d1f5-489c-81f2-c25d4f9e394c)

![imagen](https://github.com/user-attachments/assets/7da6607c-7644-49af-8c13-97349d7226ef)

![imagen](https://github.com/user-attachments/assets/db8ce73a-6b51-4bcd-ad7e-b654074096e5)

![imagen](https://github.com/user-attachments/assets/5deea699-e5d1-4a09-85f4-809d07395ca1)

![imagen](https://github.com/user-attachments/assets/cc87c756-75a3-40e4-9df3-7437ea78ac4e)

![imagen](https://github.com/user-attachments/assets/de5a8329-3567-473f-bf40-8649d84279b6)

## Tests
- Marlin tested on **Ender 3-class printers** (@RF47 and @ianalexis)
- Klipper tested in Voron 2.4 and an FLSun T1 Pro @ShaneDelmore 
- Tested in Windows and MacOs.
2025-04-06 20:16:12 +08:00
Noisyfox 1fd21371b1 Camera rotate around current plate center if plate is empty (#8912)
* Camera rotate around current plate center if plate is empty (SoftFever/OrcaSlicer#8856)

* Don't expand plate bounding box when camera rotating
2025-04-05 23:23:26 +08:00
Noisyfox ecd91bcf01 Make sure sidebar is not triggered by child notebook tab changes (#8934)
* Make sure sidebar is not triggered by child notebook tab changes such as AMS group selection (SoftFever/OrcaSlicer#8656)
2025-04-05 23:21:36 +08:00
NoisyfoxandArthur f14232396a FIX: prevent dead loop of conflict checker (#9115)
jira: STUDIO-10282
Change-Id: I5722e9967cdd83cde5ef59aee37b0f7019e53d89
(cherry picked from commit b952006e4db49f00054cc2ac539074222c890d08)

Co-authored-by: Arthur <arthur.tang@bambulab.com>
2025-04-05 17:51:16 +08:00
Noisyfoxandtao wang a2bf46fc53 Make gcode 3mf file smaller when sending to BBL printers (#9114)
FIX:remove the auxiliary directory when sending for printing

jira:[for send gcode]

Change-Id: I0774ca97043e25ce1f731371739052921f721087
(cherry picked from commit 0dda96f91ee68c89b16f0f2622902817a1171798)
(cherry picked from commit 73b45f347bba8654fa5a415b673beb0d3ab1f5bf)
(cherry picked from commit 6eb533019eda9c810f3eaf80a81fd7698ebb4578)

Co-authored-by: tao wang <tao.wang@bambulab.com>
2025-04-05 17:50:41 +08:00
Noisyfox 4aafa7a90d Merge branch 'main' into VFA-Calibs 2025-04-05 14:50:12 +08:00
1b8f798d3b Port coordinate system selection for Move, Scale and Rotate gizmo (#9099)
* NEW:add move and rotate gizmo in assemble view

Cherry-picked from bambulab/BambuStudio@d9e47bd9a9

Co-authored-by: zhou.xu <zhou.xu@bambulab.com>

* Deselect other parts if Alt is pressed when selecting

Cherry-picked from bambulab/BambuStudio@f5eb2899e7

Co-authored-by: zhou.xu <zhou.xu@bambulab.com>

* FIX:z offset is error after copy and paste several objects

jira: STUDIO-6753 STUDIO-7135
Change-Id: I6d9c8eb0c957ff1e3194709704ceb6c3920baa4f
(cherry picked from commit 847a7141a6f47e409566b19e73c0ebdeb08f39e2)
(cherry picked from commit a5cc52beb7eef5848368e660ca4f14e95ad5f7d5)

* FIX:arrow direction in scaling tool is incorrect

Jira: STUDIO-5672
Change-Id: I82c0ab336805e34c8380f93e64d3b9dbbf283805
(cherry picked from commit f6f27b700f0305854fcdbcb1191af25a4b8bdbe4)

* FIX:world cs is displayed incorrectly

The value of world coordinate system for model_volume
is displayed incorrectly

Jira: STUDIO-6399
code is from PrusaSlicer
thanks for PrusaSlicer and enricoturri1966
commit 325709c5ae9b937867b36103a41d12a102c99292
Author: enricoturri1966 <enricoturri@seznam.cz>
Date:   Thu Jan 26 15:49:00 2023 +0100

    SPE-1419 - Fixed reset skew resetting mirror, reset scale resetting mirror, changed labels in Object Manipulator panel, scale of instances using the Object Manipulator panel always made as absolute

Change-Id: I30fdd39effd73b8dc027e4263fa7e64937b84326

Cherry-picked from bambulab/BambuStudio@0b46b9848b

Co-authored-by: enricoturri1966 <enricoturri@seznam.cz>

* FIX:fix scale problem
add tool tip for move,rotate,scale gizmo
Jira: STUDIO-6425 STUDIO-6419

Change-Id: I0b89c9b70f83cde21c6a407bcecd78c925515cfa

Cherry-picked from bambulab/BambuStudio@6dad59102b

Co-authored-by: zhou.xu <zhou.xu@bambulab.com>

* NEW:add Object coordinates in move gizmo
jira: none
Part of the code references PrusaSlicer,thanks for PrusaSlicer and enricoturri1966
commit c12eeee12f9e2c91a9dfe7905f1370143805f038
Author: enricoturri1966 <enricoturri@seznam.cz>
Date:   Mon Oct 2 14:26:36 2023 +0200

    SPE-1926: Tech ENABLE_CGAL_BOUNDING_SPHERE - Use selection's bounding sphere center as pivot for rotations

Change-Id: Iae7e4539c198af3ff1aa99e1c0ce015fbcf80256
(cherry picked from commit 2b73bc915ee27218c9803ba0a01b0d3e47adf1da)

Cherry-picked from bambulab/BambuStudio@98cce3b656

Co-authored-by: enricoturri1966 <enricoturri@seznam.cz>
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>

* FIX:fix imgui style at Object coordinate

in move tool
jira:STUDIO-7141

Change-Id: Ib2900012c28878c4e7ad97eb0cf319f693cb9f6f
(cherry picked from commit b7b09c82897678c4f3615713bc5d1cc7a3b17b19)
(cherry picked from commit c89732a04619a6d910b723c126515bae802f7167)

* ENH:use local cs for non_model_part better

jira: STUDIO-7234
Change-Id: I0f0e99429e5e0b7cc4932a661eceffcff4a495f6
(cherry picked from commit b4305a3bfc9e5ae05c1785a710238a70f2dfb44a)
(cherry picked from commit b28ac4f812f0024ec619c5d1b3c96e4cef4debdb)

* ENH:add a cross mark for object cs
jira: STUDIO-6947
Change-Id: Iaaab4f072045756ac3ba12c3f65e1c7f04ba65b8
(cherry picked from commit a2a2f49b4d94f257d36c9d17b4ec952e5dc9f0eb)

Cherry-picked from bambulab/BambuStudio@8400e162a7

Co-authored-by: zhou.xu <zhou.xu@bambulab.com>

* NEW:add tip button for move,rotate,scale

jira: STUDIO-7273
Change-Id: I44aeecd8aaa17ec49ac1d8ff2bee5c3729c52061
(cherry picked from commit 998f33b4ce588f59cef345e327a97f6f669f6089)
(cherry picked from commit f5eb2899e7252ea3ff0f8a79ef8d55c6009ebb28)

* FIX:scale and size sholud >0 in scale tool

jira: STUDIO-7433
Change-Id: Ibd4d00d9ca4762d002049e97a6d0819649f464db
(cherry picked from commit eaaf11031ee49009af14abbd05bb4a07c88aceda)
(cherry picked from commit 0d393d64b804ba7ae05454bf158de470cc74a6a6)

* Fix crossmark rendering

* Use combox as coord selection

Cherry-picked from bambulab/BambuStudio@56f628dac1

Co-authored-by: zhou.xu <zhou.xu@bambulab.com>

* NEW:add "world coordinates" scale for scale gizmo
upgrade Transformation class
jira:none
about 75% code is from PrusaSlicer,thanks for PrusaSlicer and enricoturri1966
commit b32e9366606dce7d4f8de8db84fd902113bdbe28
Author: enricoturri1966 <enricoturri@seznam.cz>
Date:   Tue Mar 7 14:32:18 2023 +0100

    Rework of constrained scaling

Change-Id: I1248ea586e6b8f2fb6cdf3aa901ed7f525c3f111
(cherry picked from commit e10381aad1412b0c47afa340b634faa3af9d1a1f)

Cherry-picked from bambulab/BambuStudio@c0536c09b4

Co-authored-by: enricoturri1966 <enricoturri@seznam.cz>
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>

* ENH:set "Rotate (relative)"

jira:none
code is from PrusaSlicer,thanks for PrusaSlicer and enricoturri1966

commit 243985173e70c189ad9a86eefaaea0757d9749cb
Author: enricoturri1966 <enricoturri@seznam.cz>
Date:   Thu May 12 14:33:41 2022 +0200

    Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Allow for relative rotations

Change-Id: I851939093ffb6881542fb21b434e17cc31a6dab2
(cherry picked from commit e412fa3492fa2ef59b84a84be1ede80935fb8a8d)

* FIX:limit scaling ratio by grabber in scale tool

jira: none
Change-Id: I20a4404d4e4025ae230ab46ba8d8d3e5ffed10e3
(cherry picked from commit 97f63f167e80e859fec49666c8986f5a01f61838)

* FIX:selection should be not empty when update_ui_from_settings

jira: none
Change-Id: I74b76733eba03d148dfd70279ec2ba65f19cc39a
(cherry picked from commit f402685aee747fe5c3740b2cb80fc2a60e129918)

* ENH:add "volume selection" checkbox

jira: none
Change-Id: I68b5f54e37ea2ab9e2b65ac84abc834060f400df
(cherry picked from commit eec7de441bd40408fe688587d2834b0c42c0d66f)

* FIX:add can_sequential_clearance_show_in_gizmo api

jira: STUDIO-7836
Change-Id: Ie0cded272596bafee4e491e379722dcc23035dc4
(cherry picked from commit 715d2b9b7840939663e99e0ecbfcefd8ecf2904f)

* FIX:select all should ban in paint,cut and so on gizmo

jira: STUDIO-7872
Change-Id: Ic6496dbdd892814e1fc41625ee34ffc46f171657
(cherry picked from commit 95e8ca728553081db4ecbb3d865c8b999a6ff2fa)

* FIX:add wipe tower'position in move gizmo

jira: STUDIO-7861
Change-Id: I8147717bc61ba06a7e1fba45532cdadc2ba1174e
(cherry picked from commit 065dddb890d3ec81643b9767397bdad72ae69ebd)

* ENH:fix text coordinate system calculation
jira: STUDIO-6449
Change-Id: I36214c14c348e8f52b96501cd027205819b0dabc
(cherry picked from commit 44287812a0cb212f1bf6fe70e32e1075f532886d)

Cherry-picked from bambulab/BambuStudio@4091f3e042

Co-authored-by: zhou.xu <zhou.xu@bambulab.com>

* FIX:delete old selection.translate api
jira: STUDIO-8201
code is from PrusaSlicer,thanks for PrusaSlicer and enricoturri1966
commit 88ce6ccdef5f680709ea8b676688784a7af287dd
Author: enricoturri1966 <enricoturri@seznam.cz>
Date:   Wed May 11 10:54:42 2022 +0200

    Tech ENABLE_TRANSFORMATIONS_BY_MATRICES -
Change-Id: Iafe963f0f7bf9028f32a4fb4a4cc8cc609662283

Change-Id: Ibbc36c004734f35564f0028dd1e537ac926a2f1f

Cherry-picked from bambulab/BambuStudio@c6d9f2685e

Co-authored-by: enricoturri1966 <enricoturri@seznam.cz>
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>

* FIX:add protection for null pointer

jira: none
Change-Id: I9a9231bab893f5d2afa008f65165269ae176c962
(cherry picked from commit f27a713aaf77b1109fc57b8650efa6b23081f799)

* FIX:when two dir is perpendicular to each other,scale error

(plane_normal.dot(ray_dir))
jira:STUDIO-8274

Change-Id: Ib3145ab75e18c832d20065d204aa41b75f73b673
(cherry picked from commit fbdc9cd580f835d1a873d08ed64baed3b3db6f9a)

* ENH:add "reset real zeros" button in rotate gizmo

jira: STUDIO-8291
Change-Id: Ia10e4d8a2a3a073c22a1306aeab9ffa3e7b77c2b
(cherry picked from commit 738e3f004daa9082709800e4e3d0d9bbe1b7ed7e)

* FIX:add "absolute rotation" in rotate gizmo

jira: STUDIO-8726
Change-Id: I23deb4ab11cf24ca4f0f0c5a35a74268c34f60f6
(cherry picked from commit d26b8f9fcadf8f7709a302991e43be711560e84e)
(cherry picked from commit 496d69f9d1b91c6bd84804e57a276bccf79f0cbd)

* Fix tooltip button size

* Fix issue that reative rotation history not cleared after gizmo closed

* Show selection box in assemble view

* ENH:add an tip icon for assembly view

jira: STUDIO-7155
Change-Id: Ie9e4fa578c8aa5bda9ff771d82f396f8b51026bb
(cherry picked from commit 515f9473347fb912a9dc8c365f1c318506096083)

---------

Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
Co-authored-by: enricoturri1966 <enricoturri@seznam.cz>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-04-04 23:07:00 +08:00
Noisyfox b4c17d6e97 Fix split to objects crash (#9066)
* Fix split to objects crash (SoftFever/OrcaSlicer#9047)

* Avoid unnecessary trigger of `ObjectList::list_manipulation` when object selection changed programmly
2025-04-03 21:55:44 +08:00
Noisyfox 0cb458db89 Fix wxEVT_UPDATE_UI event been consumed by wrong control (#9061)
* Fix `wxEVT_UPDATE_UI` event been consumed by wrong control (SoftFever/OrcaSlicer#9059)
2025-04-02 22:48:32 +08:00
Noisyfox 2e9c30883b Fix brim type combox in object table (#9019)
* Fix brim type combox in object table (SoftFever/OrcaSlicer#8969)
2025-04-02 22:20:27 +08:00
Noisyfox 9fc51ba22e Disable BBL server error dialog (#9060)
* Disable BBL server error dialog (SoftFever/OrcaSlicer#9045)

* Log server error
2025-04-01 22:53:57 +08:00
Noisyfox a3984a706e FIX: enable circle fitting of tree support with larger threshold (#9038)
* FIX: enable circle fitting of tree support with larger threshold

jira: STUDIO-8588
Change-Id: Ia566fa14f7f786ff905fc3484885634811a6d686
(cherry picked from commit bambulab/BambuStudio@82c72b19bd)
2025-04-01 22:39:15 +08:00
Noisyfox 075565f4f4 Do not loade web page until switching to device page (#9031)
* Do not loade web page until switching to device page
2025-04-01 22:38:38 +08:00
Noisyfox 67681c971f Add extra anchor line to PA line test (#9022)
* Add extra anchor line to PA line test (SoftFever/OrcaSlicer#8945)
2025-04-01 22:37:12 +08:00
Noisyfox 64ac0ecd41 Fix render_hover_point memory leaking by using std::optional 2025-04-01 16:08:24 +08:00
Noisyfox 19e5ee3f42 Update current brim brush size 2025-04-01 15:51:01 +08:00
Noisyfox 00cf9be46e Use ctrl+mouse wheel up/down to change brim size 2025-04-01 15:34:49 +08:00
Noisyfox b832370421 Change section view hotkey to alt+mouse wheel 2025-04-01 11:43:04 +08:00
Noisyfox d31546b2ae Fix brim ear size preview when dragging the slide 2025-03-31 23:37:49 +08:00
Noisyfox 8210d76449 Fix issue that you cannot select multiple brim ears with shift+left click 2025-03-31 23:23:23 +08:00
Noisyfox c163d11fdb Fix filament editor crash on Linux (#9016)
Fix filament editor crash on Linux (SoftFever/OrcaSlicer#8895)
2025-03-30 22:02:36 +08:00
Noisyfox 9db74c05c0 Fix vase mode with filament change (#8404)
* Fix lift in vase mode

* Disable vase mode of layers that have color change (SoftFever/OrcaSlicer#8387)
2025-03-30 15:34:48 +08:00
Noisyfox ec752671da Ensure the flow calib pattern to be printed in desired order 2025-03-30 15:21:52 +08:00
Noisyfox 2fbeb75ced Fix display of command key 2025-03-30 01:11:04 +08:00
Noisyfox eb0d0386a0 Fix shortcut collision on macOS (SoftFever/OrcaSlicer#8152) 2025-03-30 00:42:04 +08:00
Noisyfox c2a1a8c39b Use different threshold for top & bottom surfaces 2025-03-30 00:08:26 +08:00
Noisyfox 6bd2355a69 Avoid creating bridges on very tiny surface cracks (SoftFever/OrcaSlicer#8563) 2025-03-30 00:08:26 +08:00
Noisyfoxandtamasmeszaros ed45bf425e Use boost::nowide directly from boost (#9037)
* Use `boost::nowide` directly from boost

Cherry-picked from prusa3d/PrusaSlicer@bffa3f8578

Co-authored-by: tamasmeszaros <meszaros.q@gmail.com>

* Replaced all occurrences of boost::nowide::narrow for wxStrings with into_u8

Cherry-picked from prusa3d/PrusaSlicer@8d6497297a

Co-authored-by: tamasmeszaros <meszaros.q@gmail.com>

* Fix flatpak build
2025-03-29 20:14:10 +08:00
Noisyfox 41c3a059a7 Use Orca color 2025-03-28 23:21:02 +08:00
Noisyfox 5dee7297cf Fix mac build error 2025-03-28 09:31:16 +08:00
Noisyfox 5c7cb0578f Update link color 2025-03-28 09:13:50 +08:00
Noisyfox ef8649910f Fix build failure caused by OCCT and boost::regex 2025-03-28 09:13:49 +08:00
Noisyfox ce453ccd58 Fix flatpak build (#9017)
follow up of c3542ce014
2025-03-22 22:13:33 +08:00
Noisyfox 70931e5321 Fix crash when support bottom interface layer is set to same as top (#8955)
* Fix crash when support bottom interface layer option is set to `same as top` (SoftFever/OrcaSlicer#8604)
2025-03-18 23:26:46 +08:00
Noisyfox 6825cf6d52 Output x64 registers to windows crash report too (#8951)
* Output x64 registers to windows crash report too
2025-03-18 19:42:42 +08:00
Noisyfox 4dc6530391 Fix wrong first layer temperature when ooze prevention and print-by-obj are enabled (#8927)
* Don't apply idle temperature to current nozzle (SoftFever/OrcaSlicer#8924)

* Merge branch 'main' into bugfox/ooze-prevention-current-nozzle
2025-03-16 22:32:00 +08:00
Noisyfox 69154652ba Allow generating brims for objects inside other object's hole (#8914)
* Allow generating brims for objects inside other object's hole

* Make sure inner brim stays inside holes

(cherry picked from commit 4afbc5bf340835727344bae77572595a4aa2c7ba)

* Merge branch 'main' into bugfox/nested-brim
2025-03-16 20:07:41 +08:00
Noisyfox 61464de50b Fix crash when resetting filament presets (#8911)
* Fix crash when resetting filament presets (SoftFever/OrcaSlicer#8863)

* Fix crash when resetting filament presets when dependencies are changed (SoftFever/OrcaSlicer#8849)

* Merge branch 'main' into bugfox/mm-preset-reset-crash
2025-03-16 18:21:20 +08:00
Noisyfox 70d7768868 Fix crash when slicing batch PA pattern test (#8786)
* Fix crash when slicing batch PA pattern test (SoftFever/OrcaSlicer#8777)
2025-03-10 21:35:44 +08:00
NoisyfoxandSoftFever 345ab82f91 QoL: Add auto perspective (#8312)
* ImGuizmo: Comment out unused code

* 3DNav: Avoid gimbal lock by using polar coordinates

* 3DNav: Make sure top and bottom are oriented correctly

* Add auto perspective

* Add options

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-03-09 14:04:46 +08:00
Noisyfox 0f3fbd4390 Fix gcode viewer not working properly when opening .gcode files (#8761)
* Fix crash during project openning due to preset sync

* Don't reset gcode preview when open as gcode viewer
2025-03-08 21:26:59 +08:00
NoisyfoxandSoftFever 464b89c3a7 Fix issue that sharp tails are supported regardless of support blockers (#8743)
when using normal support (SoftFever/OrcaSlicer#8737)

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-03-08 11:03:40 +08:00
Noisyfox 1d71ed5ade Fix preset transfer crash (#8744)
Fix preset transfer crash (SoftFever/OrcaSlicer#7991)
2025-03-08 00:49:25 +08:00
Noisyfox b5f443c64c Fix issue that painted brim is not generated if brim width is set to 0 (#8700)
* Fix issue that painted brim is not generated if brim width is set to 0 (SoftFever/OrcaSlicer#8687)
2025-03-06 20:28:54 +08:00
Noisyfox fbfbb0932f Switch to print-by-layer mode automatically for PA pattern test (#8688)
* Switch to print-by-layer mode automatically for PA pattern test (SoftFever/OrcaSlicer#8665)
2025-03-06 20:27:46 +08:00
Noisyfox d9b4c9d18f Arachne: Make sure wall is generated only if wall number set to > 0 (#8666)
Arachne: Make sure wall is generated only if wall number set to > 0 (SoftFever/OrcaSlicer#8619)
2025-03-03 20:38:05 +08:00
Noisyfox 632eff6a3a Fix filament combox disappearing (#8649)
Make sure frozen filament combox is thawed
2025-03-02 23:20:16 +08:00
Noisyfox d89520c8ae Avoid message box if font load failure during startup (#8610)
Move init sys font into GUI_App, after logging has been set up properly (#8603)

This avoid annoying messagebox if somehow failed to load font on windows, and write the message into log files instead
2025-03-01 13:22:05 +08:00
Noisyfox af61ee38f3 Cut: Fix crash caused by unexpected copy of the cut island (#8598)
Cut: Fix crash caused by unexpected copy of the cut island (#8579)

which frees the OpenGL VBOs and IBOs when loop ends and cause the crash
2025-03-01 13:02:47 +08:00
Noisyfox 51916ff058 Avoid using auto as type of Eigen expressions. (#8577)
According to https://eigen.tuxfamily.org/dox/TopicPitfalls.html one
should just avoid using `auto` as the type of an Eigen expression.

This PR fixes most of them I could found in the project. There might be
cases that I missed, and I might update those later if I noticed.

This should prevent issues like #7741 and hopefully fix some mysterious
crashes happened inside Eigen calls.
2025-02-26 23:07:23 +08:00
Noisyfox 6587f27086 Measure: Fix wrong diameter when selecting a circle feature (#8575)
Suppress Eigen lazy evaluation by not using `auto`.
VC++ compiler optimization does funny things with `intersection_pt` that breaks lazy evaluation.
2025-02-26 14:43:41 +08:00
Noisyfox dc40071045 Revert unnecessary text changes 2025-02-25 21:08:55 +08:00
Noisyfox a9a6f45f08 Merge branch 'main' into dev/support-paint-vertical 2025-02-23 15:50:21 +08:00
Noisyfox 831743997d Fix issue that current bed type is changed after upgrading from 2.2 2025-02-20 17:41:41 +08:00
Noisyfox 088c8f5a8b Fix crash when selected bed type is not supported by current version.
This could happen if you downgrade Orca to old version that does not have that bed type
2025-02-20 17:22:25 +08:00
Noisyfox 5b1cfa4529 Handle sinking object properly 2025-02-19 18:02:39 +08:00
Noisyfox 961254b81d Make print_volume_state reusable 2025-02-19 16:17:25 +08:00
Noisyfox 7494825038 Avoid unnecessary call of volume_bbox if bed shape is not rectangle 2025-02-19 15:50:15 +08:00
Noisyfoxandzhou.xu 85cf995458 Fix fov so off-plate objects can be rendered properly.
Adopted from bambulab/BambuStudio@ba19513380 and bambulab/BambuStudio@d0e91b5164

Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
2025-02-19 10:21:16 +08:00
Noisyfox 43af6d221b Update to Orca style 2025-02-17 17:12:54 +08:00
NoisyfoxandMack f9814370bb ENH:brim ears are saved in 3MF
Cherry-picked from bambulab/BambuStudio@a45a2eec54

Co-authored-by: Mack <yongfang.bian@bambulab.com>
2025-02-17 17:12:52 +08:00
Noisyfox fa57842a0f Add brim ear raycasters 2025-02-17 16:15:50 +08:00
NoisyfoxandMack 185fb3cb26 Initial port of Brim ear gizmo
Cherry-picked from bambulab/BambuStudio@92c85a13d0

Co-authored-by: Mack <yongfang.bian@bambulab.com>
2025-02-17 11:19:07 +08:00
Noisyfox ccbda78477 Fix Fan mover when absolute E is used (#8359)
Make sure the GCodeReader is initialized properly, so the relative e config is correct (SoftFever/OrcaSlicer#8221)
2025-02-15 13:08:01 +08:00
Noisyfoxandtao wang a359c05b8d FIX:filter the characters of model names in the model mall (#8407)
jira:[STUDIO-6649]
If the model comes from model mall, the name from the mall will be used when sending and printing. When there are special characters in the name, it will cause the sending to fail.

Change-Id: I324441cc7177e7062b79280c5d23afe9eeb5e4c2
(cherry picked from commit 1bcf30c39c648763952703c9060573baa2782f87)

Co-authored-by: tao wang <tao.wang@bambulab.com>
2025-02-15 12:31:41 +08:00
Noisyfox 2d92ea6320 Don't disable solid infill pattern option unless no infill & top/bottom surfaces (SoftFever/OrcaSlicer#8370) 2025-02-11 10:56:00 +08:00
Noisyfox 32547c8c3b Update header file to match the impl 2025-02-09 19:01:51 +08:00
Noisyfox d1161ea0e7 Update color palette for new filaments (#8178)
PROBLEM
• Current color palette has many repeating or very similar colors
• Colors looks came from 80s and all raw colors like rgb(0,255,255)
• Black and White colors shows less details on surfaces due to shadows
and highlights
 
SOLUTION
• Picked more specific color tones. Tried to make every alternative to
easily identifiable
• Didnt used black, white or gray

QUESTIONABLE
• New colors follows given order and i used orca color as first. Maybe
orange one is better pick
• I can add, remove, or change order of colors

COMPARISON
before

![Screenshot-20250125041332](https://github.com/user-attachments/assets/68274b67-311d-47dc-a3b2-b4ceccbdcf9b)
after

![Screenshot-20250125042325](https://github.com/user-attachments/assets/fd2e1061-1075-4586-b5c6-d51311312766)

old color set

![Screenshot-20250125044859](https://github.com/user-attachments/assets/4ded5fd0-b514-47de-b09c-9fb24195020f)

new color set

![Screenshot-20250125043210](https://github.com/user-attachments/assets/137fa019-1f81-48bc-a6a2-578d0bed22cb)

as text if you want to experiment
`
        wxColour("#00C1AE"),
        wxColour("#F4E2C1"),
        wxColour("#ED1C24"),
        wxColour("#00FF7F"),
        wxColour("#F26722"),
        wxColour("#FFEB31"),
        wxColour("#7841CE"),
        wxColour("#115877"),
        wxColour("#ED1E79"),
        wxColour("#2EBDEF"),
        wxColour("#345B2F"),
        wxColour("#800080"),
        wxColour("#FA8173"),
        wxColour("#800000"),
        wxColour("#F7B763"),
        wxColour("#A4C41E"),
`
2025-02-08 23:15:35 +08:00
Noisyfox b29edeb282 glcanvas: scale icons using icon size, not scale factor (#8301)
# Description

Calculate toolbar icon size the same way as it done on windows:
 manipulate icon size, not toolbar scale.

Scaling icons this way makes images sharper since they getting
rasterized to a target size rather than being rasterized for 40px and
scaled to a desired size later.

# Screenshots/Recordings/Graphs

Test samples with different toolbar scaling/app window width (top one is
original, bottom one - updated)

![Screenshot from 2025-02-03
21-12-23](https://github.com/user-attachments/assets/9fdf810e-9479-4932-b6fd-1124f33fa335)

![Screenshot from 2025-02-03
21-12-40](https://github.com/user-attachments/assets/301306f2-eab2-4770-9a75-19131501342c)

![Screenshot from 2025-02-03
21-13-10](https://github.com/user-attachments/assets/6138958d-0aa9-4e35-af10-643668760f6a)

![Screenshot from 2025-02-03
21-13-26](https://github.com/user-attachments/assets/e1988f20-eac4-4696-98b9-8483a16dcdfd)


## Tests

Tested on Linux only.
2025-02-08 23:12:40 +08:00
Noisyfox a3ac1fc4f4 Fix error "Coordinate outside allowed range" 2025-02-08 11:34:54 +08:00
Noisyfox 98135299e8 Fix compile error 2025-02-08 11:34:53 +08:00
Noisyfox cc9f29c463 Rename smsOrganic to smsTreeOrganic 2025-02-08 11:34:22 +08:00
NoisyfoxandArthur 5fb0e01943 ENH: improve auto-arranging objects with tree support
We decide to set brim width of all objects to MAX_BRANCH_RADIUS_FIRST_LAYER if there is an object with tree support after discussion.

Jira: MAK-2009
Change-Id: I4c4940800632c433235966b01c44ac910e33a51c

(cherry picked from commit bambulab/BambuStudio@2bd6b11505)

Co-authored-by: Arthur <arthur.tang@bambulab.com>
2025-02-08 11:34:17 +08:00
NoisyfoxandArthur 70c4961df3 FIX: tree support generates floating hybrid supports
Jira: STUDIO-4763
Github: #2660

Change-Id: I13d5a1443af8bc82f0cadd177e0db3fc3db971f1

(cherry picked from commit bambulab/BambuStudio@0964b5bb0a)

Co-authored-by: Arthur <arthur.tang@bambulab.com>
2025-02-08 11:34:16 +08:00
NoisyfoxandArthur 2205ad0069 FIX: improve tree support generation speed
1. Improve generation speed by removing unnecessary get_avoidance.
2. Fix a bug of hybrid support's interface (Jira: STUDIO-4878,
   STUDIO-4726, Github#2614)
3. Fix a bug of tree support pass through objects (Jira: STUDIO-4252, STUDIO-4608
STUDIO-4298)
4. Fix a bug with first layer + Arachne (Jira: STUDIO-4281, Github #2423)

Change-Id: I40978c93ab93fa6964483514dad552d73a66c710
(cherry picked from commit 2ccbbe49c74d4aab4f086e79a6f8262b7fc80f15)

(cherry picked from commit bambulab/BambuStudio@d7a4623380)

Co-authored-by: Arthur <arthur.tang@bambulab.com>
2025-02-08 11:34:15 +08:00
NoisyfoxandArthur 1d1df4b0a5 ENH: improve tree support
1. add a hook inside tree branches for improved strength
2. fix the issue that interface may fly as a mess (delete the logic
  where gap nodes can skip dropping down)
3. fix the issue that base nodes may fly as a mess (smoothing should
  skip polygon nodes, see Jira:STUDIO-4403)

Change-Id: Ie9f2039813c2ca3127ed8913304cc455fec8e7ee
(cherry picked from commit 83cef5f91d49ff3d275a89ec3df8b5f0fd573f8c)

(cherry picked from commit bambulab/BambuStudio@76f876a3c6)

Co-authored-by: Arthur <arthur.tang@bambulab.com>
2025-02-08 11:34:15 +08:00
NoisyfoxandArthur 51290a853d Clean up tree support code
(cherry picked from commit bambulab/BambuStudio@39ae64fc53)

Co-authored-by: Arthur <arthur.tang@bambulab.com>
2025-02-08 11:34:14 +08:00
NoisyfoxandArthur 4034ffea18 Replace TreeSupport::SupportParams with SupportParameters
(cherry picked from commit bambulab/BambuStudio@39ae64fc53)

Co-authored-by: Arthur <arthur.tang@bambulab.com>
2025-02-08 11:34:14 +08:00
Noisyfox 824f9efb69 Remove duplicated support code 2025-02-08 11:34:13 +08:00
Noisyfox 58d524d75f Remove unused Organic tree code 2025-02-08 11:34:12 +08:00
42577feeba Clip the organic supports outside bed (#8195)
Clip the organic supports outside bed. (SoftFever/OrcaSlicer#7922)

(cherry picked from commit bambulab/BambuStudio@2c6a6ae5f4)

Co-authored-by: Arthur <arthur.tang@bambulab.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-02-07 23:18:58 +08:00
Noisyfox 658c4f096e Proper support of Bambu LAN printers (#8256)
**The latest download link can be found from the "Checks" tab above or
[here](https://github.com/SoftFever/OrcaSlicer/pull/8256/checks). There
should be an "artifact" dropdown on top of that page once the build is
completed.**

This PR solves the following problems:

- Bind printers in different subnet
- Binded LAN printers are not automatically connected when switching to
Device tab


![32217e0ea2ed5434d8916ad5c46e69c4](https://github.com/user-attachments/assets/a9189d74-c9b4-466c-9839-15cb79cf89bc)

![2fc422ddd3a89ae675de426953e44c1b](https://github.com/user-attachments/assets/2768c46c-c992-46a5-bb32-caa3aacfa62b)

![image](https://github.com/user-attachments/assets/0a65fffa-401a-4aa4-ba46-7681b642f1d1)


Few improtant things to know:

The automatic printer info detection (ie, the step in the first image)
doesn't work on MacOS, when you click "Connect" you will immediately be
prompted to the second image to enter the printer details. (I don't know
why but Bambu does not provide this capability on MacOS for their
network plugin)

AFAIK, P1 series do not support automatic printer info detection (as
tested by @SoftFever and myself), so the first step is gauranteed to
fail, which is unfortunate but expected. Simply click the "Manual Setup"
button (which will appear after clicking the "Connect" button then wait
for a while) and enter the printer detail and you should be good to go.
If anything entered wrong, you could simply unbind the printer and do it
all over again.

I know current binding flow is not very user-friendly, but consider how
rare this will be used, I think it's OK. Given the current situation
this is the best I could do with the closed-source Bambu network plugin.

I only have a P1 so I couldn't throughly test this PR. Please if you
have different printers and home network configurations, your feedback
are valuable to help validating and improving this PR, thanks in
advance!

Fix #6169
Fix #8097
2025-02-05 12:42:35 +08:00
Noisyfox 69c3661876 Merge branch 'main' into dbuzz/toolbar-icon-size 2025-02-05 08:57:39 +08:00
Noisyfox 991802a3a7 Merge branch 'main' into dev/save-local-machine 2025-02-02 15:00:25 +08:00