Commit Graph

456 Commits

Author SHA1 Message Date
Mack
bc9bcd5bb3 ENH: step mesh operation adjustment
1.Put commctrl.h into pch precompilation(OCCT conflicts)

2.Replace input wxWidgets to support loss focus verification(STUDIO-8101)

3.Optimize slider interaction and trigger mesh when push up slider(STUDIO-8099)

4.Optimize step loading method, separate import of step and mesh

5.Fix dialog cancel button logic;

6.mesh tasks into sub-threads to prevent blocking the UI;

JIRA: STUDIO-8101 STUDIO-8099
Change-Id: I50bbb43953a5128f358c6880032d20693531333b
(cherry picked from commit ed7ab6b505a2becf8f38edb3c43b96e51eac3317)
2025-03-27 21:56:09 +08:00
Mack
8b39f6d6e2 NEW:add step mesh parameters
jira: STUDIO-7415
Change-Id: I5e09a1eb1ad31063ad56d08d5738907a804dc112
(cherry picked from commit ccbe9630076b754ab440e98977c4164afff96250)
(cherry picked from commit 84e7063c54a99e8a1440e74f831c6d1f6828f3f8)
2025-03-27 21:27:25 +08:00
SoftFever
7ad6706ef2 Use .gcode.3mf as ext for gcode 3mf files (#8928) 2025-03-16 22:17:38 +08:00
anjis
3701110d2b 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
Dima Buzdyk
6e4f1423ff pa calib: batch mode for pa pattern (#7199)
* pa calib: batch mode option
2025-03-07 19:26:54 +08:00
Noisyfox
4fefcafa21 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
Alexandre Folle de Menezes
8b417e70e2 Fix typo on format string (#8470) 2025-03-06 11:07:08 +08:00
yw4z
b677510164 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
Noisyfox
8d5a04317f 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
wujie
3a497c43c9 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
Ioannis Giannakas
ea04a09da1 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
Sims
608a2b276e 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
Noisyfox
bb8f2cda6e 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
yw4z
4804ffb793 Hide delete filament button while only 1 filament exist (#8240)
Update Plater.cpp
2025-02-02 20:59:44 +08:00
SoftFever
a23d28787c Merge branch 'main' into dev/update-bbs-network 2025-01-28 21:57:04 +08:00
Noisyfox
ff72b7ddcc Fix wrong plate y possition after switching profiles with different bed size (#7923)
* FIX:update custom_texture when new_shape=false

Jira: STUDIO-5287
Change-Id: I3add95f9f9345c14a48cc7467513d1b3ce95f4c9
(cherry picked from commit 9ce7de10f4a5f1723439fbefea98595fcf678d69)

* FIX: correct the bed model to the print area origin point

Change-Id: Ieb856dff421d39694966e3c13c519f4ffa3da5c2
(cherry picked from commit 32892514ff)

* Avoid unnecessary copy of `position` parameter

* Merge branch 'main' into bugfox/plater-y
2025-01-25 11:50:30 +08:00
yw4z
c2e62fe8e5 Update color palette 2025-01-25 04:52:01 +03:00
chunmao.guo
4bbbf9c023 FIX: Force load ams list when click sync button
Change-Id: I579adc9586e0bca85c20be2784b7513361b38f7e
Jira: none
(cherry picked from commit 9c1afdc63c3b1f451d0c8e344eb476e490d1988d)
2025-01-23 11:38:23 +08:00
Noisyfox
13084b11a3 Fix reload step modifiers/parts (#8083)
* FIX: reload step file not work

JIRA:STUDIO-7282

GITHUB:#4247

fix commit ed34eaa

Change-Id: Ib73654052d8f0b6b917f86a910b4f91a0198f2d4
(cherry picked from commit 387ff008c85588f8ab378ffa283f428b2ff2ec8c)
(cherry picked from commit 539dea08854673045db779332fd1c2a0d994beda)

* FIX:reload stl from disk,transformation is error

jira: STUDIO-8391
Change-Id: Ic006973fe0f2b0c0208c391d064ab373fd15a772
(cherry picked from commit b5d18d4ae7a5b1c40e728ac93a96d36dabe83d42)

---------

Co-authored-by: Mack <yongfang.bian@bambulab.com>
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
2025-01-22 10:03:32 +08:00
Noisyfox
88e652d8c2 Fix random crash when opening 3mf files that have bed size different than current (#7955)
* Fix bed raycast id

* Fix bed raycaster UAF crash due to bed resizing
2025-01-22 09:58:15 +08:00
Dima Buzdyk
e0672256e4 do not set project filename on object import (#7973) 2025-01-08 19:38:25 +08:00
Arne Keller
4d7923c098 Fix compatibility with newer Boost (#7884)
* PrintBase.cpp: fix compatibility with newer Boost

* Plater.cpp: fix compatibility with newer Boost

* RemovableDriveManager.cpp: fix compatibility with newer Boost

* AuxiliaryDataViewModel.cpp: fix compatibility with newer Boost
2025-01-07 23:25:32 +08:00
Noisyfox
3dab25a884 Fix crash when loading gcode file twice (#7217)
* Fix ASAN use-after-free error when loading 3mf file with gcode by drag-and-drop

* Fix crash when loading gcode file twice
2024-10-26 21:29:03 +08:00
vovodroid
bfa1dbf782 Export negative parts. 2024-10-05 21:53:16 +03:00
Vovodroid
322c6e3b65 Followup to clones auto arrange: use current plate (#6373)
* Use current plate for auto arrange clones
2024-09-25 19:29:21 +08:00
Azi
881d78a045 Feature/move plate to the front (#6262)
* WIP:only works after saving and then reloading

* working version of move plate to the front

* added icons for move to front

* removed a commented line

* fixed the move to front function to behave correctly with undo/redo actions

* Merge branch 'main' into feature/move_plate_to_the_front
2024-09-25 19:27:45 +08:00
SoftFever
45fe0c5218 Fix a bed type regression (#6893) 2024-09-24 19:42:47 +08:00
SoftFever
2b4d56d961 update locales 2024-09-23 00:37:29 +08:00
Noisyfox
3773b70bb6 FIX:open or replace 3MF file case insensitive (#6802)
jira: STUDIO-7678
Change-Id: I32b34efa053da25edab80ebff1cfe0a414042dd5
(cherry picked from commit fa07ae4d21d3c4cf5286a38f2cc0a35363a5f53a)

Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
2024-09-19 00:03:57 +08:00
SoftFever
36acae8b35 Fixed a bug that YOLO flow calibration didn't work for Fr/De languages 2024-09-18 23:59:46 +08:00
Erkan Ozgur Yilmaz
b917832db6 Duplicate Current Plate With Objects (Second PR) (#6710)
* Added `duplicate plate` feature.

This the initial commit and this still needs work.

* [#2025] Fixed the SEGFAULT, apparently an icon id=6 needed to be updated to id=7 as we have one more plate icon.
[#2025] Removed the `printf` statements.

* [#2025] Plate duplication is now fully implemented.

* [#2025] Updated icons for plate duplicate funcctionality.

* [#2025] Added toolbar icon fro "Duplicate Current Plate" action.

* [#2025] Revert changes for `toolbar_add_plate_dark.svg`.

* [#2025] Removed the `BBS` label in the code that is not written by BBS.

* [#2025] Updated `.gitignore` to ignore VSCode workspace file.

* [#2025] Fixed the instances not transforming in global space when the plate is duplicated.

* [#2025] Removed the Duplicate Plate action from the plate actions and the toolbar.

* [#2025] Added the `Duplicate Current Plate` functionality to the `Edit` menu.

* [#2025] Addressed review comments.

* [#2025] Addressed review comments.

* [#2025] Removed unused icons related to the previously introduced "Duplicate Plate" functionality.
2024-09-10 23:43:41 +08:00
Heiko Liebscher
9ee19c5dbe New de translation and typos for 2.20beta (#6702)
* add new de translation for 2.2 beta

* fix typo info(r)mation

* build new locals
2024-09-09 22:42:27 +08:00
Henri van der Riet
11d540d42d merge conflicts 2024-09-08 01:04:19 +02:00
SoftFever
3e61d6dcb7 Enabling object skirt. (#6487)
Implements individual object skirts, as requested in  **Individual skirts when printing by object. #3486** and  **Skirt around each object when using "by object" sequence #2652**

Now skirt type could be
![image](https://github.com/user-attachments/assets/532ecd91-fe3e-4bdb-b22f-ef28439ab7a6)

This PR based on several refactorings, including  **Configure skirt start point #6490** PR. To make review more easy each step was committed individually. Obviously them could be separated to different PRs or dropped.

I removed `prime_extruder && first_layer && extruder_id == first_extruder_id` as explicit object skirt is available.

Open question : do we need both common and object skirt together, probably with separate loop number?


All four combinations are possible.

Print by layer, common skirt:
![image](https://github.com/user-attachments/assets/5509f10b-ed3b-4243-8763-7ddcb101c67a)

Print by layer, object skirt:
![image](https://github.com/user-attachments/assets/deca3ca6-8bf7-4e5b-a356-2f5dd6e81566)

Print by object , object skirt:
![image](https://github.com/user-attachments/assets/7d1b2ddc-e61f-4d77-9ed4-e33fdd62d290)

Print by object , common skirt (any meaning?):
![image](https://github.com/user-attachments/assets/e7883eb4-b1a3-4158-a7f4-ce0658bc1939)
2024-09-07 23:46:54 +08:00
SoftFever
cce40fd154 Revert "Fix typos and grammar (#6638)"
This reverts commit 1afc1372bc.
2024-09-07 20:04:17 +08:00
Vovodroid
b6e2d7fdbe Warnings: various fixes (#6582)
* Warnings: various fixes

* Use std::ignore
2024-09-07 18:16:50 +08:00
henrivdr
0da135f4b8 Fix typos and grammar (#6638)
* fix lots of typos, grammar etc.

* merge conflict

* merge conflict

* merge conflict

* merge conflict

* revert gettext comments

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-09-07 18:00:01 +08:00
SoftFever
91f55f6870 Merge branch 'main' into skirt-object-fix-pr 2024-09-07 10:57:59 +08:00
vovodroid
8df8f6390a Object skirt 2024-08-26 13:48:51 +03:00
vovodroid
5f04072d58 Configure skirt start point 2024-08-24 15:37:46 +03:00
Vovodroid
491f360dfd Reduce warnings: remove unused variables (#6499)
Removed unused variables
2024-08-23 00:02:58 +08:00
SoftFever
e880c6aa4a New YOLO flow rate calibration (#6479)
* update flow rate calibration tests

* more tweaks

* add YOLO linear flow rate calibration

* update name

* revert line_width changes

* Make it 2mm thick and change some text

* Update YOLO test:
Normal YOLO for 0.01 step
Perfectionist YOLO for 0.005 step

* add space
2024-08-23 00:01:59 +08:00
Noisyfox
8a746a7764 Fix Linux build & some warnings (#6438)
* Fix linux deps debug build

* Use the same DL_CACHE for release build when building debug version of deps on Linux.
This prevents downloading the same source packages twice, and avoid downloading again after deleting the build dir.

* Fix debug build

* Fix warnings "loop variable creates a copy from type" and "loop variable binds to a temporary constructed from type"
2024-08-18 11:33:00 +08:00
SoftFever
ab3d04312b Revert "Fix Compile Warnings (#5963)"
This reverts commit b83e16dbdd.

Found regressions like auto orientation didn't work anymore after this change, revert it
2024-08-12 00:00:20 +08:00
SoftFever
83c9ce878a Feature/misc fixes of toolchanger (#6396)
* Use more readable data types for storing triangle splitting information.

* fix build errors

* SPE-2063: Determine correctly which extruders are used when the object is painted by the multi-material painting gizmo.

During the serialization of TriangleSelector and also during reading serialized painting data from 3MF, we cache all used states in the painted triangle mesh.

Based on this information, we can quickly determine which extruders are used and which don't.

* Fixed an bug that filament list was not updated properly

---------

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
2024-08-09 21:11:17 +08:00
Vovodroid
86cf6a55d3 Drop object on the plate (#6166)
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-08-06 23:18:28 +08:00
SoftFever
5d5c33f8c0 Merge branch 'main' into feature/multitool 2024-07-29 22:51:13 +08:00
Ocraftyone
dab6fa4db2 Fix Compile Warnings (#5963)
* Fix calls to depreciated wxPen constructor

* Fix use of wxTimerEvent

* Fix unrecognized character escape sequence

* Fix signed/unsigned mismatch

At least as much as possible without significantly altering parts of the application

* Clean unreferenced variables

* fix mistyped namespace selector

* Update deprecated calls

* Fix preprocessor statement

* Remove empty switch statements

* Change int vector used as bool to bool vector

* Remove empty control statements and related unused code

* Change multi character constant to string constant

* Fix discarded return value

json::parse was being called on the object, rather than statically like it should be. Also, the value was not being captured.

* Rename ICON_SIZE def used by MultiMachine

By having the definition in the header, it causes issues when other files define ICON_SIZE. By renaming it to MM_ICON_SIZE, this lessens the issue. It would probably be ideal to have the definitions in the respective .cpp that use them, but it would make it less convenient to update the values if needed in the future.

* Remove unused includes

* Fix linux/macOS compilation

* Hide unused-function errors on non-Windows systems

* Disable signed/unsigned comparison mismatch error

* Remove/Disable more unused variables

Still TODO: check double for loop in Print.cpp

* Remove unused variable that was missed

* Remove unused variables in libraries in the src folder

* Apply temporary fix for subobject linkage error

* Remove/Disable last set of unused variables reported by GCC

* remove redundant for loop

* fix misspelled ifdef check

* Update message on dialog

* Fix hard-coded platform specific modifier keys

* Remove duplicate for loop

* Disable -Wmisleading-indentation warning

* disable -Wswitch warning

* Remove unused local typedefs

* Fix -Wunused-value

* Fix pragma error on Windows from subobject linkage fix

* Fix -Waddress

* Fix null conversions (-Wconversion-null)

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-07-29 21:00:26 +08:00
SoftFever
e05f2b4fbe Merge branch 'main' into feature/multitool 2024-07-23 18:21:19 +08:00
yw4z
bdbb502ee6 Color fixes (#5712)
* Flushing volumes button background color for active state

* Sliced plates bar > Use different colors on plate numbers for light / dark theme

* Remove 3D navigator background

* Device & Project Tab > Sidebar > Selected tab background color

* Merge branch 'SoftFever:main' into color-fixes-3

* Correct sidebar button color for light mode for bbl monitor / calibration and project page

* Homepage fixes

* Fix parameters group title color too bright on dark theme

* Search popup hovered item background color

* Sidebar > Search box > match border color with other input/combo boxes

* fix indents

* Add descriptions to statecolors

* Paint gizmos > remove background of non active Tool / Brush buttons on dark mode

* Merge branch 'SoftFever:main' into color-fixes-3

* Top bar / Main tab bar button hover background

* Fix broken color change from last merges

* Gizmos selected text background

* Keyboard shortcuts window selected tab bg color

* About page link color

* Project page fixes

* match disabled text color on combo boxes with input boxes

* Use better background color for disabled elements on dark mode

* match all colors for disabled elements

* BBL > Monitor tab > Add printer text and icon not visible on dark theme

* even darker bg color for homepage thumbnails

* Sidebar arrow not visible

* Better bg color for row highlighting

* match style of gizmo combo box

* Merge branch 'SoftFever:main' into color-fixes-3

* Revert changes for main tab bar background color of button while hover
2024-07-23 18:00:21 +08:00