Commit Graph

9881 Commits

Author SHA1 Message Date
1ba7f18b90 Mark strings missing from translation (#8757) 2025-03-09 14:14:27 +08:00
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
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
ec213e98fb Introduce option to control one wall draft shield (#8562)
* Introduce option to control number of skirt walls after first layer

* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer

* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer

* One wall draft shield options refactor

* Merge remote-tracking branch 'upstream/main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer

* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer

* Renamed to single loop draft shield

* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer

* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer
2025-03-08 16:48:07 +08:00
38fb975d2a Launching and directly loading GCode will result in missing information. (#8745)
Fix the issue where launching the software and directly loading a GCode file fails to display inner and outer wall information.
2025-03-08 14:01:16 +08:00
74d9a88480 Remove unnecessary trailing spaces (#8752) 2025-03-08 13:41:31 +08:00
1d71ed5ade Fix preset transfer crash (#8744)
Fix preset transfer crash (SoftFever/OrcaSlicer#7991)
2025-03-08 00:49:25 +08:00
ecc16bfabf pa calib: batch mode for pa pattern (#7199)
* pa calib: batch mode option
2025-03-07 19:26:54 +08:00
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
2b109d552c Fix typo on format string (#8470) 2025-03-06 11:07:08 +08:00
2a5371ab62 Fix text on file/config overwrite dialog (#8471)
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-03-05 23:22:33 +08:00
d9f4e6b8ba Sidebar margin & spacing fixes (#6238)
* fix alignments for tab and sidebar icons

* minimize code changes

* minimize code changes

* minimize code changes

* Align config label with group title

* minimize changes

* Update Plater.cpp

* Update spacing after titlebar text and comments

* Update Plater.cpp

* Update OG_CustomCtrl.cpp

* Use class to control values from one place

* fix error

* Update Plater.cpp

* update
2025-03-03 11:13:51 +08:00
632eff6a3a Fix filament combox disappearing (#8649)
Make sure frozen filament combox is thawed
2025-03-02 23:20:16 +08:00
16cbaf6180 Scale bed icons & text depends on bed size (#8621)
* Update PartPlate.cpp

* Update PartPlate.cpp

* Merge branch 'main' into saclin-build-plate
2025-03-01 13:55:39 +08:00
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
00a44ee48c Enable checkbox in printer profiles to permit first layer scanning to be enabled/disabled via the slicer (#8614)
add missing checkbox for scan_first_layer
2025-03-01 13:20:55 +08:00
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
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
a9a6f45f08 Merge branch 'main' into dev/support-paint-vertical 2025-02-23 15:50:21 +08:00
70dfdb95a9 Fix a crash issue then exporting preset bundle (#8525)
fix crashes when finding base preset
2025-02-23 15:20:27 +08:00
bb9a980b4b update locale 2025-02-20 21:44:38 +08:00
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
0ec13678e4 Merge branch 'main' into bugfox/infill-pattern-options 2025-02-19 19:39:06 +08:00
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
2bc9c8d239 Merge branch 'main' into dev/brim-ear-gizmo 2025-02-18 23:09:30 +08:00
00a3e78f8a Add elegoo centauri carbon profile (#8405)
* Added Elegoolink connection

* Set Elegoo CC default bed to btPTE

* Friendly output of some error codes of PrintHost

* feat: Add elegoo centauri carbon profile

* fix: Fix the issue where the bed type in the printer configuration does not match the bed temperature settings when multiple bed types are not supported.

* feat: Modify the elegoo process parameters to disable slowdown_for_curled_perimeters.

* feat: Update comment to clarify plate visibility for multi bed support, BBL printer, and selected bed type.

* fix: Optimize ElegooLink upload; The code is clearer than before.

* feat: Format the ElegooPrintHostSendDialog code.

* fix: Remove the unnecessary instantiation attribute in the Elegoo process.

* fix: Flatpak compilation failed

---------

Co-authored-by: anjis <anjis.zhou@elegoo.com>
2025-02-18 23:08:34 +08:00
43af6d221b Update to Orca style 2025-02-17 17:12:54 +08:00
80a0489044 FIX:Brim Ears are ignored when cloning objects
the maximum diameter is changed to 20;
the diameter will not be reset;

jira:STUDIO-8497

GITHUB: #5048
Change-Id: I131305671ebc00dcf6b2972994879fe4ea768a36
(cherry picked from commit 3e9006e2d47c87da40e627034d0dc71c563e98ae)
2025-02-17 17:12:53 +08:00
fa57842a0f Add brim ear raycasters 2025-02-17 16:15:50 +08:00
d2c2c2ec9b Fix shaky close button on notification (#8431)
Update NotificationManager.cpp
2025-02-17 13:09:26 +08:00
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
830c1ac928 Add minimum flow rates for spiral vase transitsions (#8333)
Add minimum flow ratios for spiral vase transitsions

Currently when starting the spiral vase the extrusion rate is ramped
from 0 to 100% on the first layer and from 100% to 0% on the last layer.
In some cases it can lead to underextrusion at the beginning and end of
the spiral.

This change adds minimum flow ratio options for the beginning and the end
of the vase. This means that instead of ramping from 0% to 100% it
instead ramps from for example 20% to 100%.

This issue has been reported in SuperSlicer
https://github.com/supermerill/SuperSlicer/issues/4195
2025-02-17 08:55:23 +08:00
a4e37d428e Hide the dependencies tab for process. The UI is not ready yet. 2025-02-16 18:26:01 +08:00
85bbbee8bc Expose interface_shells option (#8411) 2025-02-15 23:26:52 +08:00
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
2e4a2a26e6 Update locale 2025-02-14 23:42:43 +08:00
12fb6db8ef Fixed a bug that flash matrix affects multi tool's wipe tower (#8408)
disable/ignore purge_in_prime_tower for multi tool machine
2025-02-14 23:38:51 +08:00
b4a7721cc0 Enhancement: Additional controls over bridges (#8263)
* Additional control over bridges

* Label updates

* Detect and handle layers over external bridges

* Label updates

* To-Do placeholders

* Filter out small external bridges

* Apply safety offset for internal bridge polygon intersections

* code comments

* Increase bridge offsets to 3 perimeters total (1.5 perimeter in each dimension)

* Filter out bridges based on perimeter counts to focus bridge on areas where bridge infill is actually generated in the end.

* Fixing bugs

* Convert tick boxes to drop down menu

* Additional geometry checks for second internal bridge to ensure no small polygons are left over.

* Minor code refactor for clarity

* Further refinements in polygon logic

* Polygon logic refinements pt3

* Further union operations to ensure clean geometry

* Fix compile error

* Clean up constructors

* Only create bridges on stInternalSolid areas, not sparse infill.

* Refactor internal second bridge logic to stand alone parallel for loop to avoid thread deadlocks

* Revert change to only consider stInternalSolid areas for second internal bridge layer.

This resulted in partly unsupported solid infill areas above as the remainder was too narrow to generate sparse infill

* Updated beta statements and tooltip changes

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-02-12 22:10:57 +08:00
5145707801 Add "2D Lattice" fill pattern for lightweight aircraft structures (#8293)
* Add 2D lattice infill pattern

* Add state invalidation behavior for lattice infill angles

* Update SurfaceFillParams methods to account for lattice infill angles

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-02-12 08:39:29 +08:00
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
c21b044a9c Fix "Enable AMS" checkbox font inconsistency (#8363)
backported https://github.com/bambulab/BambuStudio/pull/5751
2025-02-10 09:13:58 +08:00
229a826aa7 Enhancement: Internal Bridge angle override (#7908)
Internal Bridge angle override
2025-02-09 22:00:16 +08:00
4e74aaf144 Enhancement: Enable separate internal bridge fan speed control (#7906)
* Separate internal bridge fan speed control

* Merge branch 'SoftFever:main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'SoftFever:main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'main' into Allow-separate-internal-bridge-fan-control

* Merge remote-tracking branch 'upstream/main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'main' into Allow-separate-internal-bridge-fan-control
2025-02-09 21:53:57 +08:00
cc92abf8b5 Implement #8106: Add setting to prevent loading printer information/project settings from .3mf (#8268)
* Initial implementation

* Add remember option to open project/load geometry only popup

* PR Feedback
2025-02-09 09:51:36 +08:00
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
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
1c686b3c04 ENH: improve tree supports
1. speedup organic tree support by using parallel for intersection of bed area
jira: STUDIO-8451
2. add extra wall for hybrid tree support's tall branches
3. disable circle fitting for tree support. This feature produces inconsistent
   circles for tree supports.
4. expose the option tree_support_branch_diameter_angle. Tree supports'
   strength can be improved by increasing this value.

Change-Id: If3688ca895df98a77f6ca538077daf8fe94e53f1
(cherry picked from commit 7697eb3dc8f87204d28e6be9adaf55dfcdadbc74)
2025-02-08 11:34:46 +08:00
3e7e4df7ce ENH: precise tree support wall count
Change the behavior of "tree support wall count" option, let it control precisely.
0 means auto.

jira: STUDIO-8068
github: 4780
Change-Id: I6d1a64cff9b121f5c0a3e910c5ddbfe6db198687
(cherry picked from commit a557bbe758cd352fa9bb48323995ed2c90737577)
2025-02-08 11:34:42 +08:00
532dcae37a ENH: add rectilinear interface pattern for organic support
1. add rectilinear interface pattern for organic support
    jira: STUDIO-7181
2. add tree support optgroup

Change-Id: I94882bc34a61c6adc06b8ecbc9f2323f9b039aac
(cherry picked from commit a8142ab3f37e0bd140a31a7e635b8475f471d7e3)
(cherry picked from commit 69cf816b9431bc21ca0187c7db1148e2d2e898ab)
2025-02-08 11:34:38 +08:00
fa11957c17 FIX: do not break bridges in tree support
jira: STUDIO-7424
github: #4318
Change-Id: Icccf56b129c4910f3b0a49d69871b8df1375a6d9
(cherry picked from commit 99211cde5f2114fd64e2724069540577793f889a)
(cherry picked from commit 6a130a19ef2e881a7853183123163ce67d63bc37)
2025-02-08 11:34:36 +08:00