Compare commits

...

788 Commits

Author SHA1 Message Date
Gabriel Janucik
603e3e76b0 FlashForge Adventurer 3 machine start gcode second fix #6282 (#6744) 2024-09-13 07:21:26 +08:00
Kevin Delgado
833340ebbc Update README.md (#6742)
"SS" -> S  correction
2024-09-13 07:20:56 +08:00
SoftFever
30498ccb7b Fixed a regression bug that spacing was not working anymore when arrange plate objects (#6741)
fix a regression bug in arrange
2024-09-12 23:01:01 +08:00
SoftFever
fe051522d9 update locale 2024-09-11 23:00:01 +08:00
Carlos Francisco Caruncho Serrano
7f9f90c32c Updated Spanish translation (#6721)
* Update OrcaSlicer_es.po

* some changes

* Some fixes

* More fixes

* More fixes and improves

* More fixes

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Traducción español Beta 2.1.0

* Update text.js

* Update OrcaSlicer_es.po

Cambiado punto por coma

* Minor fix PR

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update Spanish Language

* Updated strings

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Fixed Spanish Strings in English

Fixed a lot of string whose are translations were english to english.

* Some spanish strings improved

* Update Spanish Strings in RC

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Some fixes

* More fixes and improves

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

Cambiado punto por coma

* Update Spanish Language

* Some spanish strings improved

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Some fixes to PR

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Traducción español Beta 2.1.0

* Update text.js

* Minor fix PR

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Some fixes to PR

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Some fixes

* More fixes and improves

* Some spanish strings improved

* some changes

* Some fixes

* More fixes

* More fixes and improves

* Update OrcaSlicer_es.po

* Fixed Spanish Strings in English

Fixed a lot of string whose are translations were english to english.

* Some spanish strings improved

* Update Spanish Strings in RC

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Revert "Some Spanish Translation Fixes (#6115)"

This reverts commit c37a871dd2.

* Calibration: retraction test

* Fix a regression: Generic filament profiles conflicts #981

* support full_fan_speed_layer

* Support interface fan speed

* profile cover image reorg

* Traducción español Beta 2.1.0

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Some fixes to PR

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Revert "profile cover image reorg"

This reverts commit 041d41fa9f.

* Revert "Support interface fan speed"

This reverts commit a657d85121.

* Revert "support full_fan_speed_layer"

This reverts commit ac6dcadeb0.

* Revert "Fix a regression: Generic filament profiles conflicts #981"

This reverts commit 97118f8e94.

* Revert "Calibration: retraction test"

This reverts commit b210c29434.

* Update OrcaSlicer_es.po

* More fixes

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Final fixes

* Update OrcaSlicer_es.po

* Update Spanish Strings

* update

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update text.js

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

---------

Co-authored-by: ElectricalBoy <15651807+ElectricalBoy@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
Co-authored-by: SoftFever <103989404+SoftFever@users.noreply.github.com>
2024-09-11 22:49:44 +08:00
Noisyfox
97d4ead854 Prevent toolbar clicking when mouse is hovering over layer height editor (#6727)
* Prevent toolbar clicking when mouse is hovering over layer height editor (SoftFever/OrcaSlicer#6713)
2024-09-11 22:28:49 +08:00
Noisyfox
5c3e094450 Fix issue that github action windows build could not find win10sdk (#6726)
* Fix issue that github action windows build could not find win10sdk (SoftFever/OrcaSlicer#6724)

* Another attempt to fix the build issue

* This should work now
2024-09-11 22:24:47 +08:00
Kevin Delgado
a453d153ea Improvementes in readme and security docs (#6730)
* Delete Readme.txt

Not in use

* Update SECURITY.md

Formatted and little changes made

* Update README.md

Improved format and texts, insert image at the top
2024-09-11 22:23:15 +08:00
Noisyfox
92b933f274 Fix issue that "total filament used [g]" is missing from gcode (#6728)
* Fix issue that "total filament used [g]" is missing from gcode
2024-09-11 22:17:32 +08:00
Erkan Ozgur Yilmaz
2b4cd6577b 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
Noisyfox
d87734ebfa Fix various issues with fuzzy skin (#6716)
* Fix issue that `fuzzy_skin_first_layer` not respected by classic wall generator

* Fix issue that Contour / Contour and hole mode not working properly (SoftFever/OrcaSlicer#6414)

* We have `is_contour`, so need for complicated hole detection
2024-09-10 23:28:39 +08:00
Ioannis Giannakas
3927f5adf8 Filter out micro segments generated during the overhang slowdown process (#6714) 2024-09-10 22:54:35 +08:00
Vovodroid
09ffca1243 Correct odd layer GUI description (#5793) 2024-09-09 22:45:58 +08:00
bo0tzz
f31a9f802b Fix loading 3d mouse params from config (#6703)
Since this seems a trivial enough change, I haven't done any local building/testing. Let me know if you need anything like that from me anyways.
2024-09-09 22:43:08 +08:00
Heiko Liebscher
adb2d33c92 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
GlauTech
cb8866b478 Update TURKISH translations (#6685)
* Update TURKISH translations
2024-09-09 20:15:02 +08:00
SoftFever
158c71f05e bump version to 2.2.0-beta 2024-09-08 23:20:03 +08:00
SoftFever
a141e4fbf7 bump profile version 2024-09-08 23:12:46 +08:00
Noisyfox
d4c0a8b982 Fix Anycubic Kobra 0.4 nozzle profile (#6678)
* Fix Anycubic Kobra 0.4 nozzle profile
2024-09-08 22:52:54 +08:00
SoftFever
4de618ad1f update locales 2024-09-08 22:46:11 +08:00
SoftFever
7364b38592 updates for PR #6638 - typos and grammar (#6673)
Including a marathon of resolving merge conflicts due to PRs today.
We should abolish multi-line msgids :-)


# Description
This looks like a huge PR, but it is only fixes for typos and grammar.
On the previous PR #6638 I mistakenly used _en.po as the reference
instead of the .pot.
It caused missed strings in the source and other .po files.
This around I triple checked again to make sure the msgids are in sync
with the L"" strings in the code.

Comments, variable names and non-English translation strings were
excluded.

I learnt that typos were "fixed" before by using translations. After
this PR, those translations are no longer relevant and can be cleaned
up.
Hopefully this sets a new baseline which will last us a while. :-)

<!--
> Please provide a summary of the changes made in this PR. Include
details such as:
  > * What issue does this PR address or fix?
  > * What new features or enhancements does this PR introduce?
> * Are there any breaking changes or dependencies that need to be
considered?
-->

# Screenshots/Recordings/Graphs

<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->

## Tests
The code compiled and ran successfully.
The translation files were verified with ./run_gettext.sh

I did not se any issues when running ./run_gettext.sh --full
Please confirm it again, before the merge.

<!--
> Please describe the tests that you have conducted to verify the
changes made in this PR.
-->
2024-09-08 22:11:20 +08:00
SoftFever
36550f1fc5 deprecate overhang_speed_classic option and enable slowdown_for_curled_perimeters by default 2024-09-08 22:05:13 +08:00
SoftFever
394cf6c981 update bbl profile 2024-09-08 22:05:08 +08:00
Henri van der Riet
05010b79db merge conflict 2024-09-08 14:26:26 +02:00
SoftFever
11240b4ae5 Bugfix: gapfill was assigned with wrong extruder/filament (#6680)
# Description

Fixed #6620
2024-09-08 19:56:49 +08:00
SoftFever
78d72632f7 fix a bug that gapfill was assigned with wrong extruder/filament 2024-09-08 19:50:32 +08:00
SoftFever
7d4402cea1 Update Qidi profiles, fixes thumbnails for X3 machines (#6023)
change of thumbnails
2024-09-08 10:15:23 +08:00
Henri van der Riet
5d5f6074e0 line wraps 2024-09-08 02:48:53 +02:00
Henri van der Riet
3894f2cd37 Prusa -> Orca 2024-09-08 01:58:56 +02:00
Henri van der Riet
aa6a6876ed fix duplicates 2024-09-08 01:47:58 +02:00
Henri van der Riet
f6d4f5be32 fix duplicates 2024-09-08 01:25:20 +02:00
Henri van der Riet
5b0ddbd5f7 merge conflicts 2024-09-08 01:04:19 +02:00
Henri van der Riet
e750727743 updates for PR #6638 - typos and grammar
Including resolved merge conflicts.
2024-09-08 00:16:33 +02:00
SoftFever
415bedef94 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
8d5fdf9122 update locale 2024-09-07 21:01:12 +08:00
SoftFever
220213e846 Revert "Fix typos and grammar (#6638)"
This reverts commit 1afc1372bc.
2024-09-07 20:04:17 +08:00
Vovodroid
07d79376d3 Warnings: remove empty code (#6577)
* Warnings: remove empty code
2024-09-07 18:18:35 +08:00
Vovodroid
82c90666da Warnings: replace wxSOLID with wxPENSTYLE_SOLID (#6579)
* Replace wxSOLID with wxPENSTYLE_SOLID
2024-09-07 18:17:35 +08:00
Vovodroid
044a1c4fc5 Warnings: various fixes (#6582)
* Warnings: various fixes

* Use std::ignore
2024-09-07 18:16:50 +08:00
henrivdr
1afc1372bc 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
Noisyfox
53a3e86de3 Fix crash when dragging text in WebViews on macOS (#6668)
* Fix crash when dragging text in WebViews on macOS (SoftFever/OrcaSlicer#6608)
2024-09-07 17:39:18 +08:00
Thomas
5e842eb31f Added new French translations (#6667)
* Added new translations

* Removed dupe

* Cursed c-boost

* Removed dupe
2024-09-07 17:38:24 +08:00
Noisyfox
e3c1716d7c Fix calibration tab when switching between BBL&non-BBL printers (#6661)
* Fix calibration tab when switching between BBL&non-BBL printers (SoftFever/OrcaSlicer#6563)

* Merge branch 'main' into bugfox/cali_tab
2024-09-07 17:09:10 +08:00
vovodroid
5165515167 Rename skirt types 2024-09-07 12:02:39 +03:00
PugBuster
fc929ebb17 Added profiles for Anycubic Kobra standard (#6660)
Profile created based on information contained in the printer's firmware and profiles recommended by the manufacturer for Cura. It has been tested on various parts including 3DBenchy with more than satisfactory results.
2024-09-07 16:56:30 +08:00
Definately Anna
09f7412e19 Update Creality Ender-3 V3 KE 0.4 nozzle.json (#6659)
Fixed wrong probe count for default printer settings. Creality ships device with 5x5 mesh, and this setting causes errors "key194: BLtouch failed".
2024-09-07 16:52:37 +08:00
Thomas Schüßler
4ebcc97dc5 Fixed typo (#6650) 2024-09-07 16:33:40 +08:00
Vovodroid
7ccda83200 Clarify support and filter bridge config options (#6643)
* Clarify support and filter bridge config options
2024-09-07 16:31:51 +08:00
SoftFever
40ce542ffa Added profiles for MK3.5 (#6614)
# Description

Added profiles for MK3.5. Copied most of the settings over from MINIIS
and changed the speed and filament pressure advance settings according
to profiles in PrusaSlicer

# Screenshots/Recordings/Graphs
![Screenshot 2024-08-30 at 22 10
58](https://github.com/user-attachments/assets/10090722-c8a7-4773-a6a2-102cf0393057)
![Screenshot 2024-08-30 at 22 11
51](https://github.com/user-attachments/assets/b2dc5dc1-dd03-4648-bd7c-caf535f3d7bd)

## Tests

Tested with some Benchys for the different nozzle sizes. Everything
seems to work as expected.
2024-09-07 16:28:04 +08:00
SoftFever
372a525f2e Fix only one wall on first layer when raft is used (#6656)
Fix #6616
2024-09-07 16:25:01 +08:00
SoftFever
4e25217927 Fix bridge anchor when bridge is also the top surface (#6654)
Fixes #6642

Cherry picked from b133579126
Huge thanks for their excellent work!

![image](https://github.com/user-attachments/assets/8fc054bb-68da-4f8f-82bd-943bcf0b80c0)
2024-09-07 16:23:44 +08:00
Ioannis Giannakas
2c5478ee96 Combined infill max layer height (optional) parameter (#6401)
* Combined infill max layer height parameter

* Combine sparse infill - allow % over nozzle diameter too.

* Updated defaults and tooltips

* Update PrintConfig.cpp
2024-09-07 16:20:46 +08:00
SoftFever
5b5cd478c2 Merge branch 'main' into skirt-object-fix-pr 2024-09-07 10:57:59 +08:00
Noisyfox
a219ebe229 Fix only one wall on first layer when raft is used (SoftFever/OrcaSlicer#6616) 2024-09-05 11:34:29 +08:00
Noisyfox
ee17002a50 Fix bridge anchor when the bridge is the top surface (SoftFever/OrcaSlicer#6642)
Cherry-picked from prusa3d/PrusaSlicer@b133579126

Co-authored-by: Martin Šach <martin.sachin@gmail.com>
Co-authored-by: Lukas Matena <lukasmatena@seznam.cz>
2024-09-05 10:23:18 +08:00
Noisyfox
63ebebf4a0 Improve debugging output 2024-09-05 09:45:59 +08:00
Bernhard Koppensteiner
0921b6d99d fixed process naming, checks seem to be case sensitive 2024-09-04 20:51:10 +02:00
Bernhard Koppensteiner
a3d08e010d Merge branch 'SoftFever:main' into main 2024-09-04 20:38:47 +02:00
SoftFever
c179a57725 update sponsor list 2024-09-04 00:12:56 +08:00
gatosardina
9e3969b61c Update OrcaSlicer_es.po (#6381)
* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Upodate OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Add new translations and update existin from merged PR 6543

* Small fix in new msgid in OrcaSlicer_es.po

* Fix string start and termination quotes

* Fix string length?

* Update check_locale.yml

* testing with turkish translation

* test format

* fix format issues
2024-09-03 23:44:27 +08:00
SoftFever
5cc83b9835 Another outline algorithm based on depth buffer (#6492)
![image](https://github.com/user-attachments/assets/b3383f47-b2e0-4a17-8807-c59fc41f4697)

Based on the algorithm by [leoneruggiero](https://www.shadertoy.com/user/leoneruggiero): https://www.shadertoy.com/view/DslXz2

Still not perfect. might combine a normal based edge detection algorithm and try the Sobel kernel too.

~~And I'll add a preference option to disable this too.~~ Now there is an option in the View menu to toggle this on & off. It's off by default for now, as it's still experimental.
2024-09-03 23:39:23 +08:00
SoftFever
60cf1b48cc Merge branch 'main' into dev/outline-2 2024-09-03 23:07:21 +08:00
George Peden
328f74ed81 Treat linuxmint the same as ubuntu. fixes #6591 (#6592)
* Treat linuxmint the same as ubuntu. fixes #6591

* Merge branch 'SoftFever:main' into buildlinuxmint
2024-09-03 22:58:54 +08:00
George Peden
a1e2267fdf case insensitive sort for filament vendor list (#6594)
* case insensitive sort for filament vendor list

* Merge branch 'main' into case-insensitive-filament-vendor-sort
2024-09-03 22:58:11 +08:00
SoftFever
3e6d2d0f45 hide adaptive_bed_mesh and thumbnails parameters for bbl machines 2024-09-03 22:56:24 +08:00
Bernhard Koppensteiner
e55a8e7858 Merge branch 'main' into main 2024-09-02 21:02:28 +02:00
Dylan
3638c05270 update User-Agent in http request header (#6599)
* Update Http.cpp

`SLIC3R_APP_NAME + SoftFever_VERSION` is used in Gcode, but `SLIC3R_VERSION` is used incorrectly here.
2024-09-01 22:31:11 +08:00
GlauTech
5a607ccc5e Update TURKISH translations (#6625)
* Update TURKISH translations
2024-09-01 22:25:11 +08:00
SoftFever
db688e0cf4 Add Rook MK1 profile (#6627) 2024-09-01 21:09:42 +08:00
Noisyfox
b2b63b296d Fix GL_INVALID_OPERATION 2024-09-01 01:00:36 +08:00
Noisyfox
f244aed9c0 Add option to turn outline on & off 2024-08-30 23:25:03 +08:00
Noisyfox
445dc2b0f1 Merge branch 'main' into dev/outline-2 2024-08-30 21:43:26 +08:00
Bernhard Koppensteiner
f4bb5a6c20 changed speed settings 2024-08-29 14:41:26 +02:00
Bernhard Koppensteiner
50039afb66 added MK3.5 2024-08-29 14:41:09 +02:00
Bernhard Koppensteiner
be69554d34 changed thumbnail output 2024-08-29 14:40:27 +02:00
Bernhard Koppensteiner
22444137e8 changed cover 2024-08-28 22:02:57 +02:00
Bernhard Koppensteiner
40ac544dce Merge branch 'main' of https://github.com/koppensb/OrcaSlicer 2024-08-28 21:51:01 +02:00
Bernhard Koppensteiner
65e007cb41 added MK3.5 support 2024-08-28 21:48:15 +02:00
Cyril Guislain
4f9c730705 Fixes for FLSUN S1/T1 (#6574) 2024-08-28 23:17:25 +08:00
Ioannis Giannakas
0ba4181a06 Ported filament shrinkage compensation for XY and independent Z from Prusa Slicer (fixing MMU painting, seam painting, support painting issues) (#6507)
* Ported filament shrinkage compensation from Prusa Slicer. Updated logic to be 100 = no shrinkage to be consistent with orca definitions

* Code comments update

* Merge branch 'main' into Filament-Shrinkage-compension---port-from-Prusa-slicer

* Merge remote-tracking branch 'upstream/main' into Filament-Shrinkage-compension---port-from-Prusa-slicer

* Merge branch 'main' into Filament-Shrinkage-compension---port-from-Prusa-slicer
2024-08-28 23:15:39 +08:00
Thomas
d1e7bb2762 Translated new strings in French (#6578)
* Translated new strings

* Fixes

* c-boost fix
2024-08-27 23:32:52 +08:00
Aleksey Bogomolov
751d51637b UseElegoo Neptune 4 retraction from Np4 Pro profile (#6565)
* Use Elegoo Neptune 4 retraction from Np4 Pro profile
2024-08-27 23:30:58 +08:00
Kenneth Jiang
c30ffb1895 Profiles for Kingroon KLP1 and KP3S V1 (#6554)
* Kingroon KLP1 profiles

* Kingroon KP3S V1 profiles

* Make cover png file size more reasonable

* copy/paste error in the profile name

* Merge branch 'main' into kingroon-klp1-profiles
2024-08-27 23:28:02 +08:00
Ioannis Giannakas
1ff5424819 Bug fix: Avoid crossing walls feature removes some retraction wipes (#6518)
* Bug fix: Avoid crossing walls feature removes some retraction wipes

* Merge remote-tracking branch 'upstream/main' into Bug-Fix-Avoid-crossing-walls-removing-wipe-moves-when-retraction-was-happening

* Merge branch 'main' into Bug-Fix-Avoid-crossing-walls-removing-wipe-moves-when-retraction-was-happening

* Merge branch 'main' into Bug-Fix-Avoid-crossing-walls-removing-wipe-moves-when-retraction-was-happening
2024-08-27 23:26:43 +08:00
Heiko Liebscher
7d1fb381e4 add new msgid's fol all languages 2.2.0-Dev (#6543)
* add new msgid's fol all languages

* Merge branch 'main' into new_features_translation

* Merge branch 'main' into new_features_translation
2024-08-26 20:22:56 +08:00
Noisyfox
3757295b95 A bunch of tab fixes (#6551)
* Make sure the speed tab is properly hidden when toggle off advance mode

* Clear each page before clearing the parent, otherwise the child pages will be destroyed twice

* Fix crash if current selected tab is positioned after the removed tab

* Fix issue that sometimes the printer config first page is not displayed

* Fix issue that the wrong tab item get bold if the number of tabs changed
2024-08-26 20:21:59 +08:00
vovodroid
2a8b39acd4 Object skirt 2024-08-26 13:48:51 +03:00
Noisyfox
2bf54878f7 Make the checkbox on export preset dialog more visible in dark mode (#6539)
* Make the checkbox on export preset dialog more visible in dark mode (SoftFever/OrcaSlicer#6536)

* Merge branch 'main' into bugfox/export-checkbox
2024-08-25 12:42:01 +08:00
Vovodroid
0c63dd4bd0 Remove unused slow down proportionally code (#6405)
* Remove unused slow down proportionally code
2024-08-25 12:40:40 +08:00
Vovodroid
a7d2ae0450 Fix crash when both Flow compensator and Verbose Gcode are enabled. (#6428)
* Fix crash when both Flow compensator and Verbose Gcode are enabled.
2024-08-25 12:39:15 +08:00
Vovodroid
bd8c2ffaeb Refactor stagger concentric seams (#6432) 2024-08-25 12:33:32 +08:00
vovodroid
0b6a1d3636 Refactor all_objects_are_short 2024-08-24 15:37:47 +03:00
vovodroid
83346aaffa Configure skirt start point 2024-08-24 15:37:46 +03:00
Noisyfox
a68fc86c4e Fix crash in printer config when switching tabs (#6537)
* Fix ASAN with MSVC

* Make ASAN happy

* Avoid deleting activated tab button by not calling `DeleteAllItems` (#SoftFever/OrcaSlicer#6486)
2024-08-23 22:55:10 +08:00
SoftFever
d1b9ef427e Add alert 2024-08-23 22:12:36 +08:00
J-D
a2218ac99c Update Dutch language (#6542)
Spelling errors corrected.
Incorrect translations corrected.
Added several untranslated parts.
2024-08-23 19:24:30 +08:00
InfimechOfficial
2012fab758 upgrade start_gcode (#6540)
* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json
2024-08-23 19:23:55 +08:00
FlyingbearOfficial
bf79a93e1b upgrade start_gcode (#6541)
* Update FlyingBear S1 0.4 nozzle.json

* Update 0.16mm Optimal @FlyingBear Reborn3.json

* Update 0.16mm Optimal @FlyingBear S1.json

* Update fdm_process_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Update fdm_process_common.json

* Update fdm_process_common_S1.json

fix some parameters

* Update fdm_process_common.json

* Update FlyingBear S1 0.4 nozzle.json

* Update 0.08mm Extra Fine @FlyingBear S1.json

* Update 0.12mm Fine @FlyingBear S1.json

* Update 0.16mm Optimal @FlyingBear S1.json

* Update 0.20mm Standard @FlyingBear S1.json

* Update 0.24mm Draft @FlyingBear S1.json

* Update 0.08mm Extra Fine @FlyingBear Reborn3.json

* Update 0.12mm Fine @FlyingBear Reborn3.json

* Update 0.16mm Optimal @FlyingBear Reborn3.json

* Update 0.20mm Standard @FlyingBear Reborn3.json

* Update 0.24mm Draft @FlyingBear Reborn3.json

* Update FlyingBear S1 0.4 nozzle.json
2024-08-23 19:23:30 +08:00
Ioannis Giannakas
91e775b1b4 Revert "Take filament flow ratio into account when displaying flow in gcode legend" (#6525)
This reverts commit ff53f401be.
2024-08-23 00:16:38 +08:00
Ioannis Giannakas
bcf45a332e Updated chamber temperature control tooltips (#6517) 2024-08-23 00:05:43 +08:00
Eren
cd4de6be7e Update OrcaSlicer_tr.po (#6511)
Incorrect mmu flush sentences corrected. Still might not be 100% accurate, but better this way
2024-08-23 00:03:36 +08:00
Vovodroid
2eb1adb719 Reduce warnings: remove unused variables (#6499)
Removed unused variables
2024-08-23 00:02:58 +08:00
SoftFever
c6065d54fc 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
Ioannis Giannakas
2a5e260b31 Wiki updates v2 & adaptive PA documentation (#6491)
* Wiki home page fix links and readme update to link to wiki

* Update README.md

* Fixed developer reference links

* Update linkage from slicer settings to Wiki for layer height, line width and seam settings

* adaptive PA documentation

* Update adaptive-pressure-advance.md

* updated screenshots

* formatting

* Update adaptive-pressure-advance.md

* Update adaptive-pressure-advance.md

* Update adaptive-pressure-advance.md

* Include adaptive PA link
2024-08-23 00:01:30 +08:00
vovodroid
748ae2e7a6 Remove draft shield limited option 2024-08-22 10:49:47 +03:00
vovodroid
302e5b1220 Fix skirt distance calculation 2024-08-22 10:15:23 +03:00
vovodroid
6b50098813 Fix memory leak - clear object skirt on new slicing 2024-08-22 10:15:22 +03:00
vovodroid
59fc8bda31 Remove unreal conditions. 2024-08-22 10:13:56 +03:00
vovodroid
52e9e03a0b Remove unused legacy brim method 2024-08-22 10:13:45 +03:00
vovodroid
83522c67ee Google-translate Chinese comments 2024-08-22 10:13:44 +03:00
vovodroid
e0089dfe9f Fix typo cleareance_radius -> clearance_radius 2024-08-22 09:05:19 +03:00
Noisyfox
70495a3bf9 Use texture instead of texelFetch to make it smoother 2024-08-19 23:11:01 +08:00
Ioannis Giannakas
6dc8b28529 Overhang tooltips updates (#6501)
* Overhang tooltips updates
2024-08-19 22:54:58 +08:00
Noisyfox
13e18d1d65 Use a 2-pass depth based outline algorithm when selected 2024-08-18 19:31:08 +08:00
Vovodroid
2acd858bf3 Remove unused parameter from place_seam method (#6421) 2024-08-18 16:32:56 +08:00
Noisyfox
12c4ff0d93 Fix "Open Containing Folder" on Linux (#6469)
Fix "Open Containing Folder" on Linux (SoftFever/OrcaSlicer#6449)
2024-08-18 16:31:39 +08:00
Noisyfox
4dd7d79d76 Fix crash on Linux when switching between tabs in printer config (#6437)
* Fix crash due to the wrong window get returned in `PointCtrl` (SoftFever/OrcaSlicer#6261).
`getWindow()` must return the control itself, not its child control; otherwise the child control will be destroyed twice when the tab container is destroyed.

* Fix another crash on Linux caused by unused undo button
2024-08-18 16:30:45 +08:00
Ioannis Giannakas
01b16814ad Gap fill tool tip clarification & filter_out_gap_fill setting visibility (#6468)
* Gap fill tool tip clarification

* Gap fill text and parameter visibility update
2024-08-18 11:38:46 +08:00
artillery3dlab
364d91bd56 Artillery proflies update (#6457)
* Artillery proflies update
2024-08-18 11:37:11 +08:00
Andreas Rammhold
bf956dfbe3 Fix build with CGAL 5.6 (again) (#6439)
* Fix build with CGAL 5.6

Surface_mesh iterators no longer return references, so it's necessary to
use const references or copies when iterating.

This was previously merged in #3045 but isn't references in the
current main branch anymore. No idea where why it is gone, but the issue
still persists thus the patch should still be added.
2024-08-18 11:34:15 +08:00
Noisyfox
f136f04cfd 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
Ioannis Giannakas
0d886a133f Update Wiki (#6474)
* Update Wiki

* Wiki updates
2024-08-18 11:16:14 +08:00
SoftFever
e73638af59 add prime all used extruder logic in start g-code for tool changer.
The prime logic is mainly bollowed from Prusa XL 5T
2024-08-14 23:03:05 +08:00
Ioannis Giannakas
9a260010fc Improvements in Inner Outer Inner wall ordering logic (#6138)
* Improvements in Inner Outer Inner wall ordering logic

* Updated to BFS algorithm, made ordering more robust and corrected edge cases

* Doc updates

* Refinements in perimeter sorting

* Removal of touch threshold and code debugging to improve sequencing

* Code cleanup

* Code refinements on perimeter distance thresholds

* Extend perimeter re-ordering to more than inset index 2, to reduce travel moves when printing neighbouring features

* Refinements to IOI perimeter re-ordering algorithm to improve travel scenarios where multiple external perimeters are contained in the same island.

* Documentation updates

* Removed unnecessary code

* Removed bespoke to_points function and replaced with ExtrusionLine member already present. Removed squaredDistance and replaced with Eigen library call.

* Refactor code to move distancing functions to the multipoint class. Renamed for more clarity on their purpose.
2024-08-13 23:25:49 +08:00
SoftFever
7082e945b1 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
Vovodroid
0286c36f42 Stagger concentric infill seams. (#6184) 2024-08-11 23:23:20 +08:00
Duan Gauche
fa7a11fa7f Styrene Butadiene Styrene (SBS) - Template and profiles for Bambu (#6278)
* Added SBS to filament_info.json

* Added SBS to Print.cpp

* added SBS to PrintConfig.cpp

* Added SBS to BBL

* Added SBS Template and also specified SBS as type in fdm_filament_sbs.json

* Updated settings for SBS in filament_sbs_template.json

* Applied SBS settings to  fdm_filament_sbs.json

* added settings to Generic SBS @base.json

---------

Co-authored-by: Duan Gauche <duan.gauche@pdsvision.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-08-11 23:03:02 +08:00
Thomas
6b44a031be French translations (#6403)
* Added missing strings.

* Added missing translations

* Fixed boost format
2024-08-11 23:00:47 +08:00
Heiko Liebscher
fe58a84908 add de translation for new features (#6380)
* translation for new features

* fix typo
2024-08-11 23:00:24 +08:00
Cyril Guislain
bcf4c29028 Improved FLSUN S1 and T1 configurations (#6349) 2024-08-11 22:59:59 +08:00
SoftFever
a16a1e9307 Feature/mmu toolchange time (#6426)
* Revert "Fix #3311: filament Load / Unload time was not used in time estimation (#3706)"

This reverts commit 252788419b.

* revamp tool/filament change time

* tweak message
2024-08-11 22:56:32 +08:00
Robert Schiele
7bbffaa996 more missing includes (#6398)
Here are more missing header files recently identified by building
without precompiled header support.
2024-08-09 21:33:09 +08:00
Ioannis Giannakas
ad8cec26af Clarified flow ratio tooltips (#6397)
* Clarified flow ratio tooltips

* Spelling

* Formatting
2024-08-09 21:32:24 +08:00
SoftFever
b8a9c22404 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
a4cfc14a7e Jerk - per axis maximum limit (#6252)
* Jerk - per axis maximum limit

* Fixing Klipper and refactoring

* Remove unused variables
2024-08-07 22:41:09 +08:00
Vovodroid
98a243c302 Drop object on the plate (#6166)
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-08-06 23:18:28 +08:00
Olcay ÖREN
724762bbc8 Update TURKISH translations (#6337)
* Update OrcaSlicer_tr.po - TURKISH translation update

* Update TURKISH translations

* Update TURKISH translations

* Update TURKISH translations
2024-08-06 22:27:32 +08:00
Ioannis Giannakas
dcabdb8b77 Fix z hop performed after retraction in PA pattern calibration. Fix z hop config value not used (#6245)
* Fix z hop performed after retraction in PA pattern calibration. Fix zhop config value not used

* Updated gathering of z hop value method for consistency
2024-08-06 22:27:08 +08:00
SoftFever
cbda70ae73 workaround fix for flicking top bars 2024-08-04 20:06:02 +08:00
SoftFever
61952610df Revert "fix gizmo bar wobbling (#6230)"
This reverts commit 9ff0e9335f.
2024-08-04 19:25:41 +08:00
SoftFever
8ed2911db8 Properly find used extruders when infill/wall_filament is set (#6335) 2024-08-04 12:37:26 +08:00
SoftFever
ef5bae9910 Bump version to 2.2.0-dev 2024-08-04 10:52:11 +08:00
Dima Buzdyk
e6ed93f0c6 Fix -Wsubobject-linkage warning (#6243)
* Fix -Wsubobject-linkage warning

Having tk::spline header-only implementation included from
SmallAreaInfillFlowCompensator.hpp makes
SmallAreaInfillFlowCompensator::flowModel have separate (albeit the
same) implementation in each translation unit.

In order to fix this issue, SmallAreaInfillFlowCompensator::flowModel
converted to opaque 'pimpl'

* spline: remove anonymous namespace

Remove outer anonymous namespace from splice.h to make
forward declaration for tk::spline possible.
2024-08-04 10:48:24 +08:00
Dima Buzdyk
9ff0e9335f fix gizmo bar wobbling (#6230)
* fix gizmo bar wobbling

Gizmo bar is wobbling at specific application window width range.
This comes from a bar scaling calculations method:
    - new scale calculated for already scaled bar
    - scale stored as application settings loosing precision

Rework gizmo bar resizing code to remove feedback:
    - calculate scale factor based on unscaled bar size

* rework gizmo bar scaling

Unify scaling implementation across platforms (MacOS, Win, Linux).

Now all platform scale bar setting icon size.
Toolbar scale is used for high-DPI displays scaling only.

* Add comments, reorganize changes to minimize diff
2024-08-04 09:05:59 +08:00
KrisMorr
8b8a70fffa update locale and Polish translations (#6330)
* update locale and Polish translations

for PR #6329

* fix

* text.js_update Polish translation

* fix
2024-08-04 08:58:48 +08:00
KrisMorr
fc38c4c8c1 Adding missing string aliases for gettext (#6329) 2024-08-04 08:58:24 +08:00
SoftFever
8eb69b053f Add camera sanity check 2024-08-04 00:54:58 +08:00
SoftFever
83c50b2ad1 Toolchanger: fix an issue that wall_filament/sparse_infill_filament/solid_infill_filament didn't always work 2024-08-04 00:54:03 +08:00
ElectricalBoy
aaaa4f884e Localization: Change Python executable name for Windows (#6302)
Change Python executable name for Windows
2024-08-03 22:02:21 +08:00
Noisyfox
bb5e2af509 Fix/crashing when generating walls (#6325)
* Fix crash when filling very tiny (1-5nm) gaps (#6279)

Cherry-picked from prusa3d/PrusaSlicer@8784ca0ecf

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>

* SPE-2256: Fix the issue that we used the old Voronoi graph during the detection of invalid Voronoi diagrams.

This happens because we didn't set a modified flag that is required to be set before we use the new Voronoi graph.
Possibly related to #12385

Cherry-picked from prusa3d/PrusaSlicer@2de1f3aa45

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>

---------

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
2024-08-03 22:01:37 +08:00
SoftFever
b85c146499 Disable flatpak for now.
The current flatpak workflow in Orca is too troublesome to maintain.
2024-08-03 11:37:50 +08:00
Carlos Francisco Caruncho Serrano
d22cd9cb58 Updated and Fixed spanish translation (#6320)
* Update OrcaSlicer_es.po

* Merge remote-tracking branch 'upstream/main' into Spanish_Translation

* Merge remote-tracking branch 'upstream/main' into Spanish_Translation

* some changes

* Merge remote-tracking branch 'upstream/main' into Spanish_Translation

* Some fixes

* More fixes

* More fixes and improves

* More fixes

* Merge remote-tracking branch 'upstream/main'

* Merge remote-tracking branch 'upstream/main'

* Update OrcaSlicer_es.po

* Merge branch 'main' of https://github.com/tadeu2/OrcaSlicer

* Merge remote-tracking branch 'upstream/main' into Spanish_Translation

* Merge remote-tracking branch 'upstream/main' into spanish_translation

* Update OrcaSlicer_es.po

* Merge remote-tracking branch 'upstream/main' into spanish_translation

* Merge remote-tracking branch 'upstream/main' into spanish_translation

* Traducción español Beta 2.1.0

* Update text.js

* Update OrcaSlicer_es.po

Cambiado punto por coma

* Merge remote-tracking branch 'upstream/main' into Spanish_Translation

* Merge remote-tracking branch 'upstream/main'

* Minor fix PR

* Update OrcaSlicer_es.po

* Merge remote-tracking branch 'upstream/main' into spanish_translation

* Update OrcaSlicer_es.po

* Merge remote-tracking branch 'upstream/main' into Spanish_Translation

* Update Spanish Language

* Updated strings

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Fixed Spanish Strings in English

Fixed a lot of string whose are translations were english to english.

* Some spanish strings improved

* Merge remote-tracking branch 'upstream/main' into Spanish_Translation

* Update Spanish Strings in RC

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Merge remote-tracking branch 'upstream/main' into spanish_translation

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Merge remote-tracking branch 'upstream/main' into Spanish_Translation

* Update OrcaSlicer_es.po

* Merge branch 'Spanish_Translation'

* Update OrcaSlicer_es.po

* Some fixes

* More fixes and improves

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

Cambiado punto por coma
2024-08-03 00:23:47 +08:00
Ocraftyone
e96527b2fe Enable WebView devtools if developer mode is enabled (#6298)
* Enable WebView devtools if developer mode is enabled
2024-08-03 00:23:07 +08:00
FlyingbearOfficial
ade20222a5 fix "exclude_object" for FlyingBear profiles (#6294)
* Update FlyingBear S1 0.4 nozzle.json

* Update 0.16mm Optimal @FlyingBear Reborn3.json

* Update 0.16mm Optimal @FlyingBear S1.json

* Update fdm_process_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Update fdm_process_common.json

* Update fdm_process_common_S1.json

fix some parameters

* Update fdm_process_common.json

* Update FlyingBear S1 0.4 nozzle.json

* Update 0.08mm Extra Fine @FlyingBear S1.json

* Update 0.12mm Fine @FlyingBear S1.json

* Update 0.16mm Optimal @FlyingBear S1.json

* Update 0.20mm Standard @FlyingBear S1.json

* Update 0.24mm Draft @FlyingBear S1.json

* Update 0.08mm Extra Fine @FlyingBear Reborn3.json

* Update 0.12mm Fine @FlyingBear Reborn3.json

* Update 0.16mm Optimal @FlyingBear Reborn3.json

* Update 0.20mm Standard @FlyingBear Reborn3.json

* Update 0.24mm Draft @FlyingBear Reborn3.json
2024-08-03 00:11:56 +08:00
Gabriel Janucik
74775c93b1 FlasForge Adventurer 3 machine start gcode fix #6282 (#6312)
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-08-03 00:02:51 +08:00
Flsun3d
7b6b5a3f81 Improved Flsun S1,T1 configuration parameters (#6244)
* Add files via upload

* Add files via upload

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-08-03 00:01:44 +08:00
yw4z
7d5ab6456f Update plate list > plate number position (#6202)
* Update GLCanvas3D.cpp
2024-08-02 23:15:58 +08:00
Dima Buzdyk
143d8c4a8d Suppress some compiler warnings, fix few possible bugs. (#6224)
* Supress warnings on unused functions an variables

Compilation of OrcaSlicer produces 3056 warnings.
Nearly half of them related to unused functions and variables.

It is unlikely we going to clean them up since we may want to
keep code base as close to the BBS as possible

* initialize class member with correct value

* Fix memset arguments order

* Merge multiple statemensts into single

* fix -Wpessimizing-move
2024-08-02 22:56:23 +08:00
Duan Gauche
b1a06e80b3 added FilX as a Filament vendor (#6216)
* added FilX

* Fixed Typo

* Merge branch 'main' into FilX

* Merge branch 'main' into FilX
2024-08-02 22:48:11 +08:00
SoftFever
68945e07e8 write correct extruder_colour to gcode
fixes #6288
2024-08-02 21:40:03 +08:00
Ioannis Giannakas
c5d417ed89 Improve overhang slowdown granularity & line segmentation handling (#5996)
* Increase granularity of extrusion move splitting for small line segments ending in an overhang

* Parameter tweak

* Increase granularity of estimation for curled perimeters

* Adjust parameters following experimentation with overhang prints

* Updated overhang segmentation logic

* Cleanup code comments
2024-08-01 22:38:08 +08:00
SoftFever
cfe21e5e34 fix flatpak build error 2024-07-31 20:43:13 +08:00
Pim
f0f5c3bbe9 feat: add stealth mode select step to setup wizard (#6104)
feat: add stealth mode select to setup wizard

feat: enable stealth mode until user finishes setup wizard

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-07-31 19:51:07 +08:00
cochcoder
3510158cd8 Fix processes not showing for Flashforge Guider 2s (#5970)
* Fix processes not showing for Guider 2s

* Fix merge conflicts

* Fix process not showing (after updating PR)
2024-07-30 22:34:41 +08:00
Noisyfox
783570ebf6 Fix access violation when slicing project with print-by-object mode (#5984)
Fix issue that models with only one color become multicolor after slicing when print-by-object mode is used.
This applys the same fix as 612204b443
2024-07-30 22:32:15 +08:00
SoftFever
b5bf6aed6f Update Korean Localization (v2.1.1_3) (#6144)
This PR:

- Updates translation template to include new messages from #6009 and
updates <s>existing translation files</s> Korean translation file
accordingly
- Updates Korean translation, including new translations for #6009
2024-07-30 22:29:33 +08:00
SoftFever
abb62ca180 Update bbl profiles to 01.09.00.18 (#6271)
# Description

Copied files from BambuStudio after downloading updated profiles.

Add support for BambuLab PETG-HF  and Support for ABS. Fixes #6182

Also contains some changes to the default infill from crosshatch to
gyroid, and updated start g-code for A1.

# Tests

Copied all files to resources directory on install, and started.
Profiles showed up.
2024-07-30 22:29:00 +08:00
SoftFever
c992c7066e Fixed an issue that skirt may overlap with stable cone of wipe tower 2024-07-30 22:27:56 +08:00
ElectricalBoy
579cc9781d Update Korean translation 2024-07-30 10:22:05 +09:00
ElectricalBoy
5fd819d4e5 Update translation template 2024-07-30 10:21:01 +09:00
legonigel
e423a78eec Revert "Update bambulab profiles to 01.09.00.18"
This reverts commit a09aa1711a.
2024-07-29 09:22:27 -07:00
SoftFever
1532a74f87 Better support for MMU devices with filament cutter(e.g. ERCF v2 and any MMU with a cutter like Filametrix) (#6241)
flush_length variable is now provide correct value based on the flush
matrix set by the user.

pesudo code in Change filament gcode:
```
...
T1 

; Park head to the purging location
G1 X0 Y-5 F12000

; Purge certain amount of filament into waste bin
G1 E[flush_length] F600

...


```

This PR is based on the WIP tool changer branch #6087

Fixes #4194 #5937 #5912
2024-07-29 23:22:13 +08:00
SoftFever
4b2a09bd07 Merge branch 'main' into feature/support-fliament-cutter-explore-proper-flush-lenght 2024-07-29 23:21:48 +08:00
SoftFever
f24c7229a9 Orca tool changer support (#6087)
# Description

Add support of tool changer printers.
A new printer model has been added: `Generic ToolChanger`

Currently only support tool changer printers like `TapChanger` and
`StealthChanger`.
~Support for Prusa XL is still WIP.~ Prusa XL is supported now

~~⚠️WARNING⚠️ : please proceed with caution. It hasn't been tested on an
real printer yet. Please double check with g-code before printing it.~~

🚀GOOD NEWS🚀: Multiple successful prints have been reported; it should be
safe to try [Discord
Thread](https://discord.com/channels/1137181739773603922/1258993224018821160).
**For bugs, please kindly help by logging issues with details and sample
projects, then label them as ToolChanger. This will help me track
them.**

# Screenshots/Recordings/Graphs


https://github.com/SoftFever/OrcaSlicer/assets/103989404/bd518f77-5cc1-4b3a-ba76-7ead75494365

# Test
Feedback is welcomed!
For Mac users, please ref to this instruction:
https://github.com/SoftFever/OrcaSlicer#how-to-install


- [x] Occasionally crashes when change printer settings
- [x] Prusa XL profiles and custom gcode
- [x] Ooze prevention bug
- [x] Prusa XL z offset issue when prime tower is used
- [x] Preheat nozzle(temporary solution)
- [x] infinite(tall) skirt when both ooze prevention and skirt are
enabled
- [ ] skirt/purge cone overlap
- [ ] Document about custom variables


Implement #5943 #2050 #5079
2024-07-29 23:20:40 +08:00
SoftFever
f83dd4f0a7 fix flatpak 2024-07-29 23:19:28 +08:00
SoftFever
99c7b856fe fix build error 2024-07-29 23:12:47 +08:00
SoftFever
5e2f145c34 Merge branch 'main' into feature/multitool 2024-07-29 22:51:13 +08:00
SoftFever
e83c7653cd fix build error 2024-07-29 21:58:08 +08:00
Handle
1c256247b4 Updated some zh_CN translate. (#6273)
* Translated using Weblate (Chinese (Simplified))

Currently translated at 95.0% (3854 of 4054 strings)

Translation: Orca Slicer/orcaslicer-main
Translate-URL: https://weblate.bysb.net/projects/orca-slicer/orcaslicer-main/zh_Hans/

* Translate (Chinese (Simplified)) updated

Currently translated at 95.7% (3882 of 4054 strings)

Translation: Orca Slicer/orcaslicer-main
Translate-URL: https://weblate.bysb.net/projects/orca-slicer/orcaslicer-main/zh_Hans/

* Update OrcaSlicer_zh_CN.po

Removed sth shouldnt in the file
2024-07-29 21:05:46 +08:00
Ocraftyone
b83e16dbdd 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
ElectricalBoy
b40853af94 CI: Create Automated Workflow for Translation Catalog Updates (#5959)
* CI: Automate translation catalog update

Signed-off-by: GitHub <noreply@github.com>

* Update triggers for localization workflow

Signed-off-by: GitHub <noreply@github.com>

* Rewrite HintsToPot with Python

* Disable scheduled workflow runs

* Apply formatting to HintsToPot.py

* Add missing exit() call
2024-07-29 20:38:10 +08:00
cochcoder
7236d6cdbf Fix crossing max x axis & rise max print height of Ender-3 V3 KE (#5958)
* Fix crossing max x axis & rise max print height of Ender-3 V3 KE

* Merge branch 'main' into ender-3-V3-KE-4

* Merge branch 'main' into ender-3-V3-KE-4
2024-07-29 20:34:00 +08:00
Vovodroid
4a81fe6134 Suggest firmware retraction time (#5926)
* Suggest  firmware retraction time
2024-07-29 20:32:07 +08:00
Vovodroid
2ee3800a47 Limit variable layer height displaying precision to 3 digits (#5795)
* Limit variable layer height calculation and displaying precision to three digits.

* Remove calculation rounding.
2024-07-29 19:13:50 +08:00
Ocraftyone
c08126703c Fix Preferences dialog sizing on multi monitor setups (#5820) 2024-07-29 00:15:16 +08:00
Vovodroid
83a9b2513a Reverse draft shield direction on even layers to reduce thermal stress. (#5789)
* Reverse draft shield direction on even layers to reduce thermal stress and warping.

* Use reverse() to make code clear.
2024-07-28 23:26:34 +08:00
Ioannis Giannakas
529c44d8e3 Enhancement: Adaptive Pressure advance (#5609)
* Adaptive Pressure advance options setup

* Dynamic PA - PCHIP interpolator code and tests

* Integrate dynamic PA with slicing code - emit new PA values per speed change

* Link adaptive PA to role change instead of speed change

* Adaptive PA - Alpha 2

Reduce the frequency of requested PA changes by introducing a "state" variable.
Implement user toggle for adapting PA for external walls for overhangs

* Hide adaptive PA for overhangs

* Convert Adaptive PA to use volumetric flow model and start preparing for converting to Gcode post processor

* Converted Dynamic PA to a post processing filter. Reverted changes in GCode cpp and created tagging mechanism to allow filter to apply PA changes.

* Removed adaptive PA for overhangs

* Foundations for two dimensional adaptive PA based on acceleration and volumetric flow speed

* Minor code cleanup and updating of tooltips

* Renaming files for better clarity and generate classes documentation

* Update src/libslic3r/PrintConfig.cpp

Co-authored-by: ElectricalBoy <15651807+ElectricalBoy@users.noreply.github.com>

* Update src/libslic3r/PrintConfig.cpp

Co-authored-by: ElectricalBoy <15651807+ElectricalBoy@users.noreply.github.com>

* Update src/libslic3r/PrintConfig.cpp

Co-authored-by: ElectricalBoy <15651807+ElectricalBoy@users.noreply.github.com>

* Introduce average mm3_mm over the length of a multipath for adaptive PA

* Updates for multipath handling part 2

* Introduce average mm3_mm over the length of a multipath for adaptive PA

* Trigger PA evaluation more frequently to catch edge cases where speed changes across islands of the same feature type.

* Updates for multipath handling part 2

* Adaptive PA: Implement average flow estimation on loops

* Code formatting

* Fix adaptive PA not adapting for small disconnected external wall line segments.

* Updated to take max print speed of upcoming feature to calculate new PA value.

This is to resolve issue of incorrect PA value used when starting a new feature at an overhang.

* Code clean up

* Performance tuning

* Further performance tuning by reducing use of regex commands in the nested loops and fix bug preventing gcode line output

* Further performance tuning and tweaks to stop searching for max speed after the first travel move.

* Reduce debug information

* Updated debug info

* Fix an issue on seams on specific models when wipe before external perimeter was enabled. Also cleanup documentation and add new to-do's

* Prepare for adaptive PA for overhangs, fix wipe bug & clean up code and comments

* Initial commit for adapting PA when extruding fully overhanging perimeters

* Ignore wipe command when identifying current print speed

* Option to evaluate adaptive PA on overhang regions in preparation for Klipper experimental option testing

* Update to issue PA changes for varying flow conditions within the same feature

* Fix bug where adaptive PA was enabled erroneously for role changes and ignoring user's preference.

* Refactored some code

* More refactoring

* Some bug fixes and enabled comments only when verbose g-code is enabled

* Introduced dedicated PA option for bridges

* Code refactoring to optimise initialisation of PA processor (making it faster). Fix a bug where PA was not always set after a toolchange. Improve general error handling and robustness.

* Updates to adaptive PA tooltips

* Bridging PA check with Epsilon instead of 0.

* Adaptive PA: addressing comments

---------

Co-authored-by: ElectricalBoy <15651807+ElectricalBoy@users.noreply.github.com>
2024-07-28 22:52:08 +08:00
legonigel
a09aa1711a Update bambulab profiles to 01.09.00.18
Copied files from BambuStudio after downloading updated profiles.
2024-07-27 14:05:58 -07:00
Vovodroid
543a1e5c37 Use one loop for draft shield (#5786) 2024-07-27 12:27:58 +08:00
HYzd766
3ca9ffe7aa Update fdm_process_qidi_x3_common.json
change of format
2024-07-26 09:12:00 +08:00
Duan Gauche
50d646dd41 Added Styrene Butadiene Styrene (SBS) to filament_types (#6217)
Co-authored-by: Duan Gauche <duan.gauche@pdsvision.com>
2024-07-25 22:40:17 +08:00
Azi
b40e6c0b9a Fixing high GPU usage when color scheme is set to "Filament" or "Speed" (#6223)
removed imgui.set_requires_extra_frame(), this line causes Slic3r::GUI::GLCanvas3D::render() to be called repeatedly when 'Filament' or 'Speed' is selected for preview panel
2024-07-25 22:38:05 +08:00
KrisMorr
58040a6687 Update Polish translation (#6163)
* Update Polish translation

* fix

johnny-bit suggestion
Thx
2024-07-25 22:33:56 +08:00
Handle
897411547f Update zh_CN translaton. (#6222) 2024-07-25 22:28:35 +08:00
Carlos Francisco Caruncho Serrano
2eb2648bc4 Update spanish translation (#6189)
* Update OrcaSlicer_es.po

* some changes

* Some fixes

* More fixes

* More fixes and improves

* More fixes

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Traducción español Beta 2.1.0

* Update text.js

* Update OrcaSlicer_es.po

Cambiado punto por coma

* Minor fix PR

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update Spanish Language

* Updated strings

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Fixed Spanish Strings in English

Fixed a lot of string whose are translations were english to english.

* Some spanish strings improved

* Update Spanish Strings in RC

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Some fixes

* More fixes and improves

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

Cambiado punto por coma

* Update Spanish Language

* Some spanish strings improved

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Some fixes to PR

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Traducción español Beta 2.1.0

* Update text.js

* Minor fix PR

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Some fixes to PR

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Some fixes

* More fixes and improves

* Some spanish strings improved

* some changes

* Some fixes

* More fixes

* More fixes and improves

* Update OrcaSlicer_es.po

* Fixed Spanish Strings in English

Fixed a lot of string whose are translations were english to english.

* Some spanish strings improved

* Update Spanish Strings in RC

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Revert "Some Spanish Translation Fixes (#6115)"

This reverts commit c37a871dd2.

* Calibration: retraction test

* Fix a regression: Generic filament profiles conflicts #981

* support full_fan_speed_layer

* Support interface fan speed

* profile cover image reorg

* Traducción español Beta 2.1.0

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Some fixes to PR

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Revert "profile cover image reorg"

This reverts commit 041d41fa9f.

* Revert "Support interface fan speed"

This reverts commit a657d85121.

* Revert "support full_fan_speed_layer"

This reverts commit ac6dcadeb0.

* Revert "Fix a regression: Generic filament profiles conflicts #981"

This reverts commit 97118f8e94.

* Revert "Calibration: retraction test"

This reverts commit b210c29434.

* Update OrcaSlicer_es.po

* More fixes

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Final fixes

* Update OrcaSlicer_es.po

* Update Spanish Strings

---------

Co-authored-by: ElectricalBoy <15651807+ElectricalBoy@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
Co-authored-by: SoftFever <103989404+SoftFever@users.noreply.github.com>
2024-07-25 22:26:25 +08:00
SoftFever
b65967978b Always calculate wipe volume and hence provide correct flush_length to custom change filament g-code, so that MMU devices with cutter and purge bin (e.g. ERCF_v2 with a filament cutter or Filametrix can take advantage of it) 2024-07-24 23:41:08 +08:00
SoftFever
37b955082c update "change_filament_gcode" for Prusa XL, fix extra tool park issue after final purge 2024-07-24 19:59:23 +08:00
SoftFever
6d7071bf2d add "temperature" variable support 2024-07-24 19:58:34 +08:00
SoftFever
ff10d5f661 Merge branch 'main' into feature/multitool 2024-07-23 18:21:19 +08:00
SoftFever
f490d2ca9f fix flatpak build 2024-07-23 18:18:27 +08:00
yw4z
4f6c17f568 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
SoftFever
b0bd16e908 hide/disable options accordingly 2024-07-23 00:43:12 +08:00
SoftFever
c36d4ad7c9 Fix misc bugs 2024-07-23 00:12:54 +08:00
SoftFever
b4cc526ae4 Fixed an issue that tall skirt is generated when ooze prevention and skirt are both enabled. 2024-07-22 08:54:01 +08:00
SoftFever
13ddb38119 force restore Z 2024-07-21 23:29:15 +08:00
SoftFever
447cc01405 preheat work - done 2024-07-21 17:58:37 +08:00
enricoturri1966
7d0fb4f42a preheat work - part 1 2024-07-21 10:29:42 +08:00
HYzd766
ab01e7b5c3 Update QIDI PET-CF @Qidi Q1 Pro 0.8 nozzle.json
little change
2024-07-17 11:27:40 +08:00
HYzd766
6601ab9832 Update QIDI PET-CF @Qidi Q1 Pro 0.4 nozzle.json
little change
2024-07-17 11:27:12 +08:00
HYzd766
ea1951b23c Update QIDI PET-CF.json
little change
2024-07-17 11:26:41 +08:00
HYzd766
932371b184 Update fdm_filament_common.json
little change
2024-07-17 11:24:49 +08:00
HYzd766
ac6b996d13 Update fdm_filament_pla.json
little change
2024-07-17 11:23:34 +08:00
HYzd766
3693f36536 Update fdm_filament_pa.json
little change
2024-07-17 11:21:57 +08:00
HYzd766
00b501e6ab Update QIDI PA12-CF.json
little change
2024-07-17 11:19:42 +08:00
HYzd766
afe0da8b62 Update QIDI PAHT-CF.json
little change
2024-07-17 11:18:52 +08:00
HYzd766
e0711fc41f Update QIDI PA12-CF @Qidi Q1 Pro 0.8 nozzle.json
little change
2024-07-17 11:17:36 +08:00
HYzd766
9d1c4e45fb Update QIDI PA12-CF @Qidi Q1 Pro 0.4 nozzle.json
little change
2024-07-17 11:17:03 +08:00
HYzd766
55ece2eaf0 Update QIDI PA-Ultra.json
little change
2024-07-17 11:13:42 +08:00
HYzd766
bb91c23d30 Update QIDI PLA Rapido Matte @Qidi Q1 Pro 0.8 nozzle.json
little change
2024-07-17 11:12:26 +08:00
HYzd766
e6d74e1754 Update QIDI PLA Rapido Matte @Qidi Q1 Pro 0.6 nozzle.json
little change
2024-07-17 11:12:12 +08:00
HYzd766
0664a9396b Update QIDI PLA Rapido Matte @Qidi Q1 Pro 0.2 nozzle.json
little change
2024-07-17 11:11:43 +08:00
HYzd766
bb26424e6a Update QIDI PLA Rapido Matte @Qidi Q1 Pro 0.4 nozzle.json
little change
2024-07-17 11:10:51 +08:00
HYzd766
2341012914 Update QIDI PLA Rapido @Qidi Q1 Pro 0.4 nozzle.json
little change
2024-07-17 11:09:50 +08:00
HYzd766
41e1dc29b1 Update Qidi Generic PLA @Qidi Q1 Pro 0.4 nozzle.json
little change
2024-07-17 11:08:40 +08:00
SoftFever
a9668728bc Merge branch 'main' into feature/multitool 2024-07-16 23:30:26 +08:00
dewi-ny-je
5e4dd4d847 Correction material settings for Ultimaker 2 (#5988)
* Update UltiMaker Generic ABS.json

* Update UltiMaker Generic PLA.json

* Update fdm_filament_abs.json

* Update UltiMaker Generic ABS.json
2024-07-16 23:22:50 +08:00
SoftFever
002125fbe4 Revert "Revert "Some flatpak fixing (#5510)""
This reverts commit e29cba2eff.
2024-07-16 22:39:43 +08:00
SoftFever
3bf868f99d pin cmake version to 3.28 (#6156)
* pin cmake version to 3.28

* remove brew install cmake
2024-07-16 22:37:28 +08:00
Carlos Francisco Caruncho Serrano
c37a871dd2 Some Spanish Translation Fixes (#6115)
* Update OrcaSlicer_es.po

* Traducción español Beta 2.1.0

* Update text.js

* Minor fix PR

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Some fixes to PR

* Update OrcaSlicer_es.po
2024-07-16 19:51:46 +08:00
serhii-nakon
b4a2abeab8 AppImage: Fix env overrides that cause segfault and EGL initialization error for Mesa from GIT (#6141)
Fix override that cause segfault and EGL initialization error

When user built Mesa from GIT and load it using env variables
LD_LIBRARY_PATH and LIBGL_DRIVERS_PATH
it override LD_LIBRARY_PATH inside AppImage but other variable
LIBGL_DRIVERS_PATH not override and it cause EGL init error.
2024-07-16 19:47:47 +08:00
Bernhard Koppensteiner
65d6b3d393 Updated FW version notifications according to Prusaslicer profiles 2024-07-16 12:58:17 +02:00
Bernhard Koppensteiner
53cb9dc73d Merge branch 'main' of https://github.com/koppensb/OrcaSlicer 2024-07-16 12:57:27 +02:00
Bernhard Koppensteiner
5b0e37ed5e moved M74 code to after_layer_change according to prusa slicer profile 2024-07-16 12:56:29 +02:00
HYzd766
e77edd9816 Update Qidi X-Smart 3 0.4 nozzle.json
thumbnail
2024-07-16 10:54:51 +08:00
HYzd766
3010d699b2 Update fdm_qidi_x3_common.json
thumbnail
2024-07-16 10:52:44 +08:00
SoftFever
4b3f91b2e2 Simple preheat, temperary solution 2024-07-16 00:02:38 +08:00
SoftFever
73e4d79a86 update prusa profiles 2024-07-15 23:07:39 +08:00
Vojtech Bubnik
71be87ecef Fixed crash if toolchange G-code modifies final position,
because the extruder was not set yet.
2024-07-15 21:47:10 +08:00
SoftFever
93d025bfd4 update placeholderparser 2024-07-15 21:46:57 +08:00
SoftFever
f84c3a00e0 Fix a regression for SEMM when ramming and cooling is disabled 2024-07-14 17:35:12 +08:00
Leon Bai
854ce80a34 [07-10 Flashforge]: Add more layer height options for AD5M and more nozzles for G3U etc. (#6085)
* Flashforge-06-12: gcode and filament mapping

* 06-27 Add Chuanying x1 printer profiles

* 20240702-Flashforge Guider 2s process fix

* [07-10 Flashforge]: Add more layer height options for AD5M and more nozzles for G3U etc.
2024-07-14 10:43:23 +08:00
InfimechOfficial
373318aa4b add new nozzle type named Hardened Steel Nozzle(HSN) (#6099)
* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* add new nozzle type

* add new nozzle type with filaments

* add new nozzle type with mechine files

* add new nozzle type with process files

* Update InfiMech.json

add new nozzle type

* Update InfiMech.json

* Update 0.08mm Extra Fine @InfiMech TX.json

* Update 0.12mm Fine @InfiMech TX.json

* Update 0.16mm Optimal @InfiMech TX.json

* Update 0.20mm Standard @InfiMech TX.json

* Update 0.24mm Draft @InfiMech TX.json
2024-07-14 10:31:57 +08:00
Olcay ÖREN
d8cfd523ec Update TURKISH translations (#6094)
* Update OrcaSlicer_tr.po - TURKISH translation update

* Update TURKISH translations

* Update TURKISH translations
2024-07-14 10:26:04 +08:00
Bruno Paré-Simard
ea5e0c7e28 [doc] Warn Marlin user that Linear Advance must be enabled in firmware to do the Pressure Advance/Linear Advance calibration (#6111)
* Uses GitHub Markdown Alerts in Calibration.md

* Add warning about Linear advance not enabled in Marlin firmware
2024-07-14 00:02:14 +08:00
SoftFever
aec1a40795 update/refactor/fix XL profiles 2024-07-13 23:29:17 +08:00
SoftFever
0b8515ed20 support Prusa XL 2024-07-13 23:29:16 +08:00
SoftFever
f59c70a7fc Add Prusa XL 5T 2024-07-13 23:29:16 +08:00
SoftFever
dd8ce17693 optimize UI: hide flushing_volume_btn for multi tool 2024-07-12 23:17:50 +08:00
SoftFever
4bca54873d Fix ooze prevention bug 2024-07-12 23:03:07 +08:00
Vovodroid
45224eee21 Auto arrange plate after cloning (#6009)
* Auto arrange plate after cloning
2024-07-11 23:54:42 +08:00
Dylan
230a4aaad8 Limit the max speed on the wipe tower (#6044)
* limit the max speed on the wipe tower
2024-07-11 23:53:32 +08:00
Heiko Liebscher
bac86f481c add new feature translation for de (#6071)
* add new feature translation for de

* Merge branch 'main' into add_new_de_loc

* fix de
2024-07-11 23:52:09 +08:00
artillery3dlab
03180bbde7 Add Artillery's new machine config (#6068)
* Add Artillery's new machine config

* Merge branch 'main' into master

* Merge branch 'main' into master
2024-07-11 23:51:38 +08:00
Bernhard Koppensteiner
09c0faab2c Prusa MINIIS custom g-code changes (#6067)
* added Prusa Mini with Input Shaper to profiles

* Merge branch 'SoftFever:main' into main

* refactoring to more reusable settings

* Merge branch 'SoftFever:main' into main

* added more processes, changed settings

* Merge branch 'main' of https://github.com/koppensb/OrcaSlicer

* Update 0.15mm Speed @MINIIS.json

* Update 0.10mm Speed @MINIIS.json

* changed to cubic because of speed

* Merge branch 'main' of https://github.com/koppensb/OrcaSlicer

* further changes after reviewing prusa slicer settings

* simplified machine settings

* retraction speeds according to prusa slicer

* Merge branch 'SoftFever:main' into main

* changed max flow according to prusa slicer

* Merge branch 'main' of https://github.com/koppensb/OrcaSlicer

* after clearification at the prusaslicer repository M900 got removed

* Merge branch 'SoftFever:main' into main

* precise wall per default

* Merge branch 'main' of https://github.com/koppensb/OrcaSlicer

* enable reverse overhang on odd by default

* added settings from prusa slicer

* changed cooling setings

* Merge branch 'SoftFever:main' into main

* changed default to inner-outer-inner wall

inner-outer-inner gives pretty good overhangs with better surface

* new profiles for bigger nozzles, changed some cooling settings according to prusaslicer

* profiles for different nozzles sizes, better speed settings

* initial layer height was wrong

* wrong initial layer height

* set the correct accelerations

* Merge branch 'main' of https://github.com/koppensb/OrcaSlicer

* changed firmware version number

* using pressure advance UI setting instead of custom filament g-code

* Merge branch 'SoftFever:main' into main

* Update Prusa Generic PC.json

* Update Prusa Generic PC.json

* changed max flow for PC

* added PVA filament profiles

* bug fix in filament loading

* Merge branch 'SoftFever:main' into main

* Merge branch 'SoftFever:main' into main

* changed line width according to prusa slicer

* Merge branch 'main' of https://github.com/koppensb/OrcaSlicer

* Merge branch 'main' into main

* changed heatbed temperature for Minis capabilities

* Merge branch 'main' of https://github.com/koppensb/OrcaSlicer

* Merge branch 'main' into main

* Merge branch 'SoftFever:main' into main

* set default support to snug

* changed default filament setting to the correct value
2024-07-11 23:50:18 +08:00
davidjuanesb
9cc6460eeb Catalan language updated (#6053)
* Catalan language updated

Catalan language updated
2024-07-11 23:49:10 +08:00
Noisyfox
04eec93d0a Fix some utf-8 related issues in Cut gizmo (#6050)
* Fix some utf-8 related issues in Cut gizmo
2024-07-11 23:48:51 +08:00
SoftFever
2fe68edc85 Fix crash on printer UI 2024-07-11 22:52:58 +08:00
SoftFever
e29cba2eff Revert "Some flatpak fixing (#5510)"
This reverts commit 657954901f.
2024-07-11 20:27:45 +08:00
Aidan
657954901f Some flatpak fixing (#5510)
* Use fixed commit for wxwidgets

* disable cache

* Fix imports

* revert some build stuff

* fix python builds

* Don't build OCCT docs, a constexpr borks flatpak

* fix thread import

* Fix import

* Fix import again

* remove git commit

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-07-11 00:07:55 +08:00
ElectricalBoy
93ec1dd7ee Fix typos (#5998)
* Fix typos

* Update translation files appropriately

* Fix more 'fond's with 'found's

* Fix typos

* Fix duplicate message error
2024-07-11 00:04:47 +08:00
SoftFever
47d154ebdb update cover image bg 2024-07-10 21:51:18 +08:00
SoftFever
c719f5c95c tweak UI 2024-07-10 21:40:11 +08:00
SoftFever
c3f0b5e565 ooze prevention update: sync with PrusaSlicer 2024-07-10 21:40:11 +08:00
SoftFever
d872c62256 Add Generic ToolChanger Printer profile 2024-07-10 21:40:11 +08:00
SoftFever
18e417b34b tidy up some codes 2024-07-10 21:40:10 +08:00
SoftFever
860a41baed update wipe tower according to latest PrusaSlicer 2024-07-10 21:40:10 +08:00
SoftFever
1c68d58343 support has_single_extruder_multi_material_priming 2024-07-10 21:40:10 +08:00
SoftFever
b6a1a06c25 fix crash 2024-07-10 21:40:09 +08:00
SoftFever
8ff7b0fac2 dynamic list 2024-07-10 21:40:09 +08:00
SoftFever
c2320e03a5 tool changer support - init work 2024-07-10 21:40:09 +08:00
SoftFever
2acf60a8b5 Add BigTreeTech as sponsor 2024-07-10 01:30:03 +08:00
SoftFever
c7206dcb8d Update FUNDING.yml 2024-07-09 21:06:06 +08:00
Bernhard Koppensteiner
fc763279d8 Merge branch 'SoftFever:main' into main 2024-07-09 07:45:38 +02:00
Bernhard Koppensteiner
a0a20349d0 changed position of the homeing gcode so the pinda probe gets heated 2024-07-08 08:09:42 +02:00
ElectricalBoy
40aadbc51c Update Korean Translation (v2.1.1_2) (#5977)
* Add missing translations

* Update translation template

* Fix unnatural translation
2024-07-07 11:49:00 +08:00
Noisyfox
adec6b7ebd Try fixing build with gcc 13.3 (SoftFever/OrcaSlicer#5991) (#5992) 2024-07-07 11:48:05 +08:00
HYzd766
f714b849ad Update fdm_process_qidi_common.json
change
2024-07-05 19:09:02 +08:00
HYzd766
6660500b58 Update fdm_process_common.json
change
2024-07-05 19:08:08 +08:00
HYzd766
d747835f56 Update Qidi Q1 Pro.json
change of default materials
2024-07-05 19:02:03 +08:00
HYzd766
5fa116bd14 Update Qidi X-Smart 3.json
change of default materials
2024-07-05 19:00:58 +08:00
HYzd766
aabae67534 Update Qidi X-Plus 3.json
change of default materials
2024-07-05 19:00:21 +08:00
HYzd766
a613280a42 Update Qidi X-Max 3.json
change of default materials
2024-07-05 18:59:36 +08:00
HYzd766
0dab437cf7 Update fdm_process_qidi_x3_common.json
change of sparse_infill_pattern
2024-07-05 17:47:43 +08:00
HYzd766
1fce412fa1 Update Qidi X-Smart 3 0.4 nozzle.json
change of thumbnails
2024-07-05 09:22:46 +08:00
HYzd766
82cb4ee51c Update fdm_qidi_x3_common.json
change of thumbnails
2024-07-05 09:21:25 +08:00
ElectricalBoy
4ca0b24002 CI: Avoid Linux Asset Name Collision (#5976)
CI: Avoid asset name collision
2024-07-03 19:48:04 +08:00
SoftFever
9eaff8ff2f Link WIKI 2024-07-02 21:49:24 +08:00
SoftFever
12b0a9680f add WIKI for precise-z-height 2024-07-02 21:46:12 +08:00
ElectricalBoy
0b6fc3d389 CI: Build with ubuntu-24.04 (#5919)
* CI: Build with ubuntu-24.04

* Use apt-get in ubuntu-24.04

* Fix step name

* Use alternate approach for detecting libwebkit2gtk version

* CI: Install libfuse2 in ubuntu-24.04

* Reduce repetitive code in workflows

Co-authored-by: Ocraftyone <Ocraftyone@users.noreply.github.com>

* CI: Install libfuse2

Runtime dependency for AppImage

* Fix filenames for nightly deployment

* Properly nest conditional

---------

Co-authored-by: Ocraftyone <Ocraftyone@users.noreply.github.com>
2024-07-01 23:44:49 +08:00
SoftFever
a0dae394e7 Fixed an issue that WIKI action didn't work if it's manually triggered. 2024-07-01 22:19:03 +08:00
SoftFever
c6205fa806 Small tweak for GH workflow 2024-07-01 21:56:02 +08:00
SoftFever
c762a45676 try to fix wiki actions 2024-07-01 21:20:46 +08:00
cochcoder
d1c84cebd5 Allow variable temperatures with the Tronxy X5SA 400 (#5752)
* Fix only having one set temperature with the Tronxy X5SA 400

* Add defualt filament & process
2024-07-01 21:00:27 +08:00
Christos Karampeazis-Papadakis
7707685069 Disable small area flow compensation on first layer (Fixes #4617) (#5838)
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-07-01 18:13:50 +08:00
Ruslan Kyba
1aa5817624 update Ukrianian translations ( 2.1.1 ) (#5956)
* chore: update

* chore: update
2024-07-01 18:07:50 +08:00
Robert Schiele
ee67b8d762 more missing includes (#5930)
Here are more missing header files recently identified by building
without precompiled header support.
2024-07-01 18:07:19 +08:00
KrisMorr
bca67b5baa update Polish translations ( 2.1.1 ) (#5948)
* update Polish translations ( 2.1.1 )

* update OrcaSlicer.pot + PL fix

* typo
2024-06-30 23:40:20 +08:00
Heiko Liebscher
3333a650b7 add new de for v2.1.1 (#5940) 2024-06-30 23:38:30 +08:00
Noisyfox
4145f45e42 Port of Cura's multi-material interlocking (#5775)
* Init port of Cura's MM interlocking

* Refactor a bit

* Fix crash when bottom surface is multi-color

* Fix crash when boundary avoidance is 0

* Add config

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-06-30 23:25:15 +08:00
Bernhard Koppensteiner
1384b04885 Merge branch 'main' of https://github.com/koppensb/OrcaSlicer 2024-06-29 20:41:41 +02:00
Bernhard Koppensteiner
bb7d00094b Merge branch 'SoftFever:main' into main 2024-06-29 20:41:11 +02:00
Bernhard Koppensteiner
9b2a254c5e removed prime tower for color change 2024-06-29 20:39:13 +02:00
analysis230
8ccf0edbc2 Adding pellet printer suppor to OrcaSlicer (#4836)
* creating settings for printer and some UI changes work

* related filament diameter and pellet flow changes to each other

* UI name change to turn Filament to Material

* updated the flow coefficient to filament diameter formula

* updated the preset for the configuration wizard

* configuration changes for the final release

* config changes and preset bundle sync removed

* start gcode change for ginger machines

* added explanation of relationship between pellet_flow_coefficient and filament_diameter

* Added tooltip. Fixed Ginger machine configuration, Added docs
2024-06-29 22:45:06 +08:00
Vovodroid
409004d471 VS2022 Win10 build fix (#5806)
* VS2022 Win10 build:

- use DEPS variable for both deps and slicer build
- use installed WinSDK version
- echo real cmake command line
2024-06-29 22:21:57 +08:00
Vovodroid
5ff93fe103 Mark unsaved project title with * (#5910)
* Mark unsaved project title with *
2024-06-29 22:13:57 +08:00
Ioannis Giannakas
b47810435a Extrusion Rate Smoothing: Round speed values to prevent needless & trivial speed fluctuations (#5911)
* Update pressure equalizer to address rounding

* Merge branch 'SoftFever:main' into Extrusion-Rate-Smoothing-Round-speed-values-to-prevent-unecessary-minor-speed-fluctuations
2024-06-29 22:11:45 +08:00
ElectricalBoy
edb9ec9dd7 Update Korean Translation (v2.1.1) (#5918)
* ko: Fix typo

* Update existing Korean translations
2024-06-29 17:33:59 +08:00
Vovodroid
a13152c61f Add travel_slope option (#5873)
* Add travel_slope option

* Merge branch 'main' into travel-slope-pr
2024-06-29 17:33:22 +08:00
Robert Schiele
f5c5f322d2 add missing includes (#5691)
* add missing includes

Building without precompiled header support revealed some missing
includes that are added with this change for code health purposes.
Those missing includes were hidden by precompiled header support due to
the fact that the precompiled header file provides some definitions
despite not being defined in directly or indirectly included header
files.
2024-06-29 12:21:52 +08:00
Robert Schiele
b18c0c76ae support Clear Linux OS (#5652)
* support Clear Linux OS

Add some initial support for Clear Linux OS
(https://www.clearlinux.org/).
2024-06-29 12:21:29 +08:00
Dima Buzdyk
aa22b7f220 build on systems with libwebkit2gtk-4.1 (#5135)
Linux distros started removing libwebkit2gtk-4.0 libriry from their
repos. Ubuntu Noble (24.04) is one of them.

Modify debian/ubuntu deps to install libwebkit2gtk-4.1 if
no libwebkit2gtk-4.0 available
2024-06-29 12:15:48 +08:00
analysis230
31df3f01ea Documentation updates. Adding some developer centric docs (#4807)
* Renamed How to build file so the Wiki link works

* Some documentation updates.

* added clarifications and updates
2024-06-28 20:52:46 +08:00
HYzd766
edf2aeb751 Qidi profiles tweaks: update pressure_advance for 0.4mm nozzles (#5887)
* Qidi.Json

* Qidi.json

* Qidi.json

* Qidi.json

* Qidi.json

* Qidi.json

* Merge branch 'main' into HY3

* Update Qidi Generic PLA @Qidi Q1 Pro 0.4 nozzle.json

We want to change prssure_advance

* Update Qidi Generic PLA @Qidi Q1 Pro 0.4 nozzle.json

PA Change
2024-06-28 18:39:16 +08:00
Leon Bai
299e4161ec 06-27 Add Chuanying x1 printer profiles (#5888)
* Flashforge-06-12: gcode and filament mapping

* Merge branch 'SoftFever:main' into main

* Merge branch 'SoftFever:main' into main

* 06-27 Add Chuanying x1 printer profiles
2024-06-28 18:37:26 +08:00
Ferbez
b56bbbff4e Make document icons comply with macOS design guidelines (#5897)
* Document icons now fit macOS design guidelines
2024-06-28 18:36:43 +08:00
anselor
238bf49f47 Restore nozzle override fix (#5900)
* Restore nozzle override fix
2024-06-28 18:31:47 +08:00
HYzd766
1a48c0f4b0 Update Qidi Generic PLA @Qidi Q1 Pro 0.4 nozzle.json
PA Change
2024-06-28 14:06:43 +08:00
HYzd766
8070e78c14 Update Qidi Generic PLA @Qidi Q1 Pro 0.4 nozzle.json
We want to change prssure_advance
2024-06-27 11:04:28 +08:00
SoftFever
a4357d1e95 bump version to 2.1.1 2024-06-26 22:05:17 +08:00
SoftFever
e0daca73ab upgrade profiles version to 02.01.01.00 2024-06-26 21:32:45 +08:00
SoftFever
2a8cf0ec86 reduce size of printer models and cover images 2024-06-26 21:30:56 +08:00
Thomas
c7f0fc86a7 Typo fix (#5871)
* Fixed typo "Internel error"

* Revert french translation
2024-06-26 20:37:08 +08:00
Thomas
1376556b0a Added new strings for French (#5870)
Added new strings
2024-06-26 20:36:24 +08:00
Ruslan Kyba
2431429c49 Update Ender-3 V3 printer profiles (#5771)
* Update printer profiles

* Fix accelerations

* Fix z hop

* Small fixes

* Update layer height according to printer data sheet

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-06-26 20:33:53 +08:00
Ruslan Kyba
63768cb87f Add Flyingbear Ghost 6 profile (#5826)
* chore: init

* chore: update

* chore: update

* chore: update

* chore: udpate

* chore: update

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-06-26 20:28:35 +08:00
Tom
aeac07b9c9 Resolves #5808: Fix missing K1C processes (#5815)
* refactored printer name to resolve #5808

* updarted name of profile to match all other K1C profiles

---------

Co-authored-by: Thomas Brough <tbrough@Thomass-MacBook-Pro.local>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-06-26 20:28:11 +08:00
whoseyoung
52cfa48168 official profiles for Geeetech printers (#5790)
add some series of printer parameter configurations. 15 Geeetech printers, including 3 series models.
Thunder series. A high-speed printer and the maximum printing speed can reach 300 mm/s. Mizar series. A machine that has very exquisite print quality and ultra quiet printing. Other Geeetech printers.
---Request from Geeetech offical .

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-06-26 20:24:03 +08:00
SoftFever
8c00db6ace Tweak profile loading rules 2024-06-26 20:23:34 +08:00
SoftFever
c72ef08275 Fix some profile errors 2024-06-26 18:16:33 +08:00
Noisyfox
eeae1b2c7e Fix few mirror related issues (#5827)
* Do not use get_scaling_factor then construct the matrix again, because it cannot properly handle situations that contains negative scale (mirror) / shear (SoftFever/OrcaSlicer#5578)

* Do not use get_scaling_factor then construct the matrix again, because it cannot properly handle situations that contains negative scale (mirror) / shear (SoftFever/OrcaSlicer#5578, SoftFever/OrcaSlicer#4719)
2024-06-26 18:08:15 +08:00
SoftFever
7e85eb0d7d Upgrade Mac CI/CD to macos-14 (#5856) 2024-06-25 23:24:39 +08:00
HYzd766
63dcf82f15 Bug Repaired (#5801)
* Qidi.Json

* Qidi.json

* Qidi.json

* Qidi.json

* Qidi.json

* Qidi.json
2024-06-25 00:58:46 +08:00
Olcay ÖREN
091ec23795 Update TURKISH translations (#5831)
* Update OrcaSlicer_tr.po - TURKISH translation update

* Update TURKISH translations
2024-06-25 00:52:29 +08:00
ElectricalBoy
a788b6360b Update Korean Translation (v2.1.0) (#5804)
* ko: Add missing translations

* ko: Make existing translations more natural
2024-06-25 00:52:04 +08:00
Andy
89d627693f Update russian translations (2.1.0 Release) (#5800)
* Update russian translations (2.1.0 Release)

Russian Translation Update for OrcaSlicer V2.1.0 Official Release.

* Update russian translations (2.1.0 Release)

Russian Translation Update for OrcaSlicer V2.1.0 Official Release.

* Update russian translations (2.1.0 Release)

Russian Translation Update for OrcaSlicer V2.1.0 Official Release.
2024-06-25 00:51:42 +08:00
Carlos Francisco Caruncho Serrano
9a3671a87f Translate and fix spanish (#5833)
* Update OrcaSlicer_es.po

* Traducción español Beta 2.1.0

* Update text.js

* Minor fix PR

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po
2024-06-25 00:50:47 +08:00
Noisyfox
76fc7e6d21 Fix PrusaLink upload when PUT is used (#5843)
(SoftFever/OrcaSlicer#5840) Fix PrusaLink upload when PUT is used
2024-06-25 00:48:38 +08:00
SoftFever
34ad17bcd2 Fix small area flow comp regression and some other small tweaks (#5844)
* Fix regression, always create SmallAreaInfillFlowCompensator model
small_area_infill_flow_compensation is per-region parameter, it's not necessary to iterate though all regions to check whether to create a model.

* Make SmallAreaInfillFlowCompensator robus.
1. handle spaces/tabs/new lines etc
2. don't throw expection, fall back to no-op instead if parsing failed

* Fixing an issue that changing small_area_infill_flow_compensation per modifier didn't take effect
2024-06-25 00:20:20 +08:00
HYzd766
5feefb5efd Merge branch 'main' into HY3 2024-06-22 14:17:20 +08:00
HYzd766
cfba60810f Qidi.json 2024-06-22 14:05:19 +08:00
Ocraftyone
5c9b82d6ec Update Web Link Association in Preferences (#5791)
* Fix check_url_association return value

* Update Web Link Association Preferences

Uses a checkbox in place of button to show if the current instance is registered at a quick look
New function is added to build the link association item
Current association line shows "None" for no app associated, "Current Instance" if the current instance is associated, and the formatted path to the registered app (Removes quotes and other extra chars)

* Update to use localization

* Fix Linux Build

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-06-21 21:06:12 +08:00
SoftFever
6c5cd0a31f bump version to 2.1.0 official 2024-06-21 20:07:37 +08:00
SoftFever
bf646c3f29 update locales 2024-06-21 20:07:07 +08:00
Carlos Francisco Caruncho Serrano
c1a901e46c Fix Spanish translation strings (#5792)
* Update OrcaSlicer_es.po

* Traducción español Beta 2.1.0

* Update text.js

* Minor fix PR

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po
2024-06-21 19:49:57 +08:00
Noisyfox
cd6cd0786f Various improvements to SimplyPrint integration (#4831)
* Allow using BBL's device tab when 3rd party print host is used

* Add option to open SimplyPrint panel in device tab after uploading

* Fix default print host for prusa connect

* Do not set api key in device view when SimplyPrint is used

* Sending 3mf file to SimplyPrint when using BBL printers

* Fix file extension when uploading 3mf

* Prepare for large file uploading

* Implement chunk upload

* Fix file uploading exceeding content size

* Fix wrong field type

* Add `temp=true` to all chunk upload calls

* Add macro to enable test api

* Merge branch 'main' into dev/simplyprint-improve

* Fix another missing `temp=true`

* Add delete token

* Try fixing build error on *nix systems

* Merge branch 'main' into dev/simplyprint-improve

* Merge branch 'main' into dev/simplyprint-improve

* Merge remote-tracking branch 'remote/main' into dev/simplyprint-improve

# Conflicts:
#	src/slic3r/GUI/BackgroundSlicingProcess.cpp

* Move the `bbl_use_print_host_webui` option to print host dialog. Also make it a derived option of `print_host_webui` instead.

* Merge branch 'main' into dev/simplyprint-improve

# Conflicts:
#	src/slic3r/GUI/MainFrame.cpp
#	src/slic3r/GUI/Plater.cpp

* Merge branch 'main' into dev/simplyprint-improve

# Conflicts:
#	src/slic3r/GUI/Plater.cpp

* Use a more generic option instead of SimplyPrint specific

* Merge branch 'main' into dev/simplyprint-improve

* Merge branch 'main' into dev/simplyprint-improve
2024-06-21 19:48:00 +08:00
SoftFever
b7a0b30578 Pick updates from BS 1.9.3
sync bbl profiles
FIX: [#4320] crash when edit project preset

github: #4320

Change-Id: I81eb5f0d461565d63a32100a5bebb4569cfb0b1b
ENH: add pctg type

Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ie01fcd4bef0d3ebec5bbd7185a87a1740068bdba
(cherry picked from commit c6276932dd92bc4283600954415eedeac6d351ce)
ENH: CLI: add logic to save metadata into 3mf from CLI

JIRA: no jira
Change-Id: I7f96c2ab9671ec1c0115e90f6d64230b8170eb38
(cherry picked from commit 3d2d6e23ba318a2b331a62e320f8ca199168f1f5)
2024-06-21 18:21:21 +08:00
InfimechOfficial
6a28bae6fd Update Infimech profiles: fix printstart gcode (#5787)
* Update fdm_klipper_common.json

* Update fdm_machine_common.json
2024-06-21 17:55:37 +08:00
FlyingbearOfficial
0af5b47028 Update Flyingbear profiles: fix startcode (#5784)
* Update FlyingBear S1 0.4 nozzle.json

* Update 0.16mm Optimal @FlyingBear Reborn3.json

* Update 0.16mm Optimal @FlyingBear S1.json

* Update fdm_process_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Update fdm_process_common.json

* Update fdm_process_common_S1.json

fix some parameters

* Update fdm_process_common.json

* Update FlyingBear S1 0.4 nozzle.json
2024-06-21 17:54:51 +08:00
Carlos Francisco Caruncho Serrano
87e77133ca Spanish translation RC 2.1.0 (#5779)
* Update OrcaSlicer_es.po

* some changes

* Some fixes

* More fixes

* More fixes and improves

* More fixes

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

Cambiado punto por coma

* Update Spanish Language

* Updated strings

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Fixed Spanish Strings in English

Fixed a lot of string whose are translations were english to english.

* Some spanish strings improved

* Update Spanish Strings in RC
2024-06-21 17:54:00 +08:00
ElectricalBoy
a1d7c8baf8 Update Korean (ko) Translation (#5764)
* Add translation for "Don't slow down outer walls" in Korean

* Update existing/missing translations in Korean

* Make "Don't slow down outer walls" translation more natural
2024-06-21 17:51:13 +08:00
Dylan
02a4c9069c Fix Snapmaker profiles (#5763)
* update snapmaker profiles

- add BracingKit for Snapmaker 2
- add Artisan profiles

* remove key

* fix compatible_printers

* remove pva for single extruder

* fix ci

* Fix compatible_printers

* Revert specific parameters
2024-06-21 17:46:47 +08:00
KrisMorr
7788c5de22 update Polish translations ( 2.1.0-rc ) (#5753)
* update Polish translations ( 2.1.0-rc )

* update Polish translations ( 2.1.0-rc )
2024-06-21 17:45:34 +08:00
cochcoder
1678127e2b Minor improvements & fixes for Ender-3 V3 KE (#5743)
* Minor improvements & fixes for Ender-3 V3 KE

* revert machine_pause_gcode
2024-06-18 21:20:16 +08:00
Olcay ÖREN
7ed663135d Update TURKISH translations (#5735)
Update OrcaSlicer_tr.po - TURKISH translation update
2024-06-18 21:18:54 +08:00
Thomas
c9c7ae62d6 New French translations for 2.1.0-rc (#5734)
Added new translations
2024-06-18 21:18:25 +08:00
Heiko Liebscher
9df712fd9e add new german translations (#5729) 2024-06-18 21:18:01 +08:00
davidjuanesb
1445d0c501 Added catalan language to resources\web\data\text.js (#5727)
* Catalan language updated to 2.1.0 beta

Catalan language updated to 2.1.0 beta

* added catalan translation at text.js file

Added new language "ca_ES" but loading "en" by default. Catalan language should be shown at preferences as "Català" instead of "Catalan". Please, solve these issues

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-06-18 21:17:36 +08:00
SoftFever
df2674e19d bump version to 2.1.0-rc 2024-06-16 23:44:49 +08:00
SoftFever
217d2bb411 update loacale 2024-06-16 23:44:34 +08:00
SoftFever
6589d2c784 Tweak the color of viewcube a bit so that it's not too intrusive. 2024-06-16 22:56:52 +08:00
Ioannis Giannakas
12861a6a3d Enhancement: Do not slow down external perimeters to meet minimum layer time (#5148)
* POC - Do not slow down external perimeters to meet minimum layer time

* POC - Do not slow down external perimeters to meet minimum layer time - rework

* Revert "POC - Do not slow down external perimeters to meet minimum layer time"

This reverts commit d84ff93f90.

* Dont slow down external perimeters to meet layer time target v2

* Reverted previous implementation

* UI fixes for dont slow down for layer cooling

* Update dont slow down outer walls naming convention

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-06-16 22:38:13 +08:00
SoftFever
9ee33e30df bump profile version to 02.01.00.01 2024-06-16 21:22:23 +08:00
SoftFever
1ec239e5b4 update locale and Simplified Chinese translations 2024-06-16 21:19:36 +08:00
cochcoder
7e00444726 Add support for Rat Rig V-Core 4 & V-Core 4 HYBRID (#5660)
* Initial add of RatRig core v4

* Merge branch 'main' into ratrig-v4

* Fix check error

* Add V-Core 4 covers

* Add V-Core 4 to filament

* Initial add for HYBRID profiles

The rest will come tomorrow ;)

* Misc

Add HYBRID profiles
Rename Core V4 to V-Core 4
Add HYBRID cover

* Fix filament

* Merge branch 'main' into ratrig-v4
2024-06-16 21:12:19 +08:00
SoftFever
554366d493 Take brim width into consideration when placing wipe tower 2024-06-16 18:48:26 +08:00
SoftFever
27f140fb18 Mdel preview renders the actual colors of the filaments based on the filaments currently loaded in the AMS
Ported from BambuStudio
2024-06-16 17:15:51 +08:00
SoftFever
4590c765c6 Revert "Tab improvements (#5210)"
Causing regression bugs in high DPI

This reverts commit 872f729d75.
2024-06-16 10:07:05 +08:00
Noisyfox
54653ea316 Fix crash caused by wrong pointer used after VtxBuffer resized during 3d navigator rendering (#5719) 2024-06-16 02:16:54 +08:00
SoftFever
9ae9585e94 upgrade bbl plugin and profiles 2024-06-16 02:15:46 +08:00
SoftFever
e79843872b misc updates 2024-06-16 02:06:36 +08:00
chunmao.guo
1f97147023 FIX: tunnel_mqtt not turn on by key_field_only
Change-Id: I87446cd709e6e324ea36962182e7fae1e977b0f5
2024-06-16 01:44:32 +08:00
jianjia.ma
6dd2409ca5 ENH: Reduce warpping effect on CrossHatch
jira: 6984

Change-Id: If8df59b952bc7c9fb26076d3d38c2cdcd15c0ebe
2024-06-16 01:44:31 +08:00
tao wang
77ec16b4cd ENH:get sound support through homeflag
jira:[for sound]

Change-Id: I92b176d0c6708eb69e1318f244382e72b679ec39
2024-06-16 01:44:31 +08:00
zhimin.zeng
2ac41509d7 FIX: modify top_shell_layer should reslice
jira: none
Change-Id: Ied85b87ea4e036a60024977c50ac926c7293a5e1
2024-06-16 01:44:31 +08:00
Stone Li
5d5f2b4ba1 ENH: avoid crash when switching to cloud mode
JIRA: STUDIO-7083

Change-Id: Ic30025049e14d61726b189bd222ae600ea419243
Signed-off-by: Stone Li <stone.li@bambulab.com>
2024-06-16 01:44:30 +08:00
zhimin.zeng
50c42b3c0d FIX: P series with old fireware modify the limit k value to 1
jira: 7215
Change-Id: I1b0d1a5931487f0fa2b7d66a4c224e33d3710c73
2024-06-16 01:44:30 +08:00
zhimin.zeng
9c9d175374 FIX: Multicolor slicing error when contours self-intersect
github: 4138
Change-Id: I08375e2cf66d4fa4c7322f5aa1b8e86a7c49bf2d
(cherry picked from commit b2a1f816605615cbd2e47c62a00d3b87998e3213)
2024-06-16 01:44:30 +08:00
zhimin.zeng
a4be61e391 FIX: modify the limit value of k to 1
jira: none
Change-Id: Ibb829c0d820ef63ec767e4591815d234d0c0ddc0
2024-06-16 01:44:29 +08:00
SoftFever
1ff70be243 Add back control pool 2024-06-16 01:44:29 +08:00
zhimin.zeng
0b9a6b5fe4 FIX: X1C should not litmit the k value size
github: 4168
Change-Id: Iaf0a5a2334debda3de41192b4ea17ebd0c0a3e09
2024-06-16 01:44:29 +08:00
zhou.xu
13c6914c64 FIX:roload obj for disk
jira: STUDIO-7202
Change-Id: I6726a21176dfc9f545b58c5fe9f2ebf623b012d6
2024-06-16 01:44:29 +08:00
zhimin.zeng
08751b0dee FIX: cannot slice when set object extruder is 0
jira: none
Change-Id: Idb6e01acc8ac7801331c3b6b4b0e64a23cc02208
2024-06-15 20:31:46 +08:00
zhimin.zeng
d6e0cdaf16 FIX: interlocking_depth does not take effect
jira: none
Change-Id: I5298c3fd9ca20273f7e84262d35a59f6aa6e5f41
2024-06-15 20:30:33 +08:00
tao wang
8e7d1694f9 ENH:SD card printing using cloud service
jira:[for sdcard print]

Change-Id: I9b3f3cc5db1b5c1c63d4e9e016cdd81db6893b65
2024-06-15 20:29:50 +08:00
zhimin.zeng
0886610160 FIX: crash when generating text with thickness <= 0
github: 4122
Change-Id: I0fae6ea234ddb92ef2c2bec6e0f8f7555709ec4f
2024-06-15 20:29:37 +08:00
zhimin.zeng
022c2ff53e FIX: Unwanted skirts when printing By Object
github: 4002
Change-Id: Id2df01bb0d296c5fea2bf53947b57abbb8eb0786
2024-06-15 20:15:35 +08:00
SoftFever
85d88e68be FIX: unassigned initial extruder ignored
from BambuStudio
2024-06-15 20:14:48 +08:00
lane.wei
50e8e90dc8 FIX: update: add more logic to protect the file access
previous json lacks information

github: https://github.com/bambulab/BambuStudio/issues/4050
Change-Id: Ieca2a440f58f77f91caeac00576a38c861b26a5b
2024-06-15 19:59:11 +08:00
davidjuanesb
012df4d262 Catalan language updated to 2.1.0 beta (#5715)
Catalan language updated to 2.1.0 beta
2024-06-15 19:32:29 +08:00
Ryan Cavanaugh
b2a5543b97 Use C++11 random number generator for fuzzy skin (#5682)
* Use C++11 random number generator for fuzzy skin

* Merge branch 'main' into use_new_rng
2024-06-15 16:32:28 +08:00
cochcoder
35352d48e8 Fix Dremel 3D45 Profile (#5497)
* Change G-Code

* Change config to closely match prusa profile

The profile can be found at https://forum.prusa3d.com/forum/prusaslicer/looking-for-a-dremel-3d45-profile-for-prusa-slicer-help-me-help-my-students/

* Use original build plate model

* Change printable area

* Update machine settings

* Change bed model naming

* Prevent future conflicts

* Update values

* Fix error

* Disable firmware retraction

* Enable reduce infill retraction

* Fully disable relative e distances

* Fix filename format

* Revert "Fix filename format"

This reverts commit b95e76a57a.

* Forgot this one

* Clean up
2024-06-15 16:01:26 +08:00
SoftFever
b3fff4ffd5 Removed the copyright and credits in the header of each file. This information is outdated and hard to update. Orca Slicer maintains the autoher info in git history so this is not necessary. 2024-06-15 14:56:44 +08:00
cochcoder
0b233f23b5 Fix time cost not being considered in total cost (#5698)
* Fix time cost not be added in total cost
2024-06-15 14:56:14 +08:00
anselor
de5fa59153 Add filament types from the Create Filament dialog to the Edit dialog… (#5705)
Add filament types from the Create Filament dialog to the Edit dialog. Baffling why so much information is copied around...
2024-06-15 12:48:45 +08:00
Carlos Francisco Caruncho Serrano
4b1ed5ed92 Spanish translation Beta 2.1.0 (#5694)
* Update OrcaSlicer_es.po

* some changes

* Some fixes

* More fixes

* More fixes and improves

* More fixes

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

Cambiado punto por coma

* Update Spanish Language

* Updated strings

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Fixed Spanish Strings in English

Fixed a lot of string whose are translations were english to english.
2024-06-15 12:47:37 +08:00
Bernhard Koppensteiner
5dcf026ca4 MINIIS Profiles: Bug fixes in processes regarding line width, fewer wall loops on bigger nozzles (#5699)
* added Prusa Mini with Input Shaper to profiles

* refactoring to more reusable settings

* added more processes, changed settings

* Update 0.15mm Speed @MINIIS.json

* Update 0.10mm Speed @MINIIS.json

* changed to cubic because of speed

* further changes after reviewing prusa slicer settings

* simplified machine settings

* retraction speeds according to prusa slicer

* changed max flow according to prusa slicer

* after clearification at the prusaslicer repository M900 got removed

* precise wall per default

* enable reverse overhang on odd by default

* added settings from prusa slicer

* changed cooling setings

* changed default to inner-outer-inner wall

inner-outer-inner gives pretty good overhangs with better surface

* new profiles for bigger nozzles, changed some cooling settings according to prusaslicer

* profiles for different nozzles sizes, better speed settings

* initial layer height was wrong

* wrong initial layer height

* set the correct accelerations

* changed firmware version number

* using pressure advance UI setting instead of custom filament g-code

* Update Prusa Generic PC.json

* Update Prusa Generic PC.json

* changed max flow for PC

* added PVA filament profiles

* bug fix in filament loading

* changed line width according to prusa slicer

* changed heatbed temperature for Minis capabilities

* set default support to snug

* changed default filament setting to the correct value

* changed line with to the correct values according to prusaslicer profiles

* Update Prusa MINIIS 0.4 nozzle.json

updated firmware version

* updated firmware version

* changed first layer height according to optimal value of the respective nozzle size

* changed wall loops to 2 for bigger nozzles
2024-06-15 12:47:08 +08:00
cochcoder
2820d95ed6 Make Ender 3 S1 Pro's buildplate more accurate (#5676)
* Remove old model

* Add new model
2024-06-15 12:43:32 +08:00
Leon Bai
ea13193f70 Flashforge-06-12: gcode and filament mapping (#5684) 2024-06-15 12:40:44 +08:00
cochcoder
06caebd389 Add Sovol SV06 High Speed process that Sovol provides (#5675)
Add Sovol SV06 High Speed process
2024-06-15 12:25:15 +08:00
HYzd766
9411354139 Tweak Qidi profiles (#5677)
* Qidi.Json

* Qidi.json

* Qidi.json

* Qidi.json

* Qidi.json
2024-06-15 12:24:26 +08:00
Ikko Eltociear Ashimine
5eacf6a11c docs: update README.md (#5656)
originaly -> originally
2024-06-15 12:22:40 +08:00
Kiss Lorand
a12af8ab04 Fix Line sparse infill (#5658)
Fix Line sparse infill bug
2024-06-15 12:21:37 +08:00
Noisyfox
dbac0f2919 Better 3D navigator (#5620)
* Initial working impl of face labels

* Improve color

* Remove background
2024-06-15 12:17:57 +08:00
Bernhard Koppensteiner
796d445855 Merge branch 'SoftFever:main' into main 2024-06-14 08:08:32 +02:00
Bernhard Koppensteiner
41504ff0dc changed wall loops to 2 for bigger nozzles 2024-06-13 14:40:10 +02:00
HYzd766
f94cfe0eb1 Qidi.json 2024-06-12 16:22:50 +08:00
HYzd766
8060010276 Qidi.json 2024-06-11 10:09:33 +08:00
Bernhard Koppensteiner
f86b45e4fa changed first layer height according to optimal value of the respective nozzle size 2024-06-10 07:53:35 +02:00
Bernhard Koppensteiner
b1c0b40fea updated firmware version 2024-06-10 07:52:55 +02:00
SoftFever
aa692b815e Add Profiles for The Positron profiles (#5640)
* add the positron profiles

* update printable_height to 165
2024-06-09 00:17:22 +08:00
SoftFever
ef73bafeb0 Feature/add 0.2 0.6 0.8 nozzle for my klipper machine (#5637)
* Add 0.2mm 0.6mm 0.8 mm nozzle for MyKlipper profile

* small change
2024-06-08 21:37:09 +08:00
SoftFever
f9ecc9d423 Fix some small issues for Prusa XL profiles:
1. fixed some wrong parameter names
2. fixed bed texture
3. Fix typo "pursa"
4. Use Prusa XL in all cases
2024-06-08 17:38:09 +08:00
cochcoder
467691db5e Add support for Prusa XL Input Shaper (only one head will print) & add PC-CF, PA11-CF, & PVB filament types (#5511)
* Add Prusa XL & speed profile

* Wrong name

* Fix cover image sizing

* Change infill pattern & density to whats in PrusaSlicer

* Fix filament start G-Code & Add additional info in printer notes

* Add PETG profile

* Link PETG profile

* Add ABS & add bed temps

* Add Prusament PLA & attempt at removing ramming limits

* Allow user to change ramming time & volume

* Revert changing identifier

* Remove invalid ramming variables

* Add Prusament PETG

* Try this

* Revert "Try this"

This reverts commit c6228950fb.

* Revert ramming changes

* Add rPLA, PLA+, PC-CF, PA11-CF, and PVB

* Add PVB profile and other minor improvements

* Add image formats

* Add rPLA profile & remove rPLA & PLA+ from printConfig

* Add Prusament PC-CF & small bug fixes

* Add Prusament ASA, PA-CF, PC, & pa11cf common file

* Minor improvements to common and speed profiles

* Add 0.20mm Quality profile

* Add .3mm Draft process & link .2mm Quality

* Add 0.15mm Quality process

* Add 0.10mm Detail process

* Add 0.07mm UltraDetail profile

* Add 0.5mm nozzle size & related processes

* Set default print profile

* Fix incorrect bridge flow ratio

* Fix incorrect support z distance

* Correct skirt values if enabled

* Add 0.6 & 0.8 nozzles & respective profiles as well as some fixes

* Set default profile for 0.8

* Add 0.25, 0.3, & respective profiles

This also adds all the nozzle sizes to the filament profiles

* Adapt filename format

* Remove unneeded values

* Add Input Shaper

* Fix raft contact distance

* Add Input Shaper profiles to filaments

* List default profiles

* Add printer variant variable

* Change cover sizes & optimize svg

* Fix small filament bug

* Add comment for symmetry

* Add Prusa before XL & XLIS

* Fix failing check

* Fix failing check part 2

* Some small changes

* I've been overthinking this haven't I?

* Could it be this?

* Revert this change

* Try one last thing

* Change naming for XLIS & covers

* Try removing non-IS profiles

* Change IS models

* Remove remnants of non-IS profiles

* Change naming for better consistency
2024-06-08 17:36:00 +08:00
HYzd766
d49c8911ab Tweak some settings for Qidi Q1 Pro and X3 serials printers (#5603)
* Update fdm_filament_abs.json

Modification based on chamber temperature

* Update fdm_filament_asa.json

Modification based on chamber temperature

* Update QIDI ABS-GF25 @Qidi Q1 Pro 0.4 nozzle.json

Modification based on chamber temperature

* Update QIDI ABS-GF25 @Qidi Q1 Pro 0.6 nozzle.json

Modification based on chamber temperature

* Update QIDI ABS-GF25 @Qidi Q1 Pro 0.8 nozzle.json

Modification based on chamber temperature

* Update QIDI ASA @Qidi Q1 Pro 0.2 nozzle.json

Modification based on chamber temperature

* Update Qidi Generic ABS.json

Modification based on chamber temperature

* Update Qidi Generic ASA.json

Modification based on chamber temperature

* Update QIDI ABS-GF25 @Qidi Q1 Pro 0.4 nozzle.json

Sorry, there is still a parameter that needs to be modified for this type of consumable

* Update QIDI ABS-GF25 @Qidi Q1 Pro 0.6 nozzle.json

Sorry, there is still a parameter that needs to be modified for this type of consumable

* Update QIDI ABS-GF25 @Qidi Q1 Pro 0.8 nozzle.json

Sorry, there is still a parameter that needs to be modified for this type of consumable

* Update Qidi Q1 Pro 0.4 nozzle.json

Parameter modification

* Update fdm_qidi_x3_common.json

Parameter modification

* Update Qidi Q1 Pro 0.4 nozzle.json

Gcode Change

* Update fdm_qidi_x3_common.json

Gcode Change

* Merge branch 'main' into main
2024-06-08 11:14:38 +08:00
SoftFever
68d2a9eedf Fixed a minor bug where the maximum volumetric speed cap was slightly… (#5629)
Fixed a minor bug where the maximum volumetric speed cap was slightly off for the PA pattern calibration.
2024-06-08 10:55:32 +08:00
SoftFever
ff53f401be Take filament flow ratio into account when displaying flow in gcode legend 2024-06-08 10:50:08 +08:00
Alex Tang
06ef58ab3e Allow Cmd-Shift-M to bring up 3dConnexion Spacemouse Dialog (EXCEPT on "Home" sub-screen) (#5598)
* Prevent Cmd-Shift-M from minimizing on Mac EXCEPT on "Home" sub-screen

The problem is that hitting "Cmd-Shift-M" on mac always minimizes the app, even though it should only minimize on "Cmd-M", and not on "Cmd-Shift-M".

The code that minimizes (using the WXWidgets "Iconize()" call) happens in MainFrame.cpp keyboard event loop.  The code that's checking, looks for "Cmd-M" but does not check for any other keyboard modifiers, so I added a check to ignore the event if Shift is pressed along with "Cmd-M".

There's a secondary issue that isn't really relevant to this bug in that the app will still minimize when pressing "Cmd-Shift-M", but ONLY on the "Home" sub-screen. (all other sub-screens work as they should).

I'm not sure why, but when the "Home" sub-screen is selected, the keyboard event loop (MainFrame.cpp, line 609), is called TWICE when "Cmd-Shift-<any key>" is pressed:

* Once where the event's wxKeyModifier (retrieved via `evt.GetModifiers()` is set to `wxMOD_CONTROL`  AND `wxMOD_SHIFT`.  (this is correct)
* Once where the event's wxKeyModifier  is **ONLY** set to `wxMOD_CONTROL` (this is wrong).

Again, this double-event (with the wrong modifiers) only happens when the user is on the "Home" sub-screen.  For the context of this bug the 3DConnexion preferences dialog isn't needed on the "Home" sub-screen so this secondary bug doesn't matter.  But it does make the UX odd where Cmd-Shift-M will minimize the app when the user is viewing the "Home" sub-screen, but not minimize the app when the user is viewing any other sub-screen.

* Merge branch 'main' into spacemouse_dialog
2024-06-07 22:14:41 +08:00
KrisMorr
4ee2193408 update locale + list.txt (#5600)
* update locale + list.txt

update litst.txt  - src/slic3r/GUI/wxMediaCtrl2.cpp

* typo
2024-06-07 21:18:23 +08:00
cochcoder
1b6c9aca94 Fix all nozzle types being shown when only one is selected on the Sovol SV08 (#5615)
Fix all nozzle types being shown when one is selected on the Sovol SV08
2024-06-07 21:15:40 +08:00
SoftFever
03e5da3d23 Fixed an bug that plate name was not used in some cases
Fixed #5556
2024-06-06 22:28:57 +08:00
Bernhard Koppensteiner
d3d9065ea3 Merge branch 'main' of https://github.com/koppensb/OrcaSlicer 2024-06-06 13:48:25 +02:00
SoftFever
cb4b84c4ba Fix an issue that Bambu printer camera is not prompted to register due to the Bambu's registry path changes
Fix #5554
2024-06-05 23:21:40 +08:00
SoftFever
6af6a42ed9 Fix issues for Peopoly profiles:
fixes includes:
1. 0.6 and 0.8 nozzles are not displayed
2. Some filaments are not enabled for 0.6 0.8 nozzle
3. version number
4. change default sparse_infill_pattern to crosshatch
5. change top_surface_pattern to monotonicline
2024-06-05 22:48:02 +08:00
Peopoly
3e232a86e8 Magneto X profile (#5590)
* Add files via upload

* Update fdm_process_pply_common.json

* test on v1.8/1.9/2.0/2.1 portable version
2024-06-05 22:14:06 +08:00
SoftFever
9a4429f603 Fixed an issue that small_area_infill_compensation_model was initialized even it's not used.
Fixed #5550
2024-06-04 23:14:22 +08:00
SoftFever
ae07cf9813 fix a regression that thumbnail was not rendered properly for delta printers
Fixes #5525
2024-06-04 20:30:18 +08:00
Noisyfox
2f265ef083 Fix issue that skip object won't trigger filament change when print-by-object is used (#5576)
* Fix issue that skip object won't trigger filament change when print-by-object is used
2024-06-04 20:00:56 +08:00
Noisyfox
a877d642f6 Fix build with VS2022 17.10.x (#5575)
* Fix dep build with latest vs2022

* Fix opencv build with latest vs2022
2024-06-04 19:59:23 +08:00
Ioannis Giannakas
99544f9104 Potential fix for other layers bed temperature not applied (#5546)
* Potential fix for other layers bed temperature not applied

* Merge branch 'main' into Potential-fix-for-other-layers-bed-temperature-not-applied

* Merge branch 'main' into Potential-fix-for-other-layers-bed-temperature-not-applied
2024-06-04 19:43:43 +08:00
Dima Buzdyk
47ab3a050e fix url protocol integration under linux (#5535) 2024-06-04 18:32:49 +08:00
SoftFever
276e03683f disable flatpak CI for now 2024-06-04 18:32:29 +08:00
KrisMorr
eaee170b4c Update string SendMultiMachinePage.cpp (#5538) 2024-06-03 21:42:24 +08:00
cochcoder
b7b3418baf Fix Dremel Generic PLA, Snapmaker PET, & Snapmaker PVA showing up everywhere (#5508)
* Fix Dremel PLA being shown everywhere

* Remove duplicate ender 3 profile

* Fix failing build

* Revert "Fix failing build"

This reverts commit e137e7a135.

* Revert "Remove duplicate ender 3 profile"

This reverts commit a6cbd955ff.

* Fix Snapmaker PET & PVA showing up everywhere
2024-06-03 21:40:28 +08:00
Thomas
accc1a4fc1 Fixed a typo in Flsun SR profile (#5504) 2024-06-03 21:39:03 +08:00
Heiko Liebscher
e0ff96d574 add new german translation (de) (#5509)
* add new translation de

* edit text.js new translations

* typo
2024-06-03 21:37:49 +08:00
Olcay ÖREN
d972a68564 Update OrcaSlicer_tr.po - TURKISH translation update (#5559) 2024-06-03 21:34:51 +08:00
SoftFever
c083541e0a Thumbnails feature revamp. (#5555)
* Thumbnails feature revamp.
Support generating different size/format combinations
* misc fix

Co-authored-by: Lukas Matena <lukasmatena@seznam.cz>
2024-06-03 21:30:38 +08:00
Gabriel E Dvoranen
50d00a1d54 Update OrcaSlicer_pt_BR (#5549)
Updated some translations

Added translation for the last .pot update
2024-06-02 23:02:21 +08:00
Thomas
c4a5a56b3b Fixes remaining "code G" in French translations (#5533)
Fixes remaining "code G"
2024-06-02 23:01:55 +08:00
jimmyjon711
5f92fae965 Fix for InfimechTx Start Gcode (#5527)
Fixes InfimechTx Start Gcode

- Current start gcode for InfimechTx has the wrong index for Y when creating the purge line
- Updated start gcode to use right index for the Y value
2024-06-02 23:01:36 +08:00
Carlos Francisco Caruncho Serrano
51e88d4e24 Spanish translation update 2.1.0 Beta (#5520)
* Update OrcaSlicer_es.po

* Traducción español Beta 2.1.0

* Update text.js

* Minor fix PR
2024-06-02 23:00:21 +08:00
cochcoder
6ad2d7404e Update the Sovol profiles to what Sovol provides themselves (#5512)
* Use profiles given by Sovol

* Change infill pattern to crosshatch
2024-06-02 22:59:35 +08:00
Lee Jong Mun
0862bb5808 kor translation update (#5519) 2024-06-02 22:58:40 +08:00
Bernhard Koppensteiner
b1163084f6 Merge branch 'main' of https://github.com/koppensb/OrcaSlicer 2024-05-31 20:01:34 +02:00
Bernhard Koppensteiner
b0bfa9165a Update Prusa MINIIS 0.4 nozzle.json
updated firmware version
2024-05-31 19:56:58 +02:00
Bernhard Koppensteiner
2bbbb7232c Merge branch 'SoftFever:main' into main 2024-05-31 19:56:41 +02:00
Gudzonskiy
9b7b11e066 Update OrcaSlicer_uk.po (#5503)
Having spent a few days working on the translation into Ukrainian language for yourself, you would like to share the result! Please let the reader of this translation come!
2024-05-30 21:17:03 +08:00
HYzd766
985578fbdc Chamber Change (#5500)
* Update fdm_filament_abs.json

Modification based on chamber temperature

* Update fdm_filament_asa.json

Modification based on chamber temperature

* Update QIDI ABS-GF25 @Qidi Q1 Pro 0.4 nozzle.json

Modification based on chamber temperature

* Update QIDI ABS-GF25 @Qidi Q1 Pro 0.6 nozzle.json

Modification based on chamber temperature

* Update QIDI ABS-GF25 @Qidi Q1 Pro 0.8 nozzle.json

Modification based on chamber temperature

* Update QIDI ASA @Qidi Q1 Pro 0.2 nozzle.json

Modification based on chamber temperature

* Update Qidi Generic ABS.json

Modification based on chamber temperature

* Update Qidi Generic ASA.json

Modification based on chamber temperature
2024-05-30 21:15:27 +08:00
SoftFever
9b6ceb9e80 bump version to 2.1.0-beta 2024-05-29 23:09:16 +08:00
SoftFever
0459c28596 Tweak default parameters
1.  Change default ensure_vertical_shell_thickness value back to ensure_all as suggested by @igiannakas
2.  Change default sparse_infill_pattern vaule to ipCrossHatch
2024-05-29 23:07:29 +08:00
SoftFever
8b1bf13021 optimize cross hatch infill to enchance strength (#5495)
Optimize the cross-hatch infill pattern to improve strength when low infill density is used.
2024-05-29 23:03:47 +08:00
yw4z
c14ae13788 Parameter box improvements (#5119)
* Parameter improvements

• Added "Layers" side text for
	Bottom shell layers
	Number of slow layers
	Top shell layers
• Added "Layer" side text for
	Full fan speed at layer
• Added "x" side text for ratios. This one looks nice imo
	Internal bridge flow ratio
	Bridge flow ratio
	Top surface flow ratio
	Bottom surface flow ratio
	Flow ratio
	Scarf joint flow ratio
• Added "mm" side text for
	Mesh margin
	Minimum wall length
• Added "°C" side text for
	Softening temperature
• Converted these to spin boxes. Currently it combines combo box and input box and it has weird usage. Using spin boxes better because other layer related input boxes uses this too
	Top interface layers
	Bottom interface layers

* Fix for combo boxes without arrows

* Add icon files for Point input boxes

* Add side text for Point controls

* Update width of point controls

* Use TextInput for PointCtrl

* Use TextInput for PointCtrl

* Update style of Point Control

* Better Background color for Disabled elements on dark mode

* Use same color for disabled text on combo boxes

* Use Slightly darker text color for disabled text elements

* Revert changes for Top / Bottom interface layers parameter boxes

* fix build error

* update point control icons

* Remove "x" side text from flow ratio related parameters

* revert color related fixes

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-05-29 23:02:17 +08:00
Thomas
c47e4654c7 Added new French translations (#5492)
Added new translations
2024-05-29 23:00:20 +08:00
KrisMorr
06144dfc97 Update Polish translation for new features (#5487)
* fix Polish translation for new features

* update 2 strings
2024-05-29 22:59:59 +08:00
SoftFever
246fde0426 change handy models to 3mf fileformat 2024-05-29 20:42:50 +08:00
cochcoder
fd8e1d765b Add filament vendors (CERPRiSE, FilamentOne, Tianse, and VOXELPLA) & rename Formfortura to Formfutura (#5472)
* Add filament vendors part 1

* Add filament vendors part 2

* Fix merge confilcts

* Readd filament vendors & remove duplicate
2024-05-29 00:32:04 +08:00
SoftFever
3ba57512d0 update locale 2024-05-29 00:30:50 +08:00
SoftFever
c8915464f5 fix build errors on Linux 2024-05-29 00:04:54 +08:00
SoftFever
524efcfcca support cura:// and thingiverse 2024-05-28 23:08:26 +08:00
SoftFever
6519e850ef support makerworld.com 2024-05-28 23:08:26 +08:00
SoftFever
9f73c01821 tweak no tracking 2024-05-28 23:08:26 +08:00
Thomas
206a9608ad Flsun SR : Fine tuning of speeds and accelerations (#5483)
Fine tuning of speeds and accelerations
2024-05-28 22:53:26 +08:00
cochcoder
1c56d536cb Add Flashforge guider 2s (#5165)
* Add Guider 2s 0.4

* Add Guider 2s cover & build plate texture/model & fix missing Guider 3 Ultra build plate model

* Add extruder_offset

* Change G-Code

* Misc

Add 0.3, 0.6, & 0.8 nozzle sizes
Add supported filaments

* Revert "Misc"

This reverts commit 94ebc2c52d.

* Re-add filaments

* G-Code fixes

* Fix printable area

* Resolve merge conflicts part 1

* Revert "Resolve merge conflicts part 1"

This reverts commit 2d6132a01d.

* fix merge conflict part 1.5

* Fix merge conflicts 1.75

* Fix merge conflicts part 2

* Remove old buildplate model

* Fix old buildplate model

* Change bed origin, max speeds, & max/min layer heights

* Remove absolute positioning in G-Code

* Lower acceleration

* Add lid clearance info

* Revert "Remove absolute positioning in G-Code"

This reverts commit 5253d32003.

* Re-enable absolute distances

* Fix syntax

* Change these too...

* Bring closer to original slicer

* forgot these

* Change to match @AC5SHOT optimal settings

* Bring closer to original slicer

* Bring closer to original slicer

* Update machine limits/functionality
2024-05-28 22:52:45 +08:00
KrisMorr
54be09c0a2 Updated string after merged #5459 (#5479)
Removes check to disable nozzle override from Bambu Studio. (#5459)
Show full nozzle diameter
2024-05-28 22:51:35 +08:00
cochcoder
aece0ce6fc Fix potential typo with print infill first tooltip (#5476)
Fix potential typo
2024-05-28 22:50:54 +08:00
cochcoder
0b0205938d Add puase G-Code for FLSUN V400 (#5469)
Add puase g-code
2024-05-28 22:40:21 +08:00
Olcay ÖREN
0a4fcf4e2b Turkish words were edited in the text.js file. (#5473)
* Update OrcaSlicer_tr.po - TURKISH translation update

* Update OrcaSlicer_tr.po

Update OrcaSlicer_tr.po - TURKISH translation update

* Update OrcaSlicer_tr.po - TURKISH translation update

* Update OrcaSlicer_tr.po - TURKISH translation update

* Valment filament added.

* Update OrcaSlicer_tr.po - TURKISH translation update

* Turkish words were edited in the text.js file.
2024-05-28 22:39:58 +08:00
anselor
a1b4e0ce55 Added additional filament vendors. (#5461)
Added Anker printers to filament presets dialog.
Added helper to generate formatted strings for dialog from profile JSON files.
2024-05-26 13:30:51 +08:00
anselor
50f62b6854 Removes check to disable nozzle override from Bambu Studio. (#5459)
Show full nozzle diameter
2024-05-26 13:29:49 +08:00
Gabriel E Dvoranen
6e529e285f Update OrcaSlicer_pt_BR.po (#5460)
Added more translations

Updated some translations
2024-05-26 11:29:15 +08:00
SoftFever
12122f3a5c Bump version to 2.1.0-alpha 2024-05-25 23:52:05 +08:00
Thomas
8dc946dc7a Flsun Super Racer (SR) Profile (#5454)
* Added Flsun SR

* Optimized images

* Enabled only one wall on top surfaces
2024-05-25 21:26:06 +08:00
Heiko Liebscher
bfc9008a39 add new german translations (#5453) 2024-05-25 21:25:40 +08:00
Thomas
aca3b3c56f Fixed default profiles for Ender 3 V3 (#5452) 2024-05-25 21:25:16 +08:00
Olcay ÖREN
093b163188 Update OrcaSlicer_tr.po - TURKISH translation update (#5451)
* Update OrcaSlicer_tr.po - TURKISH translation update

* Update OrcaSlicer_tr.po

Update OrcaSlicer_tr.po - TURKISH translation update

* Update OrcaSlicer_tr.po - TURKISH translation update
2024-05-25 21:24:48 +08:00
Aidan
17fec83e5b Flatpak build (#4175)
* Initial commit for the builder

* fix wx, use hack to install into /app

* add some workarounds for /usr/local

* fix up rest of paths

* attempt to fix wxwebview undef

* figure out why wxwidgets isnt getting its patches applied

* do "proper" patching of wxwidgets

* Flip the flag

* actually append the /usr/local

* restrict package finding to flatpak only

* Update the destdir stuff for mpfr, gmp

* Transfer over all the _destdir, again

* update patch command for all other plats

* initial ci check

* what even happened

* clear ci image

* I doubt this will do anything

* do cleanup after running each step

* remove build objects for flatpak ci

* compress debug info

* Fix MacOS build

* Try saving space after building deps

* No debug info for now

* Do debug info, use thin static archives

* use BSD flag, not --thin

* try building with lto

* Use release, no debug info

* remove lto

* Revert the last 5 commits

* It might require write perms

* Revert "It might require write perms"

This reverts commit 44cec58a57.

* Import fixes for merge

* remove some patch stuff

* the worst hack!

* remove uneeded patches

* Initial commit for the builder

* note to self, go back to regular wx

* attempt to fix wxwebview undef

* do "proper" patching of wxwidgets

* update patch command for all other plats

* what even happened

* -ldep_name-NOTFOUND is still here

* concat patches

* Build wx with flatpak

* more wx shenatigans

* fix a missing import

* build wx with proper flags

* fix imports and libs

* trigger ci

* try fixing mac and windows ci

* remove duplicate definition of freetype

* curl may not have openssl for a dep

* has openssl been found?

* force building

* build images on apple

* cleanup for review

* cleanup cmake files

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-05-25 09:11:19 +08:00
Thomas
b1bd30fd5e Ender 3 V3 Plus profile (#5447) 2024-05-25 08:32:23 +08:00
SoftFever
f33c18c488 Add Simplified Chinese translations 2024-05-24 23:37:03 +08:00
SoftFever
d31748f7c0 Merge some translations from PrusaSlicer 2024-05-24 23:27:23 +08:00
William
194ec6b1cd feat: add model_name and plate_number placeholders (#5401)
This uses the BBS project name from the `Project` tab which could be
susceptible to upstream changes removing this feature.

The project_name template only works when you open a 3MF file. If you
create a new project and set the project name `Model.model_info` is
always null whether you save the project or not. If you save the current
project, switch to a new project/different project, then re-load it then
the template works as expected.

The plate number is assumed to always be <100 which matches the
formatting of the plate number in the UI.

Relates-To: https://github.com/SoftFever/OrcaSlicer/issues/3816
2024-05-24 20:52:35 +08:00
Dima Buzdyk
966c18cbad fix slow_down_layers (#5396)
Setting slow_down_layers to 2 or more results in wrong number of slowed
down layers.

Do not increment layer_id since bottom layer (#0) handled separately.
2024-05-24 20:00:09 +08:00
Thomas
1d5fb94dd1 Updated FR translations (#5439)
* Changed "chambre" to "caisson"

* Added new locales
2024-05-24 19:44:46 +08:00
davidjuanesb
03cf10f55f Catalan language updated (#5440)
Catalan language updated
2024-05-24 19:43:46 +08:00
SoftFever
f7b605088b fix an issue that orcaslicer:// didn't work on Mac 2024-05-24 19:42:32 +08:00
Bernhard Koppensteiner
d9dfdbe557 changed line with to the correct values according to prusaslicer profiles 2024-05-24 11:52:58 +02:00
Bernhard Koppensteiner
d59187d756 changed default filament setting to the correct value 2024-05-24 11:52:35 +02:00
SoftFever
1701cbc098 update locale 2024-05-23 23:38:07 +08:00
yw4z
aa33050301 Fix edit button of printer combo box not updates its color after theme switch (#5412)
* Fix edit button of printer combo box not updates for dark theme

* Fix

* Merge branch 'main' into dark-mode-printer-combobox-edit-icon
2024-05-23 22:44:01 +08:00
KrisMorr
9aad7f8e1d Update Polish translation + fix strings for gettext (#5427)
* Update Polish translation

* Fix strings for gettext
2024-05-23 22:04:15 +08:00
SoftFever
b665dfb35d improve seam performance (#5436) 2024-05-23 22:03:28 +08:00
yw4z
0a7f787e30 Reworked splash screen (#5257)
* Reworked splash screen

* Fine tune placements

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-05-22 23:24:50 +08:00
SoftFever
f13dc1fdcd bump profiles version to 2.1, change most profiles' top_surface_pattern to monotonicline as default pattern 2024-05-22 22:54:56 +08:00
StimeKe
95c3255c27 Fixed not get port when obtaining the host. (#5423)
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-05-22 20:37:35 +08:00
PreyK
b021c615f5 ESP3D printer connection for wireless printing (#5399)
* ESP3D connector WIP

* Update PrintConfig.cpp

* Update ESP3D.cpp

* Update ESP3D.cpp

* prog

* works & ugly

* Update ESP3D.cpp

* ESP3D prints

* comments

* this fails on *nix, use format_error instead

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-05-22 18:00:48 +08:00
cochcoder
9ffe7b07e1 General fixes and improvements to CR-10 SE, Ender-3 V3 KE, Ender-3 S1 Plus, & small fix for Ender-3 V3 SE (#4793)
* Replace M109 S[material_print_temperature_layer_0] with M109 S[first_layer_temperature]

* Change line width to match nozzle

* Change line_width for Ender-3 S1 Plus

* Update creality_cr10se_buildplate_model.stl

* Change line width to match nozzle size (Ender3v3SE)

* Fix Ender-3 S1 Plus 0.8 bed size

* Enable Z-hop for Ender-3 S1 Plus

* Trying something

* Update creality_ender3s1plus_buildplate_model.stl

* Fix CR-10 SE print size

* Various Flying Bear fixes

* Try fixing error

* Revert "Try fixing error"

This reverts commit e42e016e4a.

* Add minor Ender-3 V3 KE improvements

* Maybe this will fix the error?

* Revert "Maybe this will fix the error?"

This reverts commit 5e7873251b.

* Revert "Various Flying Bear fixes"

This reverts commit babca572dc.

* Fix CR-10 SE G-Code

Recommended by @bkonosky

* Minor changes to Ender-3 V3 KE

* Probe when bed is heated (Ender-3 V3 KE)

* Minor changes to Ender-3 V3 KE

* Fix oozing (Ende-3 V3 KE)

* Change retraction settings

* Use different retraction settings

* Revert "Use different retraction settings"

This reverts commit 854decf848.

* try this

* Remove "role_based_wipe_speed": "0",

* Add changes from  CR-10 SE Config #4966

* Add "role_based_wipe_speed" : "0",

* Up retraction speed

* Missed this

* Resolve merge conflicts

* Resolve merge conflicts

* Change retraction & wipe speed

* Revert line removal

* Change wipe_speed to 200mm/s

* Forgot the 0.16mm

* Add BED_MESH_CALIBRATE PROBE_COUNT=6,6

* Improve for Matte PLA

* Compensate for fan speed

* Fix CANCEL_PRINT bug

* Move SET_VELOCITY_LIMIT ACCEL_TO_DECEL=2500 to start g-code

* Disable infill combination for 0.2 & 0.24

* Fix end G-Code

* Disable arc fitting

This fixes the merge conflict

* temp

* Revert "temp"

This reverts commit 4bbc028ade.
2024-05-22 15:30:42 +08:00
Heiko Liebscher
31056f2143 fix new locale de (#5407)
* fix new local german (de)

* fix more

* fix error
2024-05-22 15:28:01 +08:00
Ioannis Giannakas
43d7ac6a14 SEMM: wipe tower sparse infill speed adjustment (#5415)
* Wipe tower sparse layers speed adjustment

* Updated tooltip and option label

* Tooltip update
2024-05-22 15:27:31 +08:00
SoftFever
7725fbeb90 Printables.com support (associate prusaslicer:// link explicitly) (#5416)
* Enable ability to open `prusaslicer://` links

* Add needed function to miniz

* Import Zip Functionality

Allows zip file to be drag and dropped or imported via the menu option

Based on prusa3d/PrusaSlicer@ce38e57 and current master branch files

* Update dialog style to match Orca

* Ensure link is from printables

* add toggle option in preferences

doesn't actually control anything yet

* Add Downloader classes

As-is from PS master

* Create Orca Styled Variant of Icons

* Add Icons to ImGui

* Use PS's Downloader impl for `prusaslicer://` links

* Implement URL Registering on Windows

* Implement prusaslicer:// link on macOS

* Remove unnecessary class name qualifier in Plater.hpp

* Add downloader desktop integration registration and undo

* Revert Info.plist

* register prusaslicer:// on user request only

* fix build error

* fix single instance problem

* format

* add orcalicer:// handler for Mac
Attempt to add Linux support but seems not working

---------

Co-authored-by: Ocraftyone <Ocraftyone@users.noreply.github.com>
2024-05-22 15:26:52 +08:00
Ocraftyone
a764d836e1 ENH: Open Prinables.com Links and Zip Archives (#3823)
* Enable ability to open `prusaslicer://` links

* Add needed function to miniz

* Import Zip Functionality

Allows zip file to be drag and dropped or imported via the menu option

Based on prusa3d/PrusaSlicer@ce38e57 and current master branch files

* Update dialog style to match Orca

* Ensure link is from printables

* add toggle option in preferences

doesn't actually control anything yet

* Add Downloader classes

As-is from PS master

* Create Orca Styled Variant of Icons

* Add Icons to ImGui

* Use PS's Downloader impl for `prusaslicer://` links

* Implement URL Registering on Windows

* Implement prusaslicer:// link on macOS

* Remove unnecessary class name qualifier in Plater.hpp

* Add downloader desktop integration registration and undo

* Revert Info.plist

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-05-22 10:52:34 +08:00
SoftFever
0dbf610226 Orca Slicer default parameter tweaks (#5406)
* gap_fill_target -> gftNowhere
z_hop_types -> zhtSlope

* ensure_vertical_shell_thickness -> evstModerate

* top_surface_pattern -> ipMonotonicLine
2024-05-21 07:47:45 +08:00
KrisMorr
c161274132 Update locale + fix (#5413)
* Update locale

* fix strings

* Update pl locale

* Fix
2024-05-21 07:45:22 +08:00
SoftFever
f33b46ed32 update locale 2024-05-21 00:36:45 +08:00
yw4z
34d3409951 Fixes for new icons (#5221)
* Sidebar > Height range > Add / Delete range icons

* Add icon for Object list > Layers (Height Range)

* Add icon for Object list > Range (Hight Range item)

* Add icon for Object list > Support / Color painting

* File Renamed for Calibration Tab

* Update Sidebar icons

* Add icon for CrossHatch fill pattern

* Delete leftover icons from previous commit

* Update Filament Settings icons

* Update Machine Settings icons

* Update plaholders editor icons

* Fix for Printer Setting > Extruder icons and Add support for icons for its tabs

* Update undefined category icon on compare window with low res compatible one

* Update toolbar > variable layer height icon

* Fix warning icon on Emboss & SVG gizmo

* Delete leftover icons from previous commit

* Gizmos > Keyboard cheat sheet icon resolution fix

* Combo box arrow resolution fix

* Delete leftover icons from previous commit

* Update plate & toolbar icons

* Fix: ComboBox > Dropdown menu checkmark not visible on light theme

* Delete leftover icons from previous commit

* Restore icons for plate rename

* Swap directions of notification expand / collapse icons

* Mixed

• Increases contrast of icons on light theme
• Removes opacity from edit, delete, search... icons
• Fixes different color for advanced toggle on dark mode
• Fixes checkboxes not aligned with other boxes
• Style fixes for checkboxes

* Fix some colors not changing

* Slightly changed color paint icon

Spray icon is now taller and fits better with brush icon on seam / support paint

* Minor changes on seam and support related icons

* Fix blurry icons that vertically centered on gizmos

* Update warning icon on dialogs

* Fix plate icons rendering issue

* Update icons for Gap fill and Fill on color paint and add icon for Skirt

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-05-20 23:18:05 +08:00
SoftFever
f08e75efaa Revert "Added a deactivate() function to Tab so when switching tabs it hides … (#5386)"
This reverts commit 7a335590e2.
2024-05-20 20:31:09 +08:00
SoftFever
5914a3a042 Revert "Fix parameters not updating on non active tabs (#5400)"
This reverts commit 3f83d68e0e.
2024-05-20 20:30:57 +08:00
KrisMorr
79ba045150 fix_c-format->>-no-c-format (#5403) 2024-05-20 19:06:02 +08:00
Ioannis Giannakas
dd36d5b1ea Implemented minimum skirt extrusion length and draft shield parameter (#5356)
* Implemented minimum skirt extrusion length parameter

* Enabled draft shield option

* Update Tab.cpp

* Updated draft shield to be visible in the Advanced mode

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-05-20 19:04:13 +08:00
yw4z
3f83d68e0e Fix parameters not updating on non active tabs (#5400) 2024-05-19 23:52:34 +08:00
SoftFever
ac423ce162 fix a regression that select default page not working
fixes #5309
2024-05-19 23:05:13 +08:00
Dima Buzdyk
6369772510 Improve gcode preview navigation (#5326)
* preview: home/end to move to start/end step of the layer

Add HOME and END key action to preview tab which moves horizontal slider
position to a first and last position respectively

* preview: cross-layer gcode inspection

Automatically advance gcode preview to the next layer when pressing
right at the last step of the layer. Same for the first step of the
layer: pressing 'left' will switch preview to the previous layer
2024-05-19 22:27:25 +08:00
A Koolen-Bourke
7a335590e2 Added a deactivate() function to Tab so when switching tabs it hides … (#5386)
Added a deactivate() function to Tab so when switching tabs it hides the active contents. Also removed clearing of the pages so it's not destroyed each time.

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-05-19 22:20:08 +08:00
Thomas
01213e58b0 Fr translation (#5398)
* Translation of new strings.

* Changed "agglutination" by "encrassement"

* Updated French translations

* Fixed c-boost formats
2024-05-19 22:03:37 +08:00
SoftFever
ad341ec9e6 Feature/merge bs1.91 (#5394)
* fixed logic error in PLA jamming gcode for P1S

* Fix use after free bug in LinesBucketQueue::emplace_back_bucket
I found a use after free bug in LinesBucketQueue::emplace_back_bucket. This was found by enabling address sanitizer.
The LinesBucketQueue class has two related members:
std::vector<LinesBucket> line_buckets;
std::priority_queue<LinesBucket *, std::vector<LinesBucket *>, LinesBucketPtrComp> line_bucket_ptr_queue;
line_bucket_ptr_queue holds pointers into line_buckets. However, since items are inserted into line_buckets one at a time, existing pointers that were stored inside line_bucket_ptr_queue become invalid. Specifically:
void LinesBucketQueue::emplace_back_bucket(ExtrusionLayers &&els, const void *objPtr, Point offset)
{
    auto oldSize = line_buckets.capacity();
    line_buckets.emplace_back(std::move(els), objPtr, offset); <--- Causes a reallocation, making previous pointers invalid
    line_bucket_ptr_queue.push(&line_buckets.back()); <-- priority queue compares against old, now invalid pointers
    ...

The proposed fix is to calculate the required number of entries in ConflictChecker::find_inter_of_lines_in_diff_objs, and then calling line_buckets.reserve(count). This ensures that sufficient buffer is allocated up front and the pointers are stable as items are added.

* Updated to fix the handling of the capacity change, and removed the code I previously added to reserve upfront since it is not really needed

* Remove accidentally added whitespace

* Removed unused method

* ENH:add mz_zip_reader_extract_to_file_w api

to solove plugin install failed problem by special wide char
jira: none
Change-Id: Ic7d3efe3fdf852387650abf9df65803da9e46a60
(cherry picked from commit b68ad03717a63675fef2f3ef73d4058bf311adea)

* FIX: PrinterFileSystem report real connect error

Change-Id: I99d6ff7f6dcb1f53ccf59854f5f19d0bd39fa9fc
Jira: none

* rename preference name

* FIX:Relax restrictions on importing obj files

jira: none
Change-Id: I61a0156a8424a5f59922956918d37d38e2c3306a

* FIX: [6469] popup dialog too mach when reload object

Jira: 6469

Change-Id: I4097e3a3b018c7a676fea93bf63f8f778bb3148b

* FIX:fixed incorrect display of printer options page on Linux

jira:[STUDIO-6220]

Change-Id: Id1f084658b0b340b7f17ab97ba82c0fd3ae83fae

* FIX: handle exception of dividing by zero in arranging

jira: none
Change-Id: I0d20464dbe81a80293539100f06d72dee456a27b
(cherry picked from commit 94746ae9bf7f467243849570450567b4fdc78e3a)

* ENH:delete no use code

jira: none
Change-Id: I40e7ffa7ea47bb3cd4039eef9f6c28c604eb3abc

* FIX: PrinterFileSystem::FileRemoved

Change-Id: I891aaa8d58ff379dc1ebd8581064865a33388f74

* FIX: resend ttcode to printer on -90 error

Change-Id: I96dc45102a2759a9f1a0002f42c3a91b2c6b2d75
Jira: STUDIO-5947
(cherry picked from commit 97d687b7c88f8cd51b8eddd39120349d8eac42b1)

* FIX: fix some issue in multi machine

JIRA: STUDIO-6934 STUDIO-6888
1. Fix the issue of incomplete display caused by excessively long file names
2. Fix the issue of icon display being too large
3. Fix the issue of garbled Chinese characters in the task list

Change-Id: I36bc10bf2067f44aaa7e3651b58e526ea323c8ad

* FIX: Incorrect multiplier, when the multiplier is set to below 1

github: #3987 #3805
1. In some languages that use commas as decimal points, setting multiplier below 1 will resolve to 0
2. Unable to save multiplier correctly

Change-Id: I62bc55e270929ebb5e910eb79c6f97106e842b93

* Arrange

* FIX: wrong wipe tower when open 3mf file

1.wipe tower pos in 3mf was overwritten by default pos when opening 3mf
with a different printer profile.This patch fix it

jira: STUDIO-5890

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I12e5d4b80a0ad86194db0682c1763ba4a9492521

* ENH: update A1 machine gcode

1.Adjust the y position of the A1 extrusion compensation line

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iea690a0184ae10a47f53e1532272c31fc0a04cfa

* FIX: minor spelling mistake in gcode

github:#3477

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Id3201bf8b8125ce060e2cac102ab2525877e27c1

* FIX: slice crash with height_range

github: 3917
Change-Id: Icdf83013213b47935b7a795ed75cc3d49057665d

* FIX: ERROR_RES_BUSY text

Change-Id: Ifde1a7b0c6ab915eb226c2072c46edd40f60cf9a
Jira: STUDIO-6436

* ENH:Unable to send printing without selecting a device

jira:[STUDIO-6850]

Change-Id: Ic537579727fd1618af364db93fce8fbbe4cd635a

* FIX:add exit_gizmo before slice model

jira: STUDIO-5531
Change-Id: Icddc9d73b3d91bb68e9768d13e48cbae0680e58e

* FIX: PrinterFileSystem report real connect error

Change-Id: Id6750cfa2a98fe8325ba677dabb606a0a701b495

* FIX: add can slice judgement in slice all plates processing

jira: STUDIO-6325

Change-Id: Ic7fb8cef000c03210bb77289a570ee6b60b6083e

* FIX:Fixed error in displaying the name of Bambu filaments

Change-Id: Ib42194c07b6eefe793eec81a588debc9d622d951

* FIX: text hidden in calibration tab

jira: STUDIO-6264

Change-Id: I24fbc590638a3213d948a973422e010486113923

* FIX: logic error in PLA fan control

github PR: #3948

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I28e4a673e590e83d151e92cc82caab45012aeabe

* FIX:upgrade cluster algorithm to remove duplicate labels

jira: none
Change-Id: I4d68d8cd8e080932c7c308bc8f69e27546ffe309

* FIX: can not parse json float in ES on macOS

jira: STUDIO-5889

Change-Id: I622f4b474c378d77b0e43d67a320f023be2d5811

* ENH:Clear the value of the previous nozzle type

jira:[for nozzle check]

Change-Id: I9a932b833fb07de6cb0a91abe6372b0e91f273f1

* ENH: update A1 gcode

1.Modify the width of extrusion compensation line

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I90543758c866d74f2154e3135d7569109def84b8

* FIX: the height range is not valid in assemble object

github: 3876
Change-Id: Id38672bbf0c01bc9b9f0a3e2bf1052d945b45131

* FIX: calibration page text hidden in linux

jira: STUDIO-6264

Change-Id: If210abf64057eb2e9c2c5b11d41fa33f18684c72

* ENH:clear nozzle information

jira:[STUDIO-7050]

Change-Id: I15ca4973d09132ddb5cb5a56bedd795ba6976b27

* update plugin version

---------

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Co-authored-by: afriede <me@afriede.dev>
Co-authored-by: Momin Al-Ghosien <momin@sanestudios.com>
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
Co-authored-by: chunmao.guo <chunmao.guo@bambulab.com>
Co-authored-by: maosheng.wei <maosheng.wei@bambulab.com>
Co-authored-by: tao wang <tao.wang@bambulab.com>
Co-authored-by: Arthur <arthur.tang@bambulab.com>
Co-authored-by: Kunlong Ma <kunlong.ma@bambulab.com>
Co-authored-by: xun.zhang <xun.zhang@bambulab.com>
Co-authored-by: zhimin.zeng <zhimin.zeng@bambulab.com>
Co-authored-by: liz.li <liz.li@bambulab.com>
2024-05-19 21:22:14 +08:00
SoftFever
6e701454fd fix osx font issue 2024-05-19 21:14:19 +08:00
Bernhard Koppensteiner
b63c62911a set default support to snug 2024-05-19 13:38:38 +02:00
Bernhard Koppensteiner
f1a667e3e8 Merge branch 'SoftFever:main' into main 2024-05-19 11:23:14 +02:00
cochcoder
9467aa228c Add Dremel 3D20, 3D40, and 3D45 (#4777)
* Add base files & 3D20

* Add Dremel 3D20, 3D40, and 3D45

* Used the wrong name

* Let's see if this fixes the crashes

* test

* Limit variables and trying something

* Forgot to remove these,,,

* Tweaks

* Re-add Dremel files and fix several format errors

* Add Dremel 3D40 & 3D45 and process

* Temp bed model/texture

* Forgot to add the actual files

* Revert "Forgot to add the actual files"

This reverts commit 9190ca3d0e.

* Revert "Temp bed model/texture"

This reverts commit 6e873f8e72.

* Update fdm_process_dremel_common.json

* Add bed models

* Improve upon build plates

* Attempt at fixing error

* Didn't work

* Attempt at a fix

* Revert "Attempt at a fix"

This reverts commit 1e06ea355c.

* Try changing order of process_list

* Remove gcode_flavor from process

* Add fdm_filament_pla to Dremel.json

* Add Dremel Generic PLA

* forgot this...

* Change to dremel

* Fix buildplate model naming

* Try this

* Revert "Try this"

This reverts commit 851f355c2e.

* Fix issues that it won't load on Linux/Mac OS

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-05-19 14:09:36 +08:00
yw4z
3627a6d986 Add spacing between icons of objects list item if it has multiple icons (#5321)
* Add spacing between icons of node on objects list if node has multiple icons

* Fix usage of operators and move comments to separate line

* Simplified condition and comments

* simplify conditions
2024-05-19 10:06:02 +08:00
Noisyfox
ba3016bc3d Best effort for pixel perfect icon rendering (#4552)
* Make sure all icons & toolbars have sizes & locations in whole number pixels, so icons won't be blurry

* Make every size even so it scales well on screen
2024-05-18 22:49:03 +08:00
KrisMorr
136313f539 Polish translation update (#5378)
* Polish-translation-upd + fix

* Polish-translation-upd

* Polish translation updated + list.txt for new multi-device strings

* Polish translation updated + list.txt for new multi-device strings

* update list.txt

+ src/slic3r/GUI/SendMultiMachinePage.cpp
2024-05-18 22:45:13 +08:00
Ioannis Giannakas
c482a62123 Updated arc fitting pop up to clarify that this option should not be enabled for Klipper machines (#5352)
* Updated arc fitting pop up

* Merge branch 'main' into Arc-fitting-updated-pop-up-for-Klipper-machines
2024-05-18 22:38:42 +08:00
Dima Buzdyk
178b889c68 gui: improve RichMessageDialog (#5371)
* gui: improve RichMessageDialog

Current implementation of RichMessageDialog creates and pushes
extra checkbox widget into button button sizer which already filled in
with wxEXPAND items. That pushes position of newly added checkbox to the
left-most position which makes it invisibe for some users.

Optimize implementation of RichMessageDialog using m_checkbox_dsa of
MessageDialog instead of creating a new one. As a result, position of
the checkbox is right below the main text section.
2024-05-18 22:31:25 +08:00
Thomas
bff2e18b63 Disabled Arc fitting for all Creality models that had it enabled (#5367)
* Disabled Arc fitting for all Creality models that had it enabled
2024-05-18 22:30:16 +08:00
Thomas
c3171403d9 Disabled arc fitting for Qidi X3/Q1 series (#5368)
* Disabled arc fitting for Qidi X3 series
2024-05-18 22:29:37 +08:00
Stevetm2
e2682032b3 Creality Sermoon V1 Profies 0.16 and 0.28 - Reduced max speed to 195mm/s (#5385)
* Add Sermoon V1 to Creality Generic PLA.json

* Add Sermoon V1 to Creality Generic ABS.json

* Add Sermoon V1 to Creality Generic PETG.json

* Add Sermoon V1 to Creality Generic TPU.json

* Add Generic TPU to Creality Sermoon V1.json

* Update Creality Sermoon V1 0.4 nozzle.json

Update nozzle_type and small 64x64 thumbnail size in Creality Sermoon V1 0.4 nozzle.json

* Set initial extruder_clearance values Creality Sermoon V1 0.4 nozzle.json

* Merge branch 'SoftFever:main' into main

* Update 0.28mm Standard @Creality Sermoon V1.json - slower speeds

* Update 0.16mm Optimal @Creality Sermoon V1.json - slower speeds

* Merge branch 'SoftFever:main' into main
2024-05-18 22:28:47 +08:00
Dima Buzdyk
513335b16b e3v3se profile updates (#5339)
* e3v3se: remove jerk settings from processes

Remove jerk settings from Ender3 V3 SE processes to prevent emission of M205 into gcode.

This is due to E3 V3 SE does not use jerk, but has junction deviation
enabled instead. Those two modes are mutually exclusive according to
marlin configuration page:
    https://marlinfw.org/docs/configuration/configuration.html#default-acceleration-
    https://marlinfw.org/docs/configuration/configuration.html#junction-deviation-

Based on M503 output, E3V3SE hase junction deviation enabled:

  echo:; Advanced: B<min_segment_time_us> S<min_feedrate> T<min_travel_feedrate> J<junc_dev>
  echo:  M205 B20000.00 S0.00 T0.00 J0.10

"M205" emitted into gcode is useless since setting jerk settings via
"M205 Xn Yn Zn" does not have any effect on the stock V3 SE firmware.

* e3v3se: update machine retraction settings

Set retraction speed to 40 mm/s as recommended by Creality
    Source: https://wiki.creality.com/en/ender-series/ender-3-v3-se/quick-start-guide/user-manual

Set retraction acceleration to 500 mm/s2 to prevent extruder clicking on retraction.

* e3v3se: update start gcode

* Set and wait for bed temperature to stabilize prior to homing.
    Bed mesh calibration is done with the bed temp set to 60C.
    Performing G28 with bed at room temperature will not compensate
    for thermal deformation introduced by heated bed if there are any.

* Remove explicit mesh levelling enable (M420).
    Creality FW auto enables M420 once homing (G28) is complete:
        "M420 S1 Z10.00"
2024-05-18 21:48:16 +08:00
Valent Turkovic
a17189f635 RatRig machines which use Klipper don't use M601 but "PAUSE" for paus… (#5335)
* RatRig machines which use Klipper don't use M601 but "PAUSE" for pause command

RatRig machines which use Klipper don't use M601 but "PAUSE" for pause command
2024-05-18 21:41:28 +08:00
FlyingbearOfficial
4029edcc42 fix parameters in process (#5331)
* Update FlyingBear S1 0.4 nozzle.json

* Update 0.16mm Optimal @FlyingBear Reborn3.json

* Merge pull request #11 from FlyingbearOfficial/FlyingbearOfficial-patch-15

Update 0.16mm Optimal @FlyingBear Reborn3.json

* Update 0.16mm Optimal @FlyingBear S1.json

* Update fdm_process_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Merge branch 'SoftFever:main' into main

* Merge branch 'SoftFever:main' into main

* Merge branch 'SoftFever:main' into main

* Merge branch 'SoftFever:main' into main

* Update fdm_process_common.json

* Merge pull request #12 from FlyingbearOfficial/FlyingbearOfficial-patch-16

Update fdm_process_common.json

* Update fdm_process_common_S1.json

fix some parameters

* Update fdm_process_common.json
2024-05-18 21:41:01 +08:00
Noisyfox
d69489c2a8 QoL: Add option to not show non-utf8 step warn (#5327)
* Add option to not show non-utf8 step warn
2024-05-18 21:18:46 +08:00
yw4z
4bcc109ce1 Add "Add Models" to plate and background context menu (#5319)
* Add "Add Model" on plate and background context menu

* Fix icon usage if its not windows os

* Update item name with an existed translation "Add models"
2024-05-18 20:10:46 +08:00
Kiss Lorand
cc2eb3638d Fix Rectilinear sparse infill (#5308)
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-05-18 16:08:54 +08:00
Dylan
81b3e5939d update snapmaker profiles (#5300)
* update snapmaker profiles

- add BracingKit for Snapmaker 2
- add Artisan profiles

* remove key

* fix compatible_printers

* remove pva for single extruder

* fix ci
2024-05-18 13:25:39 +08:00
Bernhard Koppensteiner
96d7139b95 Prusa MINIIS Profiles, changed to Pressure Advance UI settings, better processes for different nozzle sizes (#5244)
* added Prusa Mini with Input Shaper to profiles

* refactoring to more reusable settings

* added more processes, changed settings

* Update 0.15mm Speed @MINIIS.json

* Update 0.10mm Speed @MINIIS.json

* changed to cubic because of speed

* further changes after reviewing prusa slicer settings

* simplified machine settings

* retraction speeds according to prusa slicer

* changed max flow according to prusa slicer

* after clearification at the prusaslicer repository M900 got removed

* precise wall per default

* enable reverse overhang on odd by default

* added settings from prusa slicer

* changed cooling setings

* changed default to inner-outer-inner wall

inner-outer-inner gives pretty good overhangs with better surface

* new profiles for bigger nozzles, changed some cooling settings according to prusaslicer

* profiles for different nozzles sizes, better speed settings

* initial layer height was wrong

* wrong initial layer height

* set the correct accelerations

* changed firmware version number

* using pressure advance UI setting instead of custom filament g-code

* Update Prusa Generic PC.json

* Update Prusa Generic PC.json

* changed max flow for PC

* added PVA filament profiles

* bug fix in filament loading

* changed line width according to prusa slicer

* changed heatbed temperature for Minis capabilities
2024-05-17 22:22:40 +08:00
Bernhard Koppensteiner
04b8ab09a3 Merge branch 'main' into main 2024-05-12 20:45:12 +02:00
SoftFever
5daecf3583 switch res for large printer 2024-05-12 23:35:41 +08:00
SoftFever
3e9a46c5bb auto adjust grid size 2024-05-12 16:16:38 +08:00
SoftFever
8f77755535 Improve performance when bed are large 2024-05-11 23:26:02 +08:00
SoftFever
98caf561ef fix build error 2024-05-11 00:21:10 +08:00
SoftFever
9b2c2bff1d Support larger printer sizes by using 64-bit.
SuperSlicer is referenced for some changes.

Co-authored-by: Merill <merill@free.fr>
2024-05-10 23:47:08 +08:00
SoftFever
5bceebdd9d disable eigen for OpenCV (#5311) 2024-05-10 21:50:29 +08:00
Ioannis Giannakas
46b7a2953d Adjustable infill wall overlap for top and bottom surfaces (#4832)
* Adjustable infill wall overlap for top and bottom surfaces

* Compile error and tool tip updates
2024-05-09 23:36:30 +08:00
yw4z
4c1b66c0b7 Hide revert and delete preset buttons while search box focused (#5253) 2024-05-09 23:26:01 +08:00
Stevetm2
193062570e Creality Sermoon V1 - added generic filaments and machine settings (#5301)
* Add Sermoon V1 to Creality Generic PLA.json

* Add Sermoon V1 to Creality Generic ABS.json

* Add Sermoon V1 to Creality Generic PETG.json

* Add Sermoon V1 to Creality Generic TPU.json

* Add Generic TPU to Creality Sermoon V1.json

* Update Creality Sermoon V1 0.4 nozzle.json

Update nozzle_type and small 64x64 thumbnail size in Creality Sermoon V1 0.4 nozzle.json

* Set initial extruder_clearance values Creality Sermoon V1 0.4 nozzle.json
2024-05-09 23:23:39 +08:00
Ioannis Giannakas
6920a88e58 SEMM: Introduced parameter to control the maximum speed used for purging in the purge tower (#5304)
* Max wipe tower purge print speed for SEMM

* Max wipe tower purge print speed for SEMM

* Merge branch 'dev-branch' of https://github.com/igiannakas/OrcaSlicer into dev-branch

* Updated float calculation

* Updated float calculation

* Updated tooltip

* Updated label
2024-05-09 23:21:06 +08:00
Ioannis Giannakas
de5c1c80e3 Fix bed mesh algorithm for 3 point bicubic algorightm (#5296)
* Fix bed mesh algorithm for 3 point bicubic algorightm

* Corrected + to *

* Amended algo to mirror KAMP

* Updated from feedbacl
2024-05-09 22:02:05 +08:00
Bernhard Koppensteiner
6fa5b5aa26 Merge branch 'main' of https://github.com/koppensb/OrcaSlicer 2024-05-08 20:49:35 +02:00
yw4z
29f9d5dd03 Close Variable layer height gizmo when other toolbar buttons clicked (#5255) 2024-05-09 00:13:39 +08:00
SoftFever
b876b0c0c3 clean up wxWidgets.cmake 2024-05-08 20:44:28 +08:00
SoftFever
d140b5bdab allow choose custom filament for A1 and P1 2024-05-08 20:41:12 +08:00
cochcoder
0c62acd4ed Add a description for Stealth Mode (#5281)
* Add description to stealth mode

* Merge branch 'SoftFever:main' into stealth-mode
2024-05-07 22:11:16 +08:00
Bernhard Koppensteiner
7207731a85 changed heatbed temperature for Minis capabilities 2024-05-07 11:20:32 +02:00
yw4z
e40d7780d5 Color fixes (#5239)
* Update plate name & number colors

* Update sliced plates selected item border color and "All Plates Stats" text color

* Simplify gizmo update slider thumb and text color

* Update confirm button hover color

* Fix assembly info titlebar not compatible with dark mode

* Update selected tab color on set filaments to use window

* Update gCode viewer text colors

* Update color of selection rectangle

* Update gcode view slider value text color

* Paint gizmos update colors for tool / brush buttons

* Update colors of gizmo radio buttons

* Update combined slider thumb color for gizmos

* Update header color for gizmos

* Update titlebar buttons background color while hover

* Fix side bar header background not uses correct color for dark theme

* Update background colors of focused Combo box and  checked item on Dropdown

* Revert changes for gCode Window text colors

* Revert changes for plate name / number text color

* Update background color of Sliced Plates list > Scrollbar

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-05-06 22:41:28 +08:00
Bernhard Koppensteiner
b651ff6651 Merge branch 'main' into main 2024-05-05 21:50:01 +02:00
Bernhard Koppensteiner
af36455579 Merge branch 'main' of https://github.com/koppensb/OrcaSlicer 2024-05-05 20:09:31 +02:00
Bernhard Koppensteiner
c7683ae614 changed line width according to prusa slicer 2024-05-05 20:09:00 +02:00
Noisyfox
a5cb28d358 Fix plate list rendering (#5263)
* Fix issue that plate icons are rendered outsied the window

* Fix the mouse hover detection when list is scrolled

* Make sure the plate list do not overlap the 3d navigator
2024-05-05 21:48:03 +08:00
Bernhard Koppensteiner
5ab7de1de6 Merge branch 'SoftFever:main' into main 2024-05-05 13:12:44 +02:00
SoftFever
d72c9f923a revert wxwidgets control pool 2024-05-05 17:51:38 +08:00
SoftFever
c2f5660afd Infill direction enhancements (#5267)
* infill direction wip

* rotate solid infill dir
2024-05-05 13:36:54 +08:00
Bernhard Koppensteiner
bf15e81bd5 Merge branch 'SoftFever:main' into main 2024-05-04 10:54:56 +02:00
Bernhard Koppensteiner
12eeb85feb bug fix in filament loading 2024-05-04 00:00:57 +02:00
Bernhard Koppensteiner
85a1ed676e added PVA filament profiles 2024-05-03 23:57:31 +02:00
Bernhard Koppensteiner
335c1713b3 changed max flow for PC 2024-05-03 23:53:27 +02:00
Bernhard Koppensteiner
61d680e2a6 Update Prusa Generic PC.json 2024-05-03 20:33:50 +02:00
Bernhard Koppensteiner
5a56215b54 Update Prusa Generic PC.json 2024-05-03 20:32:17 +02:00
Jamin Collins
c2e19b65a8 Fixes 5030: fix segfault (#5075)
Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
2024-05-03 22:52:47 +08:00
Heiko Liebscher
44432e2cc4 add new german translations (#5247)
* add new german translation

* fix typo
2024-05-03 21:34:13 +08:00
Olcay ÖREN
0f9ec47d7e Update OrcaSlicer_tr.po (#5238)
* Update OrcaSlicer_tr.po - TURKISH translation update

* Update OrcaSlicer_tr.po

Update OrcaSlicer_tr.po - TURKISH translation update
2024-05-03 21:33:51 +08:00
Bernhard Koppensteiner
4b7a698ee8 Merge branch 'SoftFever:main' into main 2024-05-02 20:25:10 +02:00
Bernhard Koppensteiner
2c50705e33 using pressure advance UI setting instead of custom filament g-code 2024-05-02 20:23:23 +02:00
HYzd766
1ed6298cec Update Qidi Q1 Pro 0.4 nozzle.json (#5234)
Made a display modification
2024-05-02 21:46:40 +08:00
Ioannis Giannakas
d2e76212b1 Fix wipe tower not showing purged filament volume for non BBL SEMM (#5223)
* Fix wipe tower not showing purged filament values for non BBL SEMM
2024-05-02 21:33:53 +08:00
Bernhard Koppensteiner
3619c1efed changed firmware version number 2024-05-02 15:04:30 +02:00
yw4z
91d7f07d8f Fix measure gizmo "Copy to Clipboard" button icon for dark mode (#5230) 2024-05-02 20:09:35 +08:00
Olcay ÖREN
004108b4b6 Update OrcaSlicer_tr.po - TURKISH translation update (#5227) 2024-05-02 20:08:26 +08:00
SoftFever
4e1b105f17 Fix a regression that cover image was missing 2024-05-01 16:26:45 +08:00
KrisMorr
4400220d79 Polish translation update (#5215)
fix for tweak unsaved changes message
2024-05-01 15:08:17 +08:00
Lee Jong Mun
fbdea9713f kor translation update (#5213) 2024-05-01 15:07:33 +08:00
Thomas
efb6cdc6db Ender3 v3 maximum jerk fix (#5211)
* Raised maximum jerk

* Raised maximum jerk (0.6 nozzle)
2024-05-01 15:07:00 +08:00
yw4z
5d20ecc756 Redesign of all icons / UI improvements (#4368)
* Changed Most of Icons

* Updated Tab Bar icons

Replaced with wider and a bit bigger ones
• Used a bigger toolhead for printer icon on device tab

* Tab Bar

• Device icon > slightly increased nozzle size

* Bed Plate images

• Bed plate > Lock Enabled (Dark & Light Mode) > Hover > Used brighter background color
• Bed plate > Settings (Changed status) (Dark & Light Mode) > Hover > Used brighter background color

* Modifiers & Notification icons

• Redesigned modifier icons
• Added some of notification icons

* Mixed imrovements

• Added Sidebar collapse button with simpler design
• Sidebar Printing Preset Section > Added "Advanced" Icon with atom like design
• Sidebar Printing Preset Section > Improved "Support Filament" Icon .filaments tip supports an object now
• Notifications > Corrected image sizes
• Notifications > Corrected icon placements

* Mixed improvements

• Updated warning dialog icon
• added plate stats images for multiple plate slicing
• added icon for info dialog

* Mixed improvements

• updated volumetric speed icon
• improved readability of preset compare button

* Mixed improvements

• Updated paint height range icon
• Added paint triangle icon
• Added multi material paint icon for toolbar

* Mixed Improvements

• updated titlebar file icon as square to increase similarity with other icons
• redesigned toolbaar icons for painting (support, seam, color) they are sharing same design language now
• updated sidebar icons wall, top/bottom shell, seam, support
• added icons for compare window. (equal, not equal, spool, undefined, node_dot,cog,support)
• Added confirm button icon for search boxes for toolbar popups

* Mixed Improvements

• Added new icons for project page
• Added a loading icon to all sliced plates stats icon while slicing process continues
• Updated lock and plate setting icons for plate buttons
• Added new icons for cut modifier (cut_ / cut_connector)

* Mixed

• Updated notification icons (notification_preferences, notification_right, notification_eject_sd, notification_documentation)
• Added missing original resources from my folder

* Mixed improvements

• Reworked network / wifi icon
• Reworked bed adhension icon
• Reworked raft icon
• Reworked layer height and width icons
• Added new icons to replace generic / missing icons on sidebar (param_overhang, param_bridge, param_wall_surface, param_overhang_speed, param_jerk)
• Updated Edit, Save, Delete, Search icons on sidebar
• Used a brighter color for all icons. they are more visible now on dark mode. #949494() color has better balance between dark / light theme
• Sidebar > Improved readability of Support Material icon
• Sidebar > Improved readability of compare icon. again

* Mixed improvements

• Added height_range_modifier.svg for context menu
• Edited Placeholder > Lock icons. just increased heights to match with other icons
• Edited slowdown for overhangs
• Edited Object sinking icon
• Reworked Add copies button
• Updated add button

* Mixed

• Updated placeholder tempeture icon
• Added new image for placeholder time icon - custom-gcode_time.svg . Added new one because i dont want to mess with other time icons
• Restored original file model_time.svg

* Mixed improvements

• Updated Sidebar > Temperature icon
• Reworked image of about page

* Reworked about page

• Updated orca slicer logo with custom made font

* Readded Optimizsed PNG files

Branch has not in sync with original branch. so i added manually
Original commit https://github.com/SoftFever/OrcaSlicer/pull/4294

* Mixed Improvements

• Updated Sidebar > Flush volumes icon
• Updated Toolbar > Emboss & Measure icon (Shifted them 1 px to fixing minor placement mistake)

* About Page

• Minor change on L letter on logo
• Slightly changed proportions on text

* Mixed

• Updated Tab bar > Device icon with added a tiny pixel for presenting fan.
• Updated Sidebar > Device icon with bigger toolhead. added a tiny pixel for presenting fan. it matches with tab icon now
• Updated Sidebar > Overhangs icon
• Added new icons for missing placeholder items. Quality, Strenght, Other, Setting Overrides, Multi Material and many others. added them to tasklist

* Mixed

• Added new icons for missing filament setting items. Toolchange added to tasklist
• Added new icons for missing printer setting items. Toolchange, Printable Space, Extruder Clearence, Adaptive Bed Mesh, Accesory, Multi Material, Size, Position, Lift Z Enforcement

* Mixed

• Reworked support enforcer and blocker icons. they are much better now
• Slightly changed modifier icons
• Updated Object sinking icon. added a wave intead of straight line. Will try too add waves more places to improve aqua effect
• Used same revert icon for lock_normal.svg to increase UI constinency. added an cube icon as badge to indicate its spesific to object. Icon used in object list
• Toolbar > Popup windows > Keyboard cheet sheet icon > Updated icon. changed resolution. tried many resolution but i couldnt fix blur on icon. So added it to task list for coding side fixes
• Updated Sidebar > Compare icon
• Updated Sidebar > Nozzle size icon

* Removed misnamed files

• Removed some unnecessary files caused by misnamed on illustrator

* Mixed

• Updated design of Context Menu > Reinforce support and Block support again
• Updated design of Toolbar > Emboss > now it shares same design language with add object. Also using 3D shape for letter presents better emboss function
• Updated design of Toolbar > Color paint > Added some waves and bubbles :)
• Updated design of Toolbar > Paint > Brush types
• Updated design of Toolbar > Auto Orient / Lay on Surface > Moved asteriks to middle of object and added an target icon for lay on surface. I choose target because lay on surface is selective function
• Updated design of Toolbar > Auto Arrange > All shapes highlighted instead of one while hovering. this makes sense because it arranges all objects. Added different shapes to increase indication of works with multiple different objects / shapes.
• Updated design of Toolbar > Add Plate > Added few plates to back to make it looks like a bit smaller. its now fit better with other icons
• Updated design of Sidebar > Overhang Speed > Changes snail to turtle. its much more related with ocean
• Updated design of Sidebar > Prime Tower > Used a light house to present tower
• Updated design of Modifiers > Height range
• Updated notification and dialog type icons. Added a wave and orca to improve branding
• Updated Plate icons with new auto arrange and auto orient icons
• Added 2 new images for object list to support lower resolutions. objlist_support_painting and objlist_seam_painting. added this change in tasklist
• Many minor fixes

* Updated object list icons

• Updated object list icons for painting functions

* Updated object list icons

• Improved readability object list icons for painting functions

* Mixed

• Updated design of Toolbar > Emboss > Removed 3D design because its makes it hard to identify. Used a simplified 3D effect to present emboss function
• Updated design of Toolbar > Add Plate > Removed + badge because it makes design a bit complicated and second/third plate on back already presents button related with multiple plates
• Updated design of Toolbar > Auto Orient & Lay on Face > Changed bed shape to a single line. Icon fits better with other designs now
• Updated design of Toolbar > Variable Layer Height > Used lines to present layer instead of rectangles. Icon fits better with other designs now. Also this change will improve design consistency with height range menu item icon
• Updated design of Toolbar > Split to objects / parts > Increased gap between object to increase visibility of dashed line
• Reduced opacity of edit, delete preset, search icon fot reducing contrast on sidebar
• Updated icon of return icon (assemble_return.svg)
• Updated all lock / Unlock icons
• Updated Plate name edit icons. Used same line width with other plate icons and used same icon on other edit buttons
• Found new icons to redesign in svg import popup. Updated files & designs
> Refresh (refresh.svg)
> Mirror on X (reflection_x.svg)
> Mirror on Y (reflection_y)
> Dropdown Menu > Bake / Forget the File Path (burn.svg)
> Dropdown Menu > Change File (open.svg)
• Found new icons to redesign in create printer. Updated files & designs
> step_1.svg
> step_2.svg
> step_2_ready.svg
> step_is_ok.svg
> create_success.svg

* Mixed

• Updated Plate icons > Lock / Unlock > icon now shows opposite state while hover
• Updated Plate icons > Auto orient > Changed bed shape to 1px line. now matches with toolbar icon
• Fixed some opacity related issues on edit, delete, search buttons

* Mixed

• Found new icons to redesign on slided object > layer slider
> im_slider_delete.svg > Used red color on this to reduce accidental usage
> im_gcode_custom.svg > Changed backround to turquoise. Made icon pixel perfect and now easier to identify
> im_gcode_pause.svg > Changed backround to turquoise. Made icon pixel perfect and now easier to identify
• Reworked all plate normal and hover colors. Their background color not changes on hover. Only border and icon changes on hover now. Now it feel more naturally
• Updated design of all preferences icons
• Found new icon to redesign on SVG popup window. it appears when shape has not filled path
> exclamation.svg > Made icon pixel perfect and now easier to identify. used filled shape like other dialog icons. Used orange color as warning color
• Changed colors of object sinking to orange because its a warning

* Mixed

Logo Usages
• Updated icons on dialogs. i will update all icons if design approved
> OrcaSlicer.svg (Used on Most dialogs)
> OrcaSlicer_192px_grayscale.png (Used on file not found error. connection error etc..)

Bamboo Lab Related icons
• Sidebar > Filament Titlebar > AMS Filament sync (ams_fila_sync.svg) > Made pixel perfect with minor changes

• Bamboo Lap Printer > Print Plate >
> print-time.svg > Made pixel perfect
> print-weight.svg > Made pixel perfect and used a scale which fish are weighed. Orcas need fish not ingots :)
> ams_editable.svg > Made pixel perfect and used same pen icon on other edit icons
> ams_editable_light.svg > Made pixel perfect and used same pen icon on other edit icons
> ams_arrow > Made pixel perfect
> enable_ams.svg > Made pixel perfect and used same question mark on other related icons

• Added Calibration Tab icon for Bamboo Lab printer. Thanks @KrisMorr for coding fixes

* Mixed

• Updated design of printer_in_lan.svg
• Placeholders > Quality > Improved readability
• Plate Icons > Used slightly lighter color for dark theme. It improves readability of preferences and lock button while they are at active status
• Titlebar > Undo / Redo > Used slightly shorter arrow. This will make difference between revert icon and presents better function 1 step forward / backward. Revert icon is much more "Put back to original place"

* Mixed

• Preview > Layer Slider > Custom Code Icon > Used a / instead of G letter. Its easier to read now
• Preview > Layer Mode Icon > Changed background color and changed single layer icon shape

* Mixed

• Re exported all images with better precision
• Updated design of SVG modifiers
• Notifications > Corrected preferences and next button resolution
• Notifications > Expand / Collapse buttons > Fixed color usages between dark/light theme
• Sidebar > Parameters > Minor change on speed / initial layer speed
• Sidebar > Parameters > Minor change on bridging
• Plate Setting > Filament order > Arrow > Made pixel perfect
• Object List > Minor changes on Paint icons
• Menubar > Increased size of all icons
• Tab bar > Added icon for Debug tab
• Added many icons related with bamboo lab monitor
> Mostly corrected their resolution made them pixel perfect. This problem caused by they created an artboard on illustrator at 0,5px then it spreads to most of other artboards. Artboards exported as 17x17 intead of 16x16 while this problem exist in project
> Matched design of some icons with designed ones to improve consistency on UI but keeped designs of Bamboo Lab spesific ones
> Mostly used pictures that shared by people to identify correct resolutions but need a dummy account for further testing

* Mixed

• Removed delete/remove/export/import related icons on Context menu
• Added new icon for printer settings > Extruder > Retraction when switching material
• Added new icon for filament settings > Filament > Print Temperature
• Added new icon for filament settings > Filament > Bed Temperature
• Added new icon for filament settings > Cooling > Cooling specific layer
• Added new icon for filament settings > Cooling > Part Cooling Fan
• Added new icon for filament settings > Cooling > Auxiliary part cooling fan
• Added new icon for filament settings > Cooling > Exhaust Fan
• Added new icon for process settings > Quality > Wall Generator
• Added new icon for question dialogs and used orange color for that because it mostly used critical dialogs (preset delete etc). Just found undefined icon on placeholder list uses this and added new icon for that
• Changed info dialog icon fill color to turquase. because its mostly positive information
• Updated design of Sidebar > Parameters > Overhangs and Overhang Speed
• Fixed warning icon usage
• Added new image for placeholders > undefined. this was sharing same icon with dialogs previously

* Update ObjectDataViewModel.cpp

Added new color and support painting icons for object list

* Added new icons for Sidebar, Filament and Printer Settings

• Added new icon for Sidebar > Process > Support > Tree Supports
• Updated /src/slic3r/GUI/Tab.cpp > Process > Added new / missing icons
• Updated /src/slic3r/GUI/Tab.cpp > Filament Settings > Added new / missing icons
• Updated /src/slic3r/GUI/Tab.cpp > Printer Settings > Added new / missing icons

Compiled from source and checked all changes

* Updated Placeholder icons

• Added new icons to placeholders window
• Updated slic3r\GUI\EditGCodeDialog.cpp
• Updated slic3r\GUI\Tab.cpp
• Changed copy code icon to add.svg instead of add_copy.svg
• Added new icon for Placeholders > Setting overrides

* Update AboutDialog.cpp

• Removed "Orca slicer" string to cleanup
• Removed "Based on". already writes on bottom
• Changed background color of version text to transparent
• Changed github link color to turquoise
• Aligned link text with other texts

* Compare window - Update GUI\UnsavedChangesDialog.cpp

• Updated icon for undefined category. question.svg is used for dialogs and not compatible with low res. used new icon undefined.svg
• Also updated process > tab icons started to show up in compare window. blank images was used for tabs in original files

* Added Height Range icons on Object List / Context Menu

• Added new icon for Object list > Layers > Layer
• Object list > Layers > Added Hight Range icon
• Context menu > Height Range icon
• Object list > Layers > Replaced icons of add / delete Height range buttons

* Update imconfig.h

• Fixes toolbar > measure > copy to clipboard icon uses "notification_arrow_right.svg" on dark theme instead of  "copy_menu_dark.svg"

* Context Menu Icons

• Updated \GUI\GUI_Factories.cpp
• Updated icons of split sub menu
• Added new icons for modifier objects submenus. load, cube, cylinder, sphere, disc, torus, text, svg
• Added new icons for mirror sub menu items

* Fixed wrong warning icon usage on Emboss / SVG widgets

• Emboss and SVG popups uses exclamation.svg instead of obj_warning.svg . exclamation.svg used for dialogs and not supports low resolution
• Updated \GUI\Gizmos\GLGizmoEmboss.cpp
• Updated \GUI\Gizmos\GLGizmoSVG.cpp

* Toolbar > Emboss and Cut

Emboss \GUI\Gizmos\GLGizmoEmboss.cpp
• Added a small gap between vertical related and horizontal related text aligment buttons
• Used style dropdown and its title in same line to reduce vertical usage. This will also improves visual consistency with other dropdowns
• Used operation radio buttons and its title in same line

\GUI\IconManager.cpp
• Fixed blurry icons > Emboss > buttons near Style dropdown menu , bold / italic buttons and Text alignment buttons

\GUI\ImGuiWrapper.cpp
• Changed color of active radio button to turquoise. This will also improves visual consistency

* Update GLGizmoEmboss.cpp

* Fixed blurry tooltip icon on toolbar popup windows

• Updated icon design on hover state. It looks like its pressed now
• updated show_tooltip_information function in this. Set icon size as 30x22 intead of relative to font size and removed padding on icons
\GUI\Gizmos\GLGizmoCut.cpp
\GUI\Gizmos\GLGizmoFdmSupports.cpp
\GUI\Gizmos\GLGizmoMeasure.cpp
\GUI\Gizmos\GLGizmoMmuSegmentation.cpp
\GUI\Gizmos\GLGizmoSeam.cpp
\GUI\GLCanvas3D.cpp

* Mixed

Painting Tool / Brush icons
• Made Dark mode icons a bit more darker

\GUI\Gizmos\GLGizmoSeam.cpp
\GUI\Gizmos\GLGizmoMmuSegmentation.cpp
\GUI\Gizmos\GLGizmoFdmSupports.cpp
• Updated button shapes of brush type icons (used square shape with more radius)
• Updated margin between brush type buttons
• Updated paddings of brush type buttons
• Updated border color of brush type icons
• Used brush / tool buttons bigger to make them easier to select
• Fixed icons not uses colors on SVG files while using Light theme

\GUI\Gizmos\GLGizmoMmuSegmentation.cpp
• Fixed green border color on selected filament. now uses orca color
• Used radio buttons for free / vertical / horizontal. Works better for options, reduces vertical height, Easier to understand

\imgui\imgui_widgets.cpp > ImGui::ColorButton
• Updated function for making sure drawing pixel perfect rectangles. It draws filament colors / borders on color painting gizmo

\GUI\Gizmos\GLGizmoSeam.cpp
• Used radio buttons for free / vertical / horizontal. Works better for options, reduces vertical height, Easier to understand

\GUI\Gizmos\GLGizmoPainterBase.hpp
• Added m_free_only variable for new radio buttons

\GUI\ImGuiWrapper.cpp
• Added darker and lighter versions of orca color as variable
• Updated push_confirm_button_style for replacing BBS colors
• Slightly reduced horizontal window padding for gizmos

\GUI\IMSlider.cpp
• Slice > Layer and move slider text is now using turquoise color
• Fixed wrong resolution on some states of layer mode icon

\GUI\Gizmos\GLGizmoSimplify.cpp
• Object > Simplify model > Detail level slider is now using orca color
• Object > Simplify model > Hover state of apply button is now using orca color

\GUI\GLCanvas3D.cpp
• Sliced Plates Toolbar > All Plate Stats > Changed color of "All plate stats" text to orca
• Sliced Plates Toolbar > Changed button border color to Orca
• Sliced Plates Toolbar > Changed position of plate number text to closer to edges so it will not overlaps with thumbnails

* Mixed - Titlebar & Tabs & Search box

\GUI\BBLTopbar.cpp > Titlebar
• Updated icon background colors while hover / active states
• Used same color on border and fill color for more modern look

\GUI\Widgets\TabCtrl.cpp > Tabs on parameters / filament & machine window
• Updated line color under selected tab to orca color

\GUI\Tab.cpp
• Fixed > Sidebar > Global > Delete button visible while using search box
• Fixed > Sidebar > Global > Revert button visible while using search box
• Tabs > Disabled using bold font for active tab. Advantages; tabs always stays at same position, makes switching between tabs a bit faster

* \GUI\GUI_App.cpp > Splash Logo

* Reworked Emboss Gizmo

Reworked Icons
• Simplified them as much as possible to give modernish look

Reworked layout
• Moved style to top. Fitted to window width. Used title and imput box on same line to reduce window height
• Used height and depth at same line. Used icons for Height and Depth text to save some place
• Moved alignment to top and used at same line with bold / italic icons
• Used operation and its radio buttons on same line to recude window height
• Made many changes how it scales on different languages

Improvements
• Surface related values only visible if embos used as modifier
• Reworked stepper buttons. Looks more modern now
• Reworked advanced expansion. Simplified and removed text
• Hidden surface related settings if there is no relations with objects to save some vertical space

UI consistency improvements
• Used text > revert > input order for components line on sidebar
• Revert icon and title used orange color if values edited like on sidebar
• Used orca color on sliders, radio buttons
• Removed border and other decorations on edit buttons of sliders

Fixes
• Moved warning icon a bit up to prevent overlapping with text preview box border

Effects on other all widgets
• Updated selected text background to orca color

* Mixed

Overall
• All gizmos uses same paddings now. it will improve consistency between them. All uses padding value from push_toolbar_style

Combobox
• Removed paddings from combo box menu
• Fixed frame background highlighting on hover
• Used border for highlighting menu items instead of background color

Combo Box with Filter
• Now its shares very similar code with normal combo box. Used ImGui:ButtonBehavior in it to get hover effects properly
• Added support for border highlighting on hover
• Used border for highlighting menu items instead of background color

Combo boxes
• Made easier to manage styles for combo boxes

Input box with step controls
• Added support for border highlighting on hover or active

Sliders
• Added support for border highlighting on hover or active
• Used fully rounded grab and frame. now it looks much more like slider

Checkboxes
• Made them a bit smaller. Old one is looks like giant and not matches with sidebar style
• Updated hover effect to match with other components
• Updated icons of checkboxes to match style

Radio Buttons
• Made them a bit smaller. Old one is looks like giant and not matches with sidebar style

Gizmo > Painting tools
• Updated all sliders with new one to improve UI consistency
• Calculated slider start offset from maximum width of title of sliders to solve window width change between tool changes

Gizmo > Simplify
• Updated code for new radio buttons

Gizmo > Measure
• Used selection values with multiline. Window size highly reduced with this layout
• Moved restart selection to bottom. like on other gizmos mostly at bottom. this will also reduce vertical spacing
• Aligned measure type texts vertically to "copy to clipboard" button
• Updated style of copy to clipboard button
• Updated dimension value edit box on viewport. Values are much more readable now

Color Fixes
• Viewport > Plate Name / Number text colors > Updated them to orca color

Icons
• Updated keyboard cheat sheet icon on gizmos

* Titlebar Remove icon from File and Dropdown menu

* Sidebar and UI component improvements

New Feature
• Sidebar > Delete filament button only visible only if there is multi filaments

Sidebar
• Corrected most of aligment and spacing related problems. all icons has equal space between them and all elements has equal margin to frame
• Updated style of Global/objects toggle to match style
• Updated style of Advanced toggle. Updated SwitchButton.cpp and its not using vector images now
• All combo boxes uses same height now
• Slightly reduced vertical spaces on printer and filament sections. more vertical space for process section available now
• Process > Global > Search Bar > added search icon

UI component style updates
• Updated style of most of UI components. All uses 4px corner rounding instead fully rounded
• Updated some of old wxButtons with new buttons. still need too much work

Added new icons for
• param_default-pattern > Used for Support > Base Pattern

Fixes
• Converted these to step boxes
---- Sidebar > Support > Advanced > Top interface layers > this should not use drop down
---- Sidebar > Support > Advanced > Bottom interface layers > this should not use drop down

Color Fixes
• Dropdown focus / hold background color
• Disabled element background color

* Add missing side text for parameters

* Gizmo Improvements

All Gizmos
• Updated button styles on all gizmos

Arrange gizmo
• Updated slider style

Cut gizmo
• Removed hexagon shapes for upper / lower part. Used colored text instead
• Matched style of mode combo box

Move & Rotate gizmo
• Removed World axis text like on scale gizmo to reduce window size

Variable Layer Height
• Moved adaptive and smooth buttons to bottom
• Changed name of smooth to smooth radius to improve relation with slider
• Updated sliders style
• Fixed gizmo not closing when other toolbar buttons clicked

Assemble view
• Updated slider and button styles
• Used Assembly info window with vertical layout to reduce its size. This will also prevents overlapping with slider bar

Mesh Boolean
• Added new icons
• Updated style of elements

* Fix conflict

* Update splash screen

* Updated About Page

* Mixed

Sidebar
• Updated style of Object list search bar
• Updated Search list item background hover color

Keyboard shortcuts window
• Changed active tab color to orca color

Color fixes
• Disabled text color for UI components
• "Slice" button disabled background and foreground color

UI Component Styles
• Matched style of more buttons
--Progress dialog
--Release Notes window

* Update Toolbar icons

* Update style of single choose dialog

* Gizmo Improvements

Cut Gizmo
• Matched elements order with sidebar. Title > Revert button > Controller
• Moved "Cut to Parts" checkbox to same line with "After Cut". This reduces vertical height and seems logical
• Used slider for cut height controller
• Used regular text color for build volume, groove, connector
• Revert buttons only visible if value changed like on other UI sections
• Removed shapes for "Upper Part" and "Lower Part". Used colored text instead
• Matched radio button styles
• Matched slider styles
• Moved "Add Connector" and "Reset Cut" buttons to bottom to reduce vertical height
• Connectors > Used icons for shapes
• Connectors > Used regular button for "Remove connectors"
• Connectors > Used radio buttons for connector style instead combo box

SVG Gizmo
• Matched elements order with sidebar. Title > Revert button > Controller
• Slightly decreased preview size
• Used Combo box for filename related dropdown
• Surface related features will not show if there is no surface relation
• Matched radio button styles
• Matched slider styles

Gizmos Combo Box
• Fixed rendered with wrong width
• Fixed drowpdown menu paddings

* fix build with gcc13

Fix compilation error produced by GCC 13:

/home/dbuzdyk/packages/3d/OrcaSlicer/src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.cpp:306: error: no match for call to ‘(Slic3r::GUI::GLGizmoMeshBoolean::on_render_input_window(float, float, float)::<lambda(wchar_t, bool, ImVec2, ImVec2, std::string&)>) (const wchar_t&, bool, ImVec2&, ImVec2&, std::string)’
  306 |     if (tab_button(
      |     ~~~~~~~~~~~~~~~
  307 |                 m_is_dark_mode ? ImGui::MeshBooleanUnionDark : ImGui::MeshBooleanUnion,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  308 |                 m_operation_mode == MeshBooleanOperation::Union,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  309 |         tab_size,
      |         ~~~~~~~~~
  310 |                 tab_padding,
      |                 ~~~~~~~~~~~~
  311 |         _u8L("Union")
      |         ~~~~~~~~~~~~~
  312 |         )){
      |
/home/dbuzdyk/packages/3d/OrcaSlicer/src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.cpp:214: note: candidate: ‘Slic3r::GUI::GLGizmoMeshBoolean::on_render_input_window(float, float, float)::<lambda(wchar_t, bool, ImVec2, ImVec2, std::string&)>’ (near match)
  214 |         auto tab_button = [this](const wchar_t icon, bool selected, ImVec2 size, ImVec2 tab_padding, std::string& tooltip) {
      |
/home/dbuzdyk/packages/3d/OrcaSlicer/src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.cpp:214: note:   conversion of argument 5 would be ill-formed:
In file included from /home/dbuzdyk/packages/3d/OrcaSlicer/src/slic3r/GUI/Gizmos/GLGizmoBase.hpp:11,
                 from /home/dbuzdyk/packages/3d/OrcaSlicer/src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.hpp:4:
/home/dbuzdyk/packages/3d/OrcaSlicer/src/slic3r/GUI/I18N.hpp:7:54: error: cannot bind non-const lvalue reference of type ‘std::string&’ {aka ‘std::__cxx11::basic_string<char>&’} to an rvalue of type ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’}
    7 | #define _u8L(s)     Slic3r::GUI::I18N::translate_utf8((s))
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/home/dbuzdyk/packages/3d/OrcaSlicer/src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.cpp:311: note: in expansion of macro ‘_u8L’
  311 |         _u8L("Union")
      |

* revert some icon changes

* Add back missing menu icons

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
Co-authored-by: Dima Buzdyk <dima.buzdyk@gmail.com>
2024-05-01 15:05:43 +08:00
SoftFever
ddc0ec5b79 Tweak unsaved changes message 2024-05-01 00:43:46 +08:00
chshkhr
6d19e2d29c Reload All and Project Path (#4903)
* Reload All and Project Path

* Revert Reload All logic to original

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-04-30 21:55:23 +08:00
yw4z
872f729d75 Tab improvements (#5210)
* Update selected tab underline color

* Disable using bold font for Selected tab

* Revert changes

* Calculate tab width from bold font to fix tab position changes
2024-04-30 21:40:30 +08:00
JayKim
423f557c34 Fixup docker build/run (#5139)
* Fix MPFR dep build on docker

* Clean up after docker run
2024-04-30 21:05:59 +08:00
Fredrik
aa209903d5 Adjusted start g-code for Qidi X-Max/X-Plus 1 and 2. (#5108)
* Adjusted start g-code for Qidi X-Max/X-Plus 1 and 2.

* Aligned more with Qidi slicer default start code.\nWill raise the bed during warming up and park nozzle in default possition.
2024-04-30 07:58:30 +08:00
Bernhard Koppensteiner
6d1042a587 Merge branch 'main' of https://github.com/koppensb/OrcaSlicer 2024-04-29 22:35:13 +02:00
Bernhard Koppensteiner
026ba7330e set the correct accelerations 2024-04-29 22:27:22 +02:00
Bernhard Koppensteiner
f74ae0ed56 wrong initial layer height 2024-04-29 22:23:43 +02:00
Bernhard Koppensteiner
5c2d3c9112 initial layer height was wrong 2024-04-29 22:20:51 +02:00
Bernhard Koppensteiner
f96696596a profiles for different nozzles sizes, better speed settings 2024-04-29 22:16:47 +02:00
Bernhard Koppensteiner
3591e94a80 new profiles for bigger nozzles, changed some cooling settings according to prusaslicer 2024-04-29 20:26:18 +02:00
KrisMorr
442b09098b Polish translation update after merging with BS_Beta4 (#5189)
* Polish translation update after merge BS_Beta4

* Polish translation update after merge BS_Beta4
2024-04-30 00:21:57 +08:00
Kristian Rekstad
f10df349e5 Fix invalid nozzle_type undefined for 'Anycubic Kobra 2 0.4 nozzle' system machine (#5159)
Fix invalid nozzle_type undefined

The correct value is undefine.

Related to a comment in #3991
2024-04-29 23:55:22 +08:00
Thomas
e95afd7182 Ender 3 V3 initial commit (#5127)
* Ender 3 V3 initial commit

* Fixed bad naming
2024-04-29 23:51:53 +08:00
SoftFever
e531e2ccc8 Use wxwidgets fork instead of patch (#5184)
* Use wxwidgets fork instead of patch

* fix build errors on Linux

* Show/hide tabs accordingly
2024-04-29 23:39:33 +08:00
SoftFever
226450ea6a Merge some features from BS1.9 beta4 (#5181)
* FIX: linux: fix the building issue on Linux Mint 21.3 Virginia

github: https://github.com/bambulab/BambuStudio/issues/3874
author: https://github.com/lucianoloder

Change-Id: Ia3db6923d5dd68dba532d7bdba6f93f73cc51d59

* FIX: auto-arranging incorrect with rotation enabled

auto-arranging incorrect with rotation enabled and the objects already have been rotated.

jira: STUDIO-6022
Change-Id: I349d663efb1fc71367c8a77aa8ed5047a0bf2017
(cherry picked from commit 75fe40257a274ed83886e1ee20ce8dedd0de48f6)

* ENH: update X1C & X1E start gcode

1.Fix fan problem

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I68ee5be78e142e8a2a210a1a70f5663893390610

* ENH: update A series gcode

1. Update A1 series start gcode and change filament gcode
2. Add G2814 command
3. Add multi-filament extrusion compensation and vibration suppression

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I57d2bc8e98d3e547881dc1369c1fb31413c6205d

* FIX: fix some cali problem of P series

jira: none
Change-Id: Id57ea8d65da22ab653cca49509cb923ff065e43f

* FIX: fix can't enter ',' in multiplicator

github: #3805

Change-Id: I6dd70822d1c2e79d66c70514d6dd580ab029c7ea

* calib wizard

* NEW: FlipLines infill

jira:6701

New infill pattern that combine block lines infill and switching layers for smooth transition.

Change-Id: I2608a2d39b14efcdfe9d39a9437280da350b94c0
(cherry picked from commit 8d0a09c8b763dfc924cbba9913c241e6afadbc7f)

* ENH: add nozzle blob detection and air printing detection

jira: new

Change-Id: Ie4a19a7ad7d0b10a021c516cbc3a84b4ae734302

* FIX: Top surface bridging fail on 3DHC & FL infill

Add 45 degree angle offset when processing the bridge.
Need to raise infill_direction to invalidate posPrepareInfill

jira: 6774
Change-Id: I5e6bef3aa814b01c5f30398ac745937a67e3ef4c
(cherry picked from commit 7b12cab10b88f432a11414f8caa1c6427777a1ba)

* FIX: the error display when reset virtual slot

jira: none
Change-Id: I5ae5899baf1bfc2aaadb832083b277855a669fd5

* FIX: Error "Voronoi cell doesn't contain a sourcepoint"

github: 3859
Change-Id: Idca84992bcba5380bfe05e63ac9a5e40419dcfdf

* fix build error

* FIX: CLI: fix the crash issue caused by get_min_flush_volumes

JIRA: no jira
Change-Id: I0d5bfd605e51ebddac8fddc4d83dab5055b0fbf2

* FIX: can't use support filament in gcode.3mf

1. Add total_filament_volumes, directly access it to get used filaments

github:#3865

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I4fae4f1947b4ebd16e394e0f3cf5fb0e9f979717

* ENH: p series support long retraction

1. P series support long retraction in filament
2. Add long retraction params in common.json

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ib94184fa1f0b5ab151360f1f053d8c8ff92e7e18

* ENH::modify some logs level

jira:[for log]

Change-Id: I6a46b8fcd3a030b4b630e800fe9a9ac5c387f117

* NEW: support multi device

JIRA: STUDIO-6072

Change-Id: Ic514c4097767b0a728368c9ea48ee103c031fbb0
Signed-off-by: Stone Li <stone.li@bambulab.com>

* ENH: update A1 series  gcode

1.Update filament change gcode and machine start gcode for
  A1 and A1 mini

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I2f3be3fd89fef21e717a32f2b89985fc046f7f6e

* FIX: always have 0th filament in ams mapping

1. Only set the filament id in map when flush length is not 0

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I6e0aeaf010f6e6dcbdc3bca5c0034aa60750bb67

* ENH: add filament id in slice info

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ic5fe4632bca8acacc9ffd072ee2ed207c1da37aa

* ENH: refine ui for multi machine

JIRA: STUDIO-6819 STUDIO-6824
1. Shrink the Send Print dialog box
2. add input box for flipping panel

Change-Id: I4174c79ecd239c374ee11478951e12be399c57ce

* FIX: fix Issues with sending multiple devices

JIRA: STUDIO-6876

Signed-off-by: Kunlong Ma <kunlong.ma@bambulab.com>
Change-Id: I33c6a932863fc715c3f0eb5dfd4b299f980a4918

* NEW: support hms error code

Change-Id: Ic256a83cf501fb05bb9d3203f3d24cb1d1290fa4

* FIX:fixed some multi job issue

Change-Id: I338078ad8fcf809888db9d8daeb470a9bf4eab46

* NEW:support pin code binding

Change-Id: Ida5d47881fbd83f3ffedc80369cfe377114d7f13

* ENH:add printable check for devices

Change-Id: I672988fa9cfa986d924bfc64331752f4aef68067
(cherry picked from commit 69de9e5b8334ec94eec7fcee31038b8ff42d1d3b)

* FIX: add more fonts

jira: none
Change-Id: I6bafed3563083858f29e92a3d84906a2e53dcb5c
(cherry picked from commit afbea693e807dcc1c406a59aa5376b9ea2a5d606)

* ENH: load more fonts

this feature is according to Prusa by Filip Sykala<filip.sykala@prusa3d.cz>, thanks to Filip Sykala
jira: none
Change-Id: I55e92f184f750c0b93b679d4382aaa5b164ec5c3
(cherry picked from commit d05522c4cc5d7ee4cac42de398b88d347a55f74b)

* ENH: add ProfileDescription for translate

1.Add ProfileDescription.hpp simply for translating

jira:NEW

Signed-off-by: XunZhangBambu <xun.zhang@bambulab.com>
Change-Id: Iaa3ced1edccf67eaeebde35c1e8b36442d2e9a6f

* ENH: Improve CrossHatch transation layers

jira: 6701

Change name from Flippingline to CrossHatch.

Reduce noise, improve speed by 6.5%. Improve transation layers by
gradually increasing rotation angle and overshoot the transation
layer while direction changed.

Change-Id: I17fcc45b409074d121bf5bb5702e15553d925b51

* UP

* ENH: modify the default config for multi-device

JIRA: STUDIO-6072

Change-Id: If6e7582a8274eb5e685b8b8545f6eab5d17de3f5
Signed-off-by: Stone Li <stone.li@bambulab.com>

* ENH: add long retraction for P series

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I6890695b67e674fc5cdc2a208e89bd9e41404213

* FIX: all plates stats data missing issue

jira: new

Change-Id: I137a2b6d69ad08791f5a9a9788653621960dc63f

* ENH:update pre print options

jira:[for multi]

Change-Id: I2e9bb8a09436a71749af98a0bad94e9922f95c81

* FIX:fixed can't popup pinbind win on macos

jira:[STUDIO-6895]

Change-Id: I664bba78cf27420d736b586df19e3c09c6f8ed21

* FIX:fixed the task of padding cannot be cancelled

Change-Id: I401a22118c14ca7601be7a925cfd8e4796dfc1e9

* ENH:Play video after redirecting to device page

jira:[STUDIO-6884]

Change-Id: Ia5e2ac84e3d71baacfcf941b782dab2325f35d54

* FIX: fix ui bug in send multi machine page for mac

JIRA: STUDIO-6882
Incorrect background color when renaming during multi machine printing

Change-Id: I6c551f5023ffe747e7a7e2f5703b0707c9505922

* FIX: Fix some bugs in maintaining the selected status of local tasks

JIRA: STUDIO-6824

Change-Id: I12c4da3fc56ac5077b3ccd7e89a4b57c3675eaf5

* ENH: local task sort by send time by default

JIRA: STUDIO-6885

Change-Id: I03b5881a39ab2e90c5b9cf46052ba465ee707ccc

* FIX: Clicking to continue printing does not take effect in error code

JIRA: STUDIO-6830
Detected an incomplete printing task error pop-up when power outage occurred. Clicking to continue printing did not take effect

Change-Id: Ie85a1602093dabac861cd1f41ea21e1c312c83e9

* ENH: use designTitle when designId > 0

JIRA: STUDIO-6072

Change-Id: I8342df053edeab16f930522e099e2eef91e5c5a4
Signed-off-by: Stone Li <stone.li@bambulab.com>

* NEW:import vertex and mtl color from obj file

Jira: STUDIO-6805

Change-Id: Iaacb13ee2451effdb83e5aba4b7fe1637b7fc95f

* FIX:change the strategy of merge_ka_kd

Upgrade ui, users can directly ok to proceed to the next step
jira: STUDIO-6805

Change-Id: Ia81019c2eacb503666680c0b8583d026baa0134c
(cherry picked from commit 38a2434753c8e3b422267283b16c75f6ad195b14)

* FIX:use default_strategy after modifed cluster number

jira: STUDIO-6915
Change-Id: I4e0c3d62f5a766f73d48d1e06c4364fc6babe1ac

* FIX: the bug of incorrect button without restarting

JIRA: STUDIO-6824
The bug can cause the user to not restart when opening the multi-device option, but the button of send multi-devices appears

Change-Id: I0837fa79ecc1d8ab5ce98273ad134fa2f830421e

* FIX: wrong default value for long retraction

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ifc2ec57a320fdb14e7ca746e5795501ed146ff32

* FIX: error code pop-up window without retry button in some code

JIRA: STUDIO-6922

Change-Id: I67464bebaba4558618301592c455db8824bbfe30

* FIX: air printing and nozzle blob detection issue

jira: STUDIO-6897

Change-Id: I008ddb24b74119d7e4124ae26310b4b86c42a799

* FIX:fix bugs of algo and read quad in obj file

Jira: STUDIO-6805
Change-Id: I6c33e8197225f27dccdfa0681e64d76d1df14f61

* dd

* ENH:Set the default nozzle diameter to 0.4

jira:[for nozzle]

Change-Id: I74a5c9b0460046496b897eae3d9f917ac1b99052

* FIX:fixed backspace error on macos

Change-Id: I76066391783c04857c1a60a6f8438111501b6d7c

* ENH:Subscription list deduplication

jira:[for mulit]

Change-Id: I10e9d849986c9661b587c7b1a509180c2451816e

* ENH:update wiki url for Pin Code

jira:[pin code]

Change-Id: I95faaa396a839b5b159119ef235b650c76706a84

* NEW:add OpenCV.cmake in deps

jira: none
Change-Id: I1ae4a2bd5618e9e620b08a937904d6af5d00bc41

* FIX:cancel obj import restrictions

jira: none
Change-Id: Iaf3e799ca982ad6aeb3ec76e9a416c4c8e4d100c

* NEW:add multiple printer restrictions

jira:[for multiple]

Change-Id: I0bb5a0c1062a543c42f8d67a9347efa358b0864a

* ENH:Added two entrances for adding devices

jira:[multi device]

Change-Id: Ieb6197e067d422979606f93b22b337a2399aec74

* slic3r: Fix wxFont being undefined

[427/494] Building CXX object src/slic3r/CMakeFiles/libslic3r_gui.dir/Utils/FontUtils.cpp.o
FAILED: src/slic3r/CMakeFiles/libslic3r_gui.dir/Utils/FontUtils.cpp.o
/usr/bin/c++ -DBOOST_ATOMIC_NO_LIB -DBOOST_CHRONO_NO_LIB -DBOOST_DATE_TIME_NO_LIB -DBOOST_FILESYSTEM_NO_LIB -DBOOST_IOSTREAMS_NO_LIB -DBOOST_LOCALE_NO_LIB -DBOOST_LOG_NO_LIB -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_NO_LIB -DBOOST_THREAD_NO_LIB -DCURL_STATICLIB -DGLEW_STATIC -DLIBNEST2D_GEOMETRIES_libslic3r -DLIBNEST2D_OPTIMIZER_nlopt -DLIBNEST2D_STATIC -DLIBNEST2D_THREADING_tbb -DOPENSSL_CERT_OVERRIDE -DOPENVDB_OPENEXR_STATICLIB -DOPENVDB_STATICLIB -DSLIC3R_CURRENTLY_COMPILING_GUI_MODULE -DSLIC3R_GUI -DTBB_USE_CAPTURED_EXCEPTION=0 -DUNICODE -DUSE_TBB -DWXINTL_NO_GETTEXT_MACRO -D_UNICODE -D__WXGTK3__ -D__WXGTK__ -DwxDEBUG_LEVEL=0 -DwxNO_UNSAFE_WXSTRING_CONV -DwxUSE_UNICODE -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/run/build/BambuStudio/src -I/run/build/BambuStudio/build/src/platform -I/run/build/BambuStudio/src/hidapi/include -I/run/build/BambuStudio/src/slic3r/Utils -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/webp -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/atk-1.0 -I/usr/include/fribidi -I/usr/include/pixman-1 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gio-unix-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/sysprof-6 -I/usr/include/gstreamer-1.0 -I/run/build/BambuStudio/build/src/libslic3r -I/run/build/BambuStudio/deps/build/destdir/usr/local/include/opencascade -I/run/build/BambuStudio/src/libnest2d/include -I/run/build/BambuStudio/src/miniz -I/run/build/BambuStudio/src/glu-libtess/include -I/run/build/BambuStudio/src/clipper2/Clipper2Lib/include -I/run/build/BambuStudio/src/minilzo -isystem /run/build/BambuStudio/src/eigen -isystem /run/build/BambuStudio/src/libigl -isystem /app/lib/wx/include/gtk3-unicode-static-3.1 -isystem /app/include/wx-3.1 -isystem /run/build/BambuStudio/deps/build/destdir/usr/local/include -isystem /run/build/BambuStudio/deps/build/destdir/usr/local/include/opencv4 -isystem /run/build/BambuStudio/deps/build/destdir/usr/local/include/OpenEXR -std=gnu++20 -fext-numeric-literals -Wall -Wno-reorder -pthread -O3 -DNDEBUG -std=gnu++17 -fPIC -fsigned-char -Werror=return-type -Wno-ignored-attributes -Wno-unknown-pragmas -DOPENVDB_ABI_VERSION_NUMBER=8 -MD -MT src/slic3r/CMakeFiles/libslic3r_gui.dir/Utils/FontUtils.cpp.o -MF src/slic3r/CMakeFiles/libslic3r_gui.dir/Utils/FontUtils.cpp.o.d -o src/slic3r/CMakeFiles/libslic3r_gui.dir/Utils/FontUtils.cpp.o -c /run/build/BambuStudio/src/slic3r/Utils/FontUtils.cpp
In file included from /run/build/BambuStudio/src/slic3r/Utils/FontUtils.cpp:1:
/run/build/BambuStudio/src/slic3r/Utils/FontUtils.hpp:51:21: error: ‘wxFont’ does not name a type
   51 | bool can_load(const wxFont &font);
      |                     ^~~~~~

* slic3r: Fix missing BOOST_LOG_TRIVIAL declaration

[427/494] Building CXX object src/slic3r/CMakeFiles/libslic3r_gui.dir/Utils/FontUtils.cpp.o
FAILED: src/slic3r/CMakeFiles/libslic3r_gui.dir/Utils/FontUtils.cpp.o
/usr/bin/c++ -DBOOST_ATOMIC_NO_LIB -DBOOST_CHRONO_NO_LIB -DBOOST_DATE_TIME_NO_LIB -DBOOST_FILESYSTEM_NO_LIB -DBOOST_IOSTREAMS_NO_LIB -DBOOST_LOCALE_NO_LIB -DBOOST_LOG_NO_LIB -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_NO_LIB -DBOOST_THREAD_NO_LIB -DCURL_STATICLIB -DGLEW_STATIC -DLIBNEST2D_GEOMETRIES_libslic3r -DLIBNEST2D_OPTIMIZER_nlopt -DLIBNEST2D_STATIC -DLIBNEST2D_THREADING_tbb -DOPENSSL_CERT_OVERRIDE -DOPENVDB_OPENEXR_STATICLIB -DOPENVDB_STATICLIB -DSLIC3R_CURRENTLY_COMPILING_GUI_MODULE -DSLIC3R_GUI -DTBB_USE_CAPTURED_EXCEPTION=0 -DUNICODE -DUSE_TBB -DWXINTL_NO_GETTEXT_MACRO -D_UNICODE -D__WXGTK3__ -D__WXGTK__ -DwxDEBUG_LEVEL=0 -DwxNO_UNSAFE_WXSTRING_CONV -DwxUSE_UNICODE -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/run/build/BambuStudio/src -I/run/build/BambuStudio/build/src/platform -I/run/build/BambuStudio/src/hidapi/include -I/run/build/BambuStudio/src/slic3r/Utils -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/webp -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/atk-1.0 -I/usr/include/fribidi -I/usr/include/pixman-1 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gio-unix-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/sysprof-6 -I/usr/include/gstreamer-1.0 -I/run/build/BambuStudio/build/src/libslic3r -I/run/build/BambuStudio/deps/build/destdir/usr/local/include/opencascade -I/run/build/BambuStudio/src/libnest2d/include -I/run/build/BambuStudio/src/miniz -I/run/build/BambuStudio/src/glu-libtess/include -I/run/build/BambuStudio/src/clipper2/Clipper2Lib/include -I/run/build/BambuStudio/src/minilzo -isystem /run/build/BambuStudio/src/eigen -isystem /run/build/BambuStudio/src/libigl -isystem /app/lib/wx/include/gtk3-unicode-static-3.1 -isystem /app/include/wx-3.1 -isystem /run/build/BambuStudio/deps/build/destdir/usr/local/include -isystem /run/build/BambuStudio/deps/build/destdir/usr/local/include/opencv4 -isystem /run/build/BambuStudio/deps/build/destdir/usr/local/include/OpenEXR -std=gnu++20 -fext-numeric-literals -Wall -Wno-reorder -pthread -O3 -DNDEBUG -std=gnu++17 -fPIC -fsigned-char -Werror=return-type -Wno-ignored-attributes -Wno-unknown-pragmas -DOPENVDB_ABI_VERSION_NUMBER=8 -MD -MT src/slic3r/CMakeFiles/libslic3r_gui.dir/Utils/FontUtils.cpp.o -MF src/slic3r/CMakeFiles/libslic3r_gui.dir/Utils/FontUtils.cpp.o.d -o src/slic3r/CMakeFiles/libslic3r_gui.dir/Utils/FontUtils.cpp.o -c /run/build/BambuStudio/src/slic3r/Utils/FontUtils.cpp
/run/build/BambuStudio/src/slic3r/Utils/FontUtils.cpp: In function ‘std::unique_ptr<Slic3r::FontFile> Slic3r::create_font_file(const char*)’:
/run/build/BambuStudio/src/slic3r/Utils/FontUtils.cpp:127:27: error: ‘error’ was not declared in this scope; did you mean ‘perror’?
  127 |         BOOST_LOG_TRIVIAL(error) << "Couldn't open " << file_path << " for reading.";
      |                           ^~~~~
      |                           perror

[447/494] Building CXX object src/slic3r/CMakeFiles/libslic3r_gui.dir/GUI/TaskManager.cpp.o
FAILED: src/slic3r/CMakeFiles/libslic3r_gui.dir/GUI/TaskManager.cpp.o
/usr/bin/c++ -DBOOST_ATOMIC_NO_LIB -DBOOST_CHRONO_NO_LIB -DBOOST_DATE_TIME_NO_LIB -DBOOST_FILESYSTEM_NO_LIB -DBOOST_IOSTREAMS_NO_LIB -DBOOST_LOCALE_NO_LIB -DBOOST_LOG_NO_LIB -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_NO_LIB -DBOOST_THREAD_NO_LIB -DCURL_STATICLIB -DGLEW_STATIC -DLIBNEST2D_GEOMETRIES_libslic3r -DLIBNEST2D_OPTIMIZER_nlopt -DLIBNEST2D_STATIC -DLIBNEST2D_THREADING_tbb -DOPENSSL_CERT_OVERRIDE -DOPENVDB_OPENEXR_STATICLIB -DOPENVDB_STATICLIB -DSLIC3R_CURRENTLY_COMPILING_GUI_MODULE -DSLIC3R_GUI -DTBB_USE_CAPTURED_EXCEPTION=0 -DUNICODE -DUSE_TBB -DWXINTL_NO_GETTEXT_MACRO -D_UNICODE -D__WXGTK3__ -D__WXGTK__ -DwxDEBUG_LEVEL=0 -DwxNO_UNSAFE_WXSTRING_CONV -DwxUSE_UNICODE -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/run/build/BambuStudio/src -I/run/build/BambuStudio/build/src/platform -I/run/build/BambuStudio/src/hidapi/include -I/run/build/BambuStudio/src/slic3r/Utils -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/webp -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/atk-1.0 -I/usr/include/fribidi -I/usr/include/pixman-1 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gio-unix-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/sysprof-6 -I/usr/include/gstreamer-1.0 -I/run/build/BambuStudio/build/src/libslic3r -I/run/build/BambuStudio/deps/build/destdir/usr/local/include/opencascade -I/run/build/BambuStudio/src/libnest2d/include -I/run/build/BambuStudio/src/miniz -I/run/build/BambuStudio/src/glu-libtess/include -I/run/build/BambuStudio/src/clipper2/Clipper2Lib/include -I/run/build/BambuStudio/src/minilzo -isystem /run/build/BambuStudio/src/eigen -isystem /run/build/BambuStudio/src/libigl -isystem /app/lib/wx/include/gtk3-unicode-static-3.1 -isystem /app/include/wx-3.1 -isystem /run/build/BambuStudio/deps/build/destdir/usr/local/include -isystem /run/build/BambuStudio/deps/build/destdir/usr/local/include/opencv4 -isystem /run/build/BambuStudio/deps/build/destdir/usr/local/include/OpenEXR -std=gnu++20 -fext-numeric-literals -Wall -Wno-reorder -pthread -O3 -DNDEBUG -std=gnu++17 -fPIC -fsigned-char -Werror=return-type -Wno-ignored-attributes -Wno-unknown-pragmas -DOPENVDB_ABI_VERSION_NUMBER=8 -MD -MT src/slic3r/CMakeFiles/libslic3r_gui.dir/GUI/TaskManager.cpp.o -MF src/slic3r/CMakeFiles/libslic3r_gui.dir/GUI/TaskManager.cpp.o.d -o src/slic3r/CMakeFiles/libslic3r_gui.dir/GUI/TaskManager.cpp.o -c /run/build/BambuStudio/src/slic3r/GUI/TaskManager.cpp
In file included from /run/build/BambuStudio/src/slic3r/GUI/TaskManager.cpp:1:
/run/build/BambuStudio/src/slic3r/GUI/TaskManager.hpp: In member function ‘void Slic3r::TaskStateInfo::set_state(Slic3r::TaskState)’:
/run/build/BambuStudio/src/slic3r/GUI/TaskManager.hpp:40:9: error: ‘BOOST_LOG_TRIVIAL’ was not declared in this scope
   40 |         BOOST_LOG_TRIVIAL(trace) << "TaskStateInfo set state = " << get_task_state_enum_str(ts);
      |         ^~~~~~~~~~~~~~~~~

* fix OpenCV

* wip - build break

* fix build error wip

* ENH: support preset description(tooltip)

Change-Id: Iff005baac4974c538d1109fb0ba1df20b04a8f69
Jira: STUDIO-5754

* fix more build errors

* Revert "ENH: load more fonts"

This reverts commit 32b6fd199a.

* change colors

* misc fixes

* restore export gcode btn

---------

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Signed-off-by: Stone Li <stone.li@bambulab.com>
Signed-off-by: Kunlong Ma <kunlong.ma@bambulab.com>
Signed-off-by: XunZhangBambu <xun.zhang@bambulab.com>
Co-authored-by: lane.wei <lane.wei@bambulab.com>
Co-authored-by: Arthur <arthur.tang@bambulab.com>
Co-authored-by: xun.zhang <xun.zhang@bambulab.com>
Co-authored-by: zhimin.zeng <zhimin.zeng@bambulab.com>
Co-authored-by: Kunlong Ma <kunlong.ma@bambulab.com>
Co-authored-by: jianjia.ma <jianjia.ma@bambulab.com>
Co-authored-by: liz.li <liz.li@bambulab.com>
Co-authored-by: tao wang <tao.wang@bambulab.com>
Co-authored-by: Stone Li <stone.li@bambulab.com>
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
Co-authored-by: Bastien Nocera <hadess@hadess.net>
Co-authored-by: chunmao.guo <chunmao.guo@bambulab.com>
2024-04-28 22:58:47 +08:00
Construct3D-AM
78af750ed9 Construct 1 Print profile update: Z-Jerk optimisation & Thumbnail QOI Fix (#5161)
* Z-Jerk optimisation & Thumbnail QOI Fix

* Adding support for dynamic meshing
2024-04-28 21:32:47 +08:00
SoftFever
45d523905d Fix a regression that post process run twice when uploading to printer (#5101)
* skip running post process script on upload

* delay post processing untill export/upload gcode

* update comment

* Fix errors on Windows
2024-04-28 10:33:50 +08:00
Bernhard Koppensteiner
aec20c8364 changed default to inner-outer-inner wall
inner-outer-inner gives pretty good overhangs with better surface
2024-04-27 09:08:38 +02:00
Bernhard Koppensteiner
0369a14ab8 Prusa Mini with Input Shaper Profiles (#5116)
* added Prusa Mini with Input Shaper to profiles

* refactoring to more reusable settings

* added more processes, changed settings

* Update 0.15mm Speed @MINIIS.json

* Update 0.10mm Speed @MINIIS.json

* changed to cubic because of speed

* further changes after reviewing prusa slicer settings

* simplified machine settings

* retraction speeds according to prusa slicer

* changed max flow according to prusa slicer

* after clearification at the prusaslicer repository M900 got removed

* precise wall per default

* enable reverse overhang on odd by default

* added settings from prusa slicer

* changed cooling setings
2024-04-23 21:49:37 +08:00
Jamin Collins
315eee3493 Fix Dark Mode issues on Linux(via LAB) (#5044)
* GUI_App.cpp: trailing whitespace cleanup

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>

* StateColor.hpp: trailing whitespace cleanup

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>

* implementing LAB color routines

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>

* Fixes 3667: light/dark fixes for Unsaved Changes dialog

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>

* Fixes: 3675 - set dark mode colors for tabs

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>

* GUI_App: use LAB for fallback and sanity checks

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>

---------

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-04-23 21:46:55 +08:00
Bernhard Koppensteiner
3b9e1f8eae Merge branch 'SoftFever:main' into main 2024-04-22 20:59:21 +02:00
Bernhard Koppensteiner
edb57990ef changed cooling setings 2024-04-22 20:58:46 +02:00
yw4z
d163cea8f8 Fix crash when changing type of SVG / TEXT modifier (#5070)
* Fix crash when changing type of SVG / TEXT modifier
2024-04-22 21:37:04 +08:00
SoftFever
e8018008b3 Fixed a crash when arrange plate (#5109) 2024-04-22 20:13:27 +08:00
Thomas
d3c9e4d099 Creality K1 series improvements (#5081)
* Improved some configurations for K1 printers

* Removed seam_slope_min_length for K1

* Increased wipe distance

* Enabled slope on entire wall

* Removed retract_before_wipe

* Improved overhang print speed

* Prettified JSON

* Prettified machines JSON
2024-04-22 20:02:55 +08:00
Asim Siddiqui
0c4a3efaf3 Added Adventurer 5M series 0.25 & 0.8 mm nozzles + consolidation/cleanup (#5041)
* Added 0.25 & 0.8mm Nozzles from Orca-Flashforge
Consolidated common machine settings
Updated Filaments with new nozzles

* Updated Flashforge.json

* Corrected 0.25mm ASA Filament inheritance

* Updated/Corrected AD5M Machine profiles
2024-04-22 19:24:05 +08:00
Bernhard Koppensteiner
3d5fe64fe1 added settings from prusa slicer 2024-04-22 08:21:29 +02:00
HYzd766
5a3366b6f5 New Change (#5071)
* Qidi.Json

* Qidi.json

* Qidi.json

* Update fdm_machine_common.json

Added options for time-lapse photography
2024-04-21 23:39:31 +08:00
yw4z
16276dfb66 Add missing "Edit SVG" item for Add/Negative/Modifier SVG objects in object list (#5076)
Update GUI_ObjectList.cpp
2024-04-21 23:36:03 +08:00
SoftFever
1807f21a34 support debian 12 2024-04-21 18:51:24 +08:00
Jamin Collins
72029df558 show splash screen on Linux (#5050)
Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-04-21 17:08:26 +08:00
Bernhard Koppensteiner
88a9ddadb0 enable reverse overhang on odd by default 2024-04-20 21:30:54 +02:00
Bernhard Koppensteiner
f3e7ccb159 Merge branch 'main' of https://github.com/koppensb/OrcaSlicer 2024-04-20 20:37:02 +02:00
Bernhard Koppensteiner
5e56735e79 precise wall per default 2024-04-20 20:36:32 +02:00
Bernhard Koppensteiner
00648b7e18 Merge branch 'SoftFever:main' into main 2024-04-20 16:37:22 +02:00
Bernhard Koppensteiner
d4d3256ef8 after clearification at the prusaslicer repository M900 got removed 2024-04-20 16:32:50 +02:00
noobydp
2b4520b2df ENH: restore single instance (#4810) 2024-04-20 20:05:15 +08:00
SoftFever
1101ed9955 Revert "Show dialog when opening 3mf files to choose whether to import settings. (#4110)"
This reverts commit 8ce07d3e8e.
2024-04-20 19:14:38 +08:00
SoftFever
7f7dddaeed Fixed an regression bug where the sidebar would not appear when Orca Slicer was opened by double-clicking a model file. (#5089)
Fixed an issue that sidebar didn't show when OrcaSlicer is opened with double clicking a model
2024-04-20 18:11:18 +08:00
Bernhard Koppensteiner
c93e1f317f Merge branch 'main' of https://github.com/koppensb/OrcaSlicer 2024-04-19 18:54:35 +02:00
Bernhard Koppensteiner
d9944b90be changed max flow according to prusa slicer 2024-04-19 18:51:32 +02:00
Bernhard Koppensteiner
a93727e1b6 Merge branch 'SoftFever:main' into main 2024-04-19 18:51:00 +02:00
Bernhard Koppensteiner
7bb437eb0f retraction speeds according to prusa slicer 2024-04-18 13:17:19 +02:00
Bernhard Koppensteiner
532b952b99 simplified machine settings 2024-04-18 12:47:50 +02:00
Bernhard Koppensteiner
5b8a3b47c7 further changes after reviewing prusa slicer settings 2024-04-18 11:57:52 +02:00
Bernhard Koppensteiner
2085af9b02 Merge branch 'main' of https://github.com/koppensb/OrcaSlicer 2024-04-17 18:02:46 +02:00
Bernhard Koppensteiner
dbfc8351b4 changed to cubic because of speed 2024-04-17 18:02:43 +02:00
Gabriel E Dvoranen
add3040f68 Initial Add of Brazilian Portuguese translation (#5043)
Team:

https://github.com/DvoraGames
https://github.com/jcalmeida85
https://github.com/ramorimdias
https://github.com/Caminhaleonel
2024-04-17 19:15:26 +08:00
Bernhard Koppensteiner
99b14e050e Update 0.10mm Speed @MINIIS.json 2024-04-17 11:01:46 +02:00
Bernhard Koppensteiner
c3277e1b72 Update 0.15mm Speed @MINIIS.json 2024-04-17 10:58:19 +02:00
Heiko Liebscher
e5671c505d Fix translations and typos (#5039)
* fix some typos and translations (Bambu-> Orca)

* fix typos in cpp

* fix tr

* fix pl

* fix all po files again
2024-04-17 07:51:43 +08:00
gerchowl
184dbcc690 Adding units [mm] for filter_out_gap_fill in PrintConfig.cpp (#4915)
* Update PrintConfig.cpp

filter_out_gap_fill
adding units to the input field
2024-04-17 07:48:19 +08:00
KrisMorr
7a0176c295 Polish translation update after merge (#5038)
* Update Polish translation

* Fix

* Merge branch 'SoftFever:main' into Polish-translation-upd

* Update Polish translation
2024-04-16 20:15:28 +08:00
Olcay ÖREN
05ca9fdee9 Edited into Turkish words. (#5032)
* Edited into Turkish words.
2024-04-16 20:14:45 +08:00
Jamin Collins
98d152a7f5 Act adjustments (#4961)
* remove trailing whitespace from workflow files

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>

* skip upload actions when running in act

* https://github.com/nektos/act

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
2024-04-16 20:14:09 +08:00
Bernhard Koppensteiner
fd53f45257 Merge branch 'main' of https://github.com/koppensb/OrcaSlicer 2024-04-15 21:31:00 +02:00
Bernhard Koppensteiner
425be2652c added more processes, changed settings 2024-04-15 21:30:48 +02:00
Bernhard Koppensteiner
56e98046cc Merge branch 'SoftFever:main' into main 2024-04-15 21:27:58 +02:00
Stevetm2
3acd8a2bb4 Initial add of Creality Sermoon V1 Printer and 3 process configs (#4956)
* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Update Creality Sermoon V1 0.4 nozzle.json

Changed the default process for the Sermoon V1 Printer.

* Update 0.20mm Standard @Creality Sermoon V1.json

Reduced speeds of .20mm process for Sermoon V1 to no more than 195mm/s as not all printers which may use this are running Klipper.  It is set to Marlin for the flavour but is targeted at a Klippered printer.

* Update 0.16mm Optimal @Creality Sermoon V1.json

Remove Arc Fitting and reduce elephant foot.

* Update 0.20mm Standard @Creality Sermoon V1.json

Remove Arc Fitting and reduce elephant foot.

* Update 0.28mm Standard @Creality Sermoon V1.json

Remove Arc Fitting and reduce elephant foot.
2024-04-15 23:10:13 +08:00
Jamin Collins
a96852cb83 correct typo: transver vs transfer (#4957)
Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
2024-04-15 23:05:39 +08:00
SoftFever
368c465a8c fixed an issue that translate object was not wrong (#5005)
* fixed an issue that translate object was not wrong

* Display correct coordinate system name

* Update locale
2024-04-15 23:02:21 +08:00
Thomas
c9111b4851 Fr translations (#5018)
* Updated French translations
2024-04-15 22:58:21 +08:00
HYzd766
8ae358e9bc Update QIDI profiles (#5017)
* Qidi.Json

* Qidi.json

* Qidi.json
2024-04-15 22:20:11 +08:00
Heiko Liebscher
c9137ed678 new de feature translation for dev after merge mit bs 1.9 (#5021)
* new features

* fix type
2024-04-15 22:16:56 +08:00
FlashforgeOfficial
85f8d7adae 0409 AD5M and G3U update (#4936) 2024-04-15 22:15:09 +08:00
SoftFever
87be98955c Fixed a regression that print host is not displayed properly 2024-04-15 22:14:30 +08:00
HYzd766
36de749176 Qidi.json 2024-04-15 16:42:07 +08:00
SoftFever
c787138aa3 update locale strings 2024-04-15 00:10:17 +08:00
Olcay ÖREN
c19122f0b7 Turkish words were edited (#5004)
* Update OrcaSlicer_tr.po - TURKISH translation update

* Update OrcaSlicer_tr.po - TURKISH translation update

* Update OrcaSlicer_tr.po - TURKISH translation update

* Turkish language code added (tr_TR)

* Turkish words were edited
2024-04-15 00:02:02 +08:00
SoftFever
1bb8fad63f Merge some changes from BS 1.9 (#4994)
* FIX: do not touch the plate with different printing sequence

jira: STUDIO-5424
Change-Id: I8ad00fa991b753de126a5bef0d320c452033e2e7
(cherry picked from commit c4adfe16e285f238f2c5cd8938b2167fdfb6b1b0)

* FIX: global arrange setting is wrong

global arrange setting is wrong if a plate's setting is changed from object list

jira: STUDIO-5438
Change-Id: Iaa7f35837edbacff9b97ca17a8ab34c8e6bb023d
(cherry picked from commit fa2f56575b2e4305e35dd59ff55e0881720de025)

* FIX: temperature symbols not shown correctly

Need to use wxString::FromUTF8 to convert unicode symbols to wxString.

jira: none

Change-Id: Ia8b559d437c956a2cc28916d8963823356402d05

* FIX:Repair calculation process of plate_box

Jira: STUDIO-5520
Change-Id: I4c3f9597542ad2dfec4d7849e75fa28272fa4ea3

* FIX:frequent calls to _update_imgui_select_plate_toolbar

Jira: STUDIO-5488
Change-Id: I12e6f37c2fe94de004aa6da43421970d6df10f0f

* FIX: & is not displayed on the sending print page

Jira: STUDIO-5343

Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: I1736bb97433581ff117bfe09afe8ee70c1b08fc4

* FIX: file name is not fully displayed if it is too long

Jira: STUDIO-5230
Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: I992fa0c0575afbd2eecb2af02c8a305eda028f7f
(cherry picked from commit d0d7fb0b1394429ee9d28d8ef4060a286ba0112d)

* FIX: The warning box still exits when the temperature has reset.

Jira: STUDIO-5562

Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: I7532db69880449eb3fa0a14fc4dfc61e7f6d518e
(cherry picked from commit 589ed5fe045b5e7ec3effe437c9685085960c0fc)

* FIX: White circle is not clear on auto refill page

Jira: STUDIO-3262

Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: I05ac6257638063d32a9943c09bb7c14cc9229b3a

* FIX: Groove text ctrl is not wide engough

Jira: STUDIO-5434

Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: I93c0995473a72b5c19bc413c38c090906e360455
(cherry picked from commit e4a8b0ef5e62ba0053dc782c30ea79b237a46ac3)

* FIX: values are not saved when clicking on an empty space

Jira: STUDIO-4637

Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: I837050029635f673b3ae671ea1ad049aaf4fdd16

* FIX: Temperature warning is not fully displayed

Jira: STUDIO-5038

Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: I460cbe2a5d0a092c4257b7bd5192058bf2e4707b

* NEW: display bitmap when calibrating

Jira: STUDIO-4661

Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: I60cf4f9769feca74699012418880e93fcfe34432
(cherry picked from commit 1213aea816694405311dc0c1061655a4c2a1d067)

* FIX: remember the flow ratio calibration type

Jira: STUDIO-5181
Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: Id6125d1d4ea58972ce55c2c2498259596b25111e
(cherry picked from commit 1af1038fd4824d989e992cb630cf34e00c787af7)

* FIX: File panel crash on scroll

Change-Id: I56833a376fa52c960efea5fbd60003367ba410c2
Jira: STUDIO-5337, STUDIO-5513

* FIX: auto arranging skip unprintable high items

Jira: STUDIO-5646
Change-Id: I72dc3d8c71a075bab8204f4418e869a7a34c0c8e
(cherry picked from commit 0afdf8361493485da2254c426719594fd9a982ed)

* FIX: MediaFilePanel error state

Change-Id: I318ef59fb97478ffee16dff594022b2b9029964a
Jira: STUDIO-5638

* FIX: sync whole preset vendor directory

Change-Id: I191dbe979a87ff35d38cab1149b7975664344838
Jira: STUDIO-5534

* ENH: support turn off liveview auto retry

Change-Id: I24b39f74e0a40a13277d6eae3830c95c5c9de333
Jira: none
(cherry picked from commit f6ceb3fb8e4df3f876c50a1c4ba96b4a1be60190)

* FIX: SwitchButton auto scale font

Change-Id: If4004c0963cc8bb2f41e8e71c304d5239bf252ab
Jira: STUDIO-4969 STUDIO-4921

* FIX: set WEBKIT_DISABLE_COMPOSITING_MODE=1 for linux gtk

Change-Id: I8a500585ca815948bab1210578ba5c45858ed78e
Jira: STUDIO-5199

* FIX: Prefer old selection when sync AMS not compatible

Change-Id: I6b18db51887132a997cf78d70fff9a92e23bc44a
Jira: STUDIO-5416

* ENH: show liveview stat

Change-Id: I70d1f458aa2ed379ad7fe07dee76fbe035316420
Jira: none

* NEW:remember custom color

Jira: STUDIO-5635
Change-Id: I439080f6a8ddb6fde3899cffbabc3b6e66afbd96

* FIX: copy live555 dll

Change-Id: Idf727b8e26107e93aa9934299e87dc71531d1c63
Jira: STUDIO-4480

* FIX: optimize batch update object list on macOS

Change-Id: I92e24cc53c0b3bf0658d15abc64292f0e17c0a82
Jira: STUDIO-5440 STUDIO-5515

* FIX: network plugins tip disappear on dark mode

Change-Id: I422ab63f71158a49920438f01dd9c39774c27744
Jira: STUDIO-4891

* FIX: Display inconsistence in parameter table

JIra: STUDIO-3716

Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: I986473bcbb3efff4abd9c5917926d9e888a4f28c

* FIX: Incomplete copy display in Transfer or discard dialog

Jira: 5569 5549

Change-Id: I757b636259d7e1a222b9fc09276c12235360fd57

* FIX: Limit the max length of k when calibrating

Jira: STUDIO-4291

Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: Ie7cff086cf2a3c744213525d5d83f9ac4b55333d

* fix build break

* FIX: delete sdcard file crash

Change-Id: I814fd4b557fa92ac4060cbeb18a53f5616e49662
Jira: STUDIO-5977

* FIX: Yield when join media thread

Change-Id: I746d7df88a0de8363da7d9507cb63c9e0ffe970a
Jira: STUDIO-5952

* FIX: Guide page can't show in screen with mainframe

Jira: STUDIO-4911

Change-Id: I7e89614e0f1585263456c847a1b38dcfd0ad59e6

* FIX: filament combox has blank line

Change-Id: Ia39ddb564b3c9cc943d0ea4c0cf7cc4d24bef799

* FIX: load 3mf crash when studio has no base filament

Jira: none

Change-Id: I4387f425f60e6a53a53cf68addb1ab2d6f8f8901
Signed-off-by: maosheng.wei <maosheng.wei@bambulab.com>

* FIX:add resume button

JIRA:github:2860
Change-Id: I39035d929876ab3c84c5f5c3494376967300938c

* FIX: CLI: fix an arrange issue when duplicate failed

restore the wipe_tower position to original when duplicate fail

JIRA: MAK-2638
Change-Id: I355056f1d87648cc1f6aafa15a98ff569359b44f

* FIX: fix printer list without nozzle such as 0.35 or 0.75

Jira: 5409

Change-Id: I1a258fd10bcc03e297b791256880f2518d602905

* ENH:The first object should locate at plate center

Jira: STUDIO-6023
Change-Id: If4284136fe63ca576463445f3ab16b6e18ead30f

* FIX: Colored filament is not matched against.

github: #2190
Colored filament is not matched against the same color in AMS slot.

Signed-off-by: Kunlong Ma <kunlong.ma@bambulab.com>
Change-Id: Id4588fc9c8115a46881e2f5d198d79fe831f4371

* FIX: Revert "[STUDIO-4284] not set max height of liveview window"

This reverts commit 0312aee4d9b92e23884be8802da9801ff3b9fe93.

Reason for revert: STUDIO-5653
Jira: STUDIO-5653

Change-Id: If9d5f3e63968a0a54f9af1a2dae8f95f7f1f3f80

* ENH:modify file name rules when export stl

Jira: STUDIO-6091
Change-Id: Ic27e4e341cc09099e98a5eab7dfd48416f2922ae

* FIX: Flow calibration stage incorrect when switching printers

Jira: 6093
Change-Id: I41f1ac10ac9422ac808eab3254f32ea14a0d3b76

* FIX: UserGuide Can not Click When Computer User name has chinese

JIRA: None
Change-Id: If50baa8c6a13eb501918fd5cdaf0ea3da7c788ef
(cherry picked from commit 4e5ccc9f2de5ac429af6541c6a8bd412848801d0)

* ENH: Little Optimize JS Code Execute Progress

JIRA: STUDIO-5792

Change-Id: I12b03d8b968a9dd8dfce9eb3ef925fa8768e2046
(cherry picked from commit 2bf861092c9e306e1311eda8ac36fd981e73b6c2)

* FIX: Delete Test Code

JIRA: NONE
Change-Id: I838a348edb22e09d2b1d5c41600c6fade535d184
(cherry picked from commit 51e664da0209ae8a3de5cbf30a72505c0b5bd028)

* FIX: the object list order changed after clone

github: 2798
Change-Id: I10a05ee7e00b05cb1255cfb708876ed784cabac7

* ENH: add alias for custom Filament preset

Jira: XXXX

Change-Id: I2fecc8b2bdb63618155e3d21f9db374a6119e416

* FIX: [5779] fix show alias logic when load preset

Jira: 5779

Change-Id: I4fefe3c1ffbca9bd8296f1b3fdd5de48c6a36a28

* ENH: Optimize the logic for deleting third-party printers

Mark the Filament and Process presets to be deleted first
then delete the child presets first and then the parent presets.

Jira: none

Change-Id: I100b873baae96c6ba27af258e708e6ab8e6ee4ab

* ENH:default selection of virtual tray

jira:[for def selected]

Change-Id: I0661f179f8e4bcac33ae12fbbeaeaf95c5b7c110

* ENH:add protection when no thumbnail data

jira:[for protection]

Change-Id: I3834a5ffde11ff54567dd854271184f06f94547f

* FIX:fixed issue with chinese path

jira:[Fixed the issue of failed loading of configuration files under Chinese path]

Change-Id: I9badd8fc158fcf49f46411ac4e5f72d58823eeb2

* NEW:add new msg notification for hms

jira:[STUDIO-6154]

Change-Id: If1aa33030a99550d0c859d594a2711aea4dcea4a

* NEW:using new humidity display ui

jira:[STUDIO-5967]

Change-Id: I13be4212e6b97f646d21e0af64cbc5006753fdeb

* NEW:Dye materials above grade 10 with shortcut keys

JIRA:STUDIO-5827
Change-Id: I002ecdd19167fb36772e4b4e9e2f7760e21079db

* NEW:update automatically when inserting materials

JIRA: STUDIO-6157
Change-Id: I2cefbb7b330ca4f13e841066548992b3fb3740f1

* FIX: check sdcard exists for file connect

Change-Id: I69199a29294c04d1fe46ee66682085b1f1d1d049
Jira: none

* FIX: not load printer files when it's busy

Change-Id: Ie5a58befcfc0d7fa0d4e587e8429c0b1bfeff72a
Jira: STUDIO-6105

* ENH: save video ctrl size to reduce layout change

Change-Id: I470f29d7f029d304c9badeeb8f94bed281080b29
Jira: STUDIO-6141

* ENH: stop liveview track record

Change-Id: Id4f236b239740bd919f2aa2f2892c1e63ce233bd
Jira: STUDIO-6131

* FIX: thread safe of http extra headers

Change-Id: I6ffa424be7ccb6abd78a66cc8be535f038b05469
Jira: none

* optimize MeshBoolean

* FIX: parse printer_model_id from 3mf

Change-Id: Ib149c986885ee6412898f1f51dd5a4aaad0a596d
Jira: none

* ENH: find grid empty cells for fill bed if the item is too small

jira: STUDIO-6015
Change-Id: I4e5eafdadd77482a27a8903d32bb83325283088d
(cherry picked from commit 8df4da4a863cdc42c790a9d5da37f8633423e406)

* ENH: always return product for firmware and lifycycle

JIRA: STUDIO-6282

Change-Id: I1f942babdcb7afee2c9a9076ac539063c5406ad7
Signed-off-by: Stone Li <stone.li@bambulab.com>

* ENH:STL tracking restricted area

jira:[STUDIO-6155]

Change-Id: I289c8b8aa8f62f0e5cc7004fb60437aa3337ca85

* NEW:add nozzle settings

jira:[STUDIO-6226]

Change-Id: I0db8333e5b5c8195add111fdcfa2e92387997815

* ENH:display the current humidity of AMS

jira:[ENH]

Change-Id: I98bdd6d70cd173ed640f0d96692fcb6836416bb8

* FIX: [6123] create printer for exist printer can not into next page

Jira: 6123

Change-Id: I338ac0fde4f69b6f312f20e53851d91339e8156f

* ENH: Display value of flushing volumes

JIRA:STUDIO-6139

Signed-off-by: Kunlong Ma <kunlong.ma@bambulab.com>
Change-Id: I273fb22b0d378a839c34e9e0e9c414f0e5134799

* FIX: show printer file path & title

Change-Id: Ie5eff188c3039deeca5da96b54407194bf8910a0
Jira: STUDIO-6268

* FIX: liveview error message

Change-Id: Ie437e07916d7b6feae2dbcfa166c4e73bdcf31a1
Jira: STUDIO-6107

* FIX: file proto error message

Change-Id: I2c4117961c615e424780fb3830441e6a93c50bcc
Jira: none

* ENH: earse sensitive fields when export configs

Jira: None

Change-Id: Id9ca0637240b80773f39d2308192f8c78a5de3c6

* fix build errors

* FIX: unexpected layers in multi color print

github: 3131
Change-Id: I2a42e3bbd2247fbc0957022e1baae43c9375a8fb

* ENH: Add "New" button for PA cali

Jira: XXXX
Change-Id: Ic39f2508f2f9d390c2b9246fb3d3e281cde9b064

* NEW:add printer compatible check from sd card view

jira:[STUDIO-5969]

Change-Id: I86d10ebe2e9bc77e6350e26aeed6b4f0f9fdcecb

* NEW:enable loadl/unload when printing pause

jira:[STUDIO-5968]

Change-Id: Ieb3ef2423378e44b81a61a2b18c16f68aa335922

* FIX:fixed HMS message not cleared

jira:[STUDIO-6296]

Change-Id: Ic7692ce337fd00ece4ab8d65214a8c406f8543f8

* ENH:error code setting default value

jira:[for error code]

Change-Id: Ica61344c8217d41adb2947a40f633dc8d19a197a

* ENH:display conflict information

jira:[STUDIO-6297]

Change-Id: Ie1501323a7e8d9ceb4060ae6c0b4eab20f8b088a

* ENH: refresh printer file list

Change-Id: Ic86942d2b0b2e8383ef0f06311164aad59e837ad
Github: 3383

* FIX: Unnecessary prime tower error prompts

Custom gcode on other plate causes unnecessary prime tower error prompts
Jira: 6305

Change-Id: If499659b364a6b6898db1587b7b2aeed03758667

* FIX:multi colour displayed as gradient color on AMS

JIRA:5925
Change-Id: Ic7a925dda2e3bde066ba40ba27002569040f9518

* NEW:Color painting shortcut keys 10~16

JIRA:STUDIO-6238
Change-Id: I3cce838fad5e73d41f109b32f2e563716fd5b0da

* ENH: Print when unnamed project, task named as object names

github: #2286

Change-Id: I9be3fd25d16a00b78326ec43db9afcf3645d90f1

* ENH:reset user access code

jira:[for lan mode]

Change-Id: I2d0ed48411d683c3f20b2febc0d54747287870a7

* FIX:fixed crash when selecting new printer

jira:[fix]

Change-Id: I6a81186e822eb6bf6ce7aa70561dfae35d4de0e7

* FIX: not show printer's camera error when updating

Jira: STUDIO-6232
Change-Id: I985d75b3772849e07100799c4f13db5d4cbafde3

* FIX: clear error after reload file list ok

Change-Id: I5d5e4f2870302b198d3a9d40603a6fa8010b7e76
Jira: STUDIO-6306

* ENH: custom filament sync with printer

1. prompt sync user presets when create custom filament
2. Fix the issue of not displaying printers when creating custom Filaments based on presets when selecting PLA Aero Type.
3. Optimizing the traversal logic during AMS Setting Pop up reduces time complexity and allows for quick pop ups. Additionally, using nozzle calibers for retrieval and repairing custom materials may result in inaccurate retrieval.
4. Implement synchronization logic with the printer
	-a. Received slot information, reset the slot when the "filament_id" in the information does not exist in Studio
	-b. Received slot information, the nozzle temperature in the information is different from the preset nozzle temperature in Studio, reset the current temperature.

Jira: none

Change-Id: I511dc82563ec77a341839671d398607048ce1985
Signed-off-by: maosheng.wei <maosheng.wei@bambulab.com>

* NEW: add api of "toggle_selected_volume_visibility"

Jira: STUDIO-6166
Change-Id: I77eb988a3ea43cd37d50888d1753b973795d8b36

* FIX: No data in the drop-down menu of the AMS settings page

Jira: 6342 6343

Change-Id: I6938fb4a7ae2816a4675d8d739622e25f219f469

* fix build error

* FIX: label wrap all & ping test for liveview

Change-Id: I7767ed0740e20bb578b6ef9f5e9873c8c79d172a
Jira: STUDIO-5821

* ENH: reuse controls in param Field

Change-Id: I42bb4da01e1e9b64c343b7fda4357a9553cf8684
Jira: STUDIO-5983

* FIX: use wide path to create camera process

Change-Id: I5de31fce0dea14df9a0ad363f3cb16dc40c275bc
Jira: STUDIO-4946

* ENH: optimize the get_tool_order func

Use Dp to refine performance

jira:[NEW]

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I38b0c875e4deee9d9fbe926087fb5b2e274f8f90
(cherry picked from commit 9b7b66dc7a1f5e3efa318227ae7694bec5ec1216)

* Fix build errors

* ENH: add customize other layers print sequence

Jira: 6338
Change-Id: Ic14b2671ade37ab37583b81c5b509447b6c0d8f8

* ENH: [#3236] Unsaved changes to interface copy adjustment

github: #3236

Change-Id: I53931859bdcdfedfa9f63f6239d0fd2fd6d2766c

* NEW: support to adjust other layers print sequence

Jira: 6338

Change-Id: I5e6aef71aa9e6e97c1859aaaeb9ada5f1340414a

* FIX: imgui support toolbar window text wrapping issue

jira: STUDIO-5821

Change-Id: I57ee984baffbb2f00a7ecc5d5c8061074b06aff6

* FIX: updater: fix force upgrade logic

JIRA: STUDIO-6393
Change-Id: I46c51e09e7390e5ab0de40215911aac9635ab476
(cherry picked from commit 673ba6ff4ebda039d71dcbfdaa28c1252f5b8821)

* FIX:final step of slicing is to execute post-processing script

JIRA: STUDIO-5828
Change-Id: I8c33e2a66ac5c692244c778586040663b7b54bd7

* NEW:enable 3dMouse detect in .conf

JIRA: 5830
Change-Id: I8731e0244d2f551130c84bcfbbb46967ae6b19cd

* FIX:finish init "return" icon and hide it

Jira: STUDIO-6350
Change-Id: I0f1efd4a64ea204daeac7de822602ef6dfa3e4a5

* FIX: seq_print: fix an invalid warning caused by sinking

github: https://github.com/bambulab/BambuStudio/issues/3007
Change-Id: I1111910f2c625d5a871ea01b37dbfa7b04a849ee
(cherry picked from commit a3db95bb0940d5afe07ef0bb07113cc2acd7cd0a)

* ENH: plater: optimize the loading time of 3mf with large objects

JIRA: STUDIO-6021
Change-Id: Ia97f681041bb553c5c4b5b1d9109e5e5c42daf6b

* FIX:Fixed HMS issue

jira:[STUDIO-6344 STUDIO-6310 STUDIO-6356  STUDIO-6348]

Change-Id: I9d6660e7c349775004b69bfe41b651bfa8b359b7

* ENH:handling dirty data after nozzle settings

jira:[STUDIO-6332]

Change-Id: I00d6d1324376f973ec3cf9f2154ae83ef3302705

* ENH: use Bambu_StartStreamEx for agora tunnel

Change-Id: I5c28dea49d267bf7ff967d0982dd83555899c8c4
Jira: none

* FIX: use safe language code for http

Change-Id: Id1f4927308350ee35b891a5352cbf1e2d0c2577e
Github: 3655

* FIX: add cli_id, cli_ver to bambu url

Change-Id: Ic527d1497c6dee0c723d7b4629f0be825a8f7545
Jira: none

* FIX: not throw when _add_auxiliary_dir_to_archive

Change-Id: Idf54bbbd0ef557ec5e1a8e51ed669a1eb1fb4261
Jira: STUDIO-6339

* NEW: vase mode can be applied to one plate

jira: STUDIO-5838

Change-Id: Ifb315f7d79b570aeb7ee31d3495b4d465e3af0c6

* fix crashes

* ENH: update overhang degree method on calssic mode

Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I90f6e4c2ef618fdaef00bdaf1ca309893f484c1e

* FIX: auto-arranging unprintable items may crash

github: #3676
Change-Id: I68eb87c73ad2c0c269f60e661136fd1a72ee5e2f
(cherry picked from commit 7e3c57eaa811424935fe8db6a4e77dd142ee2b58)

* FIX: use old slicer_uuid for client_id

Change-Id: I6c45e83213d613fc28eef04115f9cfb19dea703e
Jira: none

* ci: update network module based on commit 542ced8

Change-Id: I3ad5032cc56a99d1c3a687b2891d147b13af066d

* NEW:Support OLTP file

Jira: STUDIO-6421
Change-Id: I58bc94e978e6d2dd136ea370fb01f6ec80e14b23

* ENH: detect in_head_wrap_zone more precisly

1.Union first layer convex hull with object's bbox to detect whether
model enter head_wrap_detect_zone

jira:NEW

Signed-off-by: XunZhangBambu <xun.zhang@bambulab.com>
Change-Id: I11f26967d7421f41e9c824e62794c96591e6ae71

* FIX: fix the plate cannot be searched

JIRA: STUDIO-6283

Signed-off-by: Kunlong Ma <kunlong.ma@bambulab.com>
Change-Id: I88206c91ea24c6a41a0bd06f05f0f3c2fdc58a36

* NEW:hms error code

JIRA: STUDIO-6302
Change-Id: Ia33511f4c636c8ada39ed5a4e52d9b185da9c00b

* FIX:Color adaptation for numpad

JIRA:STUDIO-6410
Change-Id: If6e49638af8616fd349367073883592e6bebb503

* FIX: error overhang degree mapping

Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ifa24aa0cad0a06b09ee62a8be8781188a765d1d0

* FIX:display correct humidity

jira:[fix]

Change-Id: I27aae54a8355911b5d88ed45be320d3c9178081c

* ENH:Hide confirmation button when unable to send print

jira:[STUDIO-6355, STUDIO-6332]

Change-Id: I8f9c0edea4d5ee70e9fef1e9d42838d598dc32c4

* NEW: new type for Custom Filament

Type: "PE", "PP", "EVA", "PHA", "BVOH", "PE-CF", "PP-CF", "PP-GF"

Github: 3205 3169 3127

Change-Id: I8a30dd806c35460d9dae0f808190ce013b125d51
Signed-off-by: maosheng.wei <maosheng.wei@bambulab.com>

* FIX:fixed filament settings page display error in French

jira:[STUDIO-5821]

Change-Id: I6cc6dd9b83c7570688c2adc55efe2407cbcb4390

* FIX:fixed thumbnail not updating when using multiple plates

jira:[STUDIO-6313]

Change-Id: If49daa5b38b9a580ae226ff00a1e0085d167c15c

* FIX: Color Bleed in slicer

github: 3681 jira: 6450
Change-Id: Icb6274f7ddb238c238c133b95167310b1af905f7

* ci: update network module based on commit 8befd46

Change-Id: I3a6420684f106bdde5897a50d27dfec69e0aa37f

* ci: update network module based on commit e411785

Change-Id: I3a9c7bfa5ac5a942f339ad0194a24d9170847371

* FIX:reload paint after background process apply

Jira: STUDIO-6493
Change-Id: I9a1986152f05163f236f58bb24210b690ca3d562

* FIX: use object name of plate when send task in untitled project

Jira: 6430

Change-Id: I78ec811fab1cf028c0d5f81ac7738abdbeb6145f

* FIX: auto arranging spacing can't be adjusted correctly

jira: none
Change-Id: Ibddfe85aab9f3fad6a1612e8db437e52c40e20a3
(cherry picked from commit 136bca01f45e62042bd699a9a0a9f6d13519712c)

* FIX: fix change nozzle temp in Studio but printer not change

Jira: 6510

Change-Id: Ia0e1ac586ff41ddbabdac0845415e70774299387
Signed-off-by: maosheng.wei <maosheng.wei@bambulab.com>

* ENH:rename some img files

jira:[STUDIO-6512]

Change-Id: I69872533cccda37b94384bc219cc35c5dec9310b

* ENH:PEI bed is no longer unchecked by default

jira:[STUDIO-6508]

Change-Id: Ic9ca99860d46c27ca4c36a735df3f57fe71417df

* FIX:fix the load status of vtray

jira:[STUDIO-6435]

Change-Id: I8cafcc0b6caf19492aae6c153fb509f470dc7e83

* FIX: Supports automatic calibration of textured PEI

jira: 6504
Change-Id: I3234fb555b9bf0ea97e73387651874733e761ee7

* ENH:add tooltip for search item

JIRA: STUDIO-6459

Signed-off-by: Kunlong Ma <kunlong.ma@bambulab.com>
Change-Id: I7602a32159d21de8f37ea0208dd6a9f59b90dcce

* ENH: CLI: add version check logic

add option allow_newer_file

Change-Id: I8e8e4a45f77ebdd6dae6189841e4a9952e95ca82

* ci: update build version to 01.09.00.52

Change-Id: Id6e32b5afcf5eaabce9c0c7ab2c422e97b00e632

* NEW: switch to object panel if double click on object

jira: none

switch to object panel if double click on object,
otherwise switch to global panel if double click on background.

Change-Id: I6e54d7957aa19f1ebb1f993bc38125bbee8a1c98
(cherry picked from commit cc2e07bc9489c76a7d767acff0406c83c996504c)

* FIX:fixed loading img resource failure

jira:[for fix img load]

Change-Id: Ifb26b2ca23029abeda000322bf2ef7d2b3cda3b4

* FIX: Project Title can Click

JIRA: none
Change-Id: I614c60e76efe04875e36e3a8ef7a10acd3ef9ecf

* FIX:Prioritize selecting filament with smaller serial numbers in AMS

JIRA: 5909
Change-Id: If3030d4dd8d59af36bc1ae1801be1b89b0027a71

* NEW:material adaptation in select machine dialog

JIRA:xxxx
Change-Id: I625eac75c88cad804dd3741f750c5ea68a975421

* FIX:mac ams setting display

JIRA: STUDIO-6228\6409
Change-Id: I432a3aa96601a8e223b5949bc0ad5234c1374dca

* FIX: Image Scale Mode and Online Display

JIRA: none
Change-Id: I528f16e93b82748d86dc93e2dd3d85f317babaa7

* FIX: sequential_print_clearance_valid not working

not working  correctly with short objects

jira: STUDIO-6489
Change-Id: I33e1a165f448e1c3e272d4045934c63ad345db2f
(cherry picked from commit 9348eaa22a056db5384a38ea966cec9ba4a533a7)

* NEW: add nozzle_height to machine profile and do not detect conflict

Jira: request from 1.9

1. add nozzle_height to machine profile
2. auto arranging and sequential_print_clearance_valid don't consider objects conflicting if they are all shorter than nozzle_height and close.
3. do not detect conflict when all models are short.

Change-Id: I8d1eebb15d5bfa8c40d7491e033149e360531b89
(cherry picked from commit 6b4b52653db5f08d724a556c5c766c0bfa00f34d)

* FIX: sequential_print_clearance_valid not working

not working  correctly with short objects

jira: STUDIO-6489
Change-Id: I33e1a165f448e1c3e272d4045934c63ad345db2f
(cherry picked from commit 9348eaa22a056db5384a38ea966cec9ba4a533a7)

* FIX: [6510] set nozzle temp incorrectly when popup AMS Setting

Change-Id: I898f0b94794a3d67017b1917ce196c4019f5eb4a

* FIX: auto-calculate flushing volumes

JIRA: STUDIO-6547
FIX the first modification of consumable color after synchronizing filaments, without automatically calculating the flushing volumes

Signed-off-by: Kunlong Ma <kunlong.ma@bambulab.com>
Change-Id: I2bc76a29afde5241d100cc42a5161db0f9b901c4

* FIX: custom layer sequence from End to End comboBox display issue

jira: new

Change-Id: I413cd5896d7e921f2c7c03b91b08788fefb9a4f3

* FIX:fix the v tray's filament unload logic

jira:[STUDIO-6627]

Change-Id: I34420bc4d1d27b6b36defb9852bba2eaf77fdcf2

* NEW:reducing purge through retracting filament

1.reducing purge through retracting filament.Currently only
applicable to X&P series

github: PR#3100

Signed-off-by: XunZhangBambu <xun.zhang@bambulab.com>
Change-Id: Ie328039872e50e699dc5e5082fa99f68ac5f5fd1

* FIX: wrong role cache in wipe tower

1. Add wipe tower role cache in GCodeProcessor result
2. Add wiki link for prime tower

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ia766c7218df68fb1ffba567af193d6bfecacf588

* Fix plate settng icon

* NEW:revert hms error code

Change-Id: Ib5cc8bb8b8ced0f70d5bbe4751a1f97258218c6f

* FIX: calibration page button broken display issue

jira: STUDIO-3913

Change-Id: I2fd488e829d898b7d81d09db814ed6518f0c54a8

* FIX: do not check spiral vase mode config if an object is loaded

jira: STUDIO-6514

Change-Id: Ib44ec8322ff178b5765f7fe94b588aa38339691d

* FIX: implicitly set spiral vase config for objects just loading

jira: 6514

Change-Id: I04bb2b1abeb62d4dfff4e526b723b1cf1bd5fd7f

* FIX: filling bed fails if the bed is already full

JIRA: STUDIO-6490

Signed-off-by: Kunlong Ma <kunlong.ma@bambulab.com>
Change-Id: I71b5a01a95cdffef7c0750e6347fa8911dcd781d

* ci: update network module based on commit 868f5d7

Change-Id: I5584e4441e1f2ab400addaa87ee8013927fb9e15

* FIX: add query_real_volume_idx_from_other_view api

Jira: STUDIO-6545
Change-Id: Ib8216981c5d2945a0221a5caa1fbc14ed74e930b

* FIX: Can't edit text

github: 3750
Change-Id: I1caecaa968e60cadcdbe9f7aa67cba141bb88230

* FIX: Slicer creates invalid color pattern

github: 3749
Change-Id: I3fd74a9ca59b75873fcbca4437e4858c749ee853

* ENH: hide tuck did

Change-Id: I9021d3f51c9a73bc9208b479f96b1ddbe7a2f8f8
Jira: none

* FIX: PrinterFileSystem: retry connect on user action

Change-Id: I3e8902298385ed2e5906fd15d1817b6e33522a76
Jira: STUDIO-6354

* FIX: Remove user ID and other information

Jira: XXXX

Change-Id: Ia63ec88a335d88fd40a29952abe6d40d8991efee

* ENH: refine retraction before cut

1. Add filament retraction before cut control

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ifcb087c9791c0461b793ef811b21ebd4c007d880

* FIX: enable resumed read only Field

Change-Id: Id09e671932458699c020f0a061d8cfc11a6958ab
Jira: STUDIO-6641

* ENH: add precise_z_height

jira: none
Change-Id: Idb9fcf0063e773f1531a49961478460b91ded10f

* ENH: modify the multi-material segmentation and voronoi

This patch is cherry pick from Prusa, thanks to Prusa

Rework multi-material segmentation to work directly on the Voronoi diagram without creating a copy of it.

Previous algorithms assume that they can get an invalid Voronoi diagram. Because of that, during the multi-material segmentation, a copy of the Voronoi diagram was created, and there were several attempts to fix missing vertices and edges. But as it shows, this wasn't a good enough approach and sometimes led to several issues like bleeding layers.

After generalization, our approach for detection and repairs of invalid Voronoi diagrams from Arachne, we could assume that multi-material segmentation gets non-invalid Voronoi diagrams.
With this assumption, we reimplement multi-materials segmentation to work directly on the Voronoi diagram. That should make multi-material segmentation more stable.

So, this should fix several issues like bleeding layers. Also, memory consumption should decrease by a lot. Also, there should be some speedup of multi-materials segmentation.

Jira: none
Change-Id: I72aa6e1f9634d9ee8759aa469a0b39a36ace62f5

* FIX: infill speed not work on region level

Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ie3d17c5e3cbf91a8854e3b4cd80babeb2b1bd121

* ENH: support saving PA calibration results for P series

Jira: none

Change-Id: I9402b8bcce7b48a63d0e97e0708080701d065e7a

* ENH: refine long retraction ui

1. associate button display logic
2. Add valid range tip
3. seperate the printer into three types

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie14c8746eb20456dacd5c129a5449c1e7c7db372

* FIX:height range cut = volume_count * 2

Jira: none
Change-Id: I539c2f9cda7985b4b3c318ca8aa1eb7c52fdce82

* FIX: auto arranging gets wrong object height

obj->bounding_box().size() is not the real object size if the object has been rotated.

jira: STUDIO-5999
Change-Id: I6553d4c990696efd674e3e57063802127d5d5282
(cherry picked from commit 479ea9fb02f55d24f27c94633f3d852bd5c62c83)

* ENH: seperate support weight from model

jira:NEW

Signed-off-by: XunZhangBambu <xun.zhang@bambulab.com>
Change-Id: I86bb34941269bf1aa29436a94ebbdff675497e85

* ENH: add support for gcodeviewer statistics

jira: new

Change-Id: Ied6d61e8c48ac82daf16579d9caed9723cf8e29d

* FIX: invalid support weight per extruder

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I0e4b857c9c758ab7c54ef13aee1bf596f975640b

* FIX: do not need reset bed_type for pa calibration

jira: none
Change-Id: I411064cf14d94a9bd1f0f6668ee23aa10d372f3d

* FIX: P1P/S can not modify the k value in old version

jira: 6745
Change-Id: I5c9dffe8e998213e6af6e1d01a6b0ae82521e8db

* Add rotation support for 3D Honeycomb
Ported from BS

* ENH: add default params for long retraction

1. Only auto calculate flush when enabled
2. Add default params for long retraction
3. Disable filament override for unsupport machines

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ib5d51505b58101839527e944f9a237483951f9fe

* misc fixes

* ENH: remove long retraction warning

jira:NEW

Signed-off-by: tao wang <tao.wang@bambulab.com>
Change-Id: If60236b3282991a2d94df7d125427cff86899536

* avoid zero length path

* FIX: check recommended nozzle temperature

Jira: XXXX

Change-Id: I4dbb274cf27ef9c6d20a8479b29af1069652b2bc

* FIX: fix not popping up a prompt when the temperature is set to 0

Jira: 6497

Change-Id: I6498fc6962e7da376d4c652dab0a99a161932eef
Signed-off-by: maosheng.wei <maosheng.wei@bambulab.com>

* ENH: When creating a custom Filament, use the system Filament type.

Jira: 6301

Change-Id: I1bfddcf43d2ebaebca4eb494d1f64165c3d59e9e
Signed-off-by: maosheng.wei <maosheng.wei@bambulab.com>

* FIX: seam and unretarct pos error on smooth vase
casused by invalid path of smooth vase mode

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ib597e8c05760886aae2c42e42e8d46e82b844578

* FIX: unable to map if filament not used in model

1.Fix filament can not map if it's not used in model body

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ibd2685ffd198b2e17dbf44289d0144b5b7c25788

* NEW:Update data only on device pages

jira:[STUDIO-6776]

Change-Id: I33b0c9f35c1dc6df2db3b6bd4f446f46b31ecf6c

* set(SLIC3R_VERSION "01.09.00.70")

* update BBL machine profile 01.09.00.04

* scarf clip start and end
Ported from BambuStudio

* fix linux build error

---------

Co-authored-by: Arthur <arthur.tang@bambulab.com>
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
Co-authored-by: wenjie.guo <wenjie.guo@bambulab.com>
Co-authored-by: chunmao.guo <chunmao.guo@bambulab.com>
Co-authored-by: maosheng.wei <maosheng.wei@bambulab.com>
Co-authored-by: hu.wang <hu.wang@bambulab.com>
Co-authored-by: lane.wei <lane.wei@bambulab.com>
Co-authored-by: Kunlong Ma <kunlong.ma@bambulab.com>
Co-authored-by: zhimin.zeng <zhimin.zeng@bambulab.com>
Co-authored-by: zorro.zhang <zorro.zhang@bambulab.com>
Co-authored-by: tao wang <tao.wang@bambulab.com>
Co-authored-by: Stone Li <stone.li@bambulab.com>
Co-authored-by: xun.zhang <xun.zhang@bambulab.com>
Co-authored-by: liz.li <liz.li@bambulab.com>
Co-authored-by: qing.zhang <qing.zhang@bambulab.com>
Co-authored-by: gerrit <gerrit@bambulab.com>
Co-authored-by: Leon Fisher-Skipper <47602359+LeonFisherSkipper@users.noreply.github.com>
Co-authored-by: Lukas Matena <lukasmatena@seznam.cz>
Co-authored-by: jianjia.ma <jianjia.ma@bambulab.com>
2024-04-14 22:07:00 +08:00
Andy
c6094d48aa Russian translation update (#4981)
* Russian translation update

Russian translation update OrcaSlicer V2.0.0 RC + two lines in intext.js

* Russian translation update

Russian translation update OrcaSlicer V2.0.0 Official Release.
Thx.
2024-04-14 17:57:10 +08:00
Lee Jong Mun
50d9d889ff kor translation update (#4970) 2024-04-14 17:56:42 +08:00
Dima Buzdyk
5d45770745 gui: fix zoom-to-mouse (#4844)
gui: fix zoom-to-mouse

Plater disappeared when zoom-to-mouse enabled and user tries to zoom
with a side view enabled (Ctrl+<3..6>).

Mouse/screen center position estimation in 3D is made by calculating
intersection of a mouse vector which comes 'through' the screen with an
XY plane. However, when screen is parallel to Z axis, intersection point
located at infinite which results in infinite camera translation vector.

This change switches mouse position estimation to use of projection
matrix like its done for camera panning.
2024-04-14 17:49:44 +08:00
discip
b0abb4c5a6 Rename tab_auxiliary_avtice.svg to tab_auxiliary_active.svg (#4390)
* Rename tab_auxiliary_avtice.svg to tab_auxiliary_active.svg

* Update MainFrame.cpp
2024-04-14 16:21:03 +08:00
HYzd766
ea2f4437ce Qidi.json 2024-04-12 09:57:01 +08:00
Russell Cloran
eb10a35163 Avoid M74 on Prusa MK4 in spiral vase mode (#4959) 2024-04-11 22:21:47 +08:00
Noisyfox
38d4881643 Do layer height recognition on G3 moves as well (#4843)
* Do layer height recognition on G3 moves as well

* Merge branch 'main' into bugfox/scarf-joint-g3
2024-04-11 22:12:06 +08:00
Jamin Collins
654af8e0e4 rework of Linux build scripts (#4850)
* rework of Linux build scripts

* change to ninja build system
* distribution specific logic broken out
* n/9 progress entries make no sense, removing
* {}'ing all variables
* sorting help output
* sorting package lists
* project doesn't use submodules, removing logic

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>

* drop gtk-2

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>

* further refinements of BuildLinux.sh

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>

---------

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
2024-04-11 22:11:31 +08:00
Alex Boyd
ec8d91e14f Display filament labels in "change filament" context menus (#4921)
* ENH: display filament labels in "change filament" context menus
2024-04-10 21:54:46 +08:00
yw4z
eef66022a0 Small change on Toolbar order (#4581)
* Update GLGizmosManager.cpp

* Update GLGizmosManager.hpp
2024-04-10 21:42:39 +08:00
SoftFever
fbcf1fe08e trigger build for changes in build script 2024-04-10 11:31:47 +08:00
Asim Siddiqui
b56255b4df Flashforge Adventurer profile enhancements (#4824) 2024-04-09 20:43:29 +08:00
Dima Buzdyk
72933ebc85 Series of fixes for the Creality Ender 3 V3 SE (#4813)
* e3v3se: disable m73 as not supported in FW

* e3v3se: remove thumbnails

Remove thumbnails generation to not confuse users.
Currently event CrealityPrint does not generate thumbnails for the E3 V3 SE.

* e3v3se: update motion capabilities

Update motion parameters for the Ender 3 V3 SE profiles:
 - max acceleration on all axis to 2500 as per product spec
 - max X and Y speeds to 250 as per product spec
 - max Z speed to 5 as set in factory defaults (M502, M503)
 - max E speed to 40 as presented in recommended print parameters on the
   product page

Product spec sheet:
    https://wiki.creality.com/en/ender-series/ender-3-v3-se/quick-start-guide/user-manual
2024-04-09 20:42:22 +08:00
Denis Anikin
78ee7f5074 fix processes for Creality Ender3V3SE 0.4 nozzle (#4785) 2024-04-09 20:40:50 +08:00
cochcoder
70427e1c3f QOL improvments to Ender 3 V3 KE G-Code (#4675)
* Add M420 S1; Enable mesh leveling

* Implament various improvments

* Readd F1500.0 & end the second pass a bit shorter

* Remove extra \n's

* Remove \nG1 E-1.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800

* Misc

Enable arc fitting
Support line width to 0.42
Elephant foot compensation to 0.15

* Apply given settings

* Enable infill combination

* Change wipe_distance to 2

* Reduce elephant foot compensation to 0.1

* Adjust bridging & overhang speeds & disable retract before wipe

* Tune speed & max values

* Change min_layer_height & support z distance

* revert min_layer_height
2024-04-09 20:36:32 +08:00
Marc
a5a5c3c408 Update OrcaSlicer_de.po (#4909)
* Update OrcaSlicer_de.po

- added missing translations
- minor grammar changes

* Update localization/i18n/de/OrcaSlicer_de.po

yes, that sounds perfect

Co-authored-by: discip <53649486+discip@users.noreply.github.com>

* Update localization/i18n/de/OrcaSlicer_de.po

Co-authored-by: discip <53649486+discip@users.noreply.github.com>

* Update localization/i18n/de/OrcaSlicer_de.po

Co-authored-by: discip <53649486+discip@users.noreply.github.com>

* Update localization/i18n/de/OrcaSlicer_de.po

Co-authored-by: discip <53649486+discip@users.noreply.github.com>

* Update localization/i18n/de/OrcaSlicer_de.po

Co-authored-by: discip <53649486+discip@users.noreply.github.com>

* Update localization/i18n/de/OrcaSlicer_de.po

Co-authored-by: discip <53649486+discip@users.noreply.github.com>

* Update localization/i18n/de/OrcaSlicer_de.po

Co-authored-by: discip <53649486+discip@users.noreply.github.com>

* Update localization/i18n/de/OrcaSlicer_de.po

Co-authored-by: discip <53649486+discip@users.noreply.github.com>

---------

Co-authored-by: discip <53649486+discip@users.noreply.github.com>
2024-04-09 20:33:03 +08:00
SoftFever
58ee918db3 fix wrong overhang slowdown value (#4940) 2024-04-09 19:53:32 +08:00
SoftFever
2122fcfc16 Add an option to allow user disable printer configuration (#4930)
Add an option to allow user diable printer configuration
2024-04-09 18:06:54 +08:00
HY
1ef1c34328 Qidi.Json 2024-04-09 16:20:43 +08:00
SoftFever
1e20121b09 update WIKI 2024-04-08 22:13:27 +08:00
Olcay ÖREN
e1abde5d7a Update OrcaSlicer_tr.po - TURKISH translation update (#4847) 2024-04-08 21:58:46 +08:00
vgdh
00235ee7b4 Add Kingroon KP3S 3.0 (#4902)
* lower wipe tower margin

* add Kingroon KP3S 3.0

* del post process

---------

Co-authored-by: super_pc <super_pc@DESKTOP-4IUQ2EB>
2024-04-08 21:57:57 +08:00
SoftFever
ba414bb74a Wrong bridge detection result (FOR TESTING ONLY) (#4678)
Fixed an issue that top surface was treated as internal bridge
2024-04-07 22:43:00 +08:00
magicmaker3
95585b3539 MagicMaker Apply to join (#4895)
* Create MagicMaker

* Update MagicMaker

* Delete resources/profiles/MagicMaker

* Add files via upload

* Add files via upload
2024-04-07 22:41:17 +08:00
Heiko Liebscher
c21e15e732 fix typo and new features in DE language file (#4881) 2024-04-07 22:36:15 +08:00
KrisMorr
793f2634c3 Update Polish translation (#4799)
* Update Polish translation

* Fix
2024-04-07 22:12:52 +08:00
Dima Buzdyk
ff5035ffae Fix go-to-layer dialog in gcode preview (#4816)
gcode-preview: fix go-to-layer dialog
2024-04-07 22:12:28 +08:00
Asoka Wotulo
fe914e82f3 Fix segmentation fault when running CLI (#4702)
* fix: replace extruder_clearance_max_radius with extruder_clearance_radius

* fix: add if m_plater before accessing preset_bundle

* fix: generate thumbnail only when callback is defined

* fix: change default gcode thumbnail format to png
2024-04-07 12:07:44 +08:00
Bernhard Koppensteiner
5c5dd35ea1 refactoring to more reusable settings 2024-04-06 13:24:44 +02:00
Dima Buzdyk
14fc48ffbd gui: reverse mouse zoom option (#4668) (#4677)
* gui: reverse mouse zoom option (#4668)

Add configuration entry for reverse mouse zoom option
Define SUPPORT_REVERSE_MOUSE_ZOOM macro to enable feature code.

* remove SUPPORT_REVERSE_MOUSE_ZOOM macro

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-04-04 21:52:07 +08:00
Dima Buzdyk
ff7faca943 Fix model load in debug build (#4656)
* Fix model load in debug build

Debug build exit with error on model load due to failed assertion (file
path redacted):

    orca-slicer: <...>/OrcaSlicer/src/libslic3r/Model.cpp:1361: void Slic3r::ModelObject::update_min_max_z(): Assertion `! this->instances.empty()' failed.

Assertion failed due to model->ensure_on_bed() being called for object
which yet to be load from file.

Do not call ensure_on_bed() for models read from file since they may be
read with no default instance.

ensure_on_bed() called later within withing Plater::load_model_objects()
for each object added.

* Rework according to code review comment
2024-04-04 21:47:42 +08:00
Dima Buzdyk
9d81245eff Touchpad-friently 3d navigation (#4598)
* gui: camera navigation style option

Add camera navigation style config option as a preparation for
introduction of touchpad style navigation

* gui: touchpa-friently 3d navigation

Implement FreeCAD-inspired touchpad-friendly camera operation mode:
- Shift+move: panning
- Alt+move: rotation

Set "Camera mode" to "Touchpad" in settings menu to activate this mode.

* cache current navigation style in class member variable

Cache current navigation style on canvas focus, do not
request settings value each mouse event.

* force focuse 3d preview on preferences window close

Explicitly force focus 3D preview pane on closing preferences window.
This allows preferences be updated only once without checking current
value each input event.
Another benefit is to have 3D view in focus is that user could
immediatelly use 3d-view shortcuts like Ctrl+<1..7> without clicking to
the 3D view first.
2024-04-04 21:46:14 +08:00
GrannyShifting
1dc9caf19d Add z offset to pressure advance calibration (line and pattern) (#4434) 2024-04-04 21:41:05 +08:00
Andy
b38133fd90 Russian translation update (#4782)
* Russian translation update

Russian translation update OrcaSlicer V2.0.0 RC + two lines in intext.js
2024-04-04 17:50:38 +08:00
Bernhard Koppensteiner
23eaf8b8ce Merge branch 'SoftFever:main' into main 2024-04-03 21:24:52 +02:00
Bernhard Koppensteiner
5bbe09a75c added Prusa Mini with Input Shaper to profiles 2024-04-03 21:22:09 +02:00
SoftFever
aa3ca7759b bump version to 2.1 dev 2024-04-04 00:42:58 +08:00
SoftFever
aac141104d update sponser list 2024-04-04 00:42:29 +08:00
vgdh
3f411e26fd Lowering wipe tower margin (#4661)
lower wipe tower margin
2024-04-03 22:52:13 +08:00
SoftFever
9960ea5bc2 Update pull_request_template.md 2024-04-03 22:33:04 +08:00
SoftFever
84ae3fc48f Create pull_request_template.md (#4856) 2024-04-03 21:46:34 +08:00
Carlos Francisco Caruncho Serrano
c663f43925 Spanish translation fixes and improves (#4826)
* Update OrcaSlicer_es.po

* Merge remote-tracking branch 'upstream/main' into Spanish_Translation

* Merge remote-tracking branch 'upstream/main' into Spanish_Translation

* some changes

* Merge remote-tracking branch 'upstream/main' into Spanish_Translation

* Some fixes

* More fixes

* More fixes and improves

* More fixes
2024-04-01 23:53:00 +08:00
cochcoder
a187356b93 Various profile improvments (#4775)
* Add Prusa MINI profiles & fix image extension

* Add MINI & MK3S to generic filaments

* Change 0.2 to 0.25

* Change this one

* Fix this

* Fix nozzle diameters

* Forgot this...
2024-03-30 10:10:30 +08:00
Olcay ÖREN
88f94c82ea Update OrcaSlicer_tr.po - TURKISH translation update (#4772) 2024-03-30 09:51:03 +08:00
Heiko Liebscher
1ba0afbc7e Update German translation for scarf beta Feature (#4770)
fix translation beta Feature
2024-03-30 09:50:36 +08:00
cochcoder
e82ea69e65 Fix syntax errors in CR-10 SE G-Code (#4769)
Flip /n to \n
2024-03-30 09:49:55 +08:00
SoftFever
7a0c701dea update locale for "Conditional overhang threshold" 2024-03-29 21:12:22 +08:00
Carlos Francisco Caruncho Serrano
a34a25985b Fix single word Spanish (#4768)
* Update OrcaSlicer_es.po

* some changes
2024-03-29 21:00:44 +08:00
Noisyfox
ed14598eb1 Fix utf8 string on physical printer dialog (#4765) 2024-03-29 20:59:54 +08:00
SoftFever
6826c38962 bump version to 2.0.0 official 2024-03-29 18:39:08 +08:00
SoftFever
676a190a77 update profile version 2024-03-29 18:37:40 +08:00
cochcoder
7910e2aecc Add Creality Ender-3 S1 Plus (#4674)
* Add Creality Ender-3 S1 Plus

* Misc

* Fix nozzle_diameter

* Add printer_variant value

* Change build plate model/texture to use Ender-3 V3 SE

* Enable mesh leveling

* Up max travel acceleration to 5000

* Enable infill_combination

* Add Draft profiles

* Change buildplate model/texture

* Fix build plate model

* Add retraction & detraction speed & change retraction length

* Add filament_ to the beginning

* Revert retraction & detraction speed & retraction length

* Tests

Trying to change retract and detract speed as well as retraction length
Also trying to have Z-hop only happen on top layers

* Apply new values to other nozzles

* disable z_hop

* Lower build plate model

* Resolve merge conflicts

* temporarily remove Ender-3 S1 Plus

* Re-add Ender-3 S1 Plus
2024-03-29 18:14:56 +08:00
cochcoder
64d0c324c1 Add Creality CR-10 SE (#4757)
* Add CR-10 SE and standard profiles

* Misc

Add more perimeters to CR-10 SE profiles
Add printer to filament profiles
Link everything in Creality.json

* Fix two bugs

* Forgot this
2024-03-29 17:57:01 +08:00
frankieorabona
6ae128b9e7 Substantial changes to the Italian language (#4753)
* New Italian Translation

Translated new strings introduced

* Italian Translations concerning scarf joint

Translated all sentences regarding scarf joint

* Update OrcaSlicer_it.po

Corrected some typos

* Fixed some Italian Translation 

Changed E' to È
Changed E' to Indica 
Fixed Word Brim Ears to Brim a ORecchie

* Fixed some italian translations

Changed HOT BED from "Letto caldo" to "Piano Riscaldato"
Changed Build Plate from "Piatto di Costruzione" to "Piatto di Stampa"

* Substantial changes to the Italian language

Make substantial changes to the Italian language via POEDIT.
Partially eliminated errors in POEDIT concerning missing or excess spaces
Replaced the words UGELLO with NOZZLE
2024-03-29 11:13:53 +08:00
Dima Buzdyk
45ef4ae790 gui: fix media eject on linux (#4700) (#4701)
* gui: fix media eject on linux (#4700)

Removable media is not ejected on linux platform

Make get_removable_drive_from_path() check if path is a dir or not.
Trim last component in latter case only.

* Revert unnecessary style changes
2024-03-29 11:12:37 +08:00
Jamin Collins
a980bb6a6a Fixes #2992 - emboss numbers for 290-305 (#4742)
* Fixes #2992 - emboss numbers for 290-305

The existing temperature tower model had the numbers, but they were not
embossed for:
* 290
* 295
* 300
* 305

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
2024-03-28 23:30:51 +08:00
Noisyfox
9f3bafb04e Fix 3rd party login issue on macOS (#4739)
* Fix use-after-free error

* Ignore http OPTIONS method

* Make sure response has sent before closing the http server
2024-03-28 23:07:10 +08:00
Noisyfox
f36c22385b Fix issue that print host and webui settings are not properly reset (#4734)
Fix issue that print host and webui settings are not properly reset after switching from certain host type
2024-03-28 23:02:20 +08:00
cochcoder
a2d24cd67f Add Ender-3 V3 SE .2, .6, .8 and fix small Ender-3 Pro bug (#4653)
* Add Ender-3 V3 SE .2, .6, .8 and fix small Ender-3 Pro bug

* Forgot to remove these

* Fix error

* Remove these...

* Why did I delete this?

* Revert deletion

* Add missing profiles

* Create 0.24mm Draft @Creality Ender3V3KE.json

* Apply new nozzle sizes to generic filament

* Maybe this will do it

* Revert 0.4 renames & add to Generic ABS

* Add M420 S1; Enable mesh leveling

* Fix wring nozzle_diameter

* Potentially fix the issue of printer not being added after selected
2024-03-27 22:55:49 +08:00
cochcoder
5dfc624e11 Fix excessive maximum z accelleration for Artillery Sidewinder X1 (#4733)
Bring max z acceleration to 100 from 1000
2024-03-27 22:04:44 +08:00
Carlos Francisco Caruncho Serrano
197ea20d1d Fixed errors on last pull request - Spanish Translation (#4730)
Update OrcaSlicer_es.po
2024-03-27 22:03:17 +08:00
Heiko Liebscher
3b251ca89c Add new de translation for rc (#4724)
* add new strings

* add new strings
2024-03-27 22:02:52 +08:00
SoftFever
dcb8d09af6 Add overhang threshold for scarf joint seam (#4725)
add overhang threshold for scarf joint seam
2024-03-27 22:02:20 +08:00
frankieorabona
116169ea03 Fixed and added new Italian translations (#4721)
* New Italian Translation

Translated new strings introduced

* Italian Translations concerning scarf joint

Translated all sentences regarding scarf joint

* Update OrcaSlicer_it.po

Corrected some typos

* Fixed some Italian Translation 

Changed E' to È
Changed E' to Indica 
Fixed Word Brim Ears to Brim a ORecchie

* Fixed some italian translations

Changed HOT BED from "Letto caldo" to "Piano Riscaldato"
Changed Build Plate from "Piatto di Costruzione" to "Piatto di Stampa"
2024-03-27 22:01:40 +08:00
KrisMorr
6c4ba5c794 Update list.txt for gettext+OrcaSlicer.pot+update_Polish translations (#4663)
* Update_list.txt+OrcaSlicer.pot

I have added missing files for gettext. These files fill in the missing translation strings for Connection / Physical Printer (Obico, SimplyPrint, Flashforge)

src/slic3r/Utils/Obico.cpp
src/slic3r/Utils/SimplyPrint.cpp
src/slic3r/Utils/Flashforge.cpp
src/slic3r/Utils/NetworkAgent.cpp
src/slic3r/GUI/Jobs/OAuthJob.cpp
src/slic3r/GUI/BackgroundSlicingProcess.cpp

* Update Polish translations

* Update OrcaSlicer_pl.po

* Fixing a string_update PrintConfig.cpp

Fixing a string in the PrintConfig.cpp file
The string that hasn't been translated in printer settings
"Disable generating of the M73: Set remaining print time in the final gcode"

* fix_upd

* update_OrcaSlicer_pl.po
2024-03-25 22:25:37 +08:00
SoftFever
2841476e86 Revert "Wrong bridge detection result (#4651)"
This reverts commit f626e4dd27.
2024-03-23 20:33:35 +08:00
KrisMorr
c550a6e148 Update Polish translation (#4658) 2024-03-23 20:30:39 +08:00
SoftFever
f88e3f2c64 bump profile version to 2.0.1 2024-03-23 16:31:13 +08:00
SoftFever
19cde6989d fix "G92 E0" warning for Guider 3 ultra and Rase3D Pro 2024-03-23 16:29:42 +08:00
Thomas
5bc87d0de6 Updated French translations (#4654) 2024-03-23 15:34:17 +08:00
SoftFever
4ae7e4536b update locale 2024-03-23 13:27:17 +08:00
SoftFever
f626e4dd27 Wrong bridge detection result (#4651)
process_external_surfaces before discover_horizontal_shells
2024-03-23 13:19:23 +08:00
Noisyfox
d601e9d544 Fix issue that painter sphere is rendered at the wrong position (#4652) 2024-03-23 13:04:24 +08:00
Heiko Liebscher
52c57ad77e Update German Translations (#4640) 2024-03-23 10:12:01 +08:00
Ioannis Giannakas
143087bb2a Revert automatic application of reduced internal bridge filtering for lightning infill (#4639) 2024-03-23 10:11:13 +08:00
Noisyfox
e29bbac193 Support for SimplyPrint cloud integration (#4525)
* Make httpserver more generic and reusable

* Add OAuthJob

* Fix issue caused by the fact that the backing widget of the `TextCtrl` is no longer `wxTextCtrl`

* Implement login and token refresh

* Implement file upload

* Try fix build error

* Support BBL printers

* Show error message if user hasn't done OAuth

* Fix typo

* Update error message

* Disable unsupported options when SimplyPrint is selected
2024-03-23 10:08:48 +08:00
SoftFever
f3b3e92782 bump version to 2.0-rc 2024-03-22 20:00:02 +08:00
SoftFever
9e56941416 update locales 2024-03-22 19:58:27 +08:00
cochcoder
8fe565ce3f Fix missing Construct3D covers (#4632)
* Rename CONSTRUCT 1 XL_cover.png to Construct 1 XL_cover.png

* Rename CONSTRUCT 1_cover.png to Construct 1_cover.png
2024-03-22 19:38:17 +08:00
Thomas
ccf3b009f3 Enable detect_thin_wall for Qidi printers (#4637) 2024-03-22 19:33:02 +08:00
Thomas
9e3cb4b1c5 Raised bed temperatures for Ender 3 V3 PLA profile (#4636) 2024-03-22 19:30:57 +08:00
SoftFever
1e08b855df Feature/home page improve (#4602)
* Add new MyRRF custom printer

* hide user panel when networking plugin is not installed/used

* Fixed a bug that promption of installing plugin notification was not displayed when trying to switch to Bambu device tab

* replay missing_connection animated image when switching to device tab
2024-03-22 19:30:13 +08:00
FlyingbearOfficial
2d737f62b5 fix start_code and 0.16mm parameters (#4631)
* Update FlyingBear S1 0.4 nozzle.json

* Update 0.16mm Optimal @FlyingBear Reborn3.json

* Update 0.16mm Optimal @FlyingBear S1.json

* Update fdm_process_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json
2024-03-22 19:28:35 +08:00
cochcoder
98e1291c17 Fix Ender-3 Pro missing from Generic Creality filaments (#4630)
Fix Ender-3 Pro missing from generic filaments
2024-03-22 19:27:35 +08:00
KrisMorr
74d1831dac Added a string 'no model information' for translation (#4623)
* Add files via upload

* Added a string for 'no model information'
2024-03-22 19:26:55 +08:00
yw4z
3b438ae6e4 Optimized plate models of CONSTRUCT3D (#4567)
Size reductions
construct_1_xl_buildplate_model > 1073 from 2250KB
construct_1_buildplate_model > 599 from 608KB
Just joined parts and optimized planar surfaces. didn't changed borders

Also adding a feature for creating 3D bed models from SVG graphics will give a nice reduction on size. Constantly new printers added to profiles. it will be nice upgrade to reduce size of folder
2024-03-22 19:25:01 +08:00
iherbak
f1c91dc551 Falashforge 5M network support (#4546)
* build action changes

* Adding flashforge 5M series network support

* Update CMakeLists.txt

* Update Flashforge.cpp

* reverting files for pull request

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-03-22 19:22:46 +08:00
cochcoder
2bda9db207 Fix Anker M5C 0.6 bed size (#4608) 2024-03-21 23:37:07 +08:00
Thomas
6fd5c2cbf3 Fix for missing K1 references (#4600)
Fix for fix wrong filaments appreared in other manufacture
2024-03-20 23:24:54 +08:00
FlashforgeOfficial
80a49092cc Update Flashforge Printer Profiles for Guider3 Ultra 0320 (#4587)
Update Printer Profiles for Guider3 Ultra 0320
2024-03-20 23:22:54 +08:00
SoftFever
8801c50aa0 Fix wrong filaments appreared in other manufacture 2024-03-19 21:46:06 +08:00
SoftFever
3b34c5df8f Fix crashes caused by self destructed splash screen. 2024-03-19 20:14:24 +08:00
frankieorabona
c7bf364f9c Further IT translation fixes (#4569)
* Update OrcaSlicer_it.po
2024-03-19 19:45:36 +08:00
cochcoder
8d4a47301a Add Ender-3 Pro (#4573)
* Add Ender-3 Pro cover

* Add Ender-3 Pro

* Add Ender-3 Pro .2, .4, .6, and .8

* Add Ender-3 Pro processes

* Delete Ender-3 Pro_cover.png

* Add a smaller version of Ender-3 Pro_cover.png

* Delete Ender-3 Pro_cover

* Further image improvements
2024-03-19 19:44:50 +08:00
Ioannis Giannakas
b736a0bc38 Revised Inner Outer Inner mode for Classic mode (#4417) 2024-03-18 23:16:12 +08:00
Ioannis Giannakas
28533dd175 Inner Outer Inner mode - arachne bug fix (#4416)
* Inner Outer Inner mode - arachne bug fix

* Update PerimeterGenerator.cpp
2024-03-18 23:14:40 +08:00
yw4z
059acc74d2 Minified SVG Bamboo Lab Printer images (#4513)
Used this site https://svgomg.net
Minifier basically joins lines / curves with same style to reduce size
Doesn't change geometry
Size dropped to 2,02MB from 4,75MB
Couldn't tested on UI. Not sure how to do that
2024-03-18 23:13:06 +08:00
Hukete
6d0369f5d7 Update QIDI profiles (#4549)
1)add Q1 Pro profiles
2024-03-18 23:07:40 +08:00
Thomas
dec33a93e8 Ender 3 V3 : Some improvements for supports and machines limits (#4527)
* Some improvements for supports and machines limits

* Increase z-hop for KE to avoid the nozzle hit the parts

* Changed jerk V3 KE settings to more logical values.

* Decreased jerk

* Speed, acceleration and jerk settings fine-tunings.
2024-03-18 22:52:29 +08:00
davidjuanesb
b30b22f66d Catalan language updated to OrcaSlicer-v2.0.0-beta (#4540) 2024-03-18 22:47:19 +08:00
KrisMorr
7241305f11 Polish translation update (#4541)
* Update Polish translation

* Update Polish translation

* Polish translation update
2024-03-18 22:46:39 +08:00
Heiko Liebscher
a9d23a2433 Update German translations (#4529)
2  fixes
2024-03-17 23:24:50 +08:00
ohmdelta
2c5e78e9c7 Add Docker Build Support (#4485)
init docker
2024-03-17 23:19:01 +08:00
SoftFever
e23e71bec5 restore tools to git from lfs 2024-03-17 23:14:43 +08:00
SoftFever
8d34e22d7f log tweak:
1. deprecate severity_level, use log_severity_level config key
2. remove encrytped bbl debug_network log file
2024-03-17 23:06:42 +08:00
Andy
53e45310f3 Russian translation update (#4528)
Russian translation update OrcaSlicer V2.0.0 beta
2024-03-17 20:40:33 +08:00
SoftFever
d88dda8131 Prevent crashes from edge cases when slicing complex small model with "big" fuzzy skin is used 2024-03-17 20:34:58 +08:00
SoftFever
afabd955ac Properly handle "dev" version 2024-03-17 17:33:31 +08:00
SoftFever
e76ca8febf Minor tweak: avoid exceptions 2024-03-17 11:22:52 +08:00
David Eccles (gringer)
587fab285c 3D Honeycomb - switch direction at smallest bridge point, rather than every layer (#4425)
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-03-16 22:53:36 +08:00
SoftFever
350a2e4c4a fix a crash issue when check machine limits 2024-03-16 21:30:31 +08:00
SoftFever
6ab5bc8bef set default logging level to warning and make it configurable in .conf file 2024-03-16 21:30:19 +08:00
SoftFever
7a54131f39 update locale and Chinese translations 2024-03-16 17:57:29 +08:00
SoftFever
550c4d6ca1 Add safety check for seam_slope_start_height 2024-03-16 17:39:14 +08:00
SoftFever
1943259ac3 disable speed check 2024-03-16 12:33:49 +08:00
SoftFever
cca218039c Handle travel acceleration warning properly for different firmwares 2024-03-16 12:04:30 +08:00
SoftFever
56524b6c0a fix build break error for multiconfig generator on Mac 2024-03-16 11:32:41 +08:00
SoftFever
1471ac4204 Fix an issue that only 1 bottom/top will be generated when ensure vertical thickness is set to None (#4504) 2024-03-16 00:24:57 +08:00
Lee Jong Mun
630262689e kor translation update (#4503) 2024-03-16 00:22:57 +08:00
SoftFever
265d0b888c update adaptive bed mesh wiki for Marlin 2024-03-16 00:18:44 +08:00
SoftFever
f0a193c476 Add bed types WIKI document and link 2024-03-16 00:12:27 +08:00
SoftFever
5203173418 Fixed an issue that changing printer selection clears out Process overrides (#4506) 2024-03-15 23:59:38 +08:00
Olcay ÖREN
0176285888 Update OrcaSlicer_tr.po (#4490) 2024-03-15 19:19:17 +08:00
Heiko Liebscher
401af407a4 fix de new feature (#4479) 2024-03-14 21:43:24 +08:00
Thomas
02702ccfca Further FR translation fixes (#4472)
* New translations

* Changed "écharpe" by "biseau"

* Fixed "tour de nettoyage" by "tour de purge"

* Changed translation of "solid" to "plein(e)"

* Fixed Printing by object G-code

* Make "wipe" and "prime" translations consistent

* More coherent translation for prime tower
2024-03-14 21:39:54 +08:00
SoftFever
bfb4a897f6 Fixed an issue that in some cases, the OrcaSlicer_profile_validator didn't report errors properly 2024-03-14 20:09:27 +08:00
rodriguezst
db2f50b844 Allow AppImage generation in aarch64 build hosts (#4410)
Get arch from build host

It was harcoded to x86_64 and was failing to generate AppImage files on aarch64 build hosts
2024-03-13 23:13:31 +08:00
KrisMorr
0e78891671 Changing the background color of the thumbnail (#4421) 2024-03-13 23:02:57 +08:00
SoftFever
5d19385564 Fix alternate extra wall warning: change ensure vertical shell thickness to Moderate instead of None (#4463)
* fix warning

* Update locale
2024-03-13 22:15:18 +08:00
SoftFever
cab5fe715d Handle parameter name change properly.
Fix build break and keep compatibility to existing user preset after #4444 changes
2024-03-13 21:57:41 +08:00
Dzmitry Neviadomski
242ad33eb4 chore(slicer): Update copyright year to 2024 (#4428)
Also remove duplicated definition for `MACOSX_BUNDLE_COPYRIGHT`.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2024-03-13 21:20:39 +08:00
SoftFever
15247f3aa0 update corresponding locale files 2024-03-13 21:11:26 +08:00
cochcoder
334f7cf3a1 Minor spelling & grammatical fixes (#4444)
* Minor spelling & grammatical fixes

* Correct counterbole to counterbore

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-03-13 21:10:36 +08:00
Eren
b0246cfeab Update Turkish Language translation (#4454) 2024-03-13 21:04:28 +08:00
Carlos Caruncho
0de3655e05 Update Spanish translation (#4445)
Update Spanish translation
2024-03-13 21:01:35 +08:00
KrisMorr
a59275daee Polish translation update (#4430)
* Polish translation update

* Polish translation update
2024-03-13 20:59:37 +08:00
Thomas
dec282b9bc Updated French translations (#4427)
* New translations

* Changed "écharpe" by "biseau"

* Fixed "tour de nettoyage" by "tour de purge"
2024-03-13 20:58:40 +08:00
4082 changed files with 227256 additions and 64690 deletions

1
.gitattributes vendored
View File

@@ -1 +0,0 @@
*.exe filter=lfs diff=lfs merge=lfs -text

1
.github/FUNDING.yml vendored
View File

@@ -1,2 +1,3 @@
github: SoftFever
ko_fi: SoftFever
custom: https://paypal.me/softfever3d

21
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,21 @@
# Description
<!--
> Please provide a summary of the changes made in this PR. Include details such as:
> * What issue does this PR address or fix?
> * What new features or enhancements does this PR introduce?
> * Are there any breaking changes or dependencies that need to be considered?
-->
# Screenshots/Recordings/Graphs
<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->
## Tests
<!--
> Please describe the tests that you have conducted to verify the changes made in this PR.
-->

View File

@@ -24,6 +24,9 @@ on:
- '**/CMakeLists.txt'
- 'version.inc'
- ".github/workflows/build_*.yml"
- 'BuildLinux.sh'
- 'build_release_vs2022.bat'
- 'build_release_macos.sh'
workflow_dispatch: # allows for manual dispatch
inputs:
@@ -45,14 +48,33 @@ jobs:
matrix:
include:
- os: ubuntu-20.04
- os: ubuntu-24.04
- os: windows-latest
- os: macos-12
- os: macos-14
arch: x86_64
- os: macos-12
- os: macos-14
arch: arm64
uses: ./.github/workflows/build_check_cache.yml
with:
os: ${{ matrix.os }}
arch: ${{ matrix.arch }}
build-deps-only: ${{ inputs.build-deps-only || false }}
secrets: inherit
secrets: inherit
# flatpak:
# name: "Flatpak"
# runs-on: ubuntu-latest
# container:
# image: bilelmoussaoui/flatpak-github-actions:gnome-45
# options: --privileged
# steps:
# # maybe i'm too dumb and fucked up to do CI. OH WELL :D -ppd
# - name: "Remove unneeded stuff to free disk space"
# run:
# sudo rm -rf /usr/share/dotnet /opt/ghc "/usr/local/share/boost" "$AGENT_TOOLSDIRECTORY"
# - uses: actions/checkout@v4
# - uses: flatpak/flatpak-github-actions/flatpak-builder@v6
# with:
# bundle: orcaslicer.flatpak
# manifest-path: flatpak/io.github.softfever.OrcaSlicer.yml
# cache-key: flatpak-builder-${{ github.sha }}
# cache: false

View File

@@ -30,12 +30,12 @@ jobs:
- name: set outputs
id: set_outputs
env:
underscore-arch: ${{ inputs.os == 'macos-12' && '_' || ''}}${{ inputs.os == 'macos-12' && inputs.arch || '' }} # if is macos, make a string that does "_{arch}", else output nothing
dash-arch: ${{ inputs.os == 'macos-12' && '-' || ''}}${{ inputs.os == 'macos-12' && inputs.arch || '' }} # if is macos, make a string that does "-{arch}", else output nothing
dep-folder-name: ${{ (inputs.os == 'windows-latest' || inputs.os == 'macos-12') && 'OrcaSlicer_dep' || 'destdir' }}
underscore-arch: ${{ inputs.os == 'macos-14' && '_' || ''}}${{ inputs.os == 'macos-14' && inputs.arch || '' }} # if is macos, make a string that does "_{arch}", else output nothing
dash-arch: ${{ inputs.os == 'macos-14' && '-' || ''}}${{ inputs.os == 'macos-14' && inputs.arch || '' }} # if is macos, make a string that does "-{arch}", else output nothing
dep-folder-name: ${{ (inputs.os == 'windows-latest' || inputs.os == 'macos-14') && 'OrcaSlicer_dep' || 'destdir' }}
output-cmd: ${{ inputs.os == 'windows-latest' && '$env:GITHUB_OUTPUT' || '"$GITHUB_OUTPUT"'}}
run: |
echo cache-key=${{ runner.os }}${{ env.dash-arch }}-cache-orcaslicer_deps-build-${{ hashFiles('deps/**') }} >> ${{ env.output-cmd }}
echo cache-key=${{ inputs.os }}${{ env.dash-arch }}-cache-orcaslicer_deps-build-${{ hashFiles('deps/**') }} >> ${{ env.output-cmd }}
echo cache-path=${{ github.workspace }}/deps/build${{ env.underscore-arch }}/${{ env.dep-folder-name }}${{ env.underscore-arch }} >> ${{ env.output-cmd }}
- name: load cache

View File

@@ -28,19 +28,23 @@ jobs:
env:
date:
steps:
# Setup the environment
- name: Checkout
uses: actions/checkout@v4
with:
lfs: 'true'
- name: load cached deps
uses: actions/cache@v4
with:
path: ${{ inputs.cache-path }}
key: ${{ inputs.cache-key }}
- uses: lukka/get-cmake@latest
with:
cmakeVersion: "~3.28.0" # use most recent 3.28.x version
- name: setup dev on Windows
if: inputs.os == 'windows-latest'
uses: microsoft/setup-msbuild@v2
@@ -49,13 +53,13 @@ jobs:
if: inputs.os != 'windows-latest'
run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_ENV
shell: bash
- name: Get the date on Windows
if: inputs.os == 'windows-latest'
run: echo "date=$(Get-Date -Format 'yyyyMMdd')" | Out-File -Append -FilePath $env:GITHUB_ENV -Encoding utf8
shell: pwsh
# Build Dependencies
- name: Build on Windows
if: inputs.os == 'windows-latest'
@@ -69,28 +73,36 @@ jobs:
cd ${{ github.workspace }}/deps/build
- name: Build on Mac ${{ inputs.arch }}
if: inputs.os == 'macos-12'
if: inputs.os == 'macos-14'
working-directory: ${{ github.workspace }}
run: |
brew install cmake git gettext automake texinfo ninja
brew install automake texinfo ninja libtool
brew list
mkdir -p ${{ github.workspace }}/deps/build_${{ inputs.arch }}
mkdir -p ${{ github.workspace }}/deps/build_${{ inputs.arch }}/OrcaSlicer_dep_${{ inputs.arch }}
brew uninstall --ignore-dependencies zstd
./build_release_macos.sh -dpx -a ${{ inputs.arch }} -t 10.15
./build_release_macos.sh -dpx -a ${{ inputs.arch }} -t 10.15 -1
brew install zstd
- name: Build on Ubuntu
if: inputs.os == 'ubuntu-20.04'
- name: Install Ubuntu Build Dependencies
if: inputs.os == 'ubuntu-20.04' || inputs.os == 'ubuntu-24.04'
working-directory: ${{ github.workspace }}
env:
apt-cmd: ${{ (inputs.os == 'ubuntu-20.04' && 'apt-fast') || (inputs.os == 'ubuntu-24.04' && 'sudo apt-get') || '' }}
webkit-ver: ${{ (inputs.os == 'ubuntu-20.04' && '4.0') || (inputs.os == 'ubuntu-24.04' && '4.1') || '' }}
run: |
sudo apt-get update
sudo apt-get install -y cmake git g++ build-essential libgl1-mesa-dev m4 \
${{ env.apt-cmd }} update
${{ env.apt-cmd }} install -y cmake git g++ build-essential libgl1-mesa-dev m4 \
libwayland-dev libxkbcommon-dev wayland-protocols extra-cmake-modules pkgconf \
libglu1-mesa-dev libcairo2-dev libgtk-3-dev libsoup2.4-dev libwebkit2gtk-4.0-dev \
libglu1-mesa-dev libcairo2-dev libgtk-3-dev libsoup2.4-dev libwebkit2gtk-${{ env.webkit-ver }}-dev \
libgstreamer1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-base1.0-dev \
gstreamer1.0-plugins-bad libosmesa6-dev wget sudo autoconf curl libunwind-dev texinfo
- name: Build on Ubuntu
if: inputs.os == 'ubuntu-20.04' || inputs.os == 'ubuntu-24.04'
working-directory: ${{ github.workspace }}
run: |
mkdir -p ${{ github.workspace }}/deps/build
mkdir -p ${{ github.workspace }}/deps/build/destdir
sudo ./BuildLinux.sh -ur
@@ -98,11 +110,11 @@ jobs:
./BuildLinux.sh -dr
cd deps/build
tar -czvf OrcaSlicer_dep_ubuntu_$(date +"%Y%m%d").tar.gz destdir
# Upload Artifacts
- name: Upload Mac ${{ inputs.arch }} artifacts
if: inputs.os == 'macos-12'
if: inputs.os == 'macos-14'
uses: actions/upload-artifact@v4
with:
name: OrcaSlicer_dep_mac_${{ inputs.arch }}_${{ env.date }}
@@ -116,12 +128,14 @@ jobs:
path: ${{ github.workspace }}/deps/build/OrcaSlicer_dep*.zip
- name: Upload Ubuntu artifacts
if: inputs.os == 'ubuntu-20.04'
if: ${{ ! env.ACT && inputs.os == 'ubuntu-20.04' || inputs.os == 'ubuntu-24.04' }}
env:
ubuntu-ver: ${{ (inputs.os == 'ubuntu-20.04' && '2004') || (inputs.os == 'ubuntu-24.04' && '2404') || '' }}
uses: actions/upload-artifact@v4
with:
name: OrcaSlicer_dep_ubuntu_${{ env.date }}
name: OrcaSlicer_dep_ubuntu_${{ env.ubuntu-ver }}_${{ env.date }}
path: ${{ github.workspace }}/deps/build/OrcaSlicer_dep_ubuntu_*.tar.gz
build_orca:
name: Build OrcaSlicer
needs: [build_deps]
@@ -133,4 +147,3 @@ jobs:
os: ${{ inputs.os }}
arch: ${{ inputs.arch }}
secrets: inherit

View File

@@ -36,6 +36,10 @@ jobs:
key: ${{ inputs.cache-key }}
fail-on-cache-miss: true
- uses: lukka/get-cmake@latest
with:
cmakeVersion: "~3.28.0" # use most recent 3.28.x version
- name: Get the version and date on Ubuntu and macOS
if: inputs.os != 'windows-latest'
run: |
@@ -57,7 +61,7 @@ jobs:
$ref = "${{ github.ref }}"
$eventName = "${{ github.event_name }}"
$prNumber = "${{ github.event.number }}"
if ($eventName -eq 'pull_request') {
$ver = "PR" + $prNumber
} else {
@@ -67,31 +71,31 @@ jobs:
}
$ver = "V$ver"
}
echo "ver=$ver" | Out-File -Append -FilePath $env:GITHUB_ENV -Encoding utf8
echo "date=$date" | Out-File -Append -FilePath $env:GITHUB_ENV -Encoding utf8
echo "date: ${{ env.date }} version: ${{ env.ver }}"
shell: pwsh
# Mac
- name: Install tools mac
if: inputs.os == 'macos-12'
if: inputs.os == 'macos-14'
run: |
brew install cmake git gettext tree ninja
brew install tree ninja libtool
brew list
mkdir -p ${{ github.workspace }}/deps/build_${{inputs.arch}}
mkdir -p ${{ github.workspace }}/deps/build_${{inputs.arch}}/OrcaSlicer_dep_${{inputs.arch}}
tree ${{ github.workspace }}/deps/build_${{inputs.arch}}/OrcaSlicer_dep_${{inputs.arch}}
- name: Build slicer mac
if: inputs.os == 'macos-12'
if: inputs.os == 'macos-14'
working-directory: ${{ github.workspace }}
run: |
./build_release_macos.sh -s -n -x -a ${{inputs.arch}} -t 10.15
./build_release_macos.sh -s -n -x -a ${{inputs.arch}} -t 10.15 -1
# Thanks to RaySajuuk, it's working now
- name: Sign app and notary
if: (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release/')) && inputs.os == 'macos-12'
if: (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release/')) && inputs.os == 'macos-14'
working-directory: ${{ github.workspace }}
env:
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
@@ -117,28 +121,28 @@ jobs:
xcrun stapler staple OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}.dmg
- name: Create DMG without notary
if: github.ref != 'refs/heads/main' && inputs.os == 'macos-12'
if: github.ref != 'refs/heads/main' && inputs.os == 'macos-14'
working-directory: ${{ github.workspace }}
run: |
ln -s /Applications ${{ github.workspace }}/build_${{inputs.arch}}/OrcaSlicer/Applications
hdiutil create -volname "OrcaSlicer" -srcfolder ${{ github.workspace }}/build_${{inputs.arch}}/OrcaSlicer -ov -format UDZO OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}.dmg
- name: Upload artifacts mac
if: inputs.os == 'macos-12'
if: inputs.os == 'macos-14'
uses: actions/upload-artifact@v4
with:
name: OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}
path: ${{ github.workspace }}/OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}.dmg
- name: Deploy Mac release
if: github.ref == 'refs/heads/main' && inputs.os == 'macos-12'
if: github.ref == 'refs/heads/main' && inputs.os == 'macos-14'
uses: WebFreak001/deploy-nightly@v3.1.0
with:
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ${{ github.workspace }}/OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}.dmg
asset_name: OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}.dmg
asset_content_type: application/octet-stream
asset_content_type: application/octet-stream
max_releases: 1 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted
# Windows
@@ -155,6 +159,9 @@ jobs:
- name: Build slicer Win
if: inputs.os == 'windows-latest'
working-directory: ${{ github.workspace }}
env:
WindowsSdkDir: 'C:\Program Files (x86)\Windows Kits\10\'
WindowsSDKVersion: '10.0.22000.0\'
run: .\build_release_vs2022.bat slicer
- name: Create installer Win
@@ -174,7 +181,7 @@ jobs:
working-directory: ${{ github.workspace }}/build/src/Release
shell: cmd
run: '"C:/Program Files/7-Zip/7z.exe" a -m0=lzma2 -mx9 Debug_PDB_${{ env.ver }}_for_developers_only.7z *.pdb'
- name: Upload artifacts Win zip
if: inputs.os == 'windows-latest'
uses: actions/upload-artifact@v4
@@ -200,52 +207,58 @@ jobs:
if: github.ref == 'refs/heads/main' && inputs.os == 'windows-latest'
uses: WebFreak001/deploy-nightly@v3.1.0
with:
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ${{ github.workspace }}/build/OrcaSlicer_Windows_${{ env.ver }}_portable.zip
asset_name: OrcaSlicer_Windows_${{ env.ver }}_portable.zip
asset_content_type: application/x-zip-compressed
max_releases: 1
asset_content_type: application/x-zip-compressed
max_releases: 1
- name: Deploy Windows release installer
if: github.ref == 'refs/heads/main' && inputs.os == 'windows-latest'
uses: WebFreak001/deploy-nightly@v3.1.0
with:
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ${{ github.workspace }}/build/OrcaSlicer_Windows_Installer_${{ env.ver }}.exe
asset_name: OrcaSlicer_Windows_Installer_${{ env.ver }}.exe
asset_content_type: application/x-msdownload
max_releases: 1
max_releases: 1
# Ubuntu
- name: Install dependencies
if: inputs.os == 'ubuntu-20.04'
if: inputs.os == 'ubuntu-20.04' || inputs.os == 'ubuntu-24.04'
env:
apt-cmd: ${{ (inputs.os == 'ubuntu-20.04' && 'apt-fast') || (inputs.os == 'ubuntu-24.04' && 'sudo apt-get') || '' }}
webkit-ver: ${{ (inputs.os == 'ubuntu-20.04' && '4.0') || (inputs.os == 'ubuntu-24.04' && '4.1') || '' }}
libfuse2-pkg: ${{ (inputs.os == 'ubuntu-20.04' && 'libfuse2') || (inputs.os == 'ubuntu-24.04' && 'libfuse2t64') || '' }}
run: |
sudo apt-get update
sudo apt-get install -y autoconf build-essential cmake curl eglexternalplatform-dev \
${{ env.apt-cmd }} update
${{ env.apt-cmd }} install -y autoconf build-essential cmake curl eglexternalplatform-dev \
extra-cmake-modules file git libcairo2-dev libcurl4-openssl-dev libdbus-1-dev libglew-dev libglu1-mesa-dev \
libglu1-mesa-dev libgstreamer1.0-dev libgstreamerd-3-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev \
libgtk-3-dev libgtk-3-dev libmspack-dev libosmesa6-dev libsecret-1-dev libsoup2.4-dev libssl-dev libudev-dev libwayland-dev \
libwebkit2gtk-4.0-dev libxkbcommon-dev locales locales-all m4 pkgconf sudo wayland-protocols wget
libwebkit2gtk-${{ env.webkit-ver }}-dev libxkbcommon-dev locales locales-all m4 pkgconf sudo wayland-protocols wget ${{ env.libfuse2-pkg }}
- name: Install dependencies from BuildLinux.sh
if: inputs.os == 'ubuntu-20.04'
if: inputs.os == 'ubuntu-20.04' || inputs.os == 'ubuntu-24.04'
shell: bash
run: sudo ./BuildLinux.sh -ur
- name: Fix permissions
if: inputs.os == 'ubuntu-20.04'
if: inputs.os == 'ubuntu-20.04' || inputs.os == 'ubuntu-24.04'
shell: bash
run: sudo chown $USER -R ./
- name: Build slicer
if: inputs.os == 'ubuntu-20.04'
if: inputs.os == 'ubuntu-20.04' || inputs.os == 'ubuntu-24.04'
shell: bash
env:
ubuntu-ver-str: ${{ (inputs.os == 'ubuntu-24.04' && '_Ubuntu2404') || '' }}
run: |
./BuildLinux.sh -isr
mv -n ./build/OrcaSlicer_Linux_V${{ env.ver_pure }}.AppImage ./build/OrcaSlicer_Linux_${{ env.ver }}.AppImage
chmod +x ./build/OrcaSlicer_Linux_${{ env.ver }}.AppImage
mv -n ./build/OrcaSlicer_Linux_V${{ env.ver_pure }}.AppImage ./build/OrcaSlicer_Linux${{ env.ubuntu-ver-str }}_${{ env.ver }}.AppImage
chmod +x ./build/OrcaSlicer_Linux${{ env.ubuntu-ver-str }}_${{ env.ver }}.AppImage
- name: Build orca_custom_preset_tests
if: github.ref == 'refs/heads/main' && inputs.os == 'ubuntu-20.04'
@@ -257,30 +270,35 @@ jobs:
zip -r orca_custom_preset_tests.zip user/
- name: Upload artifacts Ubuntu
if: inputs.os == 'ubuntu-20.04'
if: ${{ ! env.ACT && inputs.os == 'ubuntu-20.04' || inputs.os == 'ubuntu-24.04' }}
env:
ubuntu-ver: ${{ (inputs.os == 'ubuntu-20.04' && '2004') || (inputs.os == 'ubuntu-24.04' && '2404') || '' }}
ubuntu-ver-str: ${{ (inputs.os == 'ubuntu-24.04' && '_Ubuntu2404') || '' }}
uses: actions/upload-artifact@v4
with:
name: OrcaSlicer_Linux_${{ env.ver }}
path: './build/OrcaSlicer_Linux_${{ env.ver }}.AppImage'
name: OrcaSlicer_Linux_ubuntu_${{ env.ubuntu-ver }}_${{ env.ver }}
path: './build/OrcaSlicer_Linux${{ env.ubuntu-ver-str }}_${{ env.ver }}.AppImage'
- name: Deploy Ubuntu release
if: github.ref == 'refs/heads/main' && inputs.os == 'ubuntu-20.04'
if: ${{ ! env.ACT && github.ref == 'refs/heads/main' && (inputs.os == 'ubuntu-20.04' || inputs.os == 'ubuntu-24.04') }}
env:
ubuntu-ver-str: ${{ (inputs.os == 'ubuntu-24.04' && '_Ubuntu2404') || '' }}
uses: WebFreak001/deploy-nightly@v3.1.0
with:
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ./build/OrcaSlicer_Linux_${{ env.ver }}.AppImage
asset_name: OrcaSlicer_Linux_${{ env.ver }}.AppImage
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ./build/OrcaSlicer_Linux${{ env.ubuntu-ver-str }}_${{ env.ver }}.AppImage
asset_name: OrcaSlicer_Linux${{ env.ubuntu-ver-str }}_${{ env.ver }}.AppImage
asset_content_type: application/octet-stream
max_releases: 1 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted
- name: Deploy orca_custom_preset_tests
if: github.ref == 'refs/heads/main' && inputs.os == 'ubuntu-20.04'
if: ${{ ! env.ACT && github.ref == 'refs/heads/main' && inputs.os == 'ubuntu-20.04' }}
uses: WebFreak001/deploy-nightly@v3.1.0
with:
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ${{ github.workspace }}/resources/profiles/orca_custom_preset_tests.zip
asset_name: orca_custom_preset_tests.zip
asset_content_type: application/octet-stream
max_releases: 1
max_releases: 1

View File

@@ -1,11 +1,19 @@
name: Check profiles
on:
pull_request:
branches:
- main
paths:
- 'resources/profiles/**'
- ".github/workflows/check_profiles.yml"
pull_request:
branches:
- main
paths:
- 'resources/profiles/**'
- ".github/workflows/check_profiles.yml"
workflow_dispatch:
inputs:
logLevel:
description: 'Log level'
required: true
default: 'warning'
jobs:
check_translation:

View File

@@ -2,7 +2,13 @@ name: Orca bot
on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
inputs:
logLevel:
description: 'Log level'
required: true
default: 'warning'
jobs:
stale:
runs-on: ubuntu-latest

View File

@@ -8,6 +8,13 @@ on:
branches:
- main # This can be changed to any branch of your preference
workflow_dispatch:
inputs:
logLevel:
description: 'Log level'
required: true
default: 'warning'
env:
USER_TOKEN: ${{ secrets.GH_WIKI_PAT }} # This is the repository secret personal access token
USER_NAME: ${{ vars.BOT_USER_NAME }} # Enter the username of your (bot) account
@@ -27,7 +34,7 @@ jobs:
run: |
git config --global user.name "$USER_NAME"
git config --global user.email "$USER_NAME"@users.noreply.github.com
git clone https://"$USER_TOKEN"@github.com/"$OWNER"/"$REPOSITORY_NAME".wiki.git tmp_wiki
git clone https://"$USER_TOKEN"@github.com/SoftFever/"$REPOSITORY_NAME".wiki.git tmp_wiki
# 4. Synchronize differences between `doc` & `tmp_wiki`
# 5. Push new Wiki content
- name: Push main repo content to wiki

View File

@@ -0,0 +1,38 @@
name: Update Translation Catalog
on:
# schedule:
# - cron: 0 0 * * 1
workflow_dispatch:
jobs:
update_translation:
name: Update translation
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install gettext
run: |
sudo apt-get update
sudo apt-get install -y gettext
- name: Update translation catalog
run: |
./run_gettext.sh --full
git add localization/i18n/*
- name: Commit translation catalog updates
uses: qoomon/actions--create-commit@v1
id: commit
with:
message: Update translation catalog
skip-empty: true
- name: Push changes
run: git push

4
.gitignore vendored
View File

@@ -32,4 +32,6 @@ src/OrcaSlicer-doc/
**/filament_full/
/deps/DL_CACHE/
/deps/DL_CACHE
resources/profiles/user/default
**/.flatpak-builder/
resources/profiles/user/default
*.code-workspace

View File

@@ -1,15 +1,11 @@
#!/bin/bash
export ROOT=`pwd`
export NCORES=`nproc --all`
export CMAKE_BUILD_PARALLEL_LEVEL=${NCORES}
FOUND_GTK2=$(dpkg -l libgtk* | grep gtk2)
FOUND_GTK3=$(dpkg -l libgtk* | grep gtk-3)
export ROOT=$(dirname $(readlink -f ${0}))
set -e # exit on first error
function check_available_memory_and_disk() {
FREE_MEM_GB=$(free -g -t | grep 'Mem:' | rev | cut -d" " -f1 | rev)
FREE_MEM_GB=$(free -g -t | grep 'Mem' | rev | cut -d" " -f1 | rev)
MIN_MEM_GB=10
FREE_DISK_KB=$(df -k . | tail -1 | awk '{print $4}')
@@ -21,238 +17,175 @@ function check_available_memory_and_disk() {
exit 2
fi
if [[ ${FREE_DISK_KB} -le ${MIN_DISK_KB} ]]; then
echo -e "\nERROR: Orca Slicer Builder requires at least $(echo $MIN_DISK_KB |awk '{ printf "%.1fG\n", $1/1024/1024; }') (systen has only $(echo ${FREE_DISK_KB} | awk '{ printf "%.1fG\n", $1/1024/1024; }') disk free)"
if [[ ${FREE_DISK_KB} -le ${MIN_DISK_KB} ]]; then
echo -e "\nERROR: Orca Slicer Builder requires at least $(echo ${MIN_DISK_KB} |awk '{ printf "%.1fG\n", $1/1024/1024; }') (systen has only $(echo ${FREE_DISK_KB} | awk '{ printf "%.1fG\n", $1/1024/1024; }') disk free)"
echo && df -h . && echo
exit 1
fi
}
function usage() {
echo "Usage: ./BuildLinux.sh [-i][-u][-d][-s][-b][-g]"
echo " -i: Generate appimage (optional)"
echo " -g: force gtk2 build"
echo "Usage: ./BuildLinux.sh [-1][-b][-c][-d][-i][-r][-s][-u]"
echo " -1: limit builds to 1 core (where possible)"
echo " -b: build in debug mode"
echo " -c: force a clean build"
echo " -d: build deps (optional)"
echo " -h: this help output"
echo " -i: Generate appimage (optional)"
echo " -r: skip ram and disk checks (low ram compiling)"
echo " -s: build orca-slicer (optional)"
echo " -u: only update clock & dependency packets (optional and need sudo)"
echo " -r: skip free ram check (low ram compiling)"
echo " -u: update and build dependencies (optional and need sudo)"
echo "For a first use, you want to 'sudo ./BuildLinux.sh -u'"
echo " and then './BuildLinux.sh -dsi'"
}
unset name
while getopts ":dsiuhgbr" opt; do
while getopts ":1bcdghirsu" opt; do
case ${opt} in
u )
UPDATE_LIB="1"
;;
i )
BUILD_IMAGE="1"
;;
d )
BUILD_DEPS="1"
;;
s )
BUILD_ORCA="1"
1 )
export CMAKE_BUILD_PARALLEL_LEVEL=1
;;
b )
BUILD_DEBUG="1"
;;
g )
FOUND_GTK3=""
c )
CLEAN_BUILD=1
;;
d )
BUILD_DEPS="1"
;;
r )
SKIP_RAM_CHECK="1"
;;
h ) usage
exit 0
;;
i )
BUILD_IMAGE="1"
;;
r )
SKIP_RAM_CHECK="1"
;;
s )
BUILD_ORCA="1"
;;
u )
UPDATE_LIB="1"
;;
esac
done
if [ $OPTIND -eq 1 ]
if [ ${OPTIND} -eq 1 ]
then
usage
exit 0
fi
# Addtional Dev packages for OrcaSlicer
export REQUIRED_DEV_PACKAGES="libmspack-dev libgstreamerd-3-dev libsecret-1-dev libwebkit2gtk-4.0-dev libosmesa6-dev libssl-dev libcurl4-openssl-dev eglexternalplatform-dev libudev-dev libdbus-1-dev extra-cmake-modules texinfo"
# libwebkit2gtk-4.1-dev ??
export DEV_PACKAGES_COUNT=$(echo ${REQUIRED_DEV_PACKAGES} | wc -w)
if [ $(dpkg --get-selections | grep -E "$(echo ${REQUIRED_DEV_PACKAGES} | tr ' ' '|')" | wc -l) -lt ${DEV_PACKAGES_COUNT} ]; then
sudo apt install -y ${REQUIRED_DEV_PACKAGES} git cmake wget file gettext
fi
#FIXME: require root for -u option
if [[ -n "$UPDATE_LIB" ]]
DISTRIBUTION=$(awk -F= '/^ID=/ {print $2}' /etc/os-release)
# treat ubuntu as debian
if [ "${DISTRIBUTION}" == "ubuntu" ] || [ "${DISTRIBUTION}" == "linuxmint" ]
then
echo -n -e "Updating linux ...\n"
# hwclock -s # DeftDawg: Why does SuperSlicer want to do this?
apt update
if [[ -z "$FOUND_GTK3" ]]
then
echo -e "\nInstalling: libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev cmake git\n"
apt install -y libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev cmake git
else
echo -e "\nFind libgtk-3, installing: libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev cmake git\n"
apt install -y libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev cmake git
fi
# for ubuntu 22+ and 23+:
ubu_major_version="$(grep VERSION_ID /etc/os-release | cut -d "=" -f 2 | cut -d "." -f 1 | tr -d /\"/)"
if [ $ubu_major_version == "22" ] || [ $ubu_major_version == "23" ]
then
apt install -y curl libfuse-dev libssl-dev libcurl4-openssl-dev m4
fi
if [[ -n "$BUILD_DEBUG" ]]
then
echo -e "\nInstalling: libssl-dev libcurl4-openssl-dev\n"
apt install -y libssl-dev libcurl4-openssl-dev
fi
echo -e "done\n"
exit 0
DISTRIBUTION="debian"
fi
FOUND_GTK2_DEV=$(dpkg -l libgtk* | grep gtk2.0-dev || echo '')
FOUND_GTK3_DEV=$(dpkg -l libgtk* | grep gtk-3-dev || echo '')
echo "FOUND_GTK2=$FOUND_GTK2)"
if [[ -z "$FOUND_GTK2_DEV" ]]
if [ ! -f ./linux.d/${DISTRIBUTION} ]
then
if [[ -z "$FOUND_GTK3_DEV" ]]
echo "Your distribution does not appear to be currently supported by these build scripts"
exit 1
fi
source ./linux.d/${DISTRIBUTION}
echo "FOUND_GTK3=${FOUND_GTK3}"
if [[ -z "${FOUND_GTK3_DEV}" ]]
then
echo "Error, you must install the dependencies before."
echo "Use option -u with sudo"
exit 0
fi
exit 1
fi
echo "[1/9] Updating submodules..."
{
# update submodule profiles
pushd resources/profiles
git submodule update --init
popd
}
echo "[2/9] Changing date in version..."
echo "Changing date in version..."
{
# change date in version
sed -i "s/+UNKNOWN/_$(date '+%F')/" version.inc
}
echo "done"
# mkdir in deps
if [ ! -d "deps/build" ]
if ! [[ -n "${SKIP_RAM_CHECK}" ]]
then
mkdir deps/build
check_available_memory_and_disk
fi
if ! [[ -n "$SKIP_RAM_CHECK" ]]
if [[ -n "${BUILD_DEPS}" ]]
then
check_available_memory_and_disk
fi
if [[ -n "$BUILD_DEPS" ]]
then
echo "[3/9] Configuring dependencies..."
BUILD_ARGS=""
if [[ -n "$FOUND_GTK3_DEV" ]]
echo "Configuring dependencies..."
BUILD_ARGS="-DDEP_WX_GTK3=ON"
if [[ -n "${CLEAN_BUILD}" ]]
then
BUILD_ARGS="-DDEP_WX_GTK3=ON"
rm -fr deps/build
fi
if [[ -n "$BUILD_DEBUG" ]]
if [ ! -d "deps/build" ]
then
mkdir deps/build
fi
if [[ -n "${BUILD_DEBUG}" ]]
then
# have to build deps with debug & release or the cmake won't find everything it needs
mkdir deps/build/release
pushd deps/build/release
echo -e "cmake ../.. -DDESTDIR=\"../destdir\" $BUILD_ARGS"
cmake ../.. -DDESTDIR="../destdir" $BUILD_ARGS
make -j$NCORES
popd
if [ ! -d "deps/build/release" ]
then
mkdir deps/build/release
fi
cmake -S deps -B deps/build/release -G Ninja -DDESTDIR="${PWD}/deps/build/destdir" -DDEP_DOWNLOAD_DIR="${PWD}/deps/DL_CACHE" ${BUILD_ARGS}
cmake --build deps/build/release
BUILD_ARGS="${BUILD_ARGS} -DCMAKE_BUILD_TYPE=Debug"
fi
# cmake deps
pushd deps/build
echo "cmake .. $BUILD_ARGS"
cmake .. $BUILD_ARGS
echo "done"
# make deps
echo "[4/9] Building dependencies..."
make deps -j$NCORES
echo "done"
# rename wxscintilla # TODO: DeftDawg: Does OrcaSlicer need this?
# echo "[5/9] Renaming wxscintilla library..."
# pushd destdir/usr/local/lib
# if [[ -z "$FOUND_GTK3_DEV" ]]
# then
# cp libwxscintilla-3.1.a libwx_gtk2u_scintilla-3.1.a
# else
# cp libwxscintilla-3.1.a libwx_gtk3u_scintilla-3.1.a
# fi
# popd
# echo "done"
# FIXME: only clean deps if compiling succeeds; otherwise reruns waste tonnes of time!
# clean deps
# echo "[6/9] Cleaning dependencies..."
# rm -rf dep_*
popd
echo "done"
echo "cmake -S deps -B deps/build -G Ninja ${BUILD_ARGS}"
cmake -S deps -B deps/build -G Ninja ${BUILD_ARGS}
cmake --build deps/build
fi
# Create main "build" directory
if [ ! -d "build" ]
then
mkdir build
fi
if [[ -n "$BUILD_ORCA" ]]
if [[ -n "${BUILD_ORCA}" ]]
then
echo "[7/9] Configuring Slic3r..."
echo "Configuring OrcaSlicer..."
if [[ -n "${CLEAN_BUILD}" ]]
then
rm -fr build
fi
BUILD_ARGS=""
if [[ -n "$FOUND_GTK3_DEV" ]]
if [[ -n "${FOUND_GTK3_DEV}" ]]
then
BUILD_ARGS="-DSLIC3R_GTK=3"
fi
if [[ -n "$BUILD_DEBUG" ]]
if [[ -n "${BUILD_DEBUG}" ]]
then
BUILD_ARGS="${BUILD_ARGS} -DCMAKE_BUILD_TYPE=Debug -DBBL_INTERNAL_TESTING=1"
else
BUILD_ARGS="${BUILD_ARGS} -DBBL_RELEASE_TO_PUBLIC=1 -DBBL_INTERNAL_TESTING=0"
fi
# cmake
pushd build
echo -e "cmake .. -DCMAKE_PREFIX_PATH=\"$PWD/../deps/build/destdir/usr/local\" -DSLIC3R_STATIC=1 -DORCA_TOOLS=ON ${BUILD_ARGS}"
cmake .. -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" -DSLIC3R_STATIC=1 ${BUILD_ARGS} -DORCA_TOOLS=ON
echo "done"
# make Slic3r
echo "[8/9] Building Slic3r..."
make -j$NCORES OrcaSlicer # Slic3r
# make OrcaSlicer_profile_validator
make -j$NCORES OrcaSlicer_profile_validator
popd
echo -e "cmake -S . -B build -G Ninja -DCMAKE_PREFIX_PATH="${PWD}/deps/build/destdir/usr/local" -DSLIC3R_STATIC=1 ${BUILD_ARGS}"
cmake -S . -B build -G Ninja \
-DCMAKE_PREFIX_PATH="${PWD}/deps/build/destdir/usr/local" \
-DSLIC3R_STATIC=1 \
-DORCA_TOOLS=ON \
${BUILD_ARGS}
echo "done"
echo "Building OrcaSlicer ..."
cmake --build build --target OrcaSlicer
echo "Building OrcaSlicer_profile_validator .."
cmake --build build --target OrcaSlicer_profile_validator
./run_gettext.sh
echo "done"
fi
if [[ -e $ROOT/build/src/BuildLinuxImage.sh ]]; then
if [[ -e ${ROOT}/build/src/BuildLinuxImage.sh ]]; then
# Give proper permissions to script
chmod 755 $ROOT/build/src/BuildLinuxImage.sh
chmod 755 ${ROOT}/build/src/BuildLinuxImage.sh
echo "[9/9] Generating Linux app..."
pushd build
if [[ -n "$BUILD_IMAGE" ]]
if [[ -n "${BUILD_IMAGE}" ]]
then
$ROOT/build/src/BuildLinuxImage.sh -i
${ROOT}/build/src/BuildLinuxImage.sh -i
else
$ROOT/build/src/BuildLinuxImage.sh
${ROOT}/build/src/BuildLinuxImage.sh
fi
popd
echo "done"

View File

@@ -121,6 +121,9 @@ if (MSVC)
# C4244: 'conversion' conversion from 'type1' to 'type2', possible loss of data. An integer type is converted to a smaller integer type.
# C4267: The compiler detected a conversion from size_t to a smaller type.
add_compile_options(/wd4244 /wd4267)
# Disable warnings on comparison of unsigned and signed
# C4018: signed/unsigned mismatch
add_compile_options(/wd4018)
endif ()
if (${CMAKE_CXX_COMPILER_ID} STREQUAL "AppleClang" AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 15)
@@ -249,6 +252,22 @@ if (NOT MSVC AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMP
# On GCC and Clang, no return from a non-void function is a warning only. Here, we make it an error.
add_compile_options(-Werror=return-type)
# Since some portions of code are just commented out or put under conditional compilation, there are
# a bunch of warning related to unused functions and variables. Suppress those warnings to not pollute
# compilers diagnostics output with warnings we not going to look at
add_compile_options(-Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-label -Wno-unused-local-typedefs)
# Ignore signed/unsigned comparison warnings
add_compile_options(-Wno-sign-compare)
# The mismatch of tabs and spaces throughout the project can sometimes
# cause this warning to appear even though the indentation is fine.
# Some includes also cause the warning
add_compile_options(-Wno-misleading-indentation)
# Disable warning if enum value does not have a corresponding case in switch statement
add_compile_options(-Wno-switch)
# removes LOTS of extraneous Eigen warnings (GCC only supports it since 6.1)
# https://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0)
@@ -271,9 +290,18 @@ if (NOT MSVC AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMP
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431
# We will turn the warning of for GCC for now:
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
# GCC generates loads of -Wunknown-pragmas when compiling igl. The fix is not easy due to a bug in gcc, see
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66943 or
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431
# We will turn the warning of for GCC for now:
add_compile_options(-Wno-unknown-pragmas)
endif()
# Bit of a hack for flatpak building: compress the debug info with zstd to save space in CI
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 13.0)
add_compile_options(-gz=zstd)
endif()
endif()
if (SLIC3R_ASAN)
@@ -286,6 +314,8 @@ if (SLIC3R_ASAN)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fsanitize=address")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -fsanitize=address")
else()
add_compile_definitions(_DISABLE_STRING_ANNOTATION=1 _DISABLE_VECTOR_ANNOTATION=1)
endif ()
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
@@ -382,9 +412,7 @@ endif()
# set(Boost_COMPILER "-mgw81")
# boost::process was introduced first in version 1.64.0,
# boost::beast::detail::base64 was introduced first in version 1.66.0
set(MINIMUM_BOOST_VERSION "1.66.0")
set(_boost_components "system;filesystem;thread;log;locale;regex;chrono;atomic;date_time;iostreams;program_options")
find_package(Boost ${MINIMUM_BOOST_VERSION} REQUIRED COMPONENTS ${_boost_components})
find_package(Boost 1.66 REQUIRED COMPONENTS system filesystem thread log locale regex chrono atomic date_time iostreams program_options)
add_library(boost_libs INTERFACE)
add_library(boost_headeronly INTERFACE)
@@ -410,28 +438,8 @@ function(slic3r_remap_configs targets from_Cfg to_Cfg)
endif()
endfunction()
if(TARGET Boost::system)
message(STATUS "Boost::boost exists")
target_link_libraries(boost_headeronly INTERFACE Boost::boost)
# Only from cmake 3.12
# list(TRANSFORM _boost_components PREPEND Boost:: OUTPUT_VARIABLE _boost_targets)
set(_boost_targets "")
foreach(comp ${_boost_components})
list(APPEND _boost_targets "Boost::${comp}")
endforeach()
target_link_libraries(boost_libs INTERFACE
boost_headeronly # includes the custom compile definitions as well
${_boost_targets}
)
slic3r_remap_configs("${_boost_targets}" RelWithDebInfo Release)
else()
target_include_directories(boost_headeronly INTERFACE ${Boost_INCLUDE_DIRS})
target_link_libraries(boost_libs INTERFACE boost_headeronly ${Boost_LIBRARIES})
endif()
target_include_directories(boost_headeronly INTERFACE ${Boost_INCLUDE_DIRS})
target_link_libraries(boost_libs INTERFACE boost_headeronly ${Boost_LIBRARIES})
# Find and configure intel-tbb
if(SLIC3R_STATIC)

16
DockerBuild.sh Executable file
View File

@@ -0,0 +1,16 @@
#!/bin/bash
PROJECT_ROOT=$(cd -P -- "$(dirname -- "$0")" && printf '%s\n' "$(pwd -P)")
set -x
# Wishlist hint: For developers, creating a Docker Compose
# setup with persistent volumes for the build & deps directories
# would speed up recompile times significantly. For end users,
# the simplicity of a single Docker image and a one-time compilation
# seems better.
docker build -t orcaslicer \
--build-arg USER=$USER \
--build-arg UID=$(id -u) \
--build-arg GID=$(id -g) \
--build-arg NCORES=$NCORES \
$PROJECT_ROOT

27
DockerRun.sh Executable file
View File

@@ -0,0 +1,27 @@
#!/bin/bash
set -x
# Just in case, here's some other things that might help:
# Force the container's hostname to be the same as your workstation
# -h $HOSTNAME \
# If there's problems with the X display, try this
# -v /tmp/.X11-unix:/tmp/.X11-unix \
docker run \
`# Use the hosts networking. Printer wifi and also dbus communication` \
--net=host \
`# Some X installs will not have permissions to talk to sockets for shared memory` \
--ipc host \
`# Run as your workstations username to keep permissions the same` \
-u $USER \
`# Bind mount your home directory into the container for loading/saving files` \
-v $HOME:/home/$USER \
`# Pass the X display number to the container` \
-e DISPLAY=$DISPLAY \
`# It seems that libGL and dbus things need privileged mode` \
--privileged=true \
`# Attach tty for running orca slicer with command line things` \
-ti \
`# Clean up after yourself` \
--rm \
`# Pass all parameters from this script to the orca slicer ENTRYPOINT binary` \
orcaslicer $*

95
Dockerfile Normal file
View File

@@ -0,0 +1,95 @@
FROM docker.io/ubuntu:22.04
LABEL maintainer "DeftDawg <DeftDawg@gmail.com>"
# Disable interactive package configuration
RUN apt-get update && \
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
# Add a deb-src
RUN echo deb-src http://archive.ubuntu.com/ubuntu \
$(cat /etc/*release | grep VERSION_CODENAME | cut -d= -f2) main universe>> /etc/apt/sources.list
RUN apt-get update && apt-get install -y \
autoconf \
build-essential \
cmake \
curl \
eglexternalplatform-dev \
extra-cmake-modules \
file \
git \
gstreamer1.0-plugins-bad \
gstreamer1.0-libav \
libcairo2-dev \
libcurl4-openssl-dev \
libdbus-1-dev \
libglew-dev \
libglu1-mesa-dev \
libglu1-mesa-dev \
libgstreamer1.0-dev \
libgstreamerd-3-dev \
libgstreamer-plugins-base1.0-dev \
libgstreamer-plugins-good1.0-dev \
libgtk-3-dev \
libgtk-3-dev \
libosmesa6-dev \
libsecret-1-dev \
libsoup2.4-dev \
libssl3 \
libssl-dev \
libtool \
libudev-dev \
libwayland-dev \
libwebkit2gtk-4.0-dev \
libxkbcommon-dev \
locales \
locales-all \
m4 \
pkgconf \
sudo \
wayland-protocols \
wget
# Change your locale here if you want. See the output
# of `locale -a` to pick the correct string formatting.
ENV LC_ALL=en_US.utf8
RUN locale-gen $LC_ALL
# Set this so that Orca Slicer doesn't complain about
# the CA cert path on every startup
ENV SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
COPY ./ OrcaSlicer
WORKDIR OrcaSlicer
# These can run together, but we run them seperate for podman caching
# Update System dependencies
RUN ./BuildLinux.sh -u
# Build dependencies in ./deps
RUN ./BuildLinux.sh -d
# Build slic3r
RUN ./BuildLinux.sh -s
# Build AppImage
ENV container podman
RUN ./BuildLinux.sh -i
# It's easier to run Orca Slicer as the same username,
# UID and GID as your workstation. Since we bind mount
# your home directory into the container, it's handy
# to keep permissions the same. Just in case, defaults
# are root.
SHELL ["/bin/bash", "-l", "-c"]
ARG USER=root
ARG UID=0
ARG GID=0
RUN [[ "$UID" != "0" ]] \
&& groupadd -f -g $GID $USER \
&& useradd -u $UID -g $GID $USER
# Using an entrypoint instead of CMD because the binary
# accepts several command line arguments.
ENTRYPOINT ["/OrcaSlicer/build/package/bin/orca-slicer"]

View File

@@ -1,18 +1,38 @@
[![Build all](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_all.yml/badge.svg?branch=main)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_all.yml)
# Orca Slicer
Orca Slicer is an open source slicer for FDM printers.
![discord-mark-blue](https://github.com/SoftFever/OrcaSlicer/assets/103989404/b97d5ffc-072d-4d0a-bbda-e67ef373876f) Join community: [OrcaSlicer Official Discord Server](https://discord.gg/P4VE9UY9gJ)
<h1> <p "font-size:200px;"><img align="left" src="https://github.com/KDW06/OrcaSlicer/blob/main/resources/images/OrcaSlicer.ico" width="100"> Orca Slicer</p> </h1>
[![Build all](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_all.yml/badge.svg?branch=main)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_all.yml)
<br>Orca Slicer is an open source slicer for FDM printers.
Join our Discord community here:<br>
<a href="https://discord.gg/P4VE9UY9gJ"><img src="https://img.shields.io/static/v1?message=Discord&logo=discord&label=&color=7289DA&logoColor=white&labelColor=&style=for-the-badge" height="35" alt="discord logo"/> </a>
<h3>🚨🚨🚨Important Security Alert🚨🚨🚨</h3>
Please be aware that "orcaslicer.net" is NOT an official website for OrcaSlicer and may be potentially malicious. This site appears to use AI-generated content, lacking genuine context, and seems to exist solely to profit from advertisements. Worse, it may redirect download links to harmful sources. For your safety, avoid downloading OrcaSlicer from this site as the links may be compromised.
The only official platforms for OrcaSlicer are our GitHub project page and the <a href="https://discord.gg/P4VE9UY9gJ">official Discord channel</a> .
We deeply value our OrcaSlicer community and appreciate all the social groups that support us. However, it is crucial to address the risk posed by any group that falsely claims to be official or misleads its members. If you encounter such a group or are part of one, please assist by encouraging the group owner to add a clear disclaimer or by alerting its members.
Thank you for your vigilance and support in keeping our community safe!
# Main features
- Auto calibrations for all printers
- Sandwich(inner-outer-inner) mode - an improved version of the `External perimeters first` mode
- Auto-calibration for all printers
- Sandwich (inner-outer-inner) mode - An improved version of the `External Perimeters First` mode
- [Precise wall](https://github.com/SoftFever/OrcaSlicer/wiki/Precise-wall)
- Polyholes conversion support [SuperSlicer Wiki: Polyholes](https://github.com/supermerill/SuperSlicer/wiki/Polyholes)
- Polyholes conversion support: [SuperSlicer Wiki: Polyholes](https://github.com/supermerill/SuperSlicer/wiki/Polyholes)
- Klipper support
- More granular controls
- More features can be found in [change notes](https://github.com/SoftFever/OrcaSlicer/releases/)
- Additional features can be found in the [change notes](https://github.com/SoftFever/OrcaSlicer/releases/)
# Wiki
The wiki below aims to provide a detailed explanation of the slicer settings, including how to maximize their use and how to calibrate and set up your printer.
Please note that the wiki is a work in progress. We appreciate your patience as we continue to develop and improve it!
**[Access the wiki here](https://github.com/SoftFever/OrcaSlicer/wiki)**
# Download
@@ -40,7 +60,7 @@ Explore the latest developments in Orca Slicer with our nightly builds. Feedback
**Mac**:
1. Download the DMG for your computer: `arm64` version for Apple Silicon and `x86_64` for Intel CPU.
2. Drag OrcaSlicer.app to Application folder.
3. *If you want to run a build from a PR, you also need following instructions below*
3. *If you want to run a build from a PR, you also need to follow the instructions below:*
<details quarantine>
- Option 1 (You only need to do this once. After that the app can be opened normally.):
- Step 1: Hold _cmd_ and right click the app, from the context menu choose **Open**.
@@ -58,15 +78,15 @@ Explore the latest developments in Orca Slicer with our nightly builds. Feedback
![image](./SoftFever_doc/mac_security_setting.png)
</details>
**Linux(Ubuntu)**:
1. If you run into trouble to execute it, try this command in terminal:
**Linux (Ubuntu)**:
1. If you run into trouble executing it, try this command in the terminal:
`chmod +x /path_to_appimage/OrcaSlicer_Linux.AppImage`
# How to compile
- Windows 64-bit
- Tools needed: Visual Studio 2019, Cmake, git, git-lfs, Strawberry Perl.
- You will require cmake version 3.14 or later, which is available [on their website](https://cmake.org/download/).
- Strawberry Perl is [available on their github repository](https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/).
- Strawberry Perl is [available on their GitHub repository](https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/).
- Run `build_release.bat` in `x64 Native Tools Command Prompt for VS 2019`
- Note: Don't forget to run `git lfs pull` after cloning the repository to download tools on Windows
@@ -74,9 +94,9 @@ Explore the latest developments in Orca Slicer with our nightly builds. Feedback
- Tools needed: Xcode, Cmake, git, gettext, libtool, automake, autoconf, texinfo
- You can install most of them by running `brew install cmake gettext libtool automake autoconf texinfo`
- run `build_release_macos.sh`
- To build and debug in XCode:
- run `XCode.app`
- open ``build_`arch`/OrcaSlicer.xcodeproj``
- To build and debug in Xcode:
- run `Xcode.app`
- open ``build_`arch`/OrcaSlicer.Xcodeproj``
- menu bar: Product => Scheme => OrcaSlicer
- menu bar: Product => Scheme => Edit Scheme...
- Run => Info tab => Build Configuration: `RelWithDebInfo`
@@ -84,7 +104,7 @@ Explore the latest developments in Orca Slicer with our nightly builds. Feedback
- menu bar: Product => Run
- Ubuntu
- Dependencies **Will be auto installed with the shell script**: `libmspack-dev libgstreamerd-3-dev libsecret-1-dev libwebkit2gtk-4.0-dev libosmesa6-dev libssl-dev libcurl4-openssl-dev eglexternalplatform-dev libudev-dev libdbus-1-dev extra-cmake-modules libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev cmake git texinfo`
- Dependencies **Will be auto-installed with the shell script**: `libmspack-dev libgstreamerd-3-dev libsecret-1-dev libwebkit2gtk-4.0-dev libosmesa6-dev libssl-dev libcurl4-openssl-dev eglexternalplatform-dev libudev-dev libdbus-1-dev extra-cmake-modules libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev cmake git texinfo`
- run 'sudo ./BuildLinux.sh -u'
- run './BuildLinux.sh -dsir'
@@ -109,31 +129,36 @@ Thank you! :)
<table>
<tr>
<td>
<a href="https://peopoly.net/">
<img src="SoftFever_doc\sponsor_logos\peopoly-standard-logo.png" alt="Peopoly" width="64" height="">
</a>
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td>
<a href="https://qidi3d.com/">
<img src="SoftFever_doc\sponsor_logos\QIDI.png" alt="QIDI" width="64" height="">
<img src="SoftFever_doc\sponsor_logos\QIDI.png" alt="QIDI" width="96" height="">
</a>
</td>
<td>
<a href="https://phrozen3d.com/">
<img src="SoftFever_doc\sponsor_logos\Phrozen_Logo圓_.png" alt="Phrozen Technology" width="96" height="">
</a>
</td>
<td>
<a href="https://bigtree-tech.com/">
<img src="SoftFever_doc\sponsor_logos\BigTreeTech.png" alt="BIGTREE TECH" width="96" height="">
</a>
</td>
</tr>
</table>
### Backers:
Ko-fi supporters: [Backers list](https://github.com/SoftFever/OrcaSlicer/wiki/OrcaSlicer-backers-%E2%80%90-28-Oct-2023)
**Ko-fi supporters**: [Backers list](https://github.com/user-attachments/files/16147016/Supporters_638561417699952499.csv)
## Support me
<a href="https://github.com/sponsors/SoftFever"><img src="https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86" width="130"></a>
<a href="https://ko-fi.com/G2G5IP3CP"><img src="https://ko-fi.com/img/githubbutton_sm.svg" width="200"></a>
[![PayPal](https://img.shields.io/badge/PayPal-00457C?style=for-the-badge&logo=paypal&logoColor=white)](https://paypal.me/softfever3d)
Support me
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/G2G5IP3CP)
## Some background
OrcaSlicer is originaly forked from Bambu Studio, it was previously known as BambuStudio-SoftFever.
OrcaSlicer is originally forked from Bambu Studio, it was previously known as BambuStudio-SoftFever.
Bambu Studio is forked from [PrusaSlicer](https://github.com/prusa3d/PrusaSlicer) by Prusa Research, which is from [Slic3r](https://github.com/Slic3r/Slic3r) by Alessandro Ranellucci and the RepRap community.
Orca Slicer incorporates a lot of features from SuperSlicer by @supermerill
@@ -153,5 +178,5 @@ The GNU Affero General Public License, version 3 ensures that if you use any par
Orca Slicer includes a pressure advance calibration pattern test adapted from Andrew Ellis' generator, which is licensed under GNU General Public License, version 3. Ellis' generator is itself adapted from a generator developed by Sineos for Marlin, which is licensed under GNU General Public License, version 3.
The bambu networking plugin is based on non-free libraries from Bambulab. It is optional to the Orca Slicer and provides extended functionalities for Bambulab printer users.
The Bambu networking plugin is based on non-free libraries from BambuLab. It is optional to the Orca Slicer and provides extended functionalities for Bambulab printer users.

View File

@@ -1 +0,0 @@
Init Version

View File

@@ -1,32 +1,47 @@
POLICY: Our security policy is to avoid leaving the ecosystem worse than we found it. Meaning we are not planning to introduce vulnerabilities into the ecosystem.
The OrcaSlicer team and community take all security bugs in OrcaSlicer seriously. Thank you for improving the security of OrcaSlicer. We appreciate your efforts to disclose the issue responsibly, and will make every effort to acknowledge your contributions.
# Security Policy
Report security bugs by emailing the lead maintainer at softfeverever@gmail.com and include the word "SECURITY" in the subject line.
At OrcaSlicer, we are committed to maintaining the security of our ecosystem. Our policy is to ensure that we do not introduce vulnerabilities and that any security issues are addressed promptly and responsibly. We appreciate your help in improving the security of OrcaSlicer and thank you for your responsible disclosure.
Reporting Security Bugs
The lead maintainer will acknowledge your email within a week (7 days), and will send a more detailed response up to 48 hours after that indicating the next steps in handling your report. After the initial reply to your report, the security team will endeavor to keep you informed of the progress towards a fix and an announcement. We may ask for additional information or guidance.
## To report a security bug, please follow these guidelines:
OrcaSlicer will confirm the problem and determine the affected versions.
OrcaSlicer will audit code to find any similar problems.
OrcaSlicer will prepare fixes for all releases still under maintenance. These fixes will be released as fast as possible.
Report security bugs in third-party modules to the person or team maintaining the module.
* Email Security Bugs:
Send an email to the lead maintainer at softfeverever@gmail.com.
Include the word "SECURITY" in the subject line of your email.
SECURITY DISCLOSURE: Your responsibility is to report vulnerabilities to us using the guidelines outlined below.
Please give detailed steps on how to disclose the vulnerability. Keep these OWASP guidelines in mind ( https://www.owasp.org/index.php/Vulnerability_Disclosure_Cheat_Sheet ) when creating your disclosure policy.
* Response Times:
The lead maintainer will acknowledge receipt of your email within one week (7 days).
A detailed response will follow within 48 hours, outlining the next steps for handling your report.
After the initial reply, the security team will keep you informed about the progress toward a fix and any announcements.
Below are some recommendations for security disclosures:
* Information and Collaboration:
We may request additional information or guidance as we work on addressing the issue.
OrcaSlicer security contact { contact: mailto:softfeverever@gmail.com] }
When disclosing vulnerabilities please do the following:
Your name and affiliation (if any).
Include scope of vulnerability. Let us know who could use this exploit.
Document steps to identify the vulnerability. It is important that we can reproduce your findings.
Show how to exploit vulnerability, give us an attack scenario.
OrcaSlicer Checklist: Security Recommendations
Follow these steps to improve security when using OrcaSlicer.
* Handling the Report:
OrcaSlicer will confirm the problem and determine the affected versions.
We will audit the code to find any similar issues and prepare fixes for all releases still under maintenance.
Fixes will be released as quickly as possible.
...SEE SOMETHING
...SAY SOMETHING
1)...SEE SOMETHING
We suggest you goto #2 if this happens.
* Third-Party Modules:
Report security issues in third-party modules to the respective maintainer of those modules.
Why? Through experience we have found it is best to goto #2 in this situation.
## Security Disclosure Guidelines
When disclosing a vulnerability, please follow these steps to ensure your report is clear and actionable:
* Provide Detailed Information:
Scope: Clearly define the scope of the vulnerability.
Potential Impact: Let us know who could be affected by this exploit.
Reproduction Steps: Document detailed steps to reproduce the vulnerability.
Reference OWASP Guidelines:
Follow the <a href="https://cheatsheetseries.owasp.org/cheatsheets/Vulnerability_Disclosure_Cheat_Sheet.html">OWASP Vulnerability Disclosure Cheat Sheet</a> for best practices in vulnerability disclosure.
## Security Recommendations
To enhance security when using OrcaSlicer, we recommend following these steps:
* SEE SOMETHING: If you notice anything suspicious or have concerns, please report it.
* SAY SOMETHING: If you have any doubts or need assistance, do not hesitate to contact us.
### Thank you for your commitment to the security of OrcaSlicer. Your efforts help us maintain a safe and reliable ecosystem.

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

View File

@@ -34,6 +34,9 @@ while getopts ":dpa:snt:xbc:h" opt; do
c )
export BUILD_CONFIG="$OPTARG"
;;
1 )
export CMAKE_BUILD_PARALLEL_LEVEL=1
;;
h ) echo "Usage: ./build_release_macos.sh [-d]"
echo " -d: Build deps only"
echo " -a: Set ARCHITECTURE (arm64 or x86_64)"
@@ -43,6 +46,7 @@ while getopts ":dpa:snt:xbc:h" opt; do
echo " -x: Use Ninja CMake generator, default is Xcode"
echo " -b: Build without reconfiguring CMake"
echo " -c: Set CMake build configuration, default is Release"
echo " -1: Use single job for building"
exit 0
;;
* )

View File

@@ -44,9 +44,10 @@ if "%1"=="slicer" (
)
echo "building deps.."
echo cmake ../ -G "Visual Studio 17 2022" -A x64 -DDESTDIR="%CD%/OrcaSlicer_dep" -DCMAKE_BUILD_TYPE=%build_type% -DDEP_DEBUG=%debug% -DORCA_INCLUDE_DEBUG_INFO=%debuginfo%
cmake ../ -G "Visual Studio 17 2022" -A x64 -DDESTDIR="%CD%/OrcaSlicer_dep" -DCMAKE_BUILD_TYPE=%build_type% -DDEP_DEBUG=%debug% -DORCA_INCLUDE_DEBUG_INFO=%debuginfo%
echo on
cmake ../ -G "Visual Studio 17 2022" -A x64 -DDESTDIR="%DEPS%" -DCMAKE_BUILD_TYPE=%build_type% -DDEP_DEBUG=%debug% -DORCA_INCLUDE_DEBUG_INFO=%debuginfo%
cmake --build . --config %build_type% --target deps -- -m
@echo off
if "%1"=="deps" exit /b 0
@@ -56,9 +57,10 @@ cd %WP%
mkdir %build_dir%
cd %build_dir%
echo cmake .. -G "Visual Studio 17 2022" -A x64 -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="%DEPS%/usr/local" -DCMAKE_INSTALL_PREFIX="./OrcaSlicer" -DCMAKE_BUILD_TYPE=%build_type%
cmake .. -G "Visual Studio 17 2022" -A x64 -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="%DEPS%/usr/local" -DCMAKE_INSTALL_PREFIX="./OrcaSlicer" -DCMAKE_BUILD_TYPE=%build_type% -DWIN10SDK_PATH="C:/Program Files (x86)/Windows Kits/10/Include/10.0.22000.0"
echo on
cmake .. -G "Visual Studio 17 2022" -A x64 -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="%DEPS%/usr/local" -DCMAKE_INSTALL_PREFIX="./OrcaSlicer" -DCMAKE_BUILD_TYPE=%build_type% -DWIN10SDK_PATH="%WindowsSdkDir%Include\%WindowsSDKVersion%\"
cmake --build . --config %build_type% --target ALL_BUILD -- -m
@echo off
cd ..
call run_gettext.bat
cd %build_dir%

View File

@@ -26,17 +26,19 @@
<string>????</string>
<key>CFBundleVersion</key>
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
<key>ATSApplicationFontsPath</key>
<string>fonts/</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>orcasliceropen url</string>
<key>CFBundleURLSchemes</key>
<array>
<string>orcasliceropen</string>
</array>
</dict>
</array>
<array>
<dict>
<key>CFBundleURLName</key>
<string>OrcaSlicer Downloads</string>
<key>CFBundleURLSchemes</key>
<array>
<string>orcaslicer</string>
</array>
</dict>
</array>
<key>CFBundleDocumentTypes</key>
<array>
<dict>

123
deps/CMakeLists.txt vendored
View File

@@ -42,6 +42,10 @@ endif ()
set(DESTDIR "${CMAKE_CURRENT_BINARY_DIR}/destdir" CACHE PATH "Destination directory")
set(DEP_DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR}/../DL_CACHE CACHE PATH "Path for downloaded source packages.")
set(FLATPAK FALSE CACHE BOOL "Toggles various build settings for flatpak, like /usr/local in DESTDIR or not building wxwidgets")
if (NOT FLATPAK)
set(DESTDIR "${DESTDIR}/usr/local/")
endif()
get_property(_is_multi GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
@@ -120,13 +124,13 @@ if (NOT IS_CROSS_COMPILE OR NOT APPLE)
ExternalProject_Add(
dep_${projectname}
EXCLUDE_FROM_ALL ON
INSTALL_DIR ${DESTDIR}/usr/local
INSTALL_DIR ${DESTDIR}
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/${projectname}
${_gen}
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}
-DCMAKE_MODULE_PATH:STRING=${PROJECT_SOURCE_DIR}/../cmake/modules
-DCMAKE_PREFIX_PATH:STRING=${DESTDIR}/usr/local
-DCMAKE_PREFIX_PATH:STRING=${DESTDIR}
-DCMAKE_DEBUG_POSTFIX:STRING=d
-DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
@@ -140,16 +144,26 @@ if (NOT IS_CROSS_COMPILE OR NOT APPLE)
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release -- ${_build_j}
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config Release
)
else()
elseif(FLATPAK)
# the only reason this is here is because of the HACK at the bottom for ci
#
# note for future devs: shared libs may actually create a size reduction
# but orcaslicer_deps tends to get really funny regarding linking after that (notably boost)
# so, as much as I would like to use that, it's not happening
ExternalProject_Add(
dep_${projectname}
EXCLUDE_FROM_ALL ON
INSTALL_DIR ${DESTDIR}/usr/local
INSTALL_DIR ${DESTDIR}
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/${projectname}
${_gen}
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local
-DCMAKE_PREFIX_PATH:STRING=${DESTDIR}/usr/local
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}
-DCMAKE_MODULE_PATH:STRING=${PROJECT_SOURCE_DIR}/../cmake/modules
-DCMAKE_PREFIX_PATH:STRING=${DESTDIR}
-DCMAKE_DEBUG_POSTFIX:STRING=d
-DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
-DBUILD_SHARED_LIBS:BOOL=OFF
${_cmake_osx_arch}
"${_configs_line}"
@@ -158,6 +172,29 @@ else()
${P_ARGS_UNPARSED_ARGUMENTS}
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release -- ${_build_j}
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config Release
# HACK: save space after each compile job, because CI
# reasoning: cmake changes directory after this command, so just keep only the folders
# so that it can navigate out
COMMAND find "${CMAKE_BINARY_DIR}/dep_${projectname}-prefix/" -type f -delete
)
else()
ExternalProject_Add(
dep_${projectname}
EXCLUDE_FROM_ALL ON
INSTALL_DIR ${DESTDIR}
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/${projectname}
${_gen}
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}
-DCMAKE_PREFIX_PATH:STRING=${DESTDIR}
-DBUILD_SHARED_LIBS:BOOL=OFF
${_cmake_osx_arch}
"${_configs_line}"
${DEP_CMAKE_OPTS}
${P_ARGS_CMAKE_ARGS}
${P_ARGS_UNPARSED_ARGUMENTS}
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release -- ${_build_j}
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config Release
)
endif()
@@ -203,6 +240,20 @@ else()
include("deps-linux.cmake")
endif()
if(FLATPAK)
# flatpak bundles some deps with the layer, so attempt to find them first
# also, yes, this reduces CI by not needing to vendor certain deps
find_package(ZLIB)
find_package(PNG)
find_package(EXPAT)
find_package(CURL)
find_package(JPEG)
find_package(TIFF)
find_package(Freetype)
find_package(OpenSSL 1.1...<3.2)
find_package(CURL)
endif()
set(ZLIB_PKG "")
if (NOT ZLIB_FOUND)
include(ZLIB/ZLIB.cmake)
@@ -214,6 +265,7 @@ if (NOT PNG_FOUND)
set(PNG_PKG dep_PNG)
endif ()
set(EXPAT_PKG "")
find_package(EXPAT)
if (NOT EXPAT_FOUND)
include(EXPAT/EXPAT.cmake)
set(EXPAT_PKG dep_EXPAT)
@@ -226,6 +278,7 @@ include(Boost/Boost.cmake)
include(Cereal/Cereal.cmake)
include(Qhull/Qhull.cmake)
include(GLEW/GLEW.cmake)
include(GLFW/GLFW.cmake)
include(OpenCSG/OpenCSG.cmake)
@@ -241,32 +294,69 @@ include(CGAL/CGAL.cmake)
include(NLopt/NLopt.cmake)
include(OpenSSL/OpenSSL.cmake)
# I *think* 1.1 is used for *just* md5 hashing?
# 3.1 has everything in the right place, but the md5 funcs used are deprecated
# a grep across the repo shows it is used for other things
# TODO: update openssl and everything that uses <openssl/md5.h>
set(OPENSSL_PKG "")
if(NOT OPENSSL_FOUND)
include(OpenSSL/OpenSSL.cmake)
set(OPENSSL_PKG dep_OpenSSL)
endif()
# we don't want to load a "wrong" openssl when loading curl
# so, just don't even bother
# ...i think this is how it works? change if wrong
set(CURL_PKG "")
if (NOT CURL_FOUND)
if (NOT OPENSSL_FOUND OR NOT CURL_FOUND)
include(CURL/CURL.cmake)
set(CURL_PKG dep_CURL)
endif ()
include(JPEG/JPEG.cmake)
include(TIFF/TIFF.cmake)
include(wxWidgets/wxWidgets.cmake)
set(JPEG_PKG "")
if (NOT JPEG_FOUND)
include(JPEG/JPEG.cmake)
set(JPEG_PKG dep_JPEG)
endif()
set(TIFF_PKG "")
if (NOT TIFF_FOUND)
include(TIFF/TIFF.cmake)
set(TIFF_PKG "dep_TIFF")
endif()
# flatpak builds wxwidgets separately
set(WXWIDGETS_PKG "")
if (NOT FLATPAK)
include(wxWidgets/wxWidgets.cmake)
set(WXWIDGETS_PKG "dep_wxWidgets")
endif()
set(FREETYPE_PKG "")
if(NOT FREETYPE_FOUND)
include(FREETYPE/FREETYPE.cmake)
set(FREETYPE_PKG "dep_FREETYPE")
endif()
include(OCCT/OCCT.cmake)
include(FREETYPE/FREETYPE.cmake)
include(OpenCV/OpenCV.cmake)
set(_dep_list
dep_Boost
dep_TBB
${OPENSSL_PKG}
${CURL_PKG}
dep_wxWidgets
${WXWIDGETS_PKG}
dep_Cereal
dep_NLopt
dep_OpenVDB
dep_OpenCSG
dep_OpenCV
dep_CGAL
dep_OpenSSL
dep_GLFW
dep_OCCT
${FREETYPE_PKG}
${PNG_PKG}
${ZLIB_PKG}
${EXPAT_PKG}
@@ -281,9 +371,6 @@ else()
#list(APPEND _dep_list "dep_libigl")
endif()
list(APPEND _dep_list "dep_OCCT")
list(APPEND _dep_list "dep_FREETYPE")
add_custom_target(deps ALL DEPENDS ${_dep_list})
# Note: I'm not using any of the LOG_xxx options in ExternalProject_Add() commands

View File

@@ -72,9 +72,10 @@ orcaslicer_add_cmake_project(CURL
${_curl_platform_flags}
)
# if (APPLE OR (CMAKE_SYSTEM_NAME STREQUAL "Linux"))
add_dependencies(dep_CURL dep_OpenSSL)
# endif ()
if(NOT OPENSSL_FOUND)
# (openssl may or may not be built)
add_dependencies(dep_CURL ${OPENSSL_PKG})
endif()
if (MSVC)
add_debug_dep(dep_CURL)

17
deps/GMP/GMP.cmake vendored
View File

@@ -1,17 +1,16 @@
set(_srcdir ${CMAKE_CURRENT_LIST_DIR}/gmp)
set(_dstdir ${DESTDIR}/usr/local)
if (MSVC)
set(_output ${_dstdir}/include/gmp.h
${_dstdir}/lib/libgmp-10.lib
${_dstdir}/bin/libgmp-10.dll)
set(_output ${DESTDIR}/include/gmp.h
${DESTDIR}/lib/libgmp-10.lib
${DESTDIR}/bin/libgmp-10.dll)
add_custom_command(
OUTPUT ${_output}
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/include/gmp.h ${_dstdir}/include/
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libgmp-10.lib ${_dstdir}/lib/
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libgmp-10.dll ${_dstdir}/bin/
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/include/gmp.h ${DESTDIR}/include/
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libgmp-10.lib ${DESTDIR}/lib/
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libgmp-10.dll ${DESTDIR}/bin/
)
add_custom_target(dep_GMP SOURCES ${_output})
@@ -61,8 +60,8 @@ else ()
URL_HASH SHA256=eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/GMP
BUILD_IN_SOURCE ON
CONFIGURE_COMMAND env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure ${_cross_compile_arg} --enable-shared=no --enable-cxx=yes --enable-static=yes "--prefix=${DESTDIR}/usr/local" ${_gmp_build_tgt}
CONFIGURE_COMMAND env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure ${_cross_compile_arg} --enable-shared=no --enable-cxx=yes --enable-static=yes "--prefix=${DESTDIR}" ${_gmp_build_tgt}
BUILD_COMMAND make -j
INSTALL_COMMAND make install
)
endif ()
endif ()

19
deps/MPFR/MPFR.cmake vendored
View File

@@ -1,18 +1,17 @@
set(_srcdir ${CMAKE_CURRENT_LIST_DIR}/mpfr)
set(_dstdir ${DESTDIR}/usr/local)
if (MSVC)
set(_output ${_dstdir}/include/mpfr.h
${_dstdir}/include/mpf2mpfr.h
${_dstdir}/lib/libmpfr-4.lib
${_dstdir}/bin/libmpfr-4.dll)
set(_output ${DESTDIR}/include/mpfr.h
${DESTDIR}/include/mpf2mpfr.h
${DESTDIR}/lib/libmpfr-4.lib
${DESTDIR}/bin/libmpfr-4.dll)
add_custom_command(
OUTPUT ${_output}
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/include/mpfr.h ${_dstdir}/include/
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/include/mpf2mpfr.h ${_dstdir}/include/
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libmpfr-4.lib ${_dstdir}/lib/
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libmpfr-4.dll ${_dstdir}/bin/
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/include/mpfr.h ${DESTDIR}/include/
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/include/mpf2mpfr.h ${DESTDIR}/include/
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libmpfr-4.lib ${DESTDIR}/lib/
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libmpfr-4.dll ${DESTDIR}/bin/
)
add_custom_target(dep_MPFR SOURCES ${_output})
@@ -31,7 +30,7 @@ else ()
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/MPFR
BUILD_IN_SOURCE ON
CONFIGURE_COMMAND autoreconf -f -i &&
env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure ${_cross_compile_arg} --prefix=${DESTDIR}/usr/local --enable-shared=no --enable-static=yes --with-gmp=${DESTDIR}/usr/local ${_gmp_build_tgt}
env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure ${_cross_compile_arg} --prefix=${DESTDIR} --enable-shared=no --enable-static=yes --with-gmp=${DESTDIR} ${_gmp_build_tgt}
BUILD_COMMAND make -j
INSTALL_COMMAND make install
DEPENDS dep_GMP

View File

@@ -14,7 +14,7 @@ orcaslicer_add_cmake_project(OCCT
#PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
PATCH_COMMAND git apply --directory ${BINARY_DIR_REL}/dep_OCCT-prefix/src/dep_OCCT --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
#DEPENDS dep_Boost
#DEPENDS dep_FREETYPE
DEPENDS ${FREETYPE_PKG}
CMAKE_ARGS
-DBUILD_LIBRARY_TYPE=${library_build_type}
-DUSE_TK=OFF
@@ -22,6 +22,7 @@ orcaslicer_add_cmake_project(OCCT
#-DUSE_FREETYPE=OFF
-DUSE_FFMPEG=OFF
-DUSE_VTK=OFF
-DBUILD_DOC_Overview=OFF
-DBUILD_MODULE_ApplicationFramework=OFF
#-DBUILD_MODULE_DataExchange=OFF
-DBUILD_MODULE_Draw=OFF
@@ -31,4 +32,4 @@ orcaslicer_add_cmake_project(OCCT
-DBUILD_MODULE_Visualization=OFF
)
add_dependencies(dep_OCCT dep_FREETYPE)
# add_dependencies(dep_OCCT ${FREETYPE_PKG})

52
deps/OpenCV/0001-vs2022.patch vendored Normal file
View File

@@ -0,0 +1,52 @@
From 6fb3f6333150a777e835fc7c48e49750591bf7fe Mon Sep 17 00:00:00 2001
From: Benjamin Buch <bebuch@users.noreply.github.com>
Date: Thu, 23 May 2024 16:05:19 +0200
Subject: [PATCH] Support VS 2022 17.1x.y
With 17.10.0 the MSVC toolset was set to 19.40.x which breaks the compatibility test in the OpenCV's CMake Config files.
---
cmake/templates/OpenCVConfig.root-WIN32.cmake.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cmake/templates/OpenCVConfig.root-WIN32.cmake.in b/cmake/templates/OpenCVConfig.root-WIN32.cmake.in
index b0f254ebe8..62e36272f3 100644
--- a/cmake/templates/OpenCVConfig.root-WIN32.cmake.in
+++ b/cmake/templates/OpenCVConfig.root-WIN32.cmake.in
@@ -137,7 +137,7 @@ elseif(MSVC)
set(OpenCV_RUNTIME vc14) # selecting previous compatible runtime version
endif()
endif()
- elseif(MSVC_VERSION MATCHES "^193[0-9]$")
+ elseif(MSVC_VERSION MATCHES "^19[34][0-9]$")
set(OpenCV_RUNTIME vc17)
check_one_config(has_VS2022)
if(NOT has_VS2022)
--
2.45.2.windows.1
From f85818ba6f9031c450475a7453dee0acce31a881 Mon Sep 17 00:00:00 2001
From: Benjamin Buch <bebuch@users.noreply.github.com>
Date: Fri, 24 May 2024 11:10:09 +0200
Subject: [PATCH] Support VS 2022 17.1x.y in OpenCVDetectCXXCompiler.cmake
With 17.10.0 the MSVC toolset was set to 19.40.x which breaks the compatibility test in the OpenCV's CMake Config files.
---
cmake/OpenCVDetectCXXCompiler.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cmake/OpenCVDetectCXXCompiler.cmake b/cmake/OpenCVDetectCXXCompiler.cmake
index 1743aca11f..448afd46ea 100644
--- a/cmake/OpenCVDetectCXXCompiler.cmake
+++ b/cmake/OpenCVDetectCXXCompiler.cmake
@@ -176,7 +176,7 @@ elseif(MSVC)
set(OpenCV_RUNTIME vc15)
elseif(MSVC_VERSION MATCHES "^192[0-9]$")
set(OpenCV_RUNTIME vc16)
- elseif(MSVC_VERSION MATCHES "^193[0-9]$")
+ elseif(MSVC_VERSION MATCHES "^19[34][0-9]$")
set(OpenCV_RUNTIME vc17)
else()
message(WARNING "OpenCV does not recognize MSVC_VERSION \"${MSVC_VERSION}\". Cannot set OpenCV_RUNTIME")
--
2.45.2.windows.1

73
deps/OpenCV/OpenCV.cmake vendored Normal file
View File

@@ -0,0 +1,73 @@
if (MSVC)
set(_use_IPP "-DWITH_IPP=ON")
else ()
set(_use_IPP "-DWITH_IPP=OFF")
endif ()
orcaslicer_add_cmake_project(OpenCV
URL https://github.com/opencv/opencv/archive/refs/tags/4.6.0.tar.gz
URL_HASH SHA256=1ec1cba65f9f20fe5a41fda1586e01c70ea0c9a6d7b67c9e13edf0cfe2239277
PATCH_COMMAND git apply --directory ${BINARY_DIR_REL}/dep_OpenCV-prefix/src/dep_OpenCV --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-vs2022.patch
CMAKE_ARGS
-DBUILD_SHARED_LIBS=0
-DBUILD_PERE_TESTS=OFF
-DBUILD_TESTS=OFF
-DBUILD_opencv_python_tests=OFF
-DBUILD_EXAMPLES=OFF
-DBUILD_JASPER=OFF
-DBUILD_JAVA=OFF
-DBUILD_JPEG=ON
-DBUILD_APPS_LIST=version
-DBUILD_opencv_apps=OFF
-DBUILD_opencv_java=OFF
-DBUILD_OPENEXR=OFF
-DBUILD_PNG=ON
-DBUILD_TBB=OFF
-DBUILD_WEBP=OFF
-DBUILD_ZLIB=OFF
-DWITH_1394=OFF
-DWITH_CUDA=OFF
-DWITH_EIGEN=OFF
${_use_IPP}
-DWITH_ITT=OFF
-DWITH_FFMPEG=OFF
-DWITH_GPHOTO2=OFF
-DWITH_GSTREAMER=OFF
-DOPENCV_GAPI_GSTREAMER=OFF
-DWITH_GTK_2_X=OFF
-DWITH_JASPER=OFF
-DWITH_LAPACK=OFF
-DWITH_MATLAB=OFF
-DWITH_MFX=OFF
-DWITH_DIRECTX=OFF
-DWITH_DIRECTML=OFF
-DWITH_OPENCL=OFF
-DWITH_OPENCL_D3D11_NV=OFF
-DWITH_OPENCLAMDBLAS=OFF
-DWITH_OPENCLAMDFFT=OFF
-DWITH_OPENEXR=OFF
-DWITH_OPENJPEG=OFF
-DWITH_QUIRC=OFF
-DWITH_VTK=OFF
-DWITH_WEBP=OFF
-DENABLE_PRECOMPILED_HEADERS=OFF
-DINSTALL_TESTS=OFF
-DINSTALL_C_EXAMPLES=OFF
-DINSTALL_PYTHON_EXAMPLES=OFF
-DOPENCV_GENERATE_SETUPVARS=OFF
-DOPENCV_INSTALL_FFMPEG_DOWNLOAD_SCRIPT=OFF
-DBUILD_opencv_python2=OFF
-DBUILD_opencv_python3=OFF
-DWITH_OPENVINO=OFF
-DWITH_INF_ENGINE=OFF
-DWITH_NGRAPH=OFF
-DBUILD_WITH_STATIC_CRT=OFF#set /MDd /MD
-DBUILD_LIST=core,imgcodecs,imgproc,world
-DBUILD_opencv_highgui=OFF
-DWITH_ADE=OFF
-DBUILD_opencv_world=ON
-DWITH_PROTOBUF=OFF
-DWITH_WIN32UI=OFF
-DHAVE_WIN32UI=FALSE
)

View File

@@ -15,11 +15,11 @@ if (APPLE AND IS_CROSS_COMPILE)
EXCLUDE_FROM_ALL ON
URL https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.zip
URL_HASH SHA256=0307a3d7e1fa1e77e9d84d7e9a8694583fbbbfd50bdc6884e2c96b8ef6b902de
INSTALL_DIR ${DESTDIR}/usr/local
INSTALL_DIR ${DESTDIR}
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/OpenEXR
${_openxr_list_sep}
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}
-DBUILD_SHARED_LIBS:BOOL=OFF
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DBUILD_TESTING=OFF
@@ -54,4 +54,4 @@ endif()
if (MSVC)
add_debug_dep(dep_OpenEXR)
endif ()
endif ()

View File

@@ -46,8 +46,8 @@ ExternalProject_Add(dep_OpenSSL
# URL_HASH SHA256=8c776993154652d0bb393f506d850b811517c8bd8d24b1008aef57fbe55d3f31
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/OpenSSL
CONFIGURE_COMMAND ${_conf_cmd} ${_cross_arch}
"--openssldir=${DESTDIR}/usr/local"
"--prefix=${DESTDIR}/usr/local"
"--openssldir=${DESTDIR}"
"--prefix=${DESTDIR}"
${_cross_comp_prefix_line}
no-shared
no-asm
@@ -61,6 +61,6 @@ ExternalProject_Add(dep_OpenSSL
ExternalProject_Add_Step(dep_OpenSSL install_cmake_files
DEPENDEES install
COMMAND ${CMAKE_COMMAND} -E copy_directory openssl "${DESTDIR}/usr/local/${CMAKE_INSTALL_LIBDIR}/cmake/openssl"
COMMAND ${CMAKE_COMMAND} -E copy_directory openssl "${DESTDIR}${CMAKE_INSTALL_LIBDIR}/cmake/openssl"
WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}"
)

79
deps/TBB/GNU.cmake vendored Normal file
View File

@@ -0,0 +1,79 @@
# Copyright (c) 2020-2021 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
if (MINGW)
set(TBB_LINK_DEF_FILE_FLAG "")
set(TBB_DEF_FILE_PREFIX "")
elseif (APPLE)
set(TBB_LINK_DEF_FILE_FLAG -Wl,-exported_symbols_list,)
set(TBB_DEF_FILE_PREFIX mac${TBB_ARCH})
# For correct ucontext.h structures layout
set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -D_XOPEN_SOURCE)
else()
set(TBB_LINK_DEF_FILE_FLAG -Wl,--version-script=)
set(TBB_DEF_FILE_PREFIX lin${TBB_ARCH})
endif()
# Add -Wno-error=stringop-overflow to fix GCC 12+ build as suggested on https://github.com/oneapi-src/oneTBB/issues/843#issuecomment-1152646035
set(TBB_WARNING_LEVEL -Wall -Wextra $<$<BOOL:${TBB_STRICT}>:-Werror> -Wfatal-errors -Wno-error=stringop-overflow)
set(TBB_TEST_WARNING_FLAGS -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor)
# Depfile options (e.g. -MD) are inserted automatically in some cases.
# Don't add -MMD to avoid conflicts in such cases.
if (NOT CMAKE_GENERATOR MATCHES "Ninja" AND NOT CMAKE_CXX_DEPENDS_USE_COMPILER)
set(TBB_MMD_FLAG -MMD)
endif()
# Enable Intel(R) Transactional Synchronization Extensions (-mrtm) and WAITPKG instructions support (-mwaitpkg) on relevant processors
if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|AMD64)")
set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -mrtm $<$<AND:$<NOT:$<CXX_COMPILER_ID:Intel>>,$<NOT:$<VERSION_LESS:${CMAKE_CXX_COMPILER_VERSION},11.0>>>:-mwaitpkg>)
endif()
if (NOT MINGW)
set(TBB_COMMON_LINK_LIBS dl)
endif()
# Ignore -Werror set through add_compile_options() or added to CMAKE_CXX_FLAGS if TBB_STRICT is disabled.
if (NOT TBB_STRICT AND COMMAND tbb_remove_compile_flag)
tbb_remove_compile_flag(-Werror)
endif()
if (NOT ${CMAKE_CXX_COMPILER_ID} STREQUAL Intel)
# gcc 6.0 and later have -flifetime-dse option that controls elimination of stores done outside the object lifetime
set(TBB_DSE_FLAG $<$<NOT:$<VERSION_LESS:${CMAKE_CXX_COMPILER_VERSION},6.0>>:-flifetime-dse=1>)
endif()
# Workaround for heavy tests and too many symbols in debug (rellocation truncated to fit: R_MIPS_CALL16)
if ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "mips")
set(TBB_TEST_COMPILE_FLAGS ${TBB_TEST_COMPILE_FLAGS} -DTBB_TEST_LOW_WORKLOAD $<$<CONFIG:DEBUG>:-mxgot>)
endif()
if (MINGW)
list(APPEND TBB_COMMON_COMPILE_FLAGS -U__STRICT_ANSI__)
endif()
# For some reason GCC does not instrument code with Thread Sanitizer when lto is enabled and C linker is used.
if (NOT TBB_SANITIZE MATCHES "thread")
set(TBB_IPO_COMPILE_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>)
set(TBB_IPO_LINK_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>)
endif()
# Disable lto flag
set(TBB_IPO_COMPILE_FLAGS "")
set(TBB_IPO_LINK_FLAGS "")
# TBB malloc settings
set(TBBMALLOC_LIB_COMPILE_FLAGS -fno-rtti -fno-exceptions)
set(TBB_OPENMP_FLAG -fopenmp)

8
deps/TBB/TBB.cmake vendored
View File

@@ -1,8 +1,14 @@
if (FLATPAK)
set(_patch_command ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/GNU.cmake ./cmake/compilers/GNU.cmake)
else()
set(_patch_command "")
endif()
orcaslicer_add_cmake_project(
TBB
URL "https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.5.0.zip"
URL_HASH SHA256=83ea786c964a384dd72534f9854b419716f412f9d43c0be88d41874763e7bb47
#PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-TBB-GCC13.patch
PATCH_COMMAND ${_patch_command}
CMAKE_ARGS
-DTBB_BUILD_SHARED=OFF
-DTBB_BUILD_TESTS=OFF

View File

@@ -15,8 +15,8 @@ elseif (MSVC_VERSION LESS 1930)
# 1920-1929 = VS 16.0 (v142 toolset)
set(DEP_VS_VER "16")
set(DEP_BOOST_TOOLSET "msvc-14.2")
elseif (MSVC_VERSION LESS 1940)
# 1930-1939 = VS 17.0 (v143 toolset)
elseif (MSVC_VERSION LESS 1950)
# 1930-1949 = VS 17.0 (v143 toolset)
set(DEP_VS_VER "17")
set(DEP_BOOST_TOOLSET "msvc-14.3")
else ()

View File

@@ -1,683 +0,0 @@
From f4fef135f0a58ca2916c45cd539923ab096935b6 Mon Sep 17 00:00:00 2001
From: Ocraftyone <Ocraftyone@users.noreply.github.com>
Date: Thu, 30 Nov 2023 03:25:54 -0500
Subject: [PATCH] patch v3.2.1 for OrcaSlicer
---
build/cmake/lib/webview/CMakeLists.txt | 4 +-
include/wx/fontutil.h | 15 +++++++-
include/wx/gdicmn.h | 3 ++
include/wx/generic/grid.h | 4 +-
include/wx/msw/font.h | 2 +-
include/wx/msw/tooltip.h | 4 +-
include/wx/osx/app.h | 2 +-
src/common/combocmn.cpp | 11 +++++-
src/common/datavcmn.cpp | 6 ++-
src/common/dcbufcmn.cpp | 6 +++
src/common/gdicmn.cpp | 14 +++++++
src/common/image.cpp | 6 +--
src/generic/grid.cpp | 50 ++++++++++++++++++++-----
src/msw/bmpcbox.cpp | 9 ++++-
src/msw/font.cpp | 14 +++----
src/msw/menuitem.cpp | 2 +
src/msw/window.cpp | 52 +++++++++++++++++---------
src/osx/cocoa/dataview.mm | 26 +++++++++++--
src/osx/cocoa/settings.mm | 6 +--
src/osx/cocoa/window.mm | 4 ++
20 files changed, 184 insertions(+), 56 deletions(-)
diff --git a/build/cmake/lib/webview/CMakeLists.txt b/build/cmake/lib/webview/CMakeLists.txt
index 085381d785..62146abc04 100644
--- a/build/cmake/lib/webview/CMakeLists.txt
+++ b/build/cmake/lib/webview/CMakeLists.txt
@@ -46,9 +46,9 @@ if(APPLE)
elseif(WXMSW)
if(wxUSE_WEBVIEW_EDGE)
# Update the following variables if updating WebView2 SDK
- set(WEBVIEW2_VERSION "1.0.705.50")
+ set(WEBVIEW2_VERSION "1.0.1418.22")
set(WEBVIEW2_URL "https://www.nuget.org/api/v2/package/Microsoft.Web.WebView2/${WEBVIEW2_VERSION}")
- set(WEBVIEW2_SHA256 "6a34bb553e18cfac7297b4031f3eac2558e439f8d16a45945c22945ac404105d")
+ set(WEBVIEW2_SHA256 "51d2ef56196e2a9d768a6843385bcb9c6baf9ed34b2603ddb074fb4995543a99")
set(WEBVIEW2_DEFAULT_PACKAGE_DIR "${CMAKE_BINARY_DIR}/packages/Microsoft.Web.WebView2.${WEBVIEW2_VERSION}")
diff --git a/include/wx/fontutil.h b/include/wx/fontutil.h
index 30529db8ce..e6a12366d5 100644
--- a/include/wx/fontutil.h
+++ b/include/wx/fontutil.h
@@ -294,7 +294,11 @@ public:
wxFontEncoding GetEncoding() const;
void SetPointSize(int pointsize);
- void SetFractionalPointSize(double pointsize);
+ void SetFractionalPointSize(double pointsize
+#if defined(__WXMSW__)
+ , const wxWindow *window = nullptr
+#endif
+ );
void SetPixelSize(const wxSize& pixelSize);
void SetStyle(wxFontStyle style);
void SetNumericWeight(int weight);
@@ -307,12 +311,19 @@ public:
// Helper used in many ports: use the normal font size if the input is
// negative, as we handle -1 as meaning this for compatibility.
- void SetSizeOrDefault(double size)
+ void SetSizeOrDefault(double size
+#if defined(__WXMSW__)
+ , const wxWindow *window = nullptr
+#endif
+ )
{
SetFractionalPointSize
(
size < 0 ? wxNORMAL_FONT->GetFractionalPointSize()
: size
+#if defined(__WXMSW__)
+ ,window
+#endif
);
}
diff --git a/include/wx/gdicmn.h b/include/wx/gdicmn.h
index 2f5f8ee99f..39e9317d40 100644
--- a/include/wx/gdicmn.h
+++ b/include/wx/gdicmn.h
@@ -38,6 +38,7 @@ class WXDLLIMPEXP_FWD_CORE wxRegion;
class WXDLLIMPEXP_FWD_BASE wxString;
class WXDLLIMPEXP_FWD_CORE wxIconBundle;
class WXDLLIMPEXP_FWD_CORE wxPoint;
+class WXDLLIMPEXP_FWD_CORE wxWindow;
// ---------------------------------------------------------------------------
// constants
@@ -1106,7 +1107,9 @@ extern int WXDLLIMPEXP_CORE wxDisplayDepth();
// get the display size
extern void WXDLLIMPEXP_CORE wxDisplaySize(int *width, int *height);
+extern void WXDLLIMPEXP_CORE wxDisplaySize(const wxWindow *window, int *width, int *height);
extern wxSize WXDLLIMPEXP_CORE wxGetDisplaySize();
+extern wxSize WXDLLIMPEXP_CORE wxGetDisplaySize(const wxWindow *window);
extern void WXDLLIMPEXP_CORE wxDisplaySizeMM(int *width, int *height);
extern wxSize WXDLLIMPEXP_CORE wxGetDisplaySizeMM();
extern wxSize WXDLLIMPEXP_CORE wxGetDisplayPPI();
diff --git a/include/wx/generic/grid.h b/include/wx/generic/grid.h
index 1bd58bbf04..903cb81319 100644
--- a/include/wx/generic/grid.h
+++ b/include/wx/generic/grid.h
@@ -3029,9 +3029,11 @@ private:
// Update the width/height of the column/row being drag-resized.
// Should be only called when m_dragRowOrCol != -1, i.e. dragging is
// actually in progress.
+ //BBS: add cursor mode for DoGridDragResize's paremeters
void DoGridDragResize(const wxPoint& position,
const wxGridOperations& oper,
- wxGridWindow* gridWindow);
+ wxGridWindow* gridWindow,
+ CursorMode mode);
// process different clicks on grid cells
void DoGridCellLeftDown(wxMouseEvent& event,
diff --git a/include/wx/msw/font.h b/include/wx/msw/font.h
index 0f9768b44e..094d774918 100644
--- a/include/wx/msw/font.h
+++ b/include/wx/msw/font.h
@@ -23,7 +23,7 @@ public:
// ctors and such
wxFont() { }
- wxFont(const wxFontInfo& info);
+ wxFont(const wxFontInfo& info, const wxWindow *window = nullptr);
wxFont(int size,
wxFontFamily family,
diff --git a/include/wx/msw/tooltip.h b/include/wx/msw/tooltip.h
index 4c3be08cec..96fb378d01 100644
--- a/include/wx/msw/tooltip.h
+++ b/include/wx/msw/tooltip.h
@@ -91,10 +91,10 @@ private:
// the one and only one tooltip control we use - never access it directly
// but use GetToolTipCtrl() which will create it when needed
static WXHWND ms_hwndTT;
-
+public:
// create the tooltip ctrl if it doesn't exist yet and return its HWND
static WXHWND GetToolTipCtrl();
-
+private:
// to be used in wxModule for deleting tooltip ctrl window when exiting mainloop
static void DeleteToolTipCtrl();
diff --git a/include/wx/osx/app.h b/include/wx/osx/app.h
index 317a0ca96f..58014ec1d4 100644
--- a/include/wx/osx/app.h
+++ b/include/wx/osx/app.h
@@ -161,7 +161,7 @@ private:
public:
bool OSXInitWasCalled() { return m_inited; }
- void OSXStoreOpenFiles(const wxArrayString &files ) { m_openFiles = files ; }
+ virtual void OSXStoreOpenFiles(const wxArrayString &files ) { m_openFiles = files ; }
void OSXStorePrintFiles(const wxArrayString &files ) { m_printFiles = files ; }
void OSXStoreOpenURL(const wxString &url ) { m_getURL = url ; }
#endif
diff --git a/src/common/combocmn.cpp b/src/common/combocmn.cpp
index 80408c6677..aa07caebdc 100644
--- a/src/common/combocmn.cpp
+++ b/src/common/combocmn.cpp
@@ -2061,6 +2061,9 @@ void wxComboCtrlBase::ShowPopup()
SetFocus();
+ //int displayIdx = wxDisplay::GetFromWindow(this);
+ //wxRect displayRect = wxDisplay(displayIdx != wxNOT_FOUND ? displayIdx : 0u).GetGeometry();
+
// Space above and below
int screenHeight;
wxPoint scrPos;
@@ -2183,9 +2186,13 @@ void wxComboCtrlBase::ShowPopup()
int showFlags = CanDeferShow;
- if ( spaceBelow < szp.y )
+ int anchorSideVertical = m_anchorSide & (wxUP | wxDOWN);
+ if (// Pop up as asked for by the library user.
+ (anchorSideVertical & wxUP) ||
+ // Automatic: Pop up if it does not fit down.
+ (anchorSideVertical == 0 && spaceBelow < szp.y ))
{
- popupY = scrPos.y - szp.y;
+ popupY = scrPos.y - szp.y + displayRect.GetTop();
showFlags |= ShowAbove;
}
diff --git a/src/common/datavcmn.cpp b/src/common/datavcmn.cpp
index 0a1e43ad51..6c492aedab 100644
--- a/src/common/datavcmn.cpp
+++ b/src/common/datavcmn.cpp
@@ -1334,7 +1334,11 @@ wxDataViewItem wxDataViewCtrlBase::GetSelection() const
wxDataViewItemArray selections;
GetSelections(selections);
- return selections[0];
+ // BBS
+ if (!selections.empty())
+ return selections[0];
+ else
+ return wxDataViewItem(0);
}
namespace
diff --git a/src/common/dcbufcmn.cpp b/src/common/dcbufcmn.cpp
index 9b1c1f3159..ef5865ed4b 100644
--- a/src/common/dcbufcmn.cpp
+++ b/src/common/dcbufcmn.cpp
@@ -83,9 +83,15 @@ private:
const double scale = dc ? dc->GetContentScaleFactor() : 1.0;
wxBitmap* const buffer = new wxBitmap;
+#if __WXMSW__
+ // we must always return a valid bitmap but creating a bitmap of
+ // size 0 would fail, so create a 1*1 bitmap in this case
+ buffer->Create(wxMax(w, 1), wxMax(h, 1), 24);
+#else
// we must always return a valid bitmap but creating a bitmap of
// size 0 would fail, so create a 1*1 bitmap in this case
buffer->CreateWithDIPSize(wxMax(w, 1), wxMax(h, 1), scale);
+#endif
return buffer;
}
diff --git a/src/common/gdicmn.cpp b/src/common/gdicmn.cpp
index db8a01f961..162c1ce2dc 100644
--- a/src/common/gdicmn.cpp
+++ b/src/common/gdicmn.cpp
@@ -863,11 +863,25 @@ void wxDisplaySize(int *width, int *height)
*height = size.y;
}
+void wxDisplaySize(const wxWindow *window, int *width, int *height)
+{
+ const wxSize size = wxGetDisplaySize(window);
+ if ( width )
+ *width = size.x;
+ if ( height )
+ *height = size.y;
+}
+
wxSize wxGetDisplaySize()
{
return wxDisplay().GetGeometry().GetSize();
}
+wxSize wxGetDisplaySize(const wxWindow *window)
+{
+ return window ? wxDisplay(window).GetGeometry().GetSize() : wxDisplay().GetGeometry().GetSize();
+}
+
void wxClientDisplayRect(int *x, int *y, int *width, int *height)
{
const wxRect rect = wxGetClientDisplayRect();
diff --git a/src/common/image.cpp b/src/common/image.cpp
index 19fe34ec91..a449b60930 100644
--- a/src/common/image.cpp
+++ b/src/common/image.cpp
@@ -390,11 +390,11 @@ wxImage wxImage::ShrinkBy( int xFactor , int yFactor ) const
unsigned char red = pixel[0] ;
unsigned char green = pixel[1] ;
unsigned char blue = pixel[2] ;
- unsigned char alpha = 255 ;
- if ( source_alpha )
- alpha = *(source_alpha + y_offset + x * xFactor + x1) ;
if ( !hasMask || red != maskRed || green != maskGreen || blue != maskBlue )
{
+ unsigned char alpha = 255 ;
+ if ( source_alpha )
+ alpha = *(source_alpha + y_offset + x * xFactor + x1) ;
if ( alpha > 0 )
{
avgRed += red ;
diff --git a/src/generic/grid.cpp b/src/generic/grid.cpp
index ed3d988994..d71cda122d 100644
--- a/src/generic/grid.cpp
+++ b/src/generic/grid.cpp
@@ -4068,7 +4068,8 @@ void wxGrid::ProcessRowColLabelMouseEvent( const wxGridOperations &oper, wxMouse
{
if ( m_cursorMode == oper.GetCursorModeResize() )
{
- DoGridDragResize(event.GetPosition(), oper, gridWindow);
+ //BBS: add cursor mode for DoGridDragResize's paremeters
+ DoGridDragResize(event.GetPosition(), oper, gridWindow, m_cursorMode);
}
else if ( m_cursorMode == oper.GetCursorModeSelect() && line >=0 )
{
@@ -4691,12 +4692,14 @@ bool wxGrid::DoGridDragEvent(wxMouseEvent& event,
case WXGRID_CURSOR_RESIZE_ROW:
if ( m_dragRowOrCol != -1 )
- DoGridDragResize(event.GetPosition(), wxGridRowOperations(), gridWindow);
+ //BBS: add cursor mode for DoGridDragResize's paremeters
+ DoGridDragResize(event.GetPosition(), wxGridRowOperations(), gridWindow, WXGRID_CURSOR_RESIZE_ROW);
break;
case WXGRID_CURSOR_RESIZE_COL:
if ( m_dragRowOrCol != -1 )
- DoGridDragResize(event.GetPosition(), wxGridColumnOperations(), gridWindow);
+ //BBS: add cursor mode for DoGridDragResize's paremeters
+ DoGridDragResize(event.GetPosition(), wxGridColumnOperations(), gridWindow, WXGRID_CURSOR_RESIZE_COL);
break;
default:
@@ -4791,6 +4794,8 @@ wxGrid::DoGridCellLeftDown(wxMouseEvent& event,
case wxGridSelectCells:
case wxGridSelectRowsOrColumns:
// nothing to do in these cases
+ //BBS: select this cell when first click
+ m_selection->SelectBlock(coords.GetRow(), coords.GetCol(), coords.GetRow(), coords.GetCol(), event);
break;
case wxGridSelectRows:
@@ -5049,9 +5054,11 @@ void wxGrid::ProcessGridCellMouseEvent(wxMouseEvent& event, wxGridWindow *eventG
}
}
+//BBS: add cursor mode for DoGridDragResize's paremeters
void wxGrid::DoGridDragResize(const wxPoint& position,
const wxGridOperations& oper,
- wxGridWindow* gridWindow)
+ wxGridWindow* gridWindow,
+ CursorMode mode)
{
wxCHECK_RET( m_dragRowOrCol != -1,
"shouldn't be called when not drag resizing" );
@@ -5064,10 +5071,28 @@ void wxGrid::DoGridDragResize(const wxPoint& position,
// orthogonal direction.
const int linePos = oper.Dual().Select(logicalPos);
- const int lineStart = oper.GetLineStartPos(this, m_dragRowOrCol);
- oper.SetLineSize(this, m_dragRowOrCol,
+ //BBS: add logic for resize multiplexed cols
+ if (mode == WXGRID_CURSOR_RESIZE_COL) {
+ int col_to_resize = m_dragRowOrCol;
+ int num_rows, num_cols;
+ this->GetCellSize(0, m_dragRowOrCol, &num_rows, &num_cols);
+ if (num_cols < 1)
+ col_to_resize = m_dragRowOrCol - 1;
+
+ const int lineEnd = oper.GetLineEndPos(this, m_dragRowOrCol);
+ const int lineSize = oper.GetLineSize(this, col_to_resize);
+ int size = linePos - lineEnd + lineSize;
+ oper.SetLineSize(this, col_to_resize,
+ wxMax(size,
+ oper.GetMinimalLineSize(this, col_to_resize)));
+ }
+ else {
+ const int lineStart = oper.GetLineStartPos(this, m_dragRowOrCol);
+
+ oper.SetLineSize(this, m_dragRowOrCol,
wxMax(linePos - lineStart,
oper.GetMinimalLineSize(this, m_dragRowOrCol)));
+ }
// TODO: generate RESIZING event, see #10754, if the size has changed.
}
@@ -5090,7 +5115,8 @@ wxPoint wxGrid::GetPositionForResizeEvent(int width) const
void wxGrid::DoEndDragResizeRow(const wxMouseEvent& event, wxGridWindow* gridWindow)
{
- DoGridDragResize(event.GetPosition(), wxGridRowOperations(), gridWindow);
+ //BBS: add cursor mode for DoGridDragResize's paremeters
+ DoGridDragResize(event.GetPosition(), wxGridRowOperations(), gridWindow, WXGRID_CURSOR_RESIZE_ROW);
SendGridSizeEvent(wxEVT_GRID_ROW_SIZE, m_dragRowOrCol, event);
@@ -5099,7 +5125,8 @@ void wxGrid::DoEndDragResizeRow(const wxMouseEvent& event, wxGridWindow* gridWin
void wxGrid::DoEndDragResizeCol(const wxMouseEvent& event, wxGridWindow* gridWindow)
{
- DoGridDragResize(event.GetPosition(), wxGridColumnOperations(), gridWindow);
+ //BBS: add cursor mode for DoGridDragResize's paremeters
+ DoGridDragResize(event.GetPosition(), wxGridColumnOperations(), gridWindow, WXGRID_CURSOR_RESIZE_COL);
SendGridSizeEvent(wxEVT_GRID_COL_SIZE, m_dragRowOrCol, event);
@@ -5113,9 +5140,10 @@ void wxGrid::DoHeaderStartDragResizeCol(int col)
void wxGrid::DoHeaderDragResizeCol(int width)
{
+ //BBS: add cursor mode for DoGridDragResize's paremeters
DoGridDragResize(GetPositionForResizeEvent(width),
wxGridColumnOperations(),
- m_gridWin);
+ m_gridWin, WXGRID_CURSOR_RESIZE_COL);
}
void wxGrid::DoHeaderEndDragResizeCol(int width)
@@ -6013,6 +6041,10 @@ void wxGrid::OnKeyDown( wxKeyEvent& event )
DisableCellEditControl();
MoveCursorDown( event.ShiftDown() );
+ //BBS: select this cell when first click
+ m_selection->SelectBlock(m_currentCellCoords.GetRow(), m_currentCellCoords.GetCol(),
+ m_currentCellCoords.GetRow(), m_currentCellCoords.GetCol(),
+ event);
}
break;
diff --git a/src/msw/bmpcbox.cpp b/src/msw/bmpcbox.cpp
index 011bd4f534..17e7f18740 100644
--- a/src/msw/bmpcbox.cpp
+++ b/src/msw/bmpcbox.cpp
@@ -156,13 +156,20 @@ void wxBitmapComboBox::RecreateControl()
wxComboBox::DoClear();
- HWND hwnd = GetHwnd();
+ WNDPROC wndproc_edit = nullptr;
+ WinStruct<COMBOBOXINFO> combobox_info;
+ HWND hwnd = GetHwnd();
+if (::GetComboBoxInfo(hwnd, &combobox_info))
+ wndproc_edit = (WNDPROC)wxGetWindowProc(combobox_info.hwndItem);
DissociateHandle();
::DestroyWindow(hwnd);
if ( !MSWCreateControl(wxT("COMBOBOX"), wxEmptyString, pos, size) )
return;
+if (::GetComboBoxInfo(GetHwnd(), &combobox_info))
+ wxSetWindowProc(combobox_info.hwndItem, wndproc_edit);
+
// initialize the controls contents
for ( i = 0; i < numItems; i++ )
{
diff --git a/src/msw/font.cpp b/src/msw/font.cpp
index 434876939c..91d4603018 100644
--- a/src/msw/font.cpp
+++ b/src/msw/font.cpp
@@ -54,7 +54,7 @@ static const int PITCH_MASK = FIXED_PITCH | VARIABLE_PITCH;
class WXDLLEXPORT wxFontRefData: public wxGDIRefData
{
public:
- wxFontRefData(const wxFontInfo& info = wxFontInfo());
+ wxFontRefData(const wxFontInfo& info = wxFontInfo(), const wxWindow* window = nullptr);
wxFontRefData(const wxNativeFontInfo& info, WXHFONT hFont = 0)
{
@@ -324,7 +324,7 @@ protected:
// wxFontRefData
// ----------------------------------------------------------------------------
-wxFontRefData::wxFontRefData(const wxFontInfo& info)
+wxFontRefData::wxFontRefData(const wxFontInfo& info, const wxWindow *window)
{
m_hFont = NULL;
@@ -335,7 +335,7 @@ wxFontRefData::wxFontRefData(const wxFontInfo& info)
}
else
{
- m_nativeFontInfo.SetSizeOrDefault(info.GetFractionalPointSize());
+ m_nativeFontInfo.SetSizeOrDefault(info.GetFractionalPointSize(), window);
}
SetStyle(info.GetStyle());
@@ -518,12 +518,12 @@ wxFontEncoding wxNativeFontInfo::GetEncoding() const
return wxGetFontEncFromCharSet(lf.lfCharSet);
}
-void wxNativeFontInfo::SetFractionalPointSize(double pointSizeNew)
+void wxNativeFontInfo::SetFractionalPointSize(double pointSizeNew, const wxWindow *window)
{
// We don't have the correct DPI to use here, so use that of the
// primary screen and rely on WXAdjustToPPI() changing it later if
// necessary.
- const int ppi = ::GetDeviceCaps(ScreenHDC(), LOGPIXELSY);
+ const int ppi = window ? window->GetDPI().GetY() : ::GetDeviceCaps(ScreenHDC(), LOGPIXELSY);
lf.lfHeight = GetLogFontHeightAtPPI(pointSizeNew, ppi);
pointSize = pointSizeNew;
@@ -812,9 +812,9 @@ wxFont::wxFont(const wxString& fontdesc)
(void)Create(info);
}
-wxFont::wxFont(const wxFontInfo& info)
+wxFont::wxFont(const wxFontInfo& info, const wxWindow *window)
{
- m_refData = new wxFontRefData(info);
+ m_refData = new wxFontRefData(info, window);
}
bool wxFont::Create(const wxNativeFontInfo& info, WXHFONT hFont)
diff --git a/src/msw/menuitem.cpp b/src/msw/menuitem.cpp
index 0bd017a36a..3b98bf1678 100644
--- a/src/msw/menuitem.cpp
+++ b/src/msw/menuitem.cpp
@@ -368,6 +368,8 @@ void MenuDrawData::Init(wxWindow const* window)
// native menu uses small top margin for separator
if ( SeparatorMargin.cyTopHeight >= 2 )
SeparatorMargin.cyTopHeight -= 2;
+
+ SeparatorSize.cy = 0;
}
else
#endif // wxUSE_UXTHEME
diff --git a/src/msw/window.cpp b/src/msw/window.cpp
index c529a4fa3b..7e547c64df 100644
--- a/src/msw/window.cpp
+++ b/src/msw/window.cpp
@@ -4809,33 +4809,49 @@ static wxSize GetWindowDPI(HWND hwnd)
}
/*extern*/
-int wxGetSystemMetrics(int nIndex, const wxWindow* window)
+int wxGetSystemMetrics(int nIndex, const wxWindow* win)
{
#if wxUSE_DYNLIB_CLASS
- if ( !window )
- window = wxApp::GetMainTopWindow();
+ const wxWindow* window = (!win && wxTheApp) ? wxTheApp->GetTopWindow() : win;
- if ( window )
+ if (window)
{
- typedef int (WINAPI * GetSystemMetricsForDpi_t)(int nIndex, UINT dpi);
- static GetSystemMetricsForDpi_t s_pfnGetSystemMetricsForDpi = NULL;
- static bool s_initDone = false;
-
- if ( !s_initDone )
- {
- wxLoadedDLL dllUser32("user32.dll");
- wxDL_INIT_FUNC(s_pfn, GetSystemMetricsForDpi, dllUser32);
- s_initDone = true;
+#if 1
+ if (window->GetHWND() && (nIndex == SM_CXSCREEN || nIndex == SM_CYSCREEN)) {
+ HDC hdc = GetDC(window->GetHWND());
+#if 0
+ double dim = GetDeviceCaps(hdc, nIndex == SM_CXSCREEN ? HORZRES : VERTRES);
+ ReleaseDC(window->GetHWND(), hdc);
+ wxSize dpi = window->GetDPI();
+ dim *= 96.0 / (nIndex == SM_CXSCREEN ? dpi.x : dpi.y);
+ return int(dim + 0.5);
+#else
+ return int(GetDeviceCaps(hdc, nIndex == SM_CXSCREEN ? HORZRES : VERTRES));
+#endif
}
-
- if ( s_pfnGetSystemMetricsForDpi )
+ else
+#endif
{
- const int dpi = window->GetDPI().y;
- return s_pfnGetSystemMetricsForDpi(nIndex, (UINT)dpi);
+ typedef int (WINAPI * GetSystemMetricsForDpi_t)(int nIndex, UINT dpi);
+ static GetSystemMetricsForDpi_t s_pfnGetSystemMetricsForDpi = NULL;
+ static bool s_initDone = false;
+
+ if ( !s_initDone )
+ {
+ wxLoadedDLL dllUser32("user32.dll");
+ wxDL_INIT_FUNC(s_pfn, GetSystemMetricsForDpi, dllUser32);
+ s_initDone = true;
+ }
+
+ if ( s_pfnGetSystemMetricsForDpi )
+ {
+ const int dpi = window->GetDPI().y;
+ return s_pfnGetSystemMetricsForDpi(nIndex, (UINT)dpi);
+ }
}
}
#else
- wxUnusedVar(window);
+ wxUnusedVar(win);
#endif // wxUSE_DYNLIB_CLASS
return ::GetSystemMetrics(nIndex);
diff --git a/src/osx/cocoa/dataview.mm b/src/osx/cocoa/dataview.mm
index f188e61089..7b867002d1 100644
--- a/src/osx/cocoa/dataview.mm
+++ b/src/osx/cocoa/dataview.mm
@@ -1604,6 +1604,15 @@ outlineView:(NSOutlineView*)outlineView
}
}
+//FIXME Vojtech: This is a workaround to get at least the "mouse move" events at the wxDataViewControl,
+// so we can show the tooltips. The "mouse move" events are being send only if the wxDataViewControl
+// has focus, which is a limitation of wxWidgets. We may grab focus on "mouse entry" though.
+- (void)mouseMoved:(NSEvent *)event
+{
+if (! implementation->DoHandleMouseEvent(event))
+ [super mouseMoved:event];
+}
+
//
// contextual menus
//
@@ -2006,7 +2015,8 @@ void wxCocoaDataViewControl::keyEvent(WX_NSEvent event, WXWidget slf, void *_cmd
if ( !dvc->GetEventHandler()->ProcessEvent(eventDV) )
wxWidgetCocoaImpl::keyEvent(event, slf, _cmd);
}
- else
+ //FIXME Vojtech's hack to get the accelerators assigned to the wxDataViewControl working.
+ else if (! DoHandleKeyEvent(event))
{
wxWidgetCocoaImpl::keyEvent(event, slf, _cmd); // all other keys
}
@@ -2540,12 +2550,22 @@ void wxCocoaDataViewControl::DoSetIndent(int indent)
void wxCocoaDataViewControl::HitTest(const wxPoint& point, wxDataViewItem& item, wxDataViewColumn*& columnPtr) const
{
- NSPoint const nativePoint = wxToNSPoint((NSScrollView*) GetWXWidget(),point);
+ NSTableHeaderView *headerView = [m_OutlineView headerView];
+ if (headerView && point.y < headerView.visibleRect.size.height) {
+ // The point is inside the header area.
+ columnPtr = NULL;
+ item = wxDataViewItem();
+ return;
+ }
+ // Convert from the window coordinates to the virtual scrolled view coordinates.
+ NSScrollView *scrollView = [m_OutlineView enclosingScrollView];
+ const NSRect &visibleRect = scrollView.contentView.visibleRect;
+ NSPoint const nativePoint = wxToNSPoint((NSScrollView*) GetWXWidget(),
+ wxPoint(point.x + visibleRect.origin.x, point.y + visibleRect.origin.y));
int indexColumn;
int indexRow;
-
indexColumn = [m_OutlineView columnAtPoint:nativePoint];
indexRow = [m_OutlineView rowAtPoint: nativePoint];
if ((indexColumn >= 0) && (indexRow >= 0))
diff --git a/src/osx/cocoa/settings.mm b/src/osx/cocoa/settings.mm
index c819deeb0c..dc3c3b0b53 100644
--- a/src/osx/cocoa/settings.mm
+++ b/src/osx/cocoa/settings.mm
@@ -222,7 +222,7 @@ wxFont wxSystemSettingsNative::GetFont(wxSystemFont index)
// ----------------------------------------------------------------------------
// Get a system metric, e.g. scrollbar size
-int wxSystemSettingsNative::GetMetric(wxSystemMetric index, const wxWindow* WXUNUSED(win))
+int wxSystemSettingsNative::GetMetric(wxSystemMetric index, const wxWindow* win)
{
int value;
@@ -257,11 +257,11 @@ int wxSystemSettingsNative::GetMetric(wxSystemMetric index, const wxWindow* WXUN
// TODO case wxSYS_WINDOWMIN_Y:
case wxSYS_SCREEN_X:
- wxDisplaySize(&value, NULL);
+ wxDisplaySize(win, &value, NULL);
return value;
case wxSYS_SCREEN_Y:
- wxDisplaySize(NULL, &value);
+ wxDisplaySize(win, NULL, &value);
return value;
// TODO case wxSYS_FRAMESIZE_X:
diff --git a/src/osx/cocoa/window.mm b/src/osx/cocoa/window.mm
index 635ea286d4..42ae67e27a 100644
--- a/src/osx/cocoa/window.mm
+++ b/src/osx/cocoa/window.mm
@@ -191,6 +191,9 @@ NSRect wxOSXGetFrameForControl( wxWindowMac* window , const wxPoint& pos , const
- (BOOL)isEnabled;
- (void)setEnabled:(BOOL)flag;
+- (BOOL)clipsToBounds;
+- (void)setClipsToBounds:(BOOL)clipsToBounds;
+
- (void)setImage:(NSImage *)image;
- (void)setControlSize:(NSControlSize)size;
@@ -2559,6 +2562,7 @@ wxWidgetImpl( peer, flags )
if ( m_osxView )
CFRetain(m_osxView);
[m_osxView release];
+ m_osxView.clipsToBounds = YES;
}
--
2.42.0.windows.2

View File

@@ -1,743 +0,0 @@
From 5e82980ed1762338794d06b3f9f22fa10e050622 Mon Sep 17 00:00:00 2001
From: SoftFever <softfeverever@gmail.com>
Date: Sat, 23 Dec 2023 20:08:41 +0800
Subject: [PATCH] wx 3.1.5 patch for Orca
---
build/cmake/init.cmake | 4 ++
build/cmake/lib/webview/CMakeLists.txt | 4 +-
include/wx/fontutil.h | 15 +++++++-
include/wx/gdicmn.h | 3 ++
include/wx/generic/grid.h | 4 +-
include/wx/msw/font.h | 2 +-
include/wx/msw/tooltip.h | 4 +-
include/wx/osx/app.h | 2 +-
src/common/combocmn.cpp | 13 +++++--
src/common/datavcmn.cpp | 6 ++-
src/common/dcbufcmn.cpp | 8 +++-
src/common/gdicmn.cpp | 14 +++++++
src/common/image.cpp | 6 +--
src/common/intl.cpp | 7 ++++
src/generic/grid.cpp | 53 +++++++++++++++++++++-----
src/msw/bmpcbox.cpp | 9 ++++-
src/msw/font.cpp | 14 +++----
src/msw/menuitem.cpp | 2 +
src/msw/window.cpp | 52 ++++++++++++++++---------
src/osx/cocoa/dataview.mm | 26 +++++++++++--
src/osx/cocoa/settings.mm | 6 +--
src/osx/cocoa/window.mm | 4 ++
22 files changed, 199 insertions(+), 59 deletions(-)
diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake
index 0bc4f934b9..479431a69c 100644
--- a/build/cmake/init.cmake
+++ b/build/cmake/init.cmake
@@ -413,7 +413,11 @@ if(wxUSE_GUI)
else()
find_package(OpenGL)
if(WXGTK3 AND OpenGL_EGL_FOUND AND wxUSE_GLCANVAS_EGL)
+ if(UNIX AND NOT APPLE)
+ set(OPENGL_LIBRARIES OpenGL EGL)
+ else()
set(OPENGL_LIBRARIES OpenGL::OpenGL OpenGL::EGL)
+ endif()
find_package(WAYLANDEGL)
if(WAYLANDEGL_FOUND AND wxHAVE_GDK_WAYLAND)
list(APPEND OPENGL_LIBRARIES ${WAYLANDEGL_LIBRARIES})
diff --git a/build/cmake/lib/webview/CMakeLists.txt b/build/cmake/lib/webview/CMakeLists.txt
index cc3298ff33..aa103ae474 100644
--- a/build/cmake/lib/webview/CMakeLists.txt
+++ b/build/cmake/lib/webview/CMakeLists.txt
@@ -56,9 +56,9 @@ if(APPLE)
elseif(WXMSW)
if(wxUSE_WEBVIEW_EDGE)
# Update the following variables if updating WebView2 SDK
- set(WEBVIEW2_VERSION "1.0.705.50")
+ set(WEBVIEW2_VERSION "1.0.1418.22")
set(WEBVIEW2_URL "https://www.nuget.org/api/v2/package/Microsoft.Web.WebView2/${WEBVIEW2_VERSION}")
- set(WEBVIEW2_SHA256 "6a34bb553e18cfac7297b4031f3eac2558e439f8d16a45945c22945ac404105d")
+ set(WEBVIEW2_SHA256 "51d2ef56196e2a9d768a6843385bcb9c6baf9ed34b2603ddb074fb4995543a99")
set(WEBVIEW2_DEFAULT_PACKAGE_DIR "${CMAKE_BINARY_DIR}/packages/Microsoft.Web.WebView2.${WEBVIEW2_VERSION}")
diff --git a/include/wx/fontutil.h b/include/wx/fontutil.h
index 09ad8c8ef3..c228e167d7 100644
--- a/include/wx/fontutil.h
+++ b/include/wx/fontutil.h
@@ -294,7 +294,11 @@ public:
wxFontEncoding GetEncoding() const;
void SetPointSize(int pointsize);
- void SetFractionalPointSize(double pointsize);
+ void SetFractionalPointSize(double pointsize
+#if defined(__WXMSW__)
+ , const wxWindow *window = nullptr
+#endif
+ );
void SetPixelSize(const wxSize& pixelSize);
void SetStyle(wxFontStyle style);
void SetNumericWeight(int weight);
@@ -307,12 +311,19 @@ public:
// Helper used in many ports: use the normal font size if the input is
// negative, as we handle -1 as meaning this for compatibility.
- void SetSizeOrDefault(double size)
+ void SetSizeOrDefault(double size
+#if defined(__WXMSW__)
+ , const wxWindow *window = nullptr
+#endif
+ )
{
SetFractionalPointSize
(
size < 0 ? wxNORMAL_FONT->GetFractionalPointSize()
: size
+#if defined(__WXMSW__)
+ ,window
+#endif
);
}
diff --git a/include/wx/gdicmn.h b/include/wx/gdicmn.h
index e29a77627c..dc48cf9451 100644
--- a/include/wx/gdicmn.h
+++ b/include/wx/gdicmn.h
@@ -38,6 +38,7 @@ class WXDLLIMPEXP_FWD_CORE wxRegion;
class WXDLLIMPEXP_FWD_BASE wxString;
class WXDLLIMPEXP_FWD_CORE wxIconBundle;
class WXDLLIMPEXP_FWD_CORE wxPoint;
+class WXDLLIMPEXP_FWD_CORE wxWindow;
// ---------------------------------------------------------------------------
// constants
@@ -1092,7 +1093,9 @@ extern int WXDLLIMPEXP_CORE wxDisplayDepth();
// get the display size
extern void WXDLLIMPEXP_CORE wxDisplaySize(int *width, int *height);
+extern void WXDLLIMPEXP_CORE wxDisplaySize(const wxWindow *window, int *width, int *height);
extern wxSize WXDLLIMPEXP_CORE wxGetDisplaySize();
+extern wxSize WXDLLIMPEXP_CORE wxGetDisplaySize(const wxWindow *window);
extern void WXDLLIMPEXP_CORE wxDisplaySizeMM(int *width, int *height);
extern wxSize WXDLLIMPEXP_CORE wxGetDisplaySizeMM();
extern wxSize WXDLLIMPEXP_CORE wxGetDisplayPPI();
diff --git a/include/wx/generic/grid.h b/include/wx/generic/grid.h
index d7a3890764..e4dee51d5a 100644
--- a/include/wx/generic/grid.h
+++ b/include/wx/generic/grid.h
@@ -2951,9 +2951,11 @@ private:
wxGridWindow* gridWindow);
// Update the width/height of the column/row being drag-resized.
+ //BBS: add cursor mode for DoGridDragResize's paremeters
void DoGridDragResize(const wxPoint& position,
const wxGridOperations& oper,
- wxGridWindow* gridWindow);
+ wxGridWindow* gridWindow,
+ CursorMode mode);
// process different clicks on grid cells
void DoGridCellLeftDown(wxMouseEvent& event,
diff --git a/include/wx/msw/font.h b/include/wx/msw/font.h
index 0f9768b44e..094d774918 100644
--- a/include/wx/msw/font.h
+++ b/include/wx/msw/font.h
@@ -23,7 +23,7 @@ public:
// ctors and such
wxFont() { }
- wxFont(const wxFontInfo& info);
+ wxFont(const wxFontInfo& info, const wxWindow *window = nullptr);
wxFont(int size,
wxFontFamily family,
diff --git a/include/wx/msw/tooltip.h b/include/wx/msw/tooltip.h
index 4c3be08cec..96fb378d01 100644
--- a/include/wx/msw/tooltip.h
+++ b/include/wx/msw/tooltip.h
@@ -91,10 +91,10 @@ private:
// the one and only one tooltip control we use - never access it directly
// but use GetToolTipCtrl() which will create it when needed
static WXHWND ms_hwndTT;
-
+public:
// create the tooltip ctrl if it doesn't exist yet and return its HWND
static WXHWND GetToolTipCtrl();
-
+private:
// to be used in wxModule for deleting tooltip ctrl window when exiting mainloop
static void DeleteToolTipCtrl();
diff --git a/include/wx/osx/app.h b/include/wx/osx/app.h
index 317a0ca96f..58014ec1d4 100644
--- a/include/wx/osx/app.h
+++ b/include/wx/osx/app.h
@@ -161,7 +161,7 @@ private:
public:
bool OSXInitWasCalled() { return m_inited; }
- void OSXStoreOpenFiles(const wxArrayString &files ) { m_openFiles = files ; }
+ virtual void OSXStoreOpenFiles(const wxArrayString &files ) { m_openFiles = files ; }
void OSXStorePrintFiles(const wxArrayString &files ) { m_printFiles = files ; }
void OSXStoreOpenURL(const wxString &url ) { m_getURL = url ; }
#endif
diff --git a/src/common/combocmn.cpp b/src/common/combocmn.cpp
index b61aac35bf..7cfc97d2f8 100644
--- a/src/common/combocmn.cpp
+++ b/src/common/combocmn.cpp
@@ -2141,7 +2141,7 @@ void wxComboCtrlBase::CreatePopup()
#if !USES_GENERICTLW
m_winPopup = new wxComboPopupWindowBase2( this, wxNO_BORDER );
#else
- int tlwFlags = wxNO_BORDER;
+ int tlwFlags = wxNO_BORDER | wxSTAY_ON_TOP;
#ifdef wxCC_GENERIC_TLW_IS_FRAME
tlwFlags |= wxFRAME_NO_TASKBAR;
#endif
@@ -2285,6 +2285,9 @@ void wxComboCtrlBase::ShowPopup()
SetFocus();
+ //int displayIdx = wxDisplay::GetFromWindow(this);
+ //wxRect displayRect = wxDisplay(displayIdx != wxNOT_FOUND ? displayIdx : 0u).GetGeometry();
+
// Space above and below
int screenHeight;
wxPoint scrPos;
@@ -2407,9 +2410,13 @@ void wxComboCtrlBase::ShowPopup()
int showFlags = CanDeferShow;
- if ( spaceBelow < szp.y )
+ int anchorSideVertical = m_anchorSide & (wxUP | wxDOWN);
+ if (// Pop up as asked for by the library user.
+ (anchorSideVertical & wxUP) ||
+ // Automatic: Pop up if it does not fit down.
+ (anchorSideVertical == 0 && spaceBelow < szp.y ))
{
- popupY = scrPos.y - szp.y;
+ popupY = scrPos.y - szp.y + displayRect.GetTop();
showFlags |= ShowAbove;
}
diff --git a/src/common/datavcmn.cpp b/src/common/datavcmn.cpp
index 1f5fd4d66b..14ea2f8ef1 100644
--- a/src/common/datavcmn.cpp
+++ b/src/common/datavcmn.cpp
@@ -1322,7 +1322,11 @@ wxDataViewItem wxDataViewCtrlBase::GetSelection() const
wxDataViewItemArray selections;
GetSelections(selections);
- return selections[0];
+ // BBS
+ if (!selections.empty())
+ return selections[0];
+ else
+ return wxDataViewItem(0);
}
namespace
diff --git a/src/common/dcbufcmn.cpp b/src/common/dcbufcmn.cpp
index 74958fce10..59844f4526 100644
--- a/src/common/dcbufcmn.cpp
+++ b/src/common/dcbufcmn.cpp
@@ -82,9 +82,15 @@ private:
const double scale = dc ? dc->GetContentScaleFactor() : 1.0;
wxBitmap* const buffer = new wxBitmap;
+#if __WXMSW__
// we must always return a valid bitmap but creating a bitmap of
// size 0 would fail, so create a 1*1 bitmap in this case
- buffer->CreateScaled(wxMax(w, 1), wxMax(h, 1), -1, scale);
+ buffer->Create(wxMax(w, 1), wxMax(h, 1), 24);
+#else
+ // we must always return a valid bitmap but creating a bitmap of
+ // size 0 would fail, so create a 1*1 bitmap in this case
+ buffer->CreateScaled(wxMax(w, 1), wxMax(h, 1), -1, scale);
+#endif
return buffer;
}
diff --git a/src/common/gdicmn.cpp b/src/common/gdicmn.cpp
index 20442bbc73..bc2c35bee6 100644
--- a/src/common/gdicmn.cpp
+++ b/src/common/gdicmn.cpp
@@ -863,11 +863,25 @@ void wxDisplaySize(int *width, int *height)
*height = size.y;
}
+void wxDisplaySize(const wxWindow *window, int *width, int *height)
+{
+ const wxSize size = wxGetDisplaySize(window);
+ if ( width )
+ *width = size.x;
+ if ( height )
+ *height = size.y;
+}
+
wxSize wxGetDisplaySize()
{
return wxDisplay().GetGeometry().GetSize();
}
+wxSize wxGetDisplaySize(const wxWindow *window)
+{
+ return window ? wxDisplay(window).GetGeometry().GetSize() : wxDisplay().GetGeometry().GetSize();
+}
+
void wxClientDisplayRect(int *x, int *y, int *width, int *height)
{
const wxRect rect = wxGetClientDisplayRect();
diff --git a/src/common/image.cpp b/src/common/image.cpp
index 78fe5b82a3..46db8722ce 100644
--- a/src/common/image.cpp
+++ b/src/common/image.cpp
@@ -383,11 +383,11 @@ wxImage wxImage::ShrinkBy( int xFactor , int yFactor ) const
unsigned char red = pixel[0] ;
unsigned char green = pixel[1] ;
unsigned char blue = pixel[2] ;
- unsigned char alpha = 255 ;
- if ( source_alpha )
- alpha = *(source_alpha + y_offset + x * xFactor + x1) ;
if ( !hasMask || red != maskRed || green != maskGreen || blue != maskBlue )
{
+ unsigned char alpha = 255 ;
+ if ( source_alpha )
+ alpha = *(source_alpha + y_offset + x * xFactor + x1) ;
if ( alpha > 0 )
{
avgRed += red ;
diff --git a/src/common/intl.cpp b/src/common/intl.cpp
index 0b0d8798f4..294f542b1f 100644
--- a/src/common/intl.cpp
+++ b/src/common/intl.cpp
@@ -1628,6 +1628,12 @@ GetInfoFromLCID(LCID lcid,
{
str = buf;
+//FIXME Vojtech: We forcefully set the locales for a decimal point to "C", but this
+// is not possible for the Win32 locales, therefore there is a discrepancy.
+// It looks like we live with the discrepancy for at least half a year, so we will
+// suppress the assert until we fix Slic3r to properly switch to "C" locales just
+// for file import / export.
+#if 0
// As we get our decimal point separator from Win32 and not the
// CRT there is a possibility of mismatch between them and this
// can easily happen if the user code called setlocale()
@@ -1641,6 +1647,7 @@ GetInfoFromLCID(LCID lcid,
"Decimal separator mismatch -- did you use setlocale()?"
"If so, use wxLocale to change the locale instead."
);
+#endif
}
break;
diff --git a/src/generic/grid.cpp b/src/generic/grid.cpp
index 41fd4524cf..f4a15cb839 100644
--- a/src/generic/grid.cpp
+++ b/src/generic/grid.cpp
@@ -3824,7 +3824,8 @@ void wxGrid::ProcessRowLabelMouseEvent( wxMouseEvent& event, wxGridRowLabelWindo
{
case WXGRID_CURSOR_RESIZE_ROW:
{
- DoGridDragResize(event.GetPosition(), wxGridRowOperations(), gridWindow);
+ //BBS: add cursor mode for DoGridDragResize's paremeters
+ DoGridDragResize(event.GetPosition(), wxGridRowOperations(), gridWindow, WXGRID_CURSOR_RESIZE_ROW);
}
break;
@@ -4166,7 +4167,8 @@ void wxGrid::ProcessColLabelMouseEvent( wxMouseEvent& event, wxGridColLabelWindo
switch ( m_cursorMode )
{
case WXGRID_CURSOR_RESIZE_COL:
- DoGridDragResize(event.GetPosition(), wxGridColumnOperations(), gridWindow);
+ //BBS: add cursor mode for DoGridDragResize's paremeters
+ DoGridDragResize(event.GetPosition(), wxGridColumnOperations(), gridWindow, WXGRID_CURSOR_RESIZE_COL);
break;
case WXGRID_CURSOR_SELECT_COL:
@@ -4708,11 +4710,13 @@ bool wxGrid::DoGridDragEvent(wxMouseEvent& event,
return DoGridCellDrag(event, coords, isFirstDrag);
case WXGRID_CURSOR_RESIZE_ROW:
- DoGridDragResize(event.GetPosition(), wxGridRowOperations(), gridWindow);
+ //BBS: add cursor mode for DoGridDragResize's paremeters
+ DoGridDragResize(event.GetPosition(), wxGridRowOperations(), gridWindow, WXGRID_CURSOR_RESIZE_ROW);
break;
case WXGRID_CURSOR_RESIZE_COL:
- DoGridDragResize(event.GetPosition(), wxGridColumnOperations(), gridWindow);
+ //BBS: add cursor mode for DoGridDragResize's paremeters
+ DoGridDragResize(event.GetPosition(), wxGridColumnOperations(), gridWindow, WXGRID_CURSOR_RESIZE_COL);
break;
default:
@@ -4803,6 +4807,8 @@ wxGrid::DoGridCellLeftDown(wxMouseEvent& event,
case wxGridSelectCells:
case wxGridSelectRowsOrColumns:
// nothing to do in these cases
+ //BBS: select this cell when first click
+ m_selection->SelectBlock(coords.GetRow(), coords.GetCol(), coords.GetRow(), coords.GetCol(), event);
break;
case wxGridSelectRows:
@@ -5044,9 +5050,11 @@ void wxGrid::ProcessGridCellMouseEvent(wxMouseEvent& event, wxGridWindow *eventG
}
}
+//BBS: add cursor mode for DoGridDragResize's paremeters
void wxGrid::DoGridDragResize(const wxPoint& position,
const wxGridOperations& oper,
- wxGridWindow* gridWindow)
+ wxGridWindow* gridWindow,
+ CursorMode mode)
{
// Get the logical position from the physical one we're passed.
const wxPoint
@@ -5056,10 +5064,28 @@ void wxGrid::DoGridDragResize(const wxPoint& position,
// orthogonal direction.
const int linePos = oper.Dual().Select(logicalPos);
- const int lineStart = oper.GetLineStartPos(this, m_dragRowOrCol);
- oper.SetLineSize(this, m_dragRowOrCol,
+ //BBS: add logic for resize multiplexed cols
+ if (mode == WXGRID_CURSOR_RESIZE_COL) {
+ int col_to_resize = m_dragRowOrCol;
+ int num_rows, num_cols;
+ this->GetCellSize(0, m_dragRowOrCol, &num_rows, &num_cols);
+ if (num_cols < 1)
+ col_to_resize = m_dragRowOrCol - 1;
+
+ const int lineEnd = oper.GetLineEndPos(this, m_dragRowOrCol);
+ const int lineSize = oper.GetLineSize(this, col_to_resize);
+ int size = linePos - lineEnd + lineSize;
+ oper.SetLineSize(this, col_to_resize,
+ wxMax(size,
+ oper.GetMinimalLineSize(this, col_to_resize)));
+ }
+ else {
+ const int lineStart = oper.GetLineStartPos(this, m_dragRowOrCol);
+
+ oper.SetLineSize(this, m_dragRowOrCol,
wxMax(linePos - lineStart,
oper.GetMinimalLineSize(this, m_dragRowOrCol)));
+ }
// TODO: generate RESIZING event, see #10754, if the size has changed.
}
@@ -5082,7 +5108,8 @@ wxPoint wxGrid::GetPositionForResizeEvent(int width) const
void wxGrid::DoEndDragResizeRow(const wxMouseEvent& event, wxGridWindow* gridWindow)
{
- DoGridDragResize(event.GetPosition(), wxGridRowOperations(), gridWindow);
+ //BBS: add cursor mode for DoGridDragResize's paremeters
+ DoGridDragResize(event.GetPosition(), wxGridRowOperations(), gridWindow, WXGRID_CURSOR_RESIZE_ROW);
SendGridSizeEvent(wxEVT_GRID_ROW_SIZE, m_dragRowOrCol, -1, event);
@@ -5091,7 +5118,8 @@ void wxGrid::DoEndDragResizeRow(const wxMouseEvent& event, wxGridWindow* gridWin
void wxGrid::DoEndDragResizeCol(const wxMouseEvent& event, wxGridWindow* gridWindow)
{
- DoGridDragResize(event.GetPosition(), wxGridColumnOperations(), gridWindow);
+ //BBS: add cursor mode for DoGridDragResize's paremeters
+ DoGridDragResize(event.GetPosition(), wxGridColumnOperations(), gridWindow, WXGRID_CURSOR_RESIZE_COL);
SendGridSizeEvent(wxEVT_GRID_COL_SIZE, -1, m_dragRowOrCol, event);
@@ -5105,9 +5133,10 @@ void wxGrid::DoHeaderStartDragResizeCol(int col)
void wxGrid::DoHeaderDragResizeCol(int width)
{
+ //BBS: add cursor mode for DoGridDragResize's paremeters
DoGridDragResize(GetPositionForResizeEvent(width),
wxGridColumnOperations(),
- m_gridWin);
+ m_gridWin, WXGRID_CURSOR_RESIZE_COL);
}
void wxGrid::DoHeaderEndDragResizeCol(int width)
@@ -5891,6 +5920,10 @@ void wxGrid::OnKeyDown( wxKeyEvent& event )
DisableCellEditControl();
MoveCursorDown( event.ShiftDown() );
+ //BBS: select this cell when first click
+ m_selection->SelectBlock(m_currentCellCoords.GetRow(), m_currentCellCoords.GetCol(),
+ m_currentCellCoords.GetRow(), m_currentCellCoords.GetCol(),
+ event);
}
break;
diff --git a/src/msw/bmpcbox.cpp b/src/msw/bmpcbox.cpp
index 0a2d167ad7..0aeba45ea9 100644
--- a/src/msw/bmpcbox.cpp
+++ b/src/msw/bmpcbox.cpp
@@ -156,13 +156,20 @@ void wxBitmapComboBox::RecreateControl()
wxComboBox::DoClear();
- HWND hwnd = GetHwnd();
+ WNDPROC wndproc_edit = nullptr;
+ WinStruct<COMBOBOXINFO> combobox_info;
+ HWND hwnd = GetHwnd();
+if (::GetComboBoxInfo(hwnd, &combobox_info))
+ wndproc_edit = (WNDPROC)wxGetWindowProc(combobox_info.hwndItem);
DissociateHandle();
::DestroyWindow(hwnd);
if ( !MSWCreateControl(wxT("COMBOBOX"), wxEmptyString, pos, size) )
return;
+if (::GetComboBoxInfo(GetHwnd(), &combobox_info))
+ wxSetWindowProc(combobox_info.hwndItem, wndproc_edit);
+
// initialize the controls contents
for ( i = 0; i < numItems; i++ )
{
diff --git a/src/msw/font.cpp b/src/msw/font.cpp
index 0bd240d79f..d38b1b00f5 100644
--- a/src/msw/font.cpp
+++ b/src/msw/font.cpp
@@ -54,7 +54,7 @@ static const int PITCH_MASK = FIXED_PITCH | VARIABLE_PITCH;
class WXDLLEXPORT wxFontRefData: public wxGDIRefData
{
public:
- wxFontRefData(const wxFontInfo& info = wxFontInfo());
+ wxFontRefData(const wxFontInfo& info = wxFontInfo(), const wxWindow* window = nullptr);
wxFontRefData(const wxNativeFontInfo& info, WXHFONT hFont = 0)
{
@@ -324,7 +324,7 @@ protected:
// wxFontRefData
// ----------------------------------------------------------------------------
-wxFontRefData::wxFontRefData(const wxFontInfo& info)
+wxFontRefData::wxFontRefData(const wxFontInfo& info, const wxWindow *window)
{
m_hFont = NULL;
@@ -335,7 +335,7 @@ wxFontRefData::wxFontRefData(const wxFontInfo& info)
}
else
{
- m_nativeFontInfo.SetSizeOrDefault(info.GetFractionalPointSize());
+ m_nativeFontInfo.SetSizeOrDefault(info.GetFractionalPointSize(), window);
}
SetStyle(info.GetStyle());
@@ -518,12 +518,12 @@ wxFontEncoding wxNativeFontInfo::GetEncoding() const
return wxGetFontEncFromCharSet(lf.lfCharSet);
}
-void wxNativeFontInfo::SetFractionalPointSize(double pointSizeNew)
+void wxNativeFontInfo::SetFractionalPointSize(double pointSizeNew, const wxWindow *window)
{
// We don't have the correct DPI to use here, so use that of the
// primary screen and rely on WXAdjustToPPI() changing it later if
// necessary.
- const int ppi = ::GetDeviceCaps(ScreenHDC(), LOGPIXELSY);
+ const int ppi = window ? window->GetDPI().GetY() : ::GetDeviceCaps(ScreenHDC(), LOGPIXELSY);
lf.lfHeight = GetLogFontHeightAtPPI(pointSizeNew, ppi);
pointSize = pointSizeNew;
@@ -812,9 +812,9 @@ wxFont::wxFont(const wxString& fontdesc)
(void)Create(info);
}
-wxFont::wxFont(const wxFontInfo& info)
+wxFont::wxFont(const wxFontInfo& info, const wxWindow *window)
{
- m_refData = new wxFontRefData(info);
+ m_refData = new wxFontRefData(info, window);
}
bool wxFont::Create(const wxNativeFontInfo& info, WXHFONT hFont)
diff --git a/src/msw/menuitem.cpp b/src/msw/menuitem.cpp
index 9bb397d472..30af7154a7 100644
--- a/src/msw/menuitem.cpp
+++ b/src/msw/menuitem.cpp
@@ -368,6 +368,8 @@ void MenuDrawData::Init(wxWindow const* window)
// native menu uses small top margin for separator
if ( SeparatorMargin.cyTopHeight >= 2 )
SeparatorMargin.cyTopHeight -= 2;
+
+ SeparatorSize.cy = 0;
}
else
#endif // wxUSE_UXTHEME
diff --git a/src/msw/window.cpp b/src/msw/window.cpp
index eadc2f5700..f64fea4446 100644
--- a/src/msw/window.cpp
+++ b/src/msw/window.cpp
@@ -4773,33 +4773,49 @@ static wxSize GetWindowDPI(HWND hwnd)
}
/*extern*/
-int wxGetSystemMetrics(int nIndex, const wxWindow* window)
+int wxGetSystemMetrics(int nIndex, const wxWindow* win)
{
#if wxUSE_DYNLIB_CLASS
- if ( !window )
- window = wxApp::GetMainTopWindow();
+ const wxWindow* window = (!win && wxTheApp) ? wxTheApp->GetTopWindow() : win;
- if ( window )
+ if (window)
{
- typedef int (WINAPI * GetSystemMetricsForDpi_t)(int nIndex, UINT dpi);
- static GetSystemMetricsForDpi_t s_pfnGetSystemMetricsForDpi = NULL;
- static bool s_initDone = false;
-
- if ( !s_initDone )
- {
- wxLoadedDLL dllUser32("user32.dll");
- wxDL_INIT_FUNC(s_pfn, GetSystemMetricsForDpi, dllUser32);
- s_initDone = true;
+#if 1
+ if (window->GetHWND() && (nIndex == SM_CXSCREEN || nIndex == SM_CYSCREEN)) {
+ HDC hdc = GetDC(window->GetHWND());
+#if 0
+ double dim = GetDeviceCaps(hdc, nIndex == SM_CXSCREEN ? HORZRES : VERTRES);
+ ReleaseDC(window->GetHWND(), hdc);
+ wxSize dpi = window->GetDPI();
+ dim *= 96.0 / (nIndex == SM_CXSCREEN ? dpi.x : dpi.y);
+ return int(dim + 0.5);
+#else
+ return int(GetDeviceCaps(hdc, nIndex == SM_CXSCREEN ? HORZRES : VERTRES));
+#endif
}
-
- if ( s_pfnGetSystemMetricsForDpi )
+ else
+#endif
{
- const int dpi = window->GetDPI().y;
- return s_pfnGetSystemMetricsForDpi(nIndex, (UINT)dpi);
+ typedef int (WINAPI * GetSystemMetricsForDpi_t)(int nIndex, UINT dpi);
+ static GetSystemMetricsForDpi_t s_pfnGetSystemMetricsForDpi = NULL;
+ static bool s_initDone = false;
+
+ if ( !s_initDone )
+ {
+ wxLoadedDLL dllUser32("user32.dll");
+ wxDL_INIT_FUNC(s_pfn, GetSystemMetricsForDpi, dllUser32);
+ s_initDone = true;
+ }
+
+ if ( s_pfnGetSystemMetricsForDpi )
+ {
+ const int dpi = window->GetDPI().y;
+ return s_pfnGetSystemMetricsForDpi(nIndex, (UINT)dpi);
+ }
}
}
#else
- wxUnusedVar(window);
+ wxUnusedVar(win);
#endif // wxUSE_DYNLIB_CLASS
return ::GetSystemMetrics(nIndex);
diff --git a/src/osx/cocoa/dataview.mm b/src/osx/cocoa/dataview.mm
index 6ff0cc3088..4943f3ea38 100644
--- a/src/osx/cocoa/dataview.mm
+++ b/src/osx/cocoa/dataview.mm
@@ -1734,12 +1734,22 @@ outlineView:(NSOutlineView*)outlineView
if ( !dvc->GetEventHandler()->ProcessEvent(eventDV) )
[super keyDown:event];
}
- else
+ //FIXME Vojtech's hack to get the accelerators assigned to the wxDataViewControl working.
+ else if (! implementation->DoHandleKeyEvent(event))
{
[super keyDown:event]; // all other keys
}
}
+//FIXME Vojtech: This is a workaround to get at least the "mouse move" events at the wxDataViewControl,
+// so we can show the tooltips. The "mouse move" events are being send only if the wxDataViewControl
+// has focus, which is a limitation of wxWidgets. We may grab focus on "mouse entry" though.
+- (void)mouseMoved:(NSEvent *)event
+{
+if (! implementation->DoHandleMouseEvent(event))
+ [super mouseMoved:event];
+}
+
//
// contextual menus
//
@@ -2672,12 +2682,22 @@ void wxCocoaDataViewControl::DoSetIndent(int indent)
void wxCocoaDataViewControl::HitTest(const wxPoint& point, wxDataViewItem& item, wxDataViewColumn*& columnPtr) const
{
- NSPoint const nativePoint = wxToNSPoint((NSScrollView*) GetWXWidget(),point);
+ NSTableHeaderView *headerView = [m_OutlineView headerView];
+ if (headerView && point.y < headerView.visibleRect.size.height) {
+ // The point is inside the header area.
+ columnPtr = NULL;
+ item = wxDataViewItem();
+ return;
+ }
+ // Convert from the window coordinates to the virtual scrolled view coordinates.
+ NSScrollView *scrollView = [m_OutlineView enclosingScrollView];
+ const NSRect &visibleRect = scrollView.contentView.visibleRect;
+ NSPoint const nativePoint = wxToNSPoint((NSScrollView*) GetWXWidget(),
+ wxPoint(point.x + visibleRect.origin.x, point.y + visibleRect.origin.y));
int indexColumn;
int indexRow;
-
indexColumn = [m_OutlineView columnAtPoint:nativePoint];
indexRow = [m_OutlineView rowAtPoint: nativePoint];
if ((indexColumn >= 0) && (indexRow >= 0))
diff --git a/src/osx/cocoa/settings.mm b/src/osx/cocoa/settings.mm
index de5f52860c..a9581174a4 100644
--- a/src/osx/cocoa/settings.mm
+++ b/src/osx/cocoa/settings.mm
@@ -224,7 +224,7 @@ wxFont wxSystemSettingsNative::GetFont(wxSystemFont index)
// ----------------------------------------------------------------------------
// Get a system metric, e.g. scrollbar size
-int wxSystemSettingsNative::GetMetric(wxSystemMetric index, const wxWindow* WXUNUSED(win))
+int wxSystemSettingsNative::GetMetric(wxSystemMetric index, const wxWindow* win)
{
int value;
@@ -259,11 +259,11 @@ int wxSystemSettingsNative::GetMetric(wxSystemMetric index, const wxWindow* WXUN
// TODO case wxSYS_WINDOWMIN_Y:
case wxSYS_SCREEN_X:
- wxDisplaySize(&value, NULL);
+ wxDisplaySize(win, &value, NULL);
return value;
case wxSYS_SCREEN_Y:
- wxDisplaySize(NULL, &value);
+ wxDisplaySize(win, NULL, &value);
return value;
// TODO case wxSYS_FRAMESIZE_X:
diff --git a/src/osx/cocoa/window.mm b/src/osx/cocoa/window.mm
index b322e582c5..79de567333 100644
--- a/src/osx/cocoa/window.mm
+++ b/src/osx/cocoa/window.mm
@@ -190,6 +190,9 @@ NSRect wxOSXGetFrameForControl( wxWindowMac* window , const wxPoint& pos , const
- (BOOL)isEnabled;
- (void)setEnabled:(BOOL)flag;
+- (BOOL)clipsToBounds;
+- (void)setClipsToBounds:(BOOL)clipsToBounds;
+
- (void)setImage:(NSImage *)image;
- (void)setControlSize:(NSControlSize)size;
@@ -2505,6 +2508,7 @@ wxWidgetImpl( peer, flags )
if ( m_osxView )
CFRetain(m_osxView);
[m_osxView release];
+ m_osxView.clipsToBounds = YES;
}
--
2.41.0.windows.2

View File

@@ -1,6 +1,3 @@
set(_wx_version 3.1.5)
set(_wx_git_tag v${_wx_version})
set(_wx_toolkit "")
set(_wx_private_font "-DwxUSE_PRIVATE_FONTS=1")
@@ -20,37 +17,16 @@ else ()
set(_wx_edge "-DwxUSE_WEBVIEW_EDGE=OFF")
endif ()
set(_wx_orcaslicer_patch "${CMAKE_CURRENT_LIST_DIR}/0001-wx-3.1.5-patch-for-Orca.patch")
if (MSVC)
set(_patch_cmd if not exist WXWIDGETS_PATCHED ( "${GIT_EXECUTABLE}" apply --verbose --ignore-space-change --whitespace=fix ${_wx_orcaslicer_patch} && type nul > WXWIDGETS_PATCHED ) )
else ()
set(_patch_cmd test -f WXWIDGETS_PATCHED || ${PATCH_CMD} ${_wx_orcaslicer_patch} && touch WXWIDGETS_PATCHED)
endif ()
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(_patch_cmd ${PATCH_CMD} ${_wx_orcaslicer_patch})
endif ()
# Note: for anybody wanting to switch to tarball fetching - this won't just work as
# git apply expects a git repo. Either git init empty repo, or change patching method.
# if (WIN32)
# # Windows requires a different tarball because of configured line endings as stated in docs.
# set(_wx_tarball_url https://github.com/wxWidgets/wxWidgets/releases/download/${_wx_git_tag}/wxWidgets-${_wx_version}.7z)
# set(_wx_tarball_hash 99f5382312e4a4aea444ada07341a72c5d4a69b58d8e76586d4b94ede7f5ef4d)
# else()
# set(_wx_tarball_url https://github.com/wxWidgets/wxWidgets/releases/download/${_wx_git_tag}/wxWidgets-${_wx_version}.tar.bz2)
# set(_wx_tarball_hash d7b3666de33aa5c10ea41bb9405c40326e1aeb74ee725bb88f90f1d50270a224)
# endif()
# Note: The flatpak build builds wxwidgets separately due to CI size constraints.
# ANY CHANGES MADE IN HERE MUST ALSO BE REFLECTED IN `flatpak/io.github.SoftFever.OrcaSlicer.yml`.
# ** THIS INCLUDES BUILD ARGS. **
# ...if you can find a way around this size limitation, be my guest.
orcaslicer_add_cmake_project(
wxWidgets
GIT_REPOSITORY "https://github.com/wxWidgets/wxWidgets"
GIT_TAG ${_wx_git_tag}
GIT_REPOSITORY "https://github.com/SoftFever/Orca-deps-wxWidgets"
GIT_SHALLOW ON
# URL ${_wx_tarball_url}
# URL_HASH SHA256=${_wx_tarball_hash}
PATCH_COMMAND ${_patch_cmd}
DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} dep_TIFF dep_JPEG
DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} ${TIFF_PKG} ${JPEG_PKG}
CMAKE_ARGS
-DwxBUILD_PRECOMP=ON
${_wx_toolkit}
@@ -63,6 +39,7 @@ orcaslicer_add_cmake_project(
-DwxUSE_UNICODE=ON
${_wx_private_font}
-DwxUSE_OPENGL=ON
-DwxUSE_WEBREQUEST=ON
-DwxUSE_WEBVIEW=ON
${_wx_edge}
-DwxUSE_WEBVIEW_IE=OFF
@@ -76,9 +53,10 @@ orcaslicer_add_cmake_project(
-DwxUSE_ZLIB=sys
-DwxUSE_LIBJPEG=sys
-DwxUSE_LIBTIFF=sys
-DwxUSE_NANOSVG=OFF
-DwxUSE_EXPAT=sys
)
if (MSVC)
add_debug_dep(dep_wxWidgets)
endif ()
endif ()

View File

@@ -10,13 +10,20 @@
1. [Max Volumetric speed](#Max-Volumetric-speed)
2. [VFA]
**NOTE**: After completing the calibration process, remember to create a new project in order to exit the calibration mode.
**NOTE2**: @ItsDeidara has made a webpage to help with the calculation. Check it out if those equations give you a headache [here](https://orcalibrate.com/).
> [!IMPORTANT]
> After completing the calibration process, remember to create a new project in order to exit the calibration mode.
> [!TIP]
> @ItsDeidara has made a webpage to help with the calculation. Check it out if those equations give you a headache [here](https://orcalibrate.com/).
# Flow rate
##### *NOTE: For Bambulab X1/X1C users, make sure you do not select the 'Flow calibration' option.*
![uncheck](https://user-images.githubusercontent.com/103989404/221345187-3c317a46-4d85-4221-99b9-adb5c7f48026.jpeg)
----------------------------------------
> [!WARNING]
> For Bambulab X1/X1C users, make sure you do not select the 'Flow calibration' option.
>
> ![uncheck](https://user-images.githubusercontent.com/103989404/221345187-3c317a46-4d85-4221-99b9-adb5c7f48026.jpeg)
![flowrate](./images/flow-calibration.gif)
Calibrating the flow rate involves a two-step process.
Steps
1. Select the printer, filament, and process you would like to use for the test.
@@ -26,7 +33,7 @@ Steps
![flowrate-pass1_resize](https://user-images.githubusercontent.com/103989404/210138585-98821729-b19e-4452-a08d-697f147d36f0.jpg)
![0-5](https://user-images.githubusercontent.com/103989404/210138714-63daae9c-6778-453a-afa9-9a976d61bfd5.jpg)
5. Update the flow ratio in the filament settings using the following equation: `FlowRatio_old*(100 + modifier)/100`. If your previous flow ratio was `0.98` and you selected the block with a flow rate modifier of `+5`, the new value should be calculated as follows: `0.98x(100+5)/100 = 1.029`. ** Remember** to save the filament profile.
5. Update the flow ratio in the filament settings using the following equation: `FlowRatio_old*(100 + modifier)/100`. If your previous flow ratio was `0.98` and you selected the block with a flow rate modifier of `+5`, the new value should be calculated as follows: `0.98x(100+5)/100 = 1.029`.** Remember** to save the filament profile.
6. Perform the `Pass 2` calibration. This process is similar to `Pass 1`, but a new project with ten blocks will be generated. The flow rate modifiers for this project will range from `-9 to 0`.
7. Repeat steps 4 and 5. In this case, if your previous flow ratio was 1.029 and you selected the block with a flow rate modifier of -6, the new value should be calculated as follows: `1.029x(100-6)/100 = 0.96726`. ** Remember ** to save the filament profile.
![pass2](https://user-images.githubusercontent.com/103989404/210139072-f2fa91a6-4e3b-4d2a-81f2-c50155e1ff6d.jpg)
@@ -35,9 +42,15 @@ Steps
# Pressure Advance
Orca Slicer includes three approaches for calibrating the pressure advance value. Each method has its own advantages and disadvantages. It is important to note that each method has two versions: one for a direct drive extruder and one for a Bowden extruder. Make sure to select the appropriate version for your test.
##### *NOTE: For Bambulab X1/X1C users, make sure you do not select the 'Flow calibration' option when printings.*
![uncheck](https://user-images.githubusercontent.com/103989404/221345187-3c317a46-4d85-4221-99b9-adb5c7f48026.jpeg)
Orca Slicer includes three approaches for calibrating the pressure advance value. Each method has its own advantages and disadvantages. It is important to note that each method has two versions: one for a direct drive extruder and one for a Bowden extruder. Make sure to select the appropriate version for your test.
> [!WARNING]
> For Marlin: Linear advance must be enabled in firmware (M900). **Not all printers have it enabled by default.**
> [!WARNING]
> For Bambulab X1/X1C users, make sure you do not select the 'Flow calibration' option when printings.
>
> ![uncheck](https://user-images.githubusercontent.com/103989404/221345187-3c317a46-4d85-4221-99b9-adb5c7f48026.jpeg)
### Line method
@@ -79,7 +92,7 @@ The PA value for this test will be increased by 0.002 for every 1 mm increase in
Steps:
1. Select the printer, filament, and process you would like to use for the test.
2. Examine each corner of the print and mark the height that yields the best overall result.
3. I selected a height of 8 mm for this case, so the pressure advance value should be calculated as `0.002x8 = 0.016`.
3. I selected a height of 8 mm for this case, so the pressure advance value should be calculated as `PressureAdvanceStart+(PressureAdvanceStep x measured)` example: `0+(0.002 x 8) = 0.016`.
![tower](https://user-images.githubusercontent.com/103989404/210140231-e886b98d-280a-4464-9781-c74ed9b7d44e.jpg)
![tower_measure](https://user-images.githubusercontent.com/103989404/210140232-885b549b-e3b8-46b9-a24c-5229c9182408.jpg)
@@ -126,7 +139,8 @@ You can also return to OrcaSlicer in the "Preview" tab, make sure the color sche
![image](./images/max_volumetric_flow.jpg)
#### *NOTE You may also choose to conservatively reduce the flow by 5-10% to ensure print quality.*
> [!NOTE]
> You may also choose to conservatively reduce the flow by 5-10% to ensure print quality.
***
*Credits:*

View File

@@ -1,7 +1,38 @@
Welcome to the OrcaSlicer WIKI!
# Welcome to the OrcaSlicer WIKI!
We have divided it roughly into the following pages:
Orca slicer is a powerful open source slicer for FFF (FDM) 3D Printers. This wiki page aims to provide an detailed explanation of the slicer settings, how to get the most out of them as well as how to calibrate and setup your printer.
* [Calibration](wiki/Calibration)
* [Print settings](wiki/Print-settings)
* [How to build Orca Slicer](wiki/How-to-build)
The Wiki is work in progress so bear with us while we get it up and running!
## Print Settings, Tips and Tricks (Work In Progress)
The below sections provide a detailed settings explanation as well as tips and tricks in setting these for optimal print results.
### Quality Settings
- [Layer Height Settings](quality_settings_layer_height)
- [Line Width Settings](quality_settings_line_width)
- [Seam Settings](quality_settings_seam)
- [Precise wall](Precise-wall)
### Speed Settings
- [Extrusion rate smoothing](extrusion-rate-smoothing)
### Multi material
- [Single Extruder Multimaterial](semm)
### Printer Settings:
- [Air filtration/Exhaust fan handling](air-filtration)
- [Auxiliary fan handling](Auxiliary-fan)
- [Chamber temperature control](chamber-temperature)
- [Adaptive Bed Mesh](adaptive-bed-mesh)
- [Using different bed types in Orca](bed-types)
- [Pellet Printers (pellet flow coefficient)](pellet-flow-coefficient)
## Printer Calibration
The guide below takes you through the key calibration tests in Orca - flow rate, pressure advance, print temperature, retraction, tolerances and maximum volumetric speed
- [Calibration Guide](./Calibration)
- [Adaptive Pressure Advance Guide](adaptive-pressure-advance)
## Developer Section
- [How to build Orca Slicer](./How-to-build)
- [Localization and translation guide](Localization_guide)
- [Developer Reference](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/developer-reference/Home.md)

View File

@@ -28,12 +28,14 @@ The implementation is designed to be straightforward, requiring no additional pl
### Marlin:
```
G29 X{bed_mesh_probe_count[0]} Y{bed_mesh_probe_count[1]} L{adaptive_bed_mesh_min[0]} R{adaptive_bed_mesh_max[0]} F{adaptive_bed_mesh_min[1]} B{adaptive_bed_mesh_max[1]} T V4
; Marlin don't support speicify the probe count yet, so we only specify the probe area
G29 L{adaptive_bed_mesh_min[0]} R{adaptive_bed_mesh_max[0]} F{adaptive_bed_mesh_min[1]} B{adaptive_bed_mesh_max[1]} T V4
```
### Klipper:
```
; Always pass `ADAPTIVE_MARGIN=0` because Orca has already handled `adaptive_bed_mesh_margin` internally
BED_MESH_CALIBRATE mesh_min={adaptive_bed_mesh_min[0]},{adaptive_bed_mesh_min[1]} mesh_max={adaptive_bed_mesh_max[0]},{adaptive_bed_mesh_max[1]} ALGORITHM=[bed_mesh_algo] PROBE_COUNT={bed_mesh_probe_count[0]},{bed_mesh_probe_count[1]} ADAPTIVE=1 ADAPTIVE_MARGIN=0
; Make sure to set ADAPTIVE to 0 otherwise Klipper will use it's own adaptive bed mesh logic
BED_MESH_CALIBRATE mesh_min={adaptive_bed_mesh_min[0]},{adaptive_bed_mesh_min[1]} mesh_max={adaptive_bed_mesh_max[0]},{adaptive_bed_mesh_max[1]} ALGORITHM=[bed_mesh_algo] PROBE_COUNT={bed_mesh_probe_count[0]},{bed_mesh_probe_count[1]} ADAPTIVE=0 ADAPTIVE_MARGIN=0
```
### RRF:
```

View File

@@ -0,0 +1,176 @@
# Adaptive Pressure Advance
This feature aims to dynamically adjust the printers pressure advance to better match the conditions the toolhead is facing during a print. Specifically, to more closely align to the ideal values as flow rate, acceleration, and bridges are encountered.
This wiki page aims to explain how this feature works, the prerequisites required to get the most out of it as well as how to calibrate it and set it up.
## Settings Overview
This feature introduces the below options under the filament settings:
1. **Enable adaptive pressure advance:** This is the on/off setting switch for adaptive pressure advance.
2. **Enable adaptive pressure advance for overhangs:** Enable adaptive PA for overhangs as well as when flow changes within the same feature. This is an experimental option because if the PA profile is not set accurately, it will cause uniformity issues on the external surfaces before and after overhangs. It is recommended to start with this option switched off and enable it after the core adaptive pressure advance feature is calibrated correctly.
3. **Pressure advance for bridges:** Sets the desired pressure advance value for bridges. Set it to 0 to disable this feature. Experiments have shown that a lower PA value when printing bridges helps reduce the appearance of slight under extrusion immediately after a bridge, which is caused by the pressure drop in the nozzle when printing in the air. Therefore, a lower pressure advance value helps counteract this. A good starting point is approximately half your usual PA value.
4. **Adaptive pressure advance measurements:** This field contains the calibration values used to generate the pressure advance profile for the nozzle/printer. Input sets of pressure advance (PA) values and the corresponding volumetric flow speeds and accelerations they were measured at, separated by a comma. Add one set of values per line. More information on how to calibrate the model follows in the sections below.
5. **Pressure advance:** The old field is still needed and is required to be populated with a PA value. A “good enough” median PA value should be entered here, as this will act as a fallback value when performing tool changes, printing a purge/wipe tower for multi-color prints as well as a fallback in case the model fails to identify an appropriate value (unlikely but its the ultimate backstop).
<img width="452" alt="Adaptive PA settings" src="https://github.com/user-attachments/assets/68c46885-54c7-4123-afa0-762d3995185f">
## Pre-Requisites
This feature has been tested with Klipper-based printers. While it may work with Marlin or Bambu lab printers, it is currently untested with them. It shouldnt adversely affect the machine; however, the quality results from enabling it are not validated.
**Older versions of Klipper used to stutter when pressure advance was changed while the toolhead was in motion. This has been fixed with the latest Klipper firmware releases. Therefore, make sure your Klipper installation is updated to the latest version before enabling this feature, in order to avoid any adverse quality impacts.**
Klipper firmware released after July 11th, 2024 (version greater than approximately v0.12.0-267) contains the above fix and is compatible with adaptive pressure advance. If you are upgrading from an older version, make sure you update both your Klipper installation as well as reflash the printer MCUs (main board and toolhead board if present).
## Use case (what to expect)
Following experimentation, it has been noticed that the optimal pressure advance value is less:
1. The faster you print (hence the higher the volumetric flow rate requested from the toolhead).
2. The larger the layer height (hence the higher the volumetric flow rate requested from the toolhead).
3. The higher the print acceleration is.
What this means is that we never get ideal PA values for each print feature, especially when they vary drastically in speed and acceleration. We can tune PA for a faster print speed (flow) but compromise on corner sharpness for slower speeds or tune PA for corner sharpness and deal with slight corner-perimeter separation in faster speeds. The same goes for accelerations as well as different layer heights.
This compromise usually means that we settle for tuning an "in-between" PA value between slower external features and faster internal features so we don't get gaps, but also not get too much bulging in external perimeters.
**However, what this also means is that if you are printing with a single layer height, single speed, and acceleration, there is no need to enable this feature.**
Adaptive pressure advance aims to address this limitation by implementing a completely different method of setting pressure advance. **Following a set of PA calibration tests done at different flow rates (speeds and layer heights) and accelerations, a pressure advance model is calculated by the slicer.** Then that model is used to emit the best fit PA for any arbitrary feature flow rate (speed) and acceleration used in the print process.
In addition, it means that you only need to tune this feature once and print across different layer heights with good PA performance.
Finally, if during calibration you notice that there is little to no variance between the PA tests, this feature is redundant for you. **From experiments, high flow nozzles fitted on high-speed core XY printers appear to benefit the most from this feature as they print with a larger range of flow rates and at a larger range of accelerations.**
### Expected results:
With this feature enabled there should be absolutely no bulge in the corners, just the smooth rounding caused by the square corner velocity of your printer.
![337601149-cbd96b75-a49f-4dde-ab5a-9bbaf96eae9c](https://github.com/user-attachments/assets/01234996-0528-4462-90c6-43828a246e41)
In addition, seams should appear smooth with no bulging or under extrusion.
![337601500-95e2350f-cffd-4af5-9c7a-e8f60870db7b](https://github.com/user-attachments/assets/46e16f2a-cf52-4862-ab06-12883b909615)
Solid infill should have no gaps, pinholes, or separation from the perimeters.
![337616471-9d949a67-c8b3-477e-9f06-c429d4e40be0](https://github.com/user-attachments/assets/3b8ddbff-47e7-48b5-9576-3d9e7fb24a9d)
Compared to with this feature disabled, where the internal solid infill and external-internal perimeters show signs of separation and under extrusion, when PA is tuned for optimal external perimeter performance as shown below.
![337621601-eacc816d-cff0-42e4-965d-fb5c00d34205](https://github.com/user-attachments/assets/82edfd96-d870-48fe-91c7-012e8c0d9ed0)
## How to calibrate the adaptive pressure advance model
### Defining the calibration sets
Firstly, it is important to understand your printer speed and acceleration limits in order to set meaningful boundaries for the calibrations:
1. **Upper acceleration range:** Do not attempt to calibrate adaptive PA for an acceleration that is larger than what the Klipper input shaper calibration tool recommends for your selected shaper. For example, if Klipper recommends an EI shaper with 4k maximum acceleration for your slowest axis (usually the Y axis), dont calibrate adaptive PA beyond that value. This is because after 4k the input shaper smoothing is magnified and the perimeter separations that appear like PA issues are caused by the input shaper smoothing the shape of the corner. Basically, youd be attempting to compensate for an input shaper artefact with PA.
2. **Upper print speed range:** The Ellis PA pattern test has been proven to be the most efficient and effective test to run to calibrate adaptive PA. It is fast and allows for a reasonably accurate and easy-to-read PA value. However, the size of the line segments is quite small, which means that for the faster print speeds and slower accelerations, the toolhead will not be able to reach the full flow rate that we are calibrating against. It is therefore generally not recommended to attempt calibration with a print speed of higher than ~200-250mm/sec and accelerations slower than 1k in the PA pattern test. If your lowest acceleration is higher than 1k, then proportionally higher maximum print speeds can be used.
**Remember:** With the calibration process, we aim to create a PA Flow Rate Acceleration profile for the toolhead. As we cannot directly control flow rate, we use print speed as a proxy (higher speed -> higher flow).
With the above in mind, lets create a worked example to identify the optimal number of PA tests to calibrate the adaptive PA model.
**The below starting points are recommended for the majority of Core XY printers:**
1. **Accelerations:** 1k, 2k, 4k
2. **Print speeds:** 50mm/sec, 100mm/sec, 150mm/sec, 200mm/sec.
**That means we need to run 3x4 = 12 PA tests and identify the optimal PA for them.**
Finally, if the maximum acceleration given by input shaper is materially higher than 4k, run a set of tests with the higher accelerations. For example, if input shaper allows a 6k value, run PA tests as below:
1. **Accelerations:** 1k, 2k, 4k, 6k
2. **Print speeds:** 50mm/sec, 100mm/sec, 150mm/sec, 200mm/sec.
Similarly, if the maximum value recommended is 12k, run PA tests as below:
1. **Accelerations:** 1k, 2k, 4k, 8k, 12k
2. **Print speeds:** 50mm/sec, 100mm/sec, 150mm/sec, 200mm/sec.
So, at worst case you will need to run 5x4 = 20 PA tests if your printer acceleration is on the upper end! In essence, you want enough granularity of data points to create a meaningful model while also not overdoing it with the number of tests. So, doubling the speed and acceleration is a good compromise to arrive at the optimal number of tests.
For this example, lets assume that the baseline number of tests is adequate for your printer:
1. **Accelerations:** 1k, 2k, 4k
2. **Print speeds:** 50mm/sec, 100mm/sec, 150mm/sec, 200mm/sec.
We, therefore, need to run 12 PA tests as below:
**Speed Acceleration**
1. 50 1k
2. 100 1k
3. 150 1k
4. 200 1k
5. 50 2k
6. 100 2k
7. 150 2k
8. 200 2k
9. 50 4k
10. 100 4k
11. 150 4k
12. 200 4k
### Identifying the flow rates from the print speed
As mentioned earlier, **the print speed is used as a proxy to vary the extrusion flow rate**. Once your PA test is set up, change the gcode preview to “flow” and move the horizontal slider over one of the herringbone patterns and take note of the flow rate for different speeds.
![337939815-e358b960-cf96-41b5-8c7e-addde927933f](https://github.com/user-attachments/assets/21290435-6f2a-4a21-bcf0-28cd6ae1912a)
### Running the tests
Setup your PA test as usual from the calibration menu in Orca slicer. It is recommended that the PA step is set to a small value, to allow you to make meaningful distinctions between the different tests **therefore a PA step value of 0.001 is recommended. **
**Set the end PA to a value high enough to start showing perimeter separation for the lowest flow (print speed) and acceleration test.** For example, for a Voron 350 using Revo HF, the maximum value was set to 0.05 as that was sufficient to show perimeter separation even at the slowest flow rates and accelerations.
**If the test is too big to fit on the build plate, increase your starting PA value or the PA step value accordingly until the test can fit.** If the lowest value becomes too high and there is no ideal PA present in the test, focus on increasing the PA step value to reduce the number of herringbones printed (hence the size of the print).
<img width="402" alt="PA calibration parameters" src="https://github.com/user-attachments/assets/b411dc30-5556-4e7c-8c40-5279d3074eae">
Once setup, your PA test should look like the below:
<img width="437" alt="PA calibration test 1" src="https://github.com/user-attachments/assets/1e6159fe-c3c5-4480-95a1-4383f1fae422">
<img width="437" alt="Pa calibration test 2" src="https://github.com/user-attachments/assets/c360bb18-a97a-4f37-b5a3-bb0c67cac2b6">
Now input your identified print speeds and accelerations in the fields above and run the PA tests.
**IMPORTANT:** Make sure your acceleration values are all the same in all text boxes. Same for the print speed values and Jerk (XY) values. Make sure your Jerk value is set to the external perimeter jerk used in your print profiles.
Now run the tests and note the optimal PA value, the flow, and the acceleration. You should produce a table like this:
<img width="452" alt="calibration table" src="https://github.com/user-attachments/assets/9451e8e4-352f-4cfc-b835-dffa4420d580">
Concatenate the PA value, the flow value, and the acceleration value into the final comma-separated sets to create the values entered in the model as shown above.
**Youre now done! The PA profile is created and calibrated!**
Remember to paste the values in the adaptive pressure advance measurements text box as shown below, and save your filament profile.
<img width="452" alt="pa profile" src="https://github.com/user-attachments/assets/e6e61d1b-e422-4a6a-88ff-f55e10f79900">
### Tips
#### Model input:
The adaptive PA model built into the slicer is flexible enough to allow for as many or as few increments of flow and acceleration as you want. Ideally, you want at a minimum 3x data points for acceleration and flow in order to create a meaningful model.
However, if you dont want to calibrate for flow, just run the acceleration tests and leave flow the same for each test (in which case youll input only 3 rows in the model text box). In this case, flow will be ignored when the model is used.
Similarly for acceleration in the above example youll input only 4 rows in the model text box, in which case acceleration will be ignored when the model is used.
**However, make sure a triplet of values is always provided PA value, Flow, Acceleration.**
#### Identifying the right PA:
Higher acceleration and higher flow rate PA tests are easier to identify the optimal PA as the range of “good” values is much narrower. Its evident where the PA is too large, as gaps start to appear in the corner and where PA is too low, as the corner starts bulging.
However, the lower the flow rate and accelerations are, the range of good values is much wider. Having examined the PA tests even under a microscope, what is evident, is that if you cant distinguish a value as being evidently better than another (i.e. sharper corner with no gaps) with the naked eye, then both values are correct. In which case, if you cant find any meaningful difference, simply use the optimal values from the higher flow rates.
- **Too high PA**
![Too high PA](https://github.com/user-attachments/assets/ebc4e2d4-373e-42d5-af72-4d5bc81048ca)
- **Too low PA**
![Too low PA](https://github.com/user-attachments/assets/6a2b6f16-7d1c-46d0-91f3-def5ed560318)
- **Optimal PA**
![Optimal PA](https://github.com/user-attachments/assets/cd47cf2e-dd32-47b4-bbdd-1563de8849be)

27
doc/bed-types.md Normal file
View File

@@ -0,0 +1,27 @@
# Multiple bed types
You can enable it in printer settings.
Once enabled, you can select the bed type in the drop-down menu, corresponding bed temperature will be set automatically.
You can set the bed temperature for each bed type in the filament settings as demonstrated in the following image.
![multi_bed](./images/bed-types.gif)
Orca also support `curr_bed_type` variable in custom G-code.
For example, the following sample G-codes can detect the selected bed type and adjust the G-code offset accordingly for Klipper:
```
{if curr_bed_type=="Textured PEI Plate"}
SET_GCODE_OFFSET Z=-0.05
{else}
SET_GCODE_OFFSET Z=0.0
{endif}
```
available bed types are:
```
"Cool Plate"
"Engineering Plate"
"High Temp Plate"
"Textured PEI Plate"
```

View File

@@ -0,0 +1,6 @@
# For Developers
This is a documentation from someone exploring the code and is by no means complete or even completely accurate. Please edit the parts you might find inaccurate. This is probably going to be helpful nonetheless.
- [Preset, PresetBundle and PresetCollection](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/developer-reference/Preset-and-bundle.md)
- [Plater, Sidebar, Tab, ComboBox](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/developer-reference/plater-sidebar-tab-combobox.md)

View File

@@ -0,0 +1,43 @@
This page deals with the explanation for 3 classes in the code.
## [`Preset`](../../src/libslic3r/Preset.hpp)
As the name might suggest this class deals with presets for various things. It defines an enum `Type` which basically tells you what kind of data the present contains. Below are a few explained and there corresponding UI elements
#### Note: There is a lot of outdated and legacy code in the code base.
- `TYPE_PRINT`: Refers to a process preset. It's called 'Print' probably due to some legacy code.
<img src="../images/process-preset.png" alt="Example Image" width="320">
- `TYPE_FILAMENT`: As the name suggests this preset is for filaments
<img src="../images/filament-preset.png" alt="Example Image" width="320">
- `TYPE_PRINTER`: Preset for printers.
<img src="../images/printer-preset.png" alt="Example Image" width="320">
There are other preset types but some of them are for SLA. Which is legacy code, since SLA printers are no longer supported. Above 3 are the important types.
## [`PresetBundle`](../../src/libslic3r/PresetBundle.hpp)
This is a bundle containing a few types of `PresetCollection`. One bundle has presets for some printers, filaments and some processes (TYPE_PRINT).
`PresetCollection prints`\
`PresetCollection filaments`\
`PrinterPresetCollection printers`
each one of these contains a collection of processes, filaments and printers respectively.\
#### Note: Printers, filaments and processes in the bundle don't all have to be compatible with each other. In fact all the saved presets are stored in one `PresetBundle`. The `PresetBundle` is loaded on start up. The list of filaments and processes shown for a particular printer is a subset of `filaments` and `prints` `PresetCollection`s.
## [`PresetCollection`](../../src/libslic3r/Preset.hpp)
`PrinterPresetCollection` is a class derived from `PresetCollection`.
These contain a collection of presets. The presets could be of any type.\
functions of note here are:
`get_edited_preset()`: returns the current selected preset along with any modifications the user has made.\
`get_selected_preset()`: returns the current selected preset without the modifications the user has made.

View File

@@ -0,0 +1,23 @@
### !! incomplete, possibly inaccurate, being updated with new info !!
## [`Plater`](../../src/slic3r/GUI/Plater.hpp)
Refers to the entire application. The whole view, file loading, project saving and loading is all managed by this class. This class contains members for the model viewer, the sidebar, gcode viewer and everything else.
## [`Sidebar`](../../src/slic3r/GUI/Plater.hpp)
This is relating the the sidebar in the application window
<img src="../images/full-sidebar.png" alt="Example Image" width="320">
## [`ComboBox`](../../src/slic3r/GUI/Widgets/ComboBox.hpp)
The drop down menus where you can see and select presets
<img src="../images/combobox.png" alt="Example Image" width="320">
## [`Tab`](../../src/slic3r/GUI/Tab.hpp)
Refers to the various windows with settings. e.g. the Popup to edit printer or filament preset. Also the section to edit process preset and the object list. These 4 are managed by `TabPrinter`, `TabFilament`, `TabPrint` and `TabPrintModel` respectively.
<img src="../images/tab-popup.png" alt="Example Image" width="320">

BIN
doc/images/bed-types.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 463 KiB

BIN
doc/images/combobox.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
doc/images/full-sidebar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

BIN
doc/images/tab-popup.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

View File

@@ -0,0 +1,23 @@
Large format printers with print volumes in the order of 1m^3 generally use pellets for printing.
The overall tech is very similar to FDM printing.
It is FDM printing, but instead of filaments, it uses pellets.
The difference here is that where filaments have a filament_diameter that is used to calculate
the volume of filament ingested, pellets have a particular flow_coefficient that is empirically
devised for that particular pellet.
pellet_flow_coefficient is basically a measure of the packing density of a particular pellet.
Shape, material and density of an individual pellet will determine the packing density and
the only thing that matters for 3d printing is how much of that pellet material is extruded by
one turn of whatever feeding mehcanism/gear your printer uses. You can emperically derive that
for your own pellets for a particular printer model.
We are translating the pellet_flow_coefficient into filament_diameter so that everything works just like it
does already with very minor adjustments.
filament_diameter = sqrt( (4 \* pellet_flow_coefficient) / PI )
sqrt just makes the relationship between flow_coefficient and volume linear.
higher packing density -> more material extruded by single turn -> higher pellet_flow_coefficient -> treated as if a filament of larger diameter is being used
All other calculations remain the same for slicing.

6
doc/precise-z-height.md Normal file
View File

@@ -0,0 +1,6 @@
This feature ensures the accurate Z height of the model after slicing, even if the model height is not a multiple of the layer height.
For example, slicing a 20mm x 20mm x 20.1mm cube with a layer height of 0.2mm would typically result in a final height of 20.2mm due to the layer height increments.
By enabling this parameter, the layer height of the last five layers is adjusted so that the final sliced height matches the actual object height, resulting in an accurate 20.1mm (as shown in the picture).
![image](https://github.com/SoftFever/OrcaSlicer/assets/103989404/e2d4efab-a8f4-4df6-baa6-42f526ac83ec)

View File

@@ -0,0 +1,17 @@
# Layer Height
This setting controls how tall each printed layer will be. Typically, a smaller layer height produces a better-looking part with less jagged edges, especially around curved sections (like the top of a sphere). However, lower layer heights mean more layers to print, proportionally increasing print time.
### Tips:
1. **The optimal layer height depends on the size of your nozzle**. The set layer height must not be taller than 80% of the diameter of the nozzle, else there is little "squish" between the printed layer and the layer below, leading to weaker parts.
2. While technically there is no limit to how small a layer height one can use, **typically most printers struggle to print reliably with a layer height that is smaller than 20% of the nozzle diameter**. This is because with smaller layer heights, less material is extruded per mm and, at some point, the tolerances of the extruder system result in variations in the flow to such an extent that visible artifacts occur, especially if printing at high speeds.
For example, it is not uncommon to see "fish scale" type patterns on external walls when printing with a 0.4 mm nozzle at 0.08 mm layer height at speeds of 200mm/sec+. If you observe that pattern, simply increase your layer height to 30% of your nozzle height and/or slow down the print speed considerably.
# First Layer Height
This setting controls how tall the first layer of the print will be. Typically, this is set to 50% of the nozzle width for optimal bed adhesion.
### Tip:
A thicker first layer is more forgiving to slight variations to the evenness of the build surface, resulting in a more uniform, visually, first layer. Set it to 0.25mm for a 0.4mm nozzle, for example, if your build surface is uneven or your printer has a slightly inconsistent z offset between print runs. However, as a rule of thumb, try not to exceed 65% of the nozzle width so as to not compromise bed adhesion too much.

View File

@@ -0,0 +1,43 @@
# Line Width
These settings control how wide the extruded lines are.
- **Default**: The default line width in mm or as a percentage of the nozzle size.
- **First Layer**: The line width of the first layer. Typically, this is wider than the rest of the print, to promote better bed adhesion. See tips below for why.
- **Outer Wall**: The line width in mm or as a percentage of the nozzle size used when printing the models external wall perimeters.
- **Inner Wall**: The line width in mm or as a percentage of the nozzle size used when printing the models internal wall perimeters.
- **Top Surface**: The line width in mm or as a percentage of the nozzle size used when printing the models top surface.
- **Sparse Infill**: The line width in mm or as a percentage of the nozzle size used when printing the models sparse infill.
- **Internal Solid Infill**: The line width in mm or as a percentage of the nozzle size used when printing the models internal solid infill.
- **Support**: The line width in mm or as a percentage of the nozzle size used when printing the models support structures.
## Tips:
1. **Typically, the line width will be anything from 100% up to 150% of the nozzle width**. Due to the way the slicers flow math works, a 100% line width will attempt to extrude slightly “smaller” than the nozzle size and when squished onto the layer below will match the nozzle orifice. You can read more on the flow math here: [Flow Math](https://manual.slic3r.org/advanced/flow-math).
2. **For most cases, the minimum acceptable recommended line width is 105% of the nozzle diameter**, typically reserved for the outer walls, where greater precision is required. A wider line is less precise than a thinner line.
3. **Wider lines provide better adhesion to the layer below**, as the material is squished more with the previous layer. For parts that need to be strong, setting this value to 120-150% of the nozzle diameter is recommended and has been experimentally proven to significantly increase part strength.
4. **Wider lines improve step over and overhang appearance**, i.e., the overlap of the currently printed line to the surface below. So, if you are printing models with overhangs, setting a larger external perimeter line width will improve the overhangs appearance to an extent.
5. **For top surfaces, typically a value of ~100%-105% of the nozzle width is recommended** as it provides the most precision, compared to a wider line.
6. **For external walls, you need to strike a balance between precision and step over and, consequently, overhang appearance.** Typically these values are set to ~105% of nozzle diameter for models with limited overhangs up to ~120% for models with more significant overhangs.
7. **For internal walls, you typically want to maximize part strength**, so a good starting point is approximately 120% of the nozzle width, which gives a good balance between print speed, accuracy, and material use. However, depending on the model, larger or smaller line widths may make sense in order to reduce gap fill and/or line width variations if you are using Arachne.
8. **Dont feel constrained to have wider internal wall lines compared to external ones**. While this is the default for most profiles, for models where significant overhangs are present, printing wider external walls compared to the internal ones may yield better overhang quality without increasing material use!
9. **For sparse infill, the line width also affects how dense, visually, the sparse infill will be.** The sparse infill aims to extrude a set amount of material based on the percentage infill selected. When increasing the line width, the space between the sparse infill extrusions is larger in order to roughly maintain the same material usage. Typically for sparse infill, a value of 120% of nozzle diameter is a good starting point.
10. **For supports, using 100% or less line width will make the supports weaker** by reducing their layer adhesion, making them easier to remove.
11. **If your printer is limited mechanically, try to maintain the material flow as consistent as possible between critical features of your model**, to ease the load on the extruder having to adapt its flow between them. This is especially useful for printers that do not use pressure advance/linear advance and if your extruder is not as capable mechanically. You can do that by adjusting the line widths and speeds to reduce the variation between critical features (e.g., external and internal wall flow). For example, print them at the same speed and the same line width, or print the external perimeter slightly wider and slightly slower than the internal perimeter. Material flow can be visualized in the sliced model flow drop down.

View File

@@ -0,0 +1,81 @@
# Seam Section
Unless printed in spiral vase mode, every layer needs to begin somewhere and end somewhere. That start and end of the extrusion is what results in what visually looks like a seam on the perimeters. This section contains options to control the visual appearance of a seam.
- **Seam Position**: Controls the placement of the seam.
1. **Aligned**: Will attempt to align the seam to a hidden internal facet of the model.
2. **Nearest**: Will place the seam at the nearest starting point compared to where the nozzle stopped printing in the previous layer.
3. **Back**: Will align the seam in a (mostly) straight line at the rear of the model.
4. **Random**: Will randomize the placement of the seam between layers.
Typically, aligned or back work the best, especially in combination with seam painting. However, as seams create weak points and slight surface "bulges" or "divots," random seam placement may be optimal for parts that need higher strength as that weak point is spread to different locations between layers (e.g., a pin meant to fit through a hole).
- **Staggered Inner Seams**: As the seam location forms a weak point in the print (it's a discontinuity in the extrusion process after all!), staggering the seam on the internal perimeters can help reduce stress points. This setting moves the start of the internal wall's seam around across layers as well as away from the external perimeter seam. This way, the internal and external seams don't all align at the same point and between them across layers, distributing those weak points further away from the seam location, hence making the part stronger. It can also help improve the water tightness of your model.
- **Seam Gap**: Controls the gap in mm or as a percentage of the nozzle size between the two ends of a loop starting and ending with a seam. A larger gap will reduce the bulging seen at the seam. A smaller gap reduces the visual appearance of a seam. For a well-tuned printer with pressure advance, a value of 0-15% is typically optimal.
- **Scarf Seam**: Read more here: [Better Seams - An Orca Slicer Guide](https://www.printables.com/model/783313-better-seams-an-orca-slicer-guide-to-using-scarf-s).
- **Role-Based Wipe Speed**: Controls the speed of a wipe motion, i.e., how fast the nozzle will move over a printed area to "clean" it before traveling to another area of the model. It is recommended to turn this option on, to ensure the nozzle performs the wipe motion with the same speed that the feature was printed with.
- **Wipe Speed**: If role-based wipe speed is disabled, set this field to the absolute wipe speed or as a percentage over the travel speed.
- **Wipe on Loops**: When finishing printing a "loop" (i.e., an extrusion that starts and ends at the same point), move the nozzle slightly inwards towards the part. That move aims to reduce seam unevenness by tucking in the end of the seam to the part. It also slightly cleans the nozzle before traveling to the next area of the model, reducing stringing.
- **Wipe Before External Perimeters**: To minimize the visibility of potential over-extrusion at the start of an external perimeter, the de-retraction move is performed slightly on the inside of the model and, hence, the start of the external perimeter. That way, any potential over-extrusion is hidden from the outside surface.
This is useful when printing with Outer/Inner or Inner/Outer/Inner wall print order, as in these modes, it is more likely an external perimeter is printed immediately after a de-retraction move, which would cause slight extrusion variance at the start of a seam.
## Tips:
With seams being inevitable when 3D printing using FFF, there are two distinct approaches on how to deal with them:
1. **Try and hide the seam as much as possible**: This can be done by enabling scarf seam, which works very well, especially with simple models with limited overhang regions.
2. **Try and make the seam as "clean" and "distinct" as possible**: This can be done by tuning the seam gap and enabling role-based wipe speed, wipe on loops, and wipe before the external loop.
## Troubleshooting Seam Performance:
The section below will focus on troubleshooting traditional seams. For scarf seam troubleshooting, refer to the guide linked above.
There are several factors that influence how clean the seam of your model is, with the biggest one being extrusion control after a travel move. As a seam defines the start and end of an extrusion, it is critical that:
1. **The same amount of material is extruded at the same point across layers** to ensure a consistent visual appearance at the start of a seam.
2. **The printer consistently stops extruding at the same point** across layers.
However, due to mechanical and material tolerances, as well as the very nature of 3D printing with FFF, that is not always possible. Hopefully with some tuning you'll be able to achieve prints like this!
![IMG_4059](https://github.com/user-attachments/assets/e60c3d24-9b21-4484-bcbe-614237a2fe09)
### Troubleshooting the Start of a Seam:
Imagine the scenario where the toolhead finishes printing a layer line on one side of the bed, retracts, travels the whole distance of the bed to de-retract, and starts printing another part. Compare this to the scenario where the toolhead finishes printing an internal perimeter and only travels a few mm to start printing an external perimeter, without even retracting or de-retracting.
The first scenario has much more opportunity for the filament to ooze outside the nozzle, resulting in a small blob forming at the start of the seam or, conversely, if too much material has leaked, a gap/under extrusion at the start of the seam.
The key to a consistent start of a seam is to reduce the opportunity for ooze as much as possible. The good news is that this is mostly tunable by:
1. **Ensure your pressure advance is calibrated correctly**. A too low pressure advance will result in the nozzle experiencing excess pressure at the end of the previous extrusion, which increases the chance of oozing when traveling.
2. **Make sure your travel speed is as fast as possible within your printer's limits**, and the travel acceleration is as high as practically possible, again within the printer's limits. This reduces the travel time between features, reducing oozing.
3. **Enable wipe before external perimeters** this setting performs the de-retraction move inside the model, hence reducing the visual appearance of the "blob" if it does appear at the seam.
4. **Increase your travel distance threshold to be such that small travel moves do not trigger a retraction and de-retraction operation**, reducing extrusion variances caused by the extruder tolerances. 2-4mm is a good starting point as, if your PA is tuned correctly and your travel speed and acceleration are high, it is unlikely that the nozzle will ooze in the milliseconds it will take to travel to the new location.
5. **Enable retract on layer change**, to ensure the start of your layer is always performed under the same conditions a de-pressurized nozzle with retracted filament.
In addition, some toolhead systems are inherently better at seams compared to others. For example, high-flow nozzles with larger melt zones usually have poorer extrusion control as more of the material is in a molten state inside the nozzle. They tend to string more, ooze easier, and hence have poorer seam performance. Conversely, smaller melt zone nozzles have more of the filament solid in their heat zone, leading to more accurate extrusion control and better seam performance.
So this is a trade-off between print speed and print quality. From experimental data, volcano-type nozzles tend to perform the worst at seams, followed by CHT-type nozzles, and finally regular flow nozzles.
In addition, larger nozzle diameters allow for more opportunity for material to leak compared to smaller diameter nozzles. A 0.2/0.25 mm nozzle will have significantly better seam performance than a 0.4, and that will have much better performance than a 0.6mm nozzle and so forth.
### Troubleshooting the End of a Seam:
The end of a seam is much easier to get right, as the extrusion system is already at a pressure equilibrium while printing. It just needs to stop extruding at the right time and consistently.
**If you are getting bulges at the seam**, the extruder is not stopping at the right time. The first thing to tune would be **pressure advance** too low of a PA will result in the nozzle still being pressurized when finishing the print move, hence leaving a wider line at the end as it stops printing.
And the opposite is true too **too high PA will result in under extrusion at the end of a print move**, shown as a larger-than-needed gap at the seam. Thankfully, tuning PA is straightforward, so run the calibration tests and pick the optimal value for your material, print speed, and acceleration.
Furthermore, the printer mechanics have tolerances the print head may be requested to stop at point XY but practically it cannot stop precisely at that point due to the limits of micro-stepping, belt tension, and toolhead rigidity. Here is where tuning the seam gap comes into effect. **A slightly larger seam gap will allow for more variance to be tolerated at the end of a print move before showing as a seam bulge**. Experiment with this value after you are certain your PA is tuned correctly and your travel speeds and retractions are set appropriately.
Finally, the techniques of **wiping can help improve the visual continuity and consistency of a seam** (please note, these settings do not make the seam less visible, but rather make them more consistent!). Wiping on loops with a consistent speed helps tuck in the end of the seam, hiding the effects of retraction from view.
### The Role of Wall Ordering in Seam Appearance:
The order of wall printing plays a significant role in the appearance of a seam. **Starting to print the external perimeter first after a long travel move will always result in more visible artifacts compared to printing the internal perimeters first and traveling just a few mm to print the external perimeter.**
For optimal seam performance, printing with **inner-outer-inner wall order is typically best, followed by inner-outer**. It reduces the amount of traveling performed prior to printing the external perimeter and ensures the nozzle is having as consistent pressure as possible, compared to printing outer-inner.

2
flatpak/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
builddir
.flatpak-builder

3
flatpak/README.md Normal file
View File

@@ -0,0 +1,3 @@
# OrcaSlicer
This is basically a copy of [com.bambulab.BambuStudio](https://github.com/flathub/com.bambulab.BambuStudio). As such, same rules apply here as does over there.

15
flatpak/entrypoint Normal file
View File

@@ -0,0 +1,15 @@
#!/usr/bin/env sh
# Work-around https://gitlab.gnome.org/GNOME/gnome-build-meta/-/issues/754
grep -q org.freedesktop.Platform.GL.nvidia /.flatpak-info && export WEBKIT_DISABLE_DMABUF_RENDERER=1
# Work-around https://github.com/bambulab/BambuStudio/issues/3440
export LC_ALL=C.UTF-8
if [ $BAMBU_STUDIO_DARK_THEME == true ]; then
export GTK_THEME='Adwaita:dark'
# echo "Message: $(date +%T): INFO: using dark theme variant"
fi
exec /app/bin/orca-slicer "$@" &
$(/app/bin/set-dark-theme-variant.py) &

BIN
flatpak/images/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 KiB

BIN
flatpak/images/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 976 KiB

View File

@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>io.github.softfever.OrcaSlicer</id>
<launchable type="desktop-id">io.github.softfever.OrcaSlicer.desktop</launchable>
<provides>
<id>io.github.softfever.OrcaSlicer.desktop</id>
</provides>
<name>OrcaSlicer</name>
<!-- hehe hadess @ppd
... seriously though, thanks -->
<summary>Get even more perfect prints!</summary>
<developer_name>SoftFever</developer_name>
<url type="homepage">https://github.com/SoftFever/OrcaSlicer</url>
<url type="help">https://github.com/SoftFever/OrcaSlicer/wiki</url>
<url type="bugtracker">https://github.com/SoftFever/OrcaSlicer/issues/</url>
<url type="donation">https://ko-fi.com/SoftFever</url>
<metadata_license>0BSD</metadata_license>
<project_license>AGPL-3.0-only</project_license>
<content_rating type="oars-1.1" />
<requires>
<display_length compare="gt">768</display_length>
</requires>
<recommends>
<control>keyboard</control>
<control>pointing</control>
</recommends>
<screenshots>
<screenshot type="default">
<image>https://raw.githubusercontent.com/powpingdone/com.github.softfever.orcaslicer/master/images/1.png</image>
<caption>A model ready to be sliced on a buildplate.</caption>
</screenshot>
<screenshot>
<image>https://raw.githubusercontent.com/powpingdone/com.github.softfever.orcaslicer/master/images/2.png
</image>
<caption>A calibration test ready to be printed out.</caption>
</screenshot>
</screenshots>
<description>
<p>A 3D printer slicer forked from Bambu Studio, PrusaSlicer, and SuperSlicer with many more printer profiles, helpful calibration prints, and many more features to get your 3D printer printing perfectly!</p>
</description>
<branding>
<color type="primary" scheme_preference="light">#009688</color>
</branding>
<releases>
<release version="2.0.0-951fc8e" date="2024-01-30"> <url>https://github.com/SoftFever/OrcaSlicer/commit/951fc8e98a0d5ca0ccb254315646ce7889a44836</url>
</release>
</releases>
</component>

View File

@@ -0,0 +1,360 @@
app-id: io.github.softfever.OrcaSlicer
runtime: org.gnome.Platform
runtime-version: "45"
sdk: org.gnome.Sdk
command: entrypoint
separate-locales: true
rename-icon: OrcaSlicer
finish-args:
- --share=ipc
- --socket=x11
- --share=network
- --device=all
- --filesystem=home
- --filesystem=xdg-run/gvfs
- --filesystem=/run/media
- --filesystem=/media
# Allow OrcaSlicer to talk to other instances
- --talk-name=io.github.softfever.OrcaSlicer.InstanceCheck.*
- --system-talk-name=org.freedesktop.UDisks2
# set dark theme
- --env=BAMBU_STUDIO_DARK_THEME=false
modules:
# JPEG codec for the liveview
- name: gst-plugins-good
buildsystem: meson
config-opts:
- -Dauto_features=disabled
- -Djpeg=enabled
- -Ddoc=disabled
- -Dexamples=disabled
- -Dtests=disabled
sources:
- type: archive
url: https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.22.8.tar.xz
sha256: e305b9f07f52743ca481da0a4e0c76c35efd60adaf1b0694eb3bb021e2137e39
# xprop, xlib is needed to manipulate the X11 window and set _GTK_THEME_VARIANT dark on X11
# and paint the window dark when PRUSA_SLICER_DARK_THEME is true
# see: entrypoint & set-dark-theme-variant.py (originated from spotify client flatpak)
- name: xprop
sources:
- type: archive
url: http://mirrors.ircam.fr/pub/x.org/individual/app/xprop-1.2.5.tar.gz
sha256: b7bf6b6be6cf23e7966a153fc84d5901c14f01ee952fbd9d930aa48e2385d670
- name: python-flit_core
buildsystem: simple
build-commands:
- pip3 install --no-deps --no-build-isolation --verbose --prefix=${FLATPAK_DEST} .
sources:
- type: archive
url: https://files.pythonhosted.org/packages/c4/e6/c1ac50fe3eebb38a155155711e6e864e254ce4b6e17fe2429b4c4d5b9e80/flit_core-3.9.0.tar.gz
sha256: 72ad266176c4a3fcfab5f2930d76896059851240570ce9a98733b658cb786eba
- name: python-packaging
buildsystem: simple
build-commands:
- pip3 install --no-deps --no-build-isolation --verbose --prefix=${FLATPAK_DEST} .
sources:
- type: archive
url: https://files.pythonhosted.org/packages/51/65/50db4dda066951078f0a96cf12f4b9ada6e4b811516bf0262c0f4f7064d4/packaging-24.1.tar.gz
sha256: 026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002
- name: python-setuptools_scm
buildsystem: simple
build-commands:
- pip3 install --no-deps --no-build-isolation --verbose --prefix=${FLATPAK_DEST} .
sources:
- type: archive
url: https://files.pythonhosted.org/packages/57/38/930b1241372a9f266a7df2b184fb9d4f497c2cef2e016b014f82f541fe7c/setuptools_scm-6.0.1.tar.gz
sha256: d1925a69cb07e9b29416a275b9fadb009a23c148ace905b2fb220649a6c18e92
- name: python-xlib
buildsystem: simple
build-commands:
- pip3 install --no-deps --no-build-isolation --verbose --prefix=${FLATPAK_DEST} .
sources:
- type: archive
url: https://files.pythonhosted.org/packages/86/f5/8c0653e5bb54e0cbdfe27bf32d41f27bc4e12faa8742778c17f2a71be2c0/python-xlib-0.33.tar.gz
sha256: 55af7906a2c75ce6cb280a584776080602444f75815a7aff4d287bb2d7018b32
# For libOSMesa
- name: mesa
buildsystem: meson
config-opts:
- -Dosmesa=classic
- -Ddri-drivers=[]
- -Dgallium-drivers=[]
- -Dvulkan-drivers=[]
- -Dplatforms=[]
build-options:
arch:
aarch64:
config-opts:
- -Dlibunwind=disabled
cleanup:
- /share/drirc.d
- /include
- "*.a"
sources:
- type: archive
url: https://archive.mesa3d.org/mesa-20.2.6.tar.xz
sha256: f12ca3c6c622f11cd79ad66b4220f04514fa96f795062fe92a37339ab19885db
- name: glu
config-opts:
- --disable-static
sources:
- type: archive
url: https://ftp.osuosl.org/pub/blfs/conglomeration/glu/glu-9.0.2.tar.xz
sha256: 6e7280ff585c6a1d9dfcdf2fca489251634b3377bfc33c29e4002466a38d02d4
cleanup:
- /include
- /lib/*.a
- /lib/*.la
- /lib/pkgconfig
- name: kde-extra-cmake-modules
buildsystem: cmake-ninja
sources:
- type: git
url: https://github.com/KDE/extra-cmake-modules
tag: v5.249.0
cleanup:
- /
- name: orca_wxwidgets
buildsystem: simple
build-commands:
- |
mkdir builddir && cd builddir
cmake ../ -GNinja \
-DwxBUILD_PRECOMP=ON \
-DwxBUILD_TOOLKIT=gtk3 \
-DwxBUILD_DEBUG_LEVEL=0 \
-DwxBUILD_SAMPLES=OFF \
-DwxBUILD_SHARED=ON \
-DwxUSE_MEDIACTRL=ON \
-DwxUSE_DETECT_SM=OFF \
-DwxUSE_UNICODE=ON \
-DwxUSE_PRIVATE_FONTS=ON \
-DwxUSE_OPENGL=ON \
-DwxUSE_WEBREQUEST=ON \
-DwxUSE_WEBVIEW=ON \
-DwxUSE_WEBVIEW_EDGE=OFF \
-DwxUSE_WEBVIEW_IE=OFF \
-DwxUSE_REGEX=builtin \
-DwxUSE_LIBSDL=OFF \
-DwxUSE_XTEST=OFF \
-DwxUSE_STC=OFF \
-DwxUSE_AUI=ON \
-DwxUSE_LIBPNG=sys \
-DwxUSE_ZLIB=sys \
-DwxUSE_LIBJPEG=sys \
-DwxUSE_LIBTIFF=sys \
-DwxUSE_EXPAT=sys \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DCMAKE_INSTALL_PREFIX:STRING=/app \
-DCMAKE_PREFIX_PATH=/app \
-DCMAKE_BUILD_TYPE=Release
cmake --build . --target install -j$FLATPAK_BUILDER_N_JOBS
sources:
- type: git
url: https://github.com/SoftFever/Orca-deps-wxWidgets
branch: master
path: ../
cleanup:
- "*.la"
- "*.a"
- "*.cmake"
- /include
- /app/bin/*
- name: orca_deps
buildsystem: simple
build-commands:
# start build
- |
mkdir deps/build && cd deps/build
cmake ../ \
-DDEP_WX_GTK3=ON \
-DDEP_DOWNLOAD_DIR=/run/build/orca_deps/external-packages \
-DCMAKE_PREFIX_PATH=/app \
-DDESTDIR=/app \
-DCMAKE_INSTALL_LIBDIR=/app/lib \
-DFLATPAK=ON \
-DCMAKE_INSTALL_PREFIX=/app
cmake --build .
rm -r /run/build/orca_deps/external-packages
cleanup:
- /app/include
- "*.a"
- "*.la"
- /app/lib/cmake
sources:
# -
# Section bellow fetches all OrcaSlicer dependencies before the build process and stores them in external-packages/*/* .
# -DDEP_DOWNLOAD_DIR is set in the build process which has to match with dest.
#
# NOTE: The url, dest folder name and sha256 must match from OrcaSlicer's cmake scripts and folder names in OrcaSlicer/deps/
# -
# OrcaSlicer Source Archive
- type: dir
path: ../
# Blosc
- type: file
url: https://github.com/tamasmeszaros/c-blosc/archive/refs/heads/v1.17.0_tm.zip
dest: external-packages/Blosc
sha256: dcb48bf43a672fa3de6a4b1de2c4c238709dad5893d1e097b8374ad84b1fc3b3
# Cereal
- type: file
url: https://github.com/USCiLab/cereal/archive/refs/tags/v1.3.0.zip
dest: external-packages/Cereal
sha256: 71642cb54658e98c8f07a0f0d08bf9766f1c3771496936f6014169d3726d9657
# CGAL
- type: file
url: https://github.com/CGAL/cgal/archive/refs/tags/v5.4.zip
dest: external-packages/CGAL
sha256: d7605e0a5a5ca17da7547592f6f6e4a59430a0bc861948974254d0de43eab4c0
# GMP
- type: file
url: https://github.com/SoftFever/OrcaSlicer_deps/releases/download/gmp-6.2.1/gmp-6.2.1.tar.bz2
dest: external-packages/GMP
sha256: eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c
# MPFR
- type: file
url: https://www.mpfr.org/mpfr-current/mpfr-4.2.1.tar.bz2
dest: external-packages/MPFR
sha256: b9df93635b20e4089c29623b19420c4ac848a1b29df1cfd59f26cab0d2666aa0
# NLopt
- type: file
url: https://github.com/stevengj/nlopt/archive/v2.5.0.tar.gz
dest: external-packages/NLopt
sha256: c6dd7a5701fff8ad5ebb45a3dc8e757e61d52658de3918e38bab233e7fd3b4ae
# OCCT
- type: file
url: https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_6_0.zip
dest: external-packages/OCCT
sha256: 28334f0e98f1b1629799783e9b4d21e05349d89e695809d7e6dfa45ea43e1dbc
# OpenCSG
- type: file
url: https://github.com/floriankirsch/OpenCSG/archive/refs/tags/opencsg-1-4-2-release.zip
dest: external-packages/OpenCSG
sha256: 51afe0db79af8386e2027d56d685177135581e0ee82ade9d7f2caff8deab5ec5
# OpenCV
- type: file
url: https://github.com/opencv/opencv/archive/refs/tags/4.6.0.tar.gz
dest: external-packages/OpenCV
sha256: 1ec1cba65f9f20fe5a41fda1586e01c70ea0c9a6d7b67c9e13edf0cfe2239277
# OpenEXR
- type: file
url: https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.zip
dest: external-packages/OpenEXR
sha256: 0307a3d7e1fa1e77e9d84d7e9a8694583fbbbfd50bdc6884e2c96b8ef6b902de
# OpenVDB
- type: file
url: https://github.com/tamasmeszaros/openvdb/archive/a68fd58d0e2b85f01adeb8b13d7555183ab10aa5.zip
dest: external-packages/OpenVDB
sha256: f353e7b99bd0cbfc27ac9082de51acf32a8bc0b3e21ff9661ecca6f205ec1d81
# Qhull
- type: file
url: https://github.com/qhull/qhull/archive/v8.0.1.zip
dest: external-packages/Qhull
sha256: 5287f5edd6a0372588f5d6640799086a4033d89d19711023ef8229dd9301d69b
# TBB
- type: file
url: https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.5.0.zip
dest: external-packages/TBB
sha256: 83ea786c964a384dd72534f9854b419716f412f9d43c0be88d41874763e7bb47
# Boost
- type: file
url: https://github.com/boostorg/boost/releases/download/boost-1.84.0/boost-1.84.0.tar.gz
dest: external-packages/Boost
sha256: 4d27e9efed0f6f152dc28db6430b9d3dfb40c0345da7342eaa5a987dde57bd95
# GLFW
- type: file
url: https://github.com/glfw/glfw/archive/refs/tags/3.3.7.zip
dest: external-packages/GLFW
sha256: e02d956935e5b9fb4abf90e2c2e07c9a0526d7eacae8ee5353484c69a2a76cd0
- name: OrcaSlicer
buildsystem: simple
build-commands:
- |
mkdir -p build && cd build
CXXFLAGS=-std=gnu++20 cmake ../ \
-DSLIC3R_PCH=OFF \
-DSLIC3R_FHS=ON \
-DSLIC3R_GTK=3 \
-DSLIC3R_STATIC=ON \
-DSLIC3R_BUILD_TESTS=OFF \
-DSLIC3R_DESKTOP_INTEGRATION=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DFLATPAK=ON \
-DBBL_RELEASE_TO_PUBLIC=1 \
-DCMAKE_PREFIX_PATH=/app \
-DCMAKE_INSTALL_PREFIX=/app
CXXFLAGS=-std=gnu++20 cmake --build . --target install -j$FLATPAK_BUILDER_N_JOBS
cleanup:
- /include
post-install:
- | # Desktop Integration files
install -Dm644 -t /app/share/icons/hicolor/scalable/apps/ resources/images/OrcaSlicer.svg
install -Dm644 ${FLATPAK_ID}.metainfo.xml /app/share/metainfo/${FLATPAK_ID}.metainfo.xml
mv /app/share/applications/OrcaSlicer.desktop /app/share/applications/${FLATPAK_ID}.desktop
desktop-file-edit --set-key=Exec --set-value="entrypoint %U" /app/share/applications/${FLATPAK_ID}.desktop
install -Dm755 set-dark-theme-variant.py /app/bin
install -Dm755 entrypoint /app/bin
install -Dm755 umount /app/bin
sources:
# -
# Section bellow fetches all OrcaSlicer dependencies before the build process and stores them in external-packages/*/* .
# -DDEP_DOWNLOAD_DIR is set in the build process which has to match with dest.
#
# NOTE: The url, dest folder name and sha256 must match from OrcaSlicer's cmake scripts and folder names in OrcaSlicer/deps/
# -
# OrcaSlicer Source Archive
- type: dir
path: ../
# AppData metainfo for Gnome Software & Co.
- type: file
path: io.github.softfever.OrcaSlicer.metainfo.xml
# script to set dark theme variant
- type: file
path: set-dark-theme-variant.py
# start-up script
# README: workaround for the following issues, also enables dark theme variant:
# SEE: https://github.com/flathub/com.bambulab.BambuStudio/issues/27
# SEE: https://github.com/flathub/com.bambulab.BambuStudio/issues/3
# SEE: https://github.com/prusa3d/PrusaSlicer/issues/2365
- type: file
path: entrypoint
# umount wrapper used to redirect umount calls to udisk2
- type: file
path: umount

View File

@@ -0,0 +1,85 @@
#!/usr/bin/env python3
import Xlib
import Xlib.display
import time
import subprocess
import os
import sys
disp = Xlib.display.Display()
root = disp.screen().root
NET_CLIENT_LIST = disp.intern_atom('_NET_CLIENT_LIST')
def set_theme_variant_by_window_id(id, variant):
# Use subprocess to call
# xprop and set the variant from id.
try:
s = subprocess.call(['xprop', '-f', '_GTK_THEME_VARIANT', '8u', '-set', '_GTK_THEME_VARIANT', variant, '-id', str(id)],
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
if s == 0:
return True
return False
except Exception as ex:
return False
def set_theme_variant_from_win_id_collection(win_id_collection, variant):
# Loop though all of the collected
# window ids and set theme variant
for win_id in win_id_collection:
set_theme_variant_by_window_id(win_id, variant)
def collection_win_id_from_wm_class_name(win_class_name):
collect = []
# Loop though all of the windows
# and collect id's those that match
# win_class: prusa-slicer
for win_id in root.get_full_property(NET_CLIENT_LIST, Xlib.X.AnyPropertyType).value:
try:
win = disp.create_resource_object('window', win_id)
if not win.get_wm_transient_for():
win_class = win.get_wm_class()
if win_id and win_class_name in win_class:
collect.append(
win_id) if win_id not in collect else collect
except Xlib.error.BadWindow:
pass
return collect
if __name__ == '__main__':
if os.environ.get('PRUSA_SLICER_DARK_THEME', 'false') != 'true':
sys.exit(0)
# Listen for X Property Change events.
root.change_attributes(event_mask=Xlib.X.PropertyChangeMask)
# the class name of the slicer window
win_class_name = 'prusa-slicer'
# the variant to set
variant = 'dark'
start = time.time()
while True:
# collect all of the window ids
collect = collection_win_id_from_wm_class_name(win_class_name)
# give PrusaSlicer window 2 secs to
# collect the wanted window ids
# set the theme variant and exit
if time.time() - start <= 2:
# disp.next_event() blocks if no events are
# queued. In combination with while True
# it creates a very simple event loop.
disp.next_event()
set_theme_variant_from_win_id_collection(collect, variant)
else:
break

10
flatpak/umount Executable file
View File

@@ -0,0 +1,10 @@
#!/usr/bin/env sh
if [ $# -eq 0 ]; then
echo "No arguments supplied"
exit 1
fi
DEVICE=$(basename $(findmnt -oSOURCE -n "$@") )
exec /usr/bin/gdbus call -y -d org.freedesktop.UDisks2 -o /org/freedesktop/UDisks2/block_devices/$DEVICE -m org.freedesktop.UDisks2.Filesystem.Unmount "{'b': <'false'>}" 1> /dev/null

3
linux.d/README.md Normal file
View File

@@ -0,0 +1,3 @@
Files in this directory are named for the **exact** output of `awk -F= '/^ID=/ {print $2}' /etc/os-release` for their respective distribution.
When `BuildLinux.sh` is executed, the respective file for the distribution will be sourced so the distribution specific instructions/logic are used.

44
linux.d/arch Normal file
View File

@@ -0,0 +1,44 @@
# these are the Arch Linux specific build functions
FOUND_GTK3=$(pacman -Q gtk3)
# Addtional Dev packages for OrcaSlicer
export REQUIRED_DEV_PACKAGES=(
cmake
curl
dbus
eglexternalplatform
extra-cmake-modules
file
gettext
git
glew
gstreamer
gstreamermm
gtk3
libmspack
libsecret
mesa
ninja
openssl
texinfo
wayland-protocols
webkit2gtk
wget
)
if [[ -n "$UPDATE_LIB" ]]
then
echo -n -e "Updating linux ...\n"
NEEDED_PKGS=""
for PKG in ${REQUIRED_DEV_PACKAGES[@]}; do
pacman -Q ${PKG} > /dev/null || NEEDED_PKGS+=" ${PKG}"
done
if [ -n "${NEEDED_PKGS}" ]; then
sudo pacman -Syy --noconfirm ${NEEDED_PKGS}
fi
echo -e "done\n"
exit 0
fi
FOUND_GTK3_DEV=${FOUND_GTK3}

33
linux.d/clear-linux-os Normal file
View File

@@ -0,0 +1,33 @@
# these are the Clear Linux specific build functions
FOUND_GTK3=$(ls /usr/lib64/libgtk-3.so.* 2>/dev/null | tail -n 1 || true)
# Addtional bundles for OrcaSlicer
export REQUIRED_BUNDLES=(
c-basic
dev-utils
devpkg-curl
devpkg-glew
devpkg-glu
devpkg-gstreamer
devpkg-gtk3
devpkg-libmspack
devpkg-libsecret
devpkg-openssl
devpkg-webkitgtk
file
git
lib-opengl
perl-basic
texinfo
wget
)
if [[ -n "$UPDATE_LIB" ]]
then
echo "Updating linux ..."
echo swupd bundle-add -y ${REQUIRED_BUNDLES[@]}
echo -e "done\n"
exit 0
fi
FOUND_GTK3_DEV=$(ls /usr/lib64/libgtk-3.so 2>/dev/null || true)

59
linux.d/debian Normal file
View File

@@ -0,0 +1,59 @@
FOUND_GTK3=$(dpkg -l libgtk* | grep gtk-3)
REQUIRED_DEV_PACKAGES=(
autoconf
build-essential
cmake
eglexternalplatform-dev
extra-cmake-modules
file
gettext
git
libcurl4-openssl-dev
libdbus-1-dev
libglew-dev
libgstreamerd-3-dev
libgtk-3-dev
libmspack-dev
libosmesa6-dev
libsecret-1-dev
libssl-dev
libtool
libudev-dev
ninja-build
texinfo
wget
)
if [[ -n "$UPDATE_LIB" ]]
then
# for ubuntu 22+ and 23+:
ubu_major_version="$(grep VERSION_ID /etc/os-release | cut -d "=" -f 2 | cut -d "." -f 1 | tr -d /\"/)"
if [ $ubu_major_version == "22" ] || [ $ubu_major_version == "23" ]
then
REQUIRED_DEV_PACKAGES+=(curl libfuse-dev libssl-dev libcurl4-openssl-dev m4)
fi
if [[ -n "$BUILD_DEBUG" ]]
then
REQUIRED_DEV_PACKAGES+=(libssl-dev libcurl4-openssl-dev)
fi
# check which version of libwebkit2gtk is available
if [ "$(apt show --quiet libwebkit2gtk-4.0-dev)" != "" ]
then
REQUIRED_DEV_PACKAGES+=(libwebkit2gtk-4.0-dev)
else
REQUIRED_DEV_PACKAGES+=(libwebkit2gtk-4.1-dev)
fi
# TODO: optimize this by checking which, if any, packages are already installed
# install them all at once
sudo apt update
sudo apt install -y ${REQUIRED_DEV_PACKAGES[@]}
echo -e "done\n"
exit 0
fi
FOUND_GTK3_DEV=$(dpkg -l libgtk* | grep gtk-3-dev || echo '')

48
linux.d/fedora Normal file
View File

@@ -0,0 +1,48 @@
FOUND_GTK3=$(rpm -qa | grep -P '^gtk3' || true)
REQUIRED_DEV_PACKAGES=(
autoconf
automake
cmake
dbus-devel
eglexternalplatform-devel
extra-cmake-modules
file
gcc
gcc-c++
gettext
git
gstreamer1-devel
gstreamermm-devel
gtk3-devel
libmspack-devel
libsecret-devel
libtool
m4
mesa-libGLU-devel
mesa-libOSMesa-devel
ninja-build
openssl-devel
perl-FindBin
texinfo
wayland-protocols-devel
webkit2gtk4.0-devel
wget
libcurl-devel
)
if [[ -n "$UPDATE_LIB" ]]
then
NEEDED_PKGS=""
for PKG in ${REQUIRED_DEV_PACKAGES[@]}; do
rpm -q ${PKG} > /dev/null || NEEDED_PKGS+=" ${PKG}"
done
if [ -n "${NEEDED_PKGS}" ]; then
sudo dnf install -y ${NEEDED_PKGS}
fi
echo -e "done\n"
exit 0
fi
FOUND_GTK3_DEV=$(rpm -qa | grep -P '^gtk3-devel' || true)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -53,6 +53,11 @@ src/slic3r/GUI/BBLTopbar.cpp
src/slic3r/GUI/DownloadProgressDialog.cpp
src/slic3r/GUI/RecenterDialog.cpp
src/slic3r/GUI/BackgroundSlicingProcess.cpp
src/slic3r/GUI/MultiMachinePage.cpp
src/slic3r/GUI/MultiMachineManagerPage.cpp
src/slic3r/GUI/MultiMachine.cpp
src/slic3r/GUI/MultiTaskManagerPage.cpp
src/slic3r/GUI/SendMultiMachinePage.cpp
src/slic3r/GUI/BedShapeDialog.cpp
src/slic3r/GUI/BedShapeDialog.hpp
src/slic3r/GUI/ConfigManipulation.cpp
@@ -105,8 +110,10 @@ src/slic3r/GUI/UnsavedChangesDialog.cpp
src/slic3r/GUI/Auxiliary.cpp
src/slic3r/GUI/UpdateDialogs.cpp
src/slic3r/GUI/UnsavedChangesDialog.cpp
src/slic3r/GUI/ObjColorDialog.cpp
src/slic3r/GUI/WipeTowerDialog.cpp
src/slic3r/GUI/wxExtensions.cpp
src/slic3r/GUI/wxMediaCtrl2.cpp
src/slic3r/GUI/WebUserLoginDialog.cpp
src/slic3r/GUI/WebGuideDialog.cpp
src/slic3r/GUI/KBShortcutsDialog.hpp
@@ -158,4 +165,10 @@ src/slic3r/Utils/Duet.cpp
src/slic3r/Utils/FlashAir.cpp
src/slic3r/Utils/MKS.cpp
src/slic3r/Utils/OctoPrint.cpp
src/slic3r/Utils/Repetier.cpp
src/slic3r/Utils/Repetier.cpp
src/slic3r/Utils/ProfileDescription.hpp
src/slic3r/Utils/Obico.cpp
src/slic3r/Utils/SimplyPrint.cpp
src/slic3r/Utils/Flashforge.cpp
src/slic3r/GUI/Jobs/OAuthJob.cpp
src/slic3r/GUI/BackgroundSlicingProcess.cpp

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More