Compare commits

...

726 Commits

Author SHA1 Message Date
SoftFever
5072bf3d16 update locale 2023-08-22 19:25:21 +08:00
SoftFever
08b7af645d misc changes 2023-08-22 18:34:56 +08:00
SoftFever
95762fabee Make new overhang slowdonw(PrusaSlicer's slowdown) default again.
And tweak it
2023-08-22 18:34:56 +08:00
renemosner
44a013a5a7 Updating the translation into Czech (#1872)
Completion of the Czech translation
2023-08-22 18:26:27 +08:00
just-trey
baa11c9b7e Am profile bug fixes (#1868)
* anker profile bug fixes

* akermake profile bug fix

* feedback from review

* frevert resolution
2023-08-22 18:12:35 +08:00
stasyan68
ba87a1b8f9 Updating the translation into Russian, adding new lines (#1865)
Updating the translation into Russian, adding new lines
2023-08-21 21:58:39 +08:00
Carlos Caruncho
c5df165824 Spanish translation (#1866)
* Some Spanish string fixes

PO updated

* More spanish strings fixes

* Compiled MO

* Update spanish strings and MO

* Update

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Delete OrcaSlicer.mo

* update .mo files

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update spanish lang and english string

* Update OrcaSlicer_es.po

* revert .gitignore changes

* Update OrcaSlicer_es.po

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-08-21 21:58:08 +08:00
Hotsolidinfill
53c6db9168 Fix blank button in mesh boolean (#1870)
* Update Korean translation

* 1. Fix blank button text after translation
2. Fix some mistranslated korean
2023-08-21 21:38:39 +08:00
SoftFever
3f15339345 fix linux build errors 2023-08-20 22:16:32 +08:00
SoftFever
86d908f44e final 1.6.4
set default internal_solid_infill_pattern to ipMonotonic
2023-08-20 20:49:06 +08:00
SoftFever
6e1bdaf9d4 some misc changes (#1848)
* some misc changes
* stealth_mode: disable hms
* fix bbl camera  #1091 #1830
* fix anker
2023-08-20 20:02:54 +08:00
Vojtech Bubnik
a202fde769 Fix of #6336 #5073: Throw an error if G92 E0 is missing in layer change
G-code with relative extruder addressing. Also thrown an error,
if G92 E0 is used with absolute extruder addressing.
2023-08-20 20:00:49 +08:00
Hotsolidinfill
29da81527e Update Korean translation (#1859) 2023-08-20 11:15:50 +08:00
SoftFever
15d96e1f6d support adaptive bed mesh for PA calib 2023-08-19 23:31:12 +08:00
chunmao.guo
6a767a5f67 FIX: WebView: not wrap javascript
Change-Id: If2b1fe8163599ebbfd97334115a786a8985bf876
2023-08-19 22:16:19 +08:00
SoftFever
1fa6ee78e7 update locale 2023-08-19 22:09:27 +08:00
Stephen Hurd
27eb7bbe9f Add spacenavd support (#1769) 2023-08-19 15:45:27 +08:00
SoftFever
5f848b7a93 Fixed a bug that print_bed_min/max values were not correct in multi-plate project #1834 2023-08-19 11:01:00 +08:00
Heiko Liebscher
94f8c26c30 fix de for new features (#1837) 2023-08-19 09:42:55 +08:00
Carlos Caruncho
3e49c3f55b Spanish translation update and error in english string "outer_only" (#1794)
* Update spanish lang and english string
* Update OrcaSlicer_es.po
* revert .gitignore changes

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-08-19 09:42:00 +08:00
SoftFever
a148b9d85f fix build error 2023-08-19 09:30:54 +08:00
zhimin.zeng
f65871b3fb ENH: Allow users to adjust the order of components in assemble
Change-Id: Ie4b979e4cfdf99d822801400cd6b54773f526d7a
(cherry picked from commit 2b8b32a2d2d8181d1ab0c490e1a7b4333dc34fad)
2023-08-19 01:32:59 +08:00
lane.wei
5a5955f3bc FIX: config: update config with correct logic
1. remove other vendors
2. set the version to correct one
jira: STUDIO-4009

Change-Id: I804bb1d08a9d241bc323a22b0d3fb40f7c9c3c9a
2023-08-19 01:32:59 +08:00
zhimin.zeng
2e78f7e809 FIX: Re-multicolor slice when change first_layer_print_sequence
Change-Id: If17708744a52c95aec406e2cd46a29ff4cf29872
(cherry picked from commit 892f508f194e49462a2c470ce8d0f3f6313a0c09)
(cherry picked from commit a00864f8d254f10cae6b20dcf5d6edc2814ed802)
2023-08-19 01:32:59 +08:00
zhimin.zeng
79a7201f52 ENH: support custom the first layer print sequence
Change-Id: I0516948292933fe47d39fb3ae2f7e91473b45b3a
(cherry picked from commit 5bbdb28c86509d5f94b5b9c33a0f2e1b2749e94b)
(cherry picked from commit 22c6e9f1d2c6f1b86c70827c8bec65a857fe2bc5)
2023-08-19 01:32:59 +08:00
salt.wei
a35264e910 FIX: should consider plate offset in wipe tower
Updating position to gcode writer in wipe tower
miss plate offset.

This is handling for github issue #2256

github: github issue #2256

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I915591ee919d10bb5bd2c2dcd5f1e98fd4b66503
2023-08-19 01:32:59 +08:00
liz.li
d9a8526843 NEW: first layer printing sequence
Change-Id: I19e39a27cf972eb859e51a334aeae8f57ee263f8
(cherry picked from commit 1369107c04668f800a338395ed3af316c32d194d)
2023-08-19 01:32:59 +08:00
maosheng.wei
d5e5992b02 FIX: [github 2246 2209] reload form disk not working
Change-Id: If70d7b700c454e9290741980afb0a1fd73a1fa5a
2023-08-19 01:32:59 +08:00
chunmao.guo
a422b9a01d FIX: load from gcode stream crash with null model pointer
Change-Id: I09a17dd5726d164a4e0bc1d5f213581832a17a5d
(cherry picked from commit 52065d43c98eda7a2a7c799d2100a10b6cbc42bf)
2023-08-19 01:32:59 +08:00
liz.li
37c0f8d0bd FIX: meshboolean set transformation matrix twice
Change-Id: I1428c66f69bbd14fa0485bab23b0a26b8e7b6dba
(cherry picked from commit 23e69af4d9516c7c2f8b4fb9649d1757903627b6)
2023-08-19 01:32:59 +08:00
igiannakas
719a25a291 Fix for support generating mid air (#1762) (#1815)
Fix for support generating mid air
2023-08-18 18:55:25 +08:00
rspython
1279beb3de add Anycubic Kobra Plus profile based on Anycubic Kobra Max. (#1823)
Co-authored-by: HANDS Richard <richard.hands@soprasteria.com>
2023-08-18 18:53:49 +08:00
slynn1324
c1fbcd5661 Add P1S to config.json, copied from BambuStudio. (#1817)
Add P1S to config.json, copied from BambuStudio.  Fixes OrcaSlicer issue #1712.
2023-08-17 23:10:26 +08:00
SoftFever
43087cc6a6 update locale and tweak some profiles 2023-08-14 20:15:57 +08:00
SoftFever
e56863af0d fix cicd build 2023-08-13 22:32:49 +08:00
Noisyfox
f714e72faa Simple brim ears impl (#1779)
* First working brim ear impl, ported from SuperSlicer

* Make brim ears configurable

* Generate ears only if ear size > 0

* Fix `Polygon::convex_points` as well as brim ear max angle

* Fix another error in `Polygon::convex_points` and `Polygon::concave_points`

* Apply brim ears to inner brims as well

* tweak hide and disable condition a bit

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-08-13 22:29:45 +08:00
SoftFever
afe1030b58 test (#1785) 2023-08-13 22:16:16 +08:00
Carlos Caruncho
02405db48e Update Spanish translation (#1783)
* Some Spanish string fixes

PO updated

* More spanish strings fixes

* Compiled MO

* Update spanish strings and MO

* Update

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Delete OrcaSlicer.mo

* update .mo files

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-08-13 10:26:52 +08:00
SoftFever
6298b1c449 Merge branch 'main' of github.com:SoftFever/OrcaSlicer 2023-08-13 10:07:07 +08:00
just-trey
fe1d7a0751 AnkerMake Profile Additions (#1716)
* Ankermake Profile Additions

* updated based on feedback
2023-08-13 10:06:37 +08:00
SoftFever
270fff56f5 Fix Troodon2 klipper bug 2023-08-13 09:56:24 +08:00
SoftFever
3be1168d12 Fix vivedino profile 2023-08-12 22:19:03 +08:00
SoftFever
9f5678c3d1 minor tweak internal bridge speed 2023-08-12 20:26:22 +08:00
SoftFever
5807135a1f Fixed an issue that internal_bridge_speed is applied to external bridge infills
A new extrusion role - erInternalBridgeInfill is introduced.
SuperSlicer's implementation is referenced.

Signed-off-by: SoftFever <103989404+SoftFever@users.noreply.github.com>
2023-08-12 15:38:22 +08:00
SoftFever
8dd9561574 Optimize new overhang slowdown and re-enable it #1642
Signed-off-by: SoftFever <103989404+SoftFever@users.noreply.github.com>
2023-08-12 15:34:08 +08:00
SoftFever
b79fc88ade 1.6.4-beta3 2023-08-11 21:14:25 +08:00
SoftFever
61db1ef369 misc profile fixes 2023-08-11 21:13:53 +08:00
Arthur
a1bc4b3a57 FIX: tree support's enforcers inside a hole were wrong
Previously holes of enforcer_polygons was taken as contours,
which caused enforcers inside a hole were too large.

Jira: STUDIO-3877
Change-Id: If38c34e2469b822012a2ed0b082783563fe99228
2023-08-11 20:50:03 +08:00
SoftFever
99406816cd fix crashes on some Linux distro caused by locale by @pfrench42 #235 (#1766)
fix crashes on some Linux distro caused by locale by @pfrench42

#235
2023-08-11 20:26:37 +08:00
Lee Colarelli
abc0f1c682 feat: added Anycubic Kobra 2 (#1765)
* feat: added Anycubic Kobra 2

Signed-off-by: Lee Colarelli <lee@leecolarelli.com>

* fix: corrected buildplate texture size

Signed-off-by: Lee Colarelli <lee@leecolarelli.com>

* fix: corrected max layer height

Signed-off-by: Lee Colarelli <lee@leecolarelli.com>

* fix bed model

---------

Signed-off-by: Lee Colarelli <lee@leecolarelli.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-08-11 20:26:20 +08:00
SoftFever
7e87d9f031 Fix CICD 2023-08-11 18:31:52 +08:00
otkd
905ad5296b Update Ukrainian translation (#1748)
* refactor(localization): update Ukrainian

- Fixed typos and inconsistencies in existing Ukrainian translations

Signed-off-by: otkd <7527203+otkd@users.noreply.github.com>

* Update bbl/i18n/uk/OrcaSlicer_uk.po

Co-authored-by: Bohdan Keller <vickas777@gmail.com>

* Apply suggestions from code review

Co-authored-by: Bohdan Keller <vickas777@gmail.com>

* Ukrainian translation changes

- Further changes based on recommendations in #1748
- Updates .mo with current changes and from 9da51fe574db8160e4e95c04fc0bac2b2cba822e 7692851dbd808561f5ebfaacf826eb3166a84265

Signed-off-by: otkd <7527203+otkd@users.noreply.github.com>

---------

Signed-off-by: otkd <7527203+otkd@users.noreply.github.com>
Co-authored-by: Bohdan Keller <vickas777@gmail.com>
2023-08-11 08:41:00 +08:00
Alexander Sulfrian
f1afe93d6f Fix compiling imgui with boost libraries (#1755)
Addind only the include dirs is wrong. The cmake boost_headeronly
library contains more settings.

Without adding the cmake boost_headeronly library, the compilation of
imgui is missing the defines for the boost library (f.e.
BOOST_LOG_DYN_LINK) and it will result in linker errors.

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-08-11 08:20:10 +08:00
SoftFever
84a7f3c084 fix build errors 2023-08-10 23:30:37 +08:00
SoftFever
24bf61af73 increase the line width limit to 5x the nozzle diameter #1745 2023-08-10 23:00:59 +08:00
SoftFever
3e393df9df support chamber temperature per filament #1160 2023-08-10 22:08:48 +08:00
SoftFever
333a5067ec Fix a bug that overhang slowdown won't work when top z is 0 #1763 2023-08-10 21:09:27 +08:00
SoftFever
7b88104870 update locale 2023-08-10 20:43:00 +08:00
SoftFever
89ec02444a internal bridge speed 2023-08-10 17:34:51 +08:00
SoftFever
bb89336285 add One wall threshold parameter 2023-08-10 10:56:12 +08:00
SoftFever
b396f55ddc don't force build debug version of boost on Windows 2023-08-10 10:56:12 +08:00
Alexander Sulfrian
c1e85db46e Fix wxWidgets debugging macros (#1742)
wxFAIL will always generate an assert error and does not expect a
condition.
2023-08-09 23:25:25 +08:00
SoftFever
e02e8c6f15 disable GENERATOR_IS_MULTI_CONFIG for openvdb so we can skip building debug version for it. 2023-08-09 22:16:58 +08:00
SoftFever
637a171559 Fixed an unicode bug in Mesh boolean 2023-08-09 17:13:44 +08:00
SoftFever
362ee83ff3 update locale 2 2023-08-09 14:12:18 +08:00
SoftFever
37c54aa4f6 clean up 2023-08-09 13:42:41 +08:00
SoftFever
a4c632026f update loacale 2023-08-09 12:09:06 +08:00
SoftFever
b8d7661ac4 Merge branch 'main' into feature/1.6.4_rc 2023-08-09 11:41:25 +08:00
SoftFever
36750c74e6 refactor exclude object 2023-08-09 10:53:39 +08:00
SoftFever
f8c9c6bfc4 Merge some BS1.7 changes:
fix full screen issue on Windows
2023-08-09 00:47:48 +08:00
djperya
ec7f7bd484 Ukrainian translation (#1717)
* Some Ukrainian translation fixes

* Some Ukrainian translation fixes

* Update OrcaSlicer_uk.po

* Update OrcaSlicer_uk.po

clarification of the Ukrainian translation

* Update bbl/i18n/uk/OrcaSlicer_uk.po

Co-authored-by: Bohdan Keller <vickas777@gmail.com>

* Update bbl/i18n/uk/OrcaSlicer_uk.po

Co-authored-by: Bohdan Keller <vickas777@gmail.com>

* Update bbl/i18n/uk/OrcaSlicer_uk.po

Co-authored-by: Bohdan Keller <vickas777@gmail.com>

---------

Co-authored-by: Bohdan Keller <vickas777@gmail.com>
2023-08-08 23:01:37 +08:00
stasyan68
f374d34fdc Updating the Russian translation (#1718)
* Updating the Russian translation

Updating the Russian translation and adding new lines

* Add files via upload

* Delete OrcaSlicer.mo

* Create RU

* Delete RU

* Updating the Russian translation

Updating the Russian translation

* Updating the Russian translation

Updating the Russian translation

* Updating the translation into Russian, with the support of @lizardjazz11

Updating the translation into Russian, with the support of @lizardjazz1
2023-08-08 22:59:47 +08:00
Carlos Caruncho
77c00a944d Update Spanish translation (#1719)
* Some Spanish string fixes

PO updated

* More spanish strings fixes

* Compiled MO

* Update spanish strings and MO

* Update

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Delete OrcaSlicer.mo

* update .mo files

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-08-08 22:45:02 +08:00
renemosner
7f07569304 Updated cs_CZ translations (#1734)
Completion of the CS/CZ translation
2023-08-08 22:44:40 +08:00
SoftFever
da05ae02da Merge some BS1.7 changes:
Boolean operation feature
2023-08-08 22:14:20 +08:00
SoftFever
9e73dfeb5d enforce no tracking 2023-08-08 19:36:24 +08:00
SoftFever
bcbbbf35db Merge some BS1.7 changes:
internal_solid_infill_pattern
2023-08-08 19:08:13 +08:00
SoftFever
7ece35931e Merge some BS1.7 changes:
Port object canceling for BL X1 from BS.

Todo: refactor
2023-08-08 19:08:13 +08:00
SoftFever
3acd89e877 Merge some BS1.7 changes:
bring back fill_bed feature, original implemention from PrusaSlicer. BS added exclusion logic.
2023-08-08 19:08:13 +08:00
SoftFever
b8db25ac0e revert PA tower 2023-08-06 23:19:02 +08:00
SoftFever
dc55845a40 tweak machine end gcode for qidi 2023-08-06 23:18:36 +08:00
SoftFever
6800291468 Revert "update PA tower so it's one wall for most nozzles(0.4 upwards)"
This reverts commit ab6649da8a.
2023-08-06 21:20:59 +08:00
SoftFever
fcc19342c5 DummyPR (#1698)
* upload deps binaries
2023-08-06 18:24:49 +08:00
SoftFever
ff6bf5e5ad update Czech translation on behalf of @renemosner (#1702) 2023-08-06 18:12:01 +08:00
SoftFever
ba3c1eb23b Update README.md
update discord link
2023-08-05 09:49:54 +08:00
SoftFever
4705867d2a Update README.md 2023-08-05 09:40:05 +08:00
SoftFever
0fa666792a bump version to 1.6.4-beta2 2023-08-04 21:05:36 +08:00
SoftFever
14f248f8fa fixed an bug that CN plate name was not working properly 2023-08-04 20:36:32 +08:00
Hotsolidinfill
580424701b fix Korean font not be loaded properly (#1681)
* Update Korean Translation
- Make overhang printable
- Lift Z Enforcement
- etc

* fix Korean font not be loaded
2023-08-04 19:15:15 +08:00
Carlos Caruncho
127ce2b909 Spanish translation update (#1646)
* Some Spanish string fixes

PO updated

* More spanish strings fixes

* Compiled MO

* Update spanish strings and MO

* Update

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Delete OrcaSlicer.mo

* update .mo files

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-08-04 19:11:58 +08:00
SoftFever
013a64243f tweak single wall #1680 2023-08-04 18:56:58 +08:00
SoftFever
ce59235bd7 Fix set fan bug 2023-08-04 18:56:58 +08:00
djperya
d381a5ed11 Ukrainian translation (#1672)
* Some Ukrainian translation fixes

* Some Ukrainian translation fixes

* Update OrcaSlicer_uk.po
2023-08-04 18:46:59 +08:00
SoftFever
886c1eee6d update Korean .mo file 2023-08-03 19:01:45 +08:00
Hotsolidinfill
68ac3eb526 Update Korean Translation (#1664)
- Make overhang printable
- Lift Z Enforcement
- etc
2023-08-03 18:20:24 +08:00
SoftFever
f3b1694a14 update latest BL profiles from BS 1.7.1 2023-08-03 08:49:37 +08:00
SoftFever
95539c78fa bump version to 1.6.4-beta 2023-08-03 00:48:54 +08:00
SoftFever
79911ab188 fix build error on Ubuntu and update deps 2023-08-03 00:48:54 +08:00
SoftFever
12195c722f update locale 2023-08-03 00:48:54 +08:00
SoftFever
afdd753db7 tweak profiles 2023-08-03 00:47:48 +08:00
djperya
6c8b011991 Some Ukrainian translation fixes (#1638) 2023-07-31 20:50:41 +08:00
SoftFever
aaefc400e1 Tweak profiles
1. Fix Voron Trident printable height issue #1641
2. Revamp Qidi X3 printer profiles
3. Turn on accel_to_decel_enable for klipper machine by default
4. Many other profiles tweaks
2023-07-31 19:52:56 +08:00
SoftFever
58e24dd270 Revert "Kingroon profiles improves (#1599)"
This reverts commit e78a6d964b.
2023-07-31 18:52:49 +08:00
SoftFever
2903942403 Treat the printer as a generic printer when loading new printers not found in the system from a project file 2023-07-31 00:28:52 +08:00
SoftFever
92b1ff824a Miscellaneous changes for PA calib:
1. Changed printing speed for all PA tests, where the speed will be calculated by max(100, outer_wall_speed) with consideration of max_volumetric_speed.
2. PA tower now uses the classic wall generator.
#1616
2023-07-30 23:03:36 +08:00
Noisyfox
b571318be8 Make Overhang Printable (#1615)
* First working conical overhang impl

* Add settings for Make overhang printable

* Added an Advanced setting to the Quality menu for Make overhang printable
* Allow toggling the feature and adjusting the angle threshold

* Retain recesses in the bottom of the model when "Make Overhangs Printable" is turned on

* Add settings for Make overhang printable hole size

* Allow disabling conical overhang per modifier

* Should check upper layer instead

* Skip unnecessary layers

* Apply conical overhang before any size compensation
which fixs the `lslices` not being updated issue and also the elephant foot compensation

* 1. Fix an issue that changing make_overhang_printable related parameters won't clear caches properly.
2. Tweak the logic of make_overhang_printable parameter so that it works for per region/object/print level. Remove make_overhang_printable_disable parameter.

* Change default make_overhang_printable_angle to 55

* One more missing commit

* 1. Skip checking default_region_config()->make_overhang_printable
2. Handle make_overhang_printable_angle and make_overhang_printable_hole_size value change

---------

Co-authored-by: David Bern <odie5533@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-07-30 20:20:43 +08:00
SoftFever
ab6649da8a update PA tower so it's one wall for most nozzles(0.4 upwards) 2023-07-30 19:38:34 +08:00
SoftFever
71b76d74d7 Fixed a regression where print settings set by calibration features were not applied properly #1614 2023-07-30 19:25:02 +08:00
Carlos Caruncho
e78a6d964b Kingroon profiles improves (#1599)
* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

More strings!

* Update OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* Update Orcaslicer spanish

* Merge

* Corregidos duplicados

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po
	modified:   bbl/i18n/es/OrcaSlicer_es.mo

* modified:   bbl/i18n/es/OrcaSlicer_es.mo

* Update Orca es

* FIX:orcaslicer_es.po  some strings

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po
	modified:   resources/i18n/es/OrcaSlicer.mo

* Update text.js

Added es_ES to text.js (spanish strings)

* Kingroon profiles added

Added Kp3s and kp5l printers

* Update OrcaSlicer_es.po

CAMBIOS EN CUARTEL

* Update OrcaSlicer_es.po

* [FIX] Fixed some spanish strings

Improved translation

* More spanish string fixes

More fixes

* Fix More Spanish Strings

* add kingoon profiles

* Last mo update

* Fix KP3S PRO S1 profile

* Kingroon printers fixes

* Update OrcaSlicer.mo

* Added plate bed

* [FIX] Some Kingroon profiles fixes

* Kingroon profile improves

Brong start gcode

* Kingroon profile improves

Deleted some profiles

* Some fixes

* More fixes
2023-07-30 13:58:43 +08:00
ovlach
a329497f49 fix: ambiguous call _check_convertible_to_path_source(const wxCStrData&) (#1597)
* fix: ambiguous call _check_convertible_to_path_source(const wxCStrData&)

* change to ToStdWstring() per discussion

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-07-30 09:46:50 +08:00
SoftFever
2dfb4f1a68 Optimized gcode generation. Reduce set fan speed commands #804 2023-07-30 00:16:09 +08:00
djperya
979b17fab7 compilation errors fixed of Ukrainian localizalion (#1610)
* compilation errors fixed of Ukrainian localizalion

* add UKRAINIAN lang option in UI

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-07-29 10:13:17 +08:00
Noisyfox
d7a1241550 Port single wall on top surface from classic wall generator to Arachne (#1583)
* Port single wall on top surface from classic wall generator to Arachne

* Move the surface split code into a separate function to be shared between classic and Arachne. This also adds bridge detection to Arachne as well.

* Remove unwanted infills

* Fix insets calculating

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-07-29 10:12:47 +08:00
Carlos Caruncho
c13a2e57e2 Spanish translation improves and compiled MO (#1607)
* Some Spanish string fixes

PO updated

* More spanish strings fixes

* Compiled MO
2023-07-28 22:20:58 +08:00
SoftFever
0657ad9e58 Overhang tweaks:
1. Revert back to classic overhang
2. Support percent for overhang speed
2023-07-28 00:19:08 +08:00
Jason M-H
be54f6bc99 Calculate extrusion width %s as a function of nozzle width, not layer height (#1578)
* Calculate extrusion width %s as a function of nozzle width, not layer height

* handled more width conversions

* more missing percent handling

* even more missed percent handling

* even more more extrusion % handling

* some fixes

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-07-27 23:37:47 +08:00
SoftFever
71ddef9724 fix misspelling in the tooltip of Filter out tiny gaps option #1606 2023-07-27 22:21:10 +08:00
SoftFever
5c71994c83 update locale 2023-07-27 22:10:39 +08:00
SoftFever
1a869cfca9 Merge branch 'main' of github.com:SoftFever/OrcaSlicer 2023-07-27 22:03:45 +08:00
SoftFever
ff7fb51f41 fix sidelable font 2023-07-27 22:03:32 +08:00
SoftFever
53688791af skip overhang degree check in PerimeterGenerator when overhang_speed_classic is not enabled 2023-07-27 22:03:12 +08:00
ovlach
df819b2778 Use namespaces to link against libcereal >= 1.3.1 (#1596)
0ffcfd8393

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-07-27 21:58:19 +08:00
thewildmage
910d79ae6f Fix overly persistent pressure advance pattern (#1591)
* Reset model's calib_pa_pattern as needed

* Add initial config for skirt and brim in PA pattern
2023-07-26 19:23:41 +08:00
djperya
c0cb91bb8a Create OrcaSlicer_uk.po (#1601)
Add Ukrainian translation
2023-07-26 19:16:07 +08:00
Carlos Caruncho
9368ca46ed Some Spanish string fixes (#1600)
PO updated
2023-07-26 19:14:34 +08:00
Morton Jonuschat
b5d5b972fc [BUGFIX] Fix emitting Klipper SET_VELOCITY_LIMIT commands (#1598)
[BUGFIX] Fix Klipper SET_VELOCITY_LIMIT code

- Always write out SET_VELOCITY_LIMTIT ACCEL=<acceleration> independently of the accel_to_decel setting
- Append the ACCEL_TO_DECEL fragment if enabled in config
2023-07-26 19:11:47 +08:00
SoftFever
7f6f01c4c9 QoL: remember each printer's filament/bed/process settings (#1592)
* init work
TODO:
1. support multi filament
2. support project

* Properly handle filament number change when switching printers
2023-07-25 21:54:34 +08:00
SoftFever
6aa3e400d1 reduce AppConfig::Save() calls 2023-07-25 19:19:49 +08:00
Carlos Caruncho
cccc857f6f Fixed spanish translation and kingroon profiles added (#1572)
* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

More strings!

* Update OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* Update Orcaslicer spanish

* Merge

* Corregidos duplicados

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po
	modified:   bbl/i18n/es/OrcaSlicer_es.mo

* modified:   bbl/i18n/es/OrcaSlicer_es.mo

* Update Orca es

* FIX:orcaslicer_es.po  some strings

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po
	modified:   resources/i18n/es/OrcaSlicer.mo

* Update text.js

Added es_ES to text.js (spanish strings)

* Kingroon profiles added

Added Kp3s and kp5l printers

* Update OrcaSlicer_es.po

CAMBIOS EN CUARTEL

* Update OrcaSlicer_es.po

* [FIX] Fixed some spanish strings

Improved translation

* More spanish string fixes

More fixes

* Fix More Spanish Strings

* add kingoon profiles

* Last mo update

* Fix KP3S PRO S1 profile

* Kingroon printers fixes

* Update OrcaSlicer.mo

* Added plate bed
2023-07-23 12:03:53 +08:00
Jason M-H
7a3971eca5 Add Lift Z only Above/Below, On Surface (e.g. Only on Top) (#1562)
* Added config options for Enforce Lift Z (from SS, doesn't affect Gcode
yet)

* working, minus first layer override; also fixed m_last_extrusion_role not being set

* fixed logic to match SS

* minimize to just one config

* removed first layer override

* Cleaned up logic, working as intended

* added lift above z, lift below z; somehow broke filament overrides

* fixed overrides not working, but lift above/below and enforce don't override

* fixed filament overrides

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-07-22 21:07:13 +08:00
thewildmage
777c7c68f9 Add Ellis' pattern method for pressure advance calibration (#1547)
* Add pattern method to Pressure Advance dialog

* Convert calib_pressure_advance to more unique calib_pressure_advance_line

* Share move_to function with PA lines and patterns

* Add PA pattern to calib.hpp

* Implement move_to(Vec3d). Combine with Vec2d version

* Add call to PA pattern in GCode.cpp

* Add helper functions

* Add directionality to draw_digit

* Extract shared number drawing variables

* Extract convert_number_to_string function

* Use in-class initializers for pattern variables

* Add max_numbering_height function

* Add helper functions

* Extract shared delta helper functions

* Add pattern generate_test() and associated helpers

* Clarify use of math functions

* Remove unused move_to overload, accept move_to comments

* Add get_distance() and draw_line()

* Extract set_nozzle_diameter()

* Clean up and simplify

* Rearrange and clean up

* Start work on print_pa_pattern

* Complete basic draw_box function

* Add more helper functions

* Add struct for pattern config, more helpers

* Rearrange

* Add encroachment member variable

* Add structs to manage optional arguments

* Simplify optional arguments structs

* Update opt args usage. Finish draw_box function

* Complete print_pa_pattern function

* Reuse PA Line STL

* Fix forward declaration error

* Fix invalid comparison

* Fixing complier errors

* Make DrawDigitMode options more clear

* More compilation error fixes

* Yet more compile error fixes

* Fix incorrect default step value

* Handle top-level dialog changes, consolidate params definitions

* Add layer change G-code, set more print variables

* Simplify optArgs constructors

* Fix pattern drawing, minor misc. clean up

* Make draw_box() G-code comments more helpful

* Make more of draw_line() const

* Fix sequential number draw direction

* Extract shared e_per_mm function

* Fix misplaced decimal in PA Line

* Move short constructor into .hpp

* Fix inverted Y direction in pattern digit drawing

* Use placeholder STL to create needed layers

* Rearrange and clean up

* Proof of concept: Adding custom G-Code at layer

* Use new scaling method

* Reorganize Plater::calib_pa()

* Restructure calib

* New strategy for adding custom G-code

* Remove redundant invocation

* Use cube primitive as positioning handle

* Move logic to Plater

Modifications to model in GCode cancelled _do_export from within itself

* Consolidate m_starting_point and pattern_start functions

* Replace bed_center() with m_starting_point

* Fix and consolidate number tab creation

* Fix off by one layer bug

* Use correct bounding box

* Use Vec3d instead of Vec2d for m_starting_point and m_last_pos

* Add translate_starting_point function

* Vec3d fix

* Store CalibPressureAdvancePattern with model

* Formatting adjustments

* Move pattern when handle moves

* Improve const correctness

* Improve/fix pattern writer and config

* Fix speed setting bug

* Pass model into generate_gcodes to improve consistency

* Re-generate pattern on reslice

* Make pattern actually move with handle

* Fix overzealous m_last_pos initialization

* Use clearer function names

* Use correct model

* Remove unused member variable

* Don't hard-code print config settings

* Remove unused lines, formatting clean up

* Make sure set_key_value operates on existing keys

* Remove asserts which limited life of key/value set

* Update Calibration.md

* Update licensing info

* Actually use speed in draw_line

* Don't speed_adjust twice

* doc: Make width and speed settings used more clear

* Bugfix: Shouldn't need to move handle to see pattern

* Clean up

* Move mp_gcodegen into line method alone

* Fix wrong number thickness in PA Line

* Remove unnecessary middleman PatternSettings

* Give value of config to const m_initial_config, not ref

* Fix incorrect DrawBoxOptArg default

* Use line_width_anchor() for all of initial layer

* Use clearer function name

* Replace "anchor" with "first_layer" for better consistency

* Update Calibration.md

* Update Calibration.md

* Make number tab infill explanation more clear

* (Hopefully) fix missing origin

* Add GCodeProcessor tags

* Fully refresh config

* Don't store is_bbl_printer

* Move set_starting_point to private

* Don't constantly recreate GCodeWriter

* Use different step value for pattern test

* Remove redundant processor tags

* Label glyph G-code

* Fix comparison typo

* Set number print speed

* Fix mixed up draw_number parameter

* Don't use line_width_first_layer for pattern

* (Hopefully) fix temp tower generating PA pattern

* Start with pattern centered on plate

* Add gap between pattern and handle

* Fix overly persistent pattern

* Revert "(Hopefully) fix temp tower generating PA pattern"

This reverts commit 0aa1206886.

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-07-22 20:48:56 +08:00
ZdDroid
87f6c43784 Display print end time for in BL device page (#1568)
Show progress increase end time
Supplementary translation

Co-authored-by: ZdDroid <601865048@qq.com>
2023-07-22 10:40:15 +08:00
Hotsolidinfill
224e1ea2de Add Korean translation + Font problem (need help) (#1553)
* add ko_KR

* add

* additional translation
"Tip of the Day"

* add korean to language list

* -Fix Korean translation
-Add Russian to language list
2023-07-20 22:59:11 +08:00
SoftFever
f5b824eaa2 1. temp fix for Korean font
2. fix crashes when cjk language is use but the system don't have unicode support enabled on Windows
2023-07-19 18:17:21 +08:00
SoftFever
b5cbb42e62 fix build errors for relwithdebinfo 2023-07-19 18:16:35 +08:00
SoftFever
fda21497fc revert back to 2019 runner 2023-07-18 01:07:25 +08:00
SoftFever
ed156c1fc9 fix win cicd, revert back to vs2019 2023-07-18 01:02:42 +08:00
Heiko Liebscher
3725ef1e1b fix lang files (gettext tool) (#1550) 2023-07-17 20:38:18 +08:00
SoftFever
40a17695c5 fix vs2022 deps 2023-07-16 10:58:18 +08:00
SoftFever
9253fed401 add vs2022 bat 2023-07-15 00:10:03 +08:00
SoftFever
b76be35d5a fix OCCT patch failure 2023-07-15 00:10:03 +08:00
stasyan68
053bb37ece added Russian translation (#1509) 2023-07-11 00:06:44 +08:00
Carlos Caruncho
453b0cf8e6 OrcaSlicer_Es.po spanish translation finished (#1483)
* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

More strings!

* Update OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* Update Orcaslicer spanish

* Merge

* Corregidos duplicados

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po
	modified:   bbl/i18n/es/OrcaSlicer_es.mo

* modified:   bbl/i18n/es/OrcaSlicer_es.mo

* Update Orca es

* FIX:orcaslicer_es.po  some strings

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po

* modified:   bbl/i18n/es/OrcaSlicer_es.po
	modified:   resources/i18n/es/OrcaSlicer.mo

* Update text.js

Added es_ES to text.js (spanish strings)
2023-07-10 22:29:19 +08:00
SoftFever
e3a85e2b33 use smaller font for codes 2023-07-08 14:48:07 +08:00
SoftFever
3d7c45c6dc fix wrong default support_threshold_angle value 2023-07-07 10:38:55 +08:00
SoftFever
809278320e clear m_calib_config before each print 2023-07-07 01:03:32 +08:00
SoftFever
bdf8c8d5b1 Merge remote-tracking branch 'remote/v1.6.0'
# Conflicts:
#	.github/workflows/build_ubuntu.yml
#	src/libslic3r/Print.cpp
#	version.inc
2023-07-07 00:38:54 +08:00
SoftFever
93b8d7aeff update po/pot files 2023-07-07 00:07:31 +08:00
SoftFever
e94fe296ee Improve seams:
1. Turn off wipe_on_loops by default
2. Change default wipe distance to 1 mm
2023-07-06 21:11:55 +08:00
SoftFever
c3c6bbc4e5 Port PrusaSlicer staggered_inner_seams 2023-07-06 21:08:39 +08:00
SoftFever
b47777e73e optimize gcode generation 2023-07-06 00:01:06 +08:00
Carlos Caruncho
85882c3dde Update OrcaSlicer_es.po (#1443) 2023-06-30 22:46:21 +08:00
SoftFever
1318051bc3 update gitignore 2023-06-30 20:17:58 +08:00
SoftFever
f6c5369e76 fix OCCT build on Mac when build_release_macos.sh 2023-06-30 14:00:53 +08:00
SoftFever
d6fedfb47a update doxygen setting 2023-06-30 13:59:41 +08:00
Jeremy Lucas
92e02dbef4 Added doc & photo for wiki guide for max volumetric flow (#1301)
* Added doc and photo for max volumetric flow

* Fixed comments on doc. Same old image

* Added photos and finished description

* Forgot to save

* Added other method back in
2023-06-29 12:04:16 +08:00
Dylan
1a809b0931 Fix check multi filament valid (#1433)
* no need to check different filaments if using a multi-head printer

* bed temperatures warning
2023-06-29 12:03:34 +08:00
igiannakas
1c780496aa Optimise sandwich wall mode when perimeters are shared with multiple islands(Arachne only) (#1352)
* Update PerimeterGenerator.cpp

* PerimeterGenerator updated with improved Sandwich infill handling

Cleaned up code

* Beautified syntax

* Optimise the logic

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-06-29 12:02:07 +08:00
Scott Mudge
8e4a43ea5c Add option for skirt-speed override (#1371)
Add skirt speed option.

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-06-26 20:53:17 +08:00
Dylan
e925db8c0f fix is_extruder_used (#1422) 2023-06-25 15:18:56 +08:00
SoftFever
3fee164058 update linux deps 2023-06-25 14:39:08 +08:00
Scott Mudge
1ef8ca2de0 Bugfix for zero-width tree supports (#1367)
fix bug with zero width tree supports throwing exception.
2023-06-25 13:38:29 +08:00
Scott Mudge
b943a04da7 Fix tooltip referencing "Studio" (#1370)
Fixed language with reference to "Studio"
2023-06-25 13:32:47 +08:00
SoftFever
4a799aa770 update Ubuntu deps 2023-06-11 14:44:44 +08:00
Maciej Lisiewski
e065809e3a Fix building with GCC13 (required to build on Arch and Fedora) (#1220)
* Backport TBB fix to allow building on GCC13

* Fix OpenEXR build with GCC13

* Fix Clipper2 build with GCC13

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-06-11 11:36:33 +08:00
SoftFever
6108d8ee40 tweak ubuntu packages 2023-06-08 16:42:42 +08:00
SoftFever
d54861b8f7 add mac arm64 for build_deps 2023-06-07 17:44:48 +08:00
SoftFever
42d78a3a57 update cicd triggers 2023-06-07 16:02:45 +08:00
SoftFever
6aa84e8c42 build deps cicd 2023-06-07 15:42:18 +08:00
SoftFever
483febb01d fix build_deps syntax 2023-06-07 15:13:02 +08:00
SoftFever
678a0918d2 build deps 2023-06-07 14:50:19 +08:00
Heiko Liebscher
335ba93982 fix some typo and new feature (#1202) 2023-06-05 11:02:07 +08:00
Heti
9861051cd7 Easier solution to allow opening the app on OSX described in README.md (#1232)
Update README.md

Easier solution to allow opening the app
2023-06-05 10:54:25 +08:00
Branden Cash
c675d979a7 fix(macos): disable App Transport Security (#1157)
* feat(webview): enable context menu

This enables the ability (at least on MacOS) to reload the webview.

* fix(webview): add handler for webview error

Adding this un-covered the following error when trying to load a the printer page using http and hostname:
```
OnError: error loading page about:blank  wxWEBVIEW_NAV_ERR_OTHER The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.

```

* fix(macos): disable App Transport Security policy

Disables the [App Transport Security](https://developer.apple.com/documentation/bundleresources/information_property_list/nsapptransportsecurity) policy that blocks loading http urls (via hostname...ip addresses were fine because ip addresses can't have certs, so they would be excluded from the ATS restriction).

Resolves #791
2023-06-01 00:14:47 +08:00
SoftFever
a636df63c1 bump version to 1.6.3 2023-05-28 10:51:25 +08:00
SoftFever
48a7e73fe7 Tweak default settings for Qidi: turn off ironing by default and turn arc fitting for 3 serials 2023-05-28 10:48:34 +08:00
Cyril Guislain
35e75b9824 Update French Translation / Add missing translation strings (#1153)
Update French Translation / Add missing strings
2023-05-28 10:46:42 +08:00
SoftFever
fb6d5e5547 add run_gettext.bat for Windows 2023-05-28 09:55:05 +08:00
SoftFever
c942447f7f Add back missing printer cover photos 2023-05-27 19:43:44 +08:00
SoftFever
da73688e76 Add more PrusaSlicer compatible placeholder #1142 #1148 2023-05-27 19:38:14 +08:00
SoftFever
1ab212512e 1. Add run_gettext.sh
2. Update locale
2023-05-27 19:08:42 +08:00
SoftFever
8b0e307941 infill_anchor #500 #136 2023-05-27 17:39:48 +08:00
SoftFever
aa4704a6db Decrease default PETG temp for temp tower test #1117 2023-05-27 10:17:49 +08:00
fr3ak2402
cf4df922bf fix BIQU Profiles (#1147) 2023-05-27 09:07:29 +08:00
SoftFever
2f34ddb524 Fixed an issue that project file(.3mf) can't be loaded if plate name contains illegal characters like & #1141 2023-05-26 23:43:34 +08:00
SoftFever
442c232323 Skip checking Repetier server name #1116 2023-05-24 00:27:29 +08:00
SoftFever
ab5e7f7de8 tiny code clean up for Improve bridge_density commit 2023-05-22 21:14:11 +08:00
SoftFever
fe6ce5e28a Improve bridge_density #1043 2023-05-22 20:35:20 +08:00
YGK3D
9b7d72584c Update RRF start script for Vivedino Troodon 2.0 (#1104)
* Added profiles for Vivedino Troodon 2.0

* Added printer images for Vivedino Troodon 2.0

* Delete Troodon 2.0 - Klipper_cover.png

* Delete Troodon 2.0 - RRF_cover.png

* Move printer images to vendor folder

* Update RRF start script
2023-05-21 11:41:57 +08:00
Tyler Cushing
64a55a4fbe Update fdm_filament_common.json (#1103)
Set default filament diameter to 1.75mm.
2023-05-21 09:55:43 +08:00
fr3ak2402
7809fabcbf add Raise3D printer profiles (#1087)
* add Raise3D printer profiles

Raise3D Pro3
Raise3D Pro3 Plus

* add more Sovol profiles

Sovol SV06
Sovol SV06 Plus

* Add & modify Anycubic profiles

Anycubic Chiron
Anycubic Kobra Max

Anycubic Vyper process 0.15mm & 0.30mm
2023-05-20 19:33:16 +08:00
Musicdad
8d96c42a3e Add Folgertech Printers (#1048)
Profiles for Folgertech Printers includes i3, FT-5, FT-6


Co-authored-by: Musicdad12 <seanmccallister12@gmail.com>
2023-05-20 19:32:06 +08:00
Heiko Liebscher
2d92d2f4e1 de fix translation #1057 (#1078)
* de-fix for new features

* fix de translation #1057
2023-05-20 16:20:52 +08:00
SoftFever
b3daa514fa README: track status badge of main branch 2023-05-15 08:05:19 +08:00
SoftFever
9bd6fed379 update WIKI 2023-05-15 00:07:56 +08:00
SoftFever
914aff54f7 fix a typo in OrcaSlicer_en.po 2023-05-14 22:11:11 +08:00
SoftFever
f2dfadeb64 trigger build for locale/resource changes 2023-05-14 21:29:51 +08:00
SoftFever
c0c8ea95ca update cn translation 2023-05-14 21:23:34 +08:00
fr3ak2402
e6f3427bb9 add Anycubic Vyper profile (#1062) 2023-05-14 21:10:55 +08:00
Heiko Liebscher
ff455c6dc4 de-fix for new features (#1059) 2023-05-14 21:10:05 +08:00
SoftFever
dfe3c15f7c update wiki test 2023-05-14 18:18:20 +08:00
SoftFever
45d2369cac Merge remote-tracking branch 'origin/PublishDocsToWiki' 2023-05-14 16:35:18 +08:00
SoftFever
90ab9bd893 Update workflow 2023-05-14 16:27:23 +08:00
SoftFever
7fc16d8774 Update locale
1. include PhysicalPrinterDialog.cpp in the list.txt
2. Update Chinese translation
3. Add handy models to the translation list
2023-05-14 12:50:43 +08:00
fr3ak2402
37e105c1e8 Improvement Artillery Sidewinder X2 Profile & other small changes (#1053)
* Add & revise FLSun Profile

FLSun Q5
FLSun QQ-S Pro

* Patch Artillery Sidewinder X2 profile

revision speed parameters
revision start & end code

* change Anycubic 4Max Pro image

* Adjustments to the profile of the Anycubic 4Max Pro

Preparation for adding more Anycubic printers

* add more Anycubic profiles
2023-05-14 09:18:02 +08:00
SoftFever
938d25ef50 Fixed an issue that Orcaslicer didn't jumping to device tab after sending job #520 #567 #1044 #1047 2023-05-14 00:31:31 +08:00
SoftFever
56f8552dab tweak tol model 2023-05-14 00:28:49 +08:00
SoftFever
cf8c6e22bd Orca Tolerance Test 2023-05-13 18:22:55 +08:00
YGK3D
951293c642 Add printer profiles for Vivedino Troodon 2.0 (#1041)
* Added profiles for Vivedino Troodon 2.0

* Added printer images for Vivedino Troodon 2.0

* Delete Troodon 2.0 - Klipper_cover.png

* Delete Troodon 2.0 - RRF_cover.png

* Move printer images to vendor folder
2023-05-12 23:31:24 +08:00
fr3ak2402
7bf453ab0f Add & revise FLSun Profile (#1045)
* Add & revise FLSun Profile

FLSun Q5
FLSun QQ-S Pro

* change FLSun V400 printer image
2023-05-12 23:26:06 +08:00
SoftFever
51de2debb3 optimized M106 command
write down integer number instead of float
2023-05-12 23:12:50 +08:00
fr3ak2402
507db8c301 add more printer profiles (#1038)
* Delete SW-x2.png

* Add Artillery Sidewinder X1 profile

* add Elegoo Neptune profile

* Update Elegoo Neptune 2S 0.4 nozzle.json

* Change start code parameters
2023-05-12 18:45:14 +08:00
Scott Mudge
e23b600239 Fix build warnings, update deprecated boost headers (#1035)
Fix build warnings, update deprecated boost headers.
2023-05-11 23:46:15 +08:00
fr3ak2402
2e2ea807a6 add BIQU Printer images (#1028) 2023-05-11 07:34:17 +08:00
SoftFever
08a94681ca minor change: use [bed_temperature_initial_layer_single] instead of [hot_plate_temp_initial_layer] for some profiles 2023-05-10 22:48:12 +08:00
SoftFever
79a43da863 minor changes
1. when default hotend model
2. apply speed change for current path
2023-05-10 22:32:51 +08:00
SoftFever
35f8dba5ab fine tune retraction test 2023-05-10 22:32:51 +08:00
Musicdad
c9fcc421c9 Add support for BIQU Printers (#1024)
* Add support for BIQU Printers

Adds printers BIQU B1, BX, and Hurakan

* Requested changes made to profiles

---------

Co-authored-by: Musicdad12 <seanmccallister12@gmail.com>
2023-05-10 22:32:20 +08:00
fr3ak2402
382dd9b4c2 Start code correction for Creality, Voxelab, Sovol & Elegoo printers (#1021)
* Adding more Elegoo printer profiles

Elegoo Neptune X
Elegoo Neptune 2
Elegoo Neptune 2S
Elegoo Neptune 2D

* add ultimaker 2 profile

* Error corrections in the G-code

Error Correction of the start codes, so that no error message appears any more.

* Change G-Code Parameter
2023-05-10 22:28:10 +08:00
fr3ak2402
ef370bf6f1 Add Ultimaker 2 profile (#1003)
* Adding more Elegoo printer profiles

Elegoo Neptune X
Elegoo Neptune 2
Elegoo Neptune 2S
Elegoo Neptune 2D

* add ultimaker 2 profile
2023-05-09 20:51:30 +08:00
Mike Constantino
aeb2b0e41d Fix acceleration being set when disabled in PA line calibration (#1011)
Update GCode.cpp

Fixed issue where acceleration was being set on PA line calibration even when disabled in settings
2023-05-09 20:50:08 +08:00
Heiko Liebscher
dedd900be4 lang fix (#1012)
next fix
2023-05-09 20:49:39 +08:00
Xander Forge
692350a214 Fix mistake in "0.28mm Extra Draft @MyKlipper.json" (#1013) 2023-05-09 20:47:29 +08:00
Heiko Liebscher
00b172f4c6 fix pot and lang after PR (#1001) 2023-05-08 23:07:42 +08:00
Scott Mudge
6875e2aac5 Fixed double-label for fan speed-up time, fixed label to include hyphen (#996)
Fixed double-label for fan speed-up time, fixed label to include hyphen.
2023-05-08 23:06:18 +08:00
Scott Mudge
884041960e Fixed double-label for fan speed-up time, fixed label to include hyphen (#996)
Fixed double-label for fan speed-up time, fixed label to include hyphen.
2023-05-08 22:24:39 +08:00
fr3ak2402
73e14c90ea Adding more Elegoo printer profiles (#993)
Elegoo Neptune X
Elegoo Neptune 2
Elegoo Neptune 2S
Elegoo Neptune 2D
2023-05-08 22:23:45 +08:00
SoftFever
c81ca8c9d7 profile cover image reorg 2023-05-07 23:52:11 +08:00
SoftFever
c9b20a0e10 fix a regression in layer time(log) view 2023-05-07 23:52:11 +08:00
SoftFever
da90e22b9f Support interface fan speed 2023-05-07 23:52:11 +08:00
SoftFever
be4373583f Number of slow layers #796 2023-05-07 23:52:11 +08:00
SoftFever
117cda00bc improve retraction tower model 2023-05-07 23:52:11 +08:00
SoftFever
7d122fb479 support full_fan_speed_layer 2023-05-07 23:52:11 +08:00
SoftFever
ef83e47612 Fix a regression: Generic filament profiles conflicts #981 2023-05-07 23:52:11 +08:00
SoftFever
3d6b59b904 Uncheck print number for PA tower #975 2023-05-07 23:52:11 +08:00
SoftFever
0d5a1c7dd2 fix missing default 3d hotend model #976 2023-05-07 23:52:11 +08:00
SoftFever
99230aabac Calibration: retraction test 2023-05-07 23:52:11 +08:00
fr3ak2402
a14943665b Revise and add new Creality profiles & Fix SecKit Filaments (#974)
* Revise and add new Creality profiles

* Correction of SecKit filaments

* Add Creality Ender-3 S1 Pro Profile & change snapmaker printer images

* Revision of the printer Creality & SecKit Printer ID
2023-05-07 22:50:18 +08:00
Heiko Liebscher
cd9ca51035 Fix german hotkey #950 (#984)
* fix empty label

* many typos fixed

* Magic Hotkey fix

* Typo in initial Setup Wizard #982
2023-05-07 22:00:00 +08:00
SoftFever
4807b9d1b6 Fix an issue that OrcaSlicer can't open previously generated gcode/.3mf file #712 #958 2023-05-06 20:13:58 +08:00
SoftFever
52d6dc71eb update gitignore 2023-05-06 18:12:20 +08:00
SoftFever
a2204b5af6 Improve bridging for one top perimeter when classical wall generator is used. 2023-05-06 13:46:06 +08:00
SoftFever
005038427a remove duplicated bridge_angle 2023-05-06 13:46:06 +08:00
Scott Mudge
2e223551e4 Fan Speed Delay + Fan Kickstart Feature (#910)
Initial commit for fan speed delay, required some changes when porting from SuperSlicer.

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-05-06 13:41:47 +08:00
fr3ak2402
d6290fdbbb Add Sovol printer profiles (#963)
* Adding the Qidi X-Plus

Qidi X-Plus profile
Qidi X-Plus image

* Revision of the pressure plate model

Qidi X-Plus

* Add Artillery Profiles

Artillery Genius
Artillery Hornet

* Adds Elepoo Neptune 3 profiles

Elepoo Neptune 3
Elepoo Neptune 3 Pro
Elepoo Neptune 3 Plus
Elepoo Neptune 3 Max

* Revision of the Qidi profiles

Adjustments of the speeds:
Qidi X-Plus
Qidi X-Max
Qidi X-CF Pro

* Revision of the Qidi profiles

Qidi X-Smart 3
Qidi X-Plus 3
Qidi X-Max 3

* Add Voxelab Aquila X2 Profile

* Revision of the Voxelab Processes

Changing the Aquila X2 process names

* Acceleration adjustment Voxelab

Voxelab Aquila X2

* Adjustment of the printing area

* Add Sovol printer profiles
2023-05-05 23:16:41 +08:00
SoftFever
244aa466f9 update cicd 2023-05-05 23:08:36 +08:00
Scott Mudge
a4b4ce0ff7 Dependency Update: add support for Visual Studio 2022, update Boost to 1.78, improve wxWidgets patch (#911)
* Changed wxWidgets to use forked version with patch applied to 3.1.5, rather than patching at build. Updated boost to 1.78 for VS2022 support, and fixed boost compat issue.

* Boost update to 1.78 only for Windows, fixed wxWidgets re-patching issue for Windows, corrected wxWidgets webview nuget hash.

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-05-05 23:01:10 +08:00
fr3ak2402
f6741a933f Add Voxelab Aquila X2 Profile (#956)
* Adding the Qidi X-Plus

Qidi X-Plus profile
Qidi X-Plus image

* Revision of the pressure plate model

Qidi X-Plus

* Add Artillery Profiles

Artillery Genius
Artillery Hornet

* Adds Elepoo Neptune 3 profiles

Elepoo Neptune 3
Elepoo Neptune 3 Pro
Elepoo Neptune 3 Plus
Elepoo Neptune 3 Max

* Revision of the Qidi profiles

Adjustments of the speeds:
Qidi X-Plus
Qidi X-Max
Qidi X-CF Pro

* Revision of the Qidi profiles

Qidi X-Smart 3
Qidi X-Plus 3
Qidi X-Max 3

* Add Voxelab Aquila X2 Profile

* Revision of the Voxelab Processes

Changing the Aquila X2 process names

* Acceleration adjustment Voxelab

Voxelab Aquila X2

* Adjustment of the printing area
2023-05-05 21:10:04 +08:00
jonkers71
b5829b4556 New Seckit Profile. (#943)
* Added SK-Go3 profile and supporting resources.

* Moved .stl location

* wrong location removed.

* Changed filament settings as SK-Go3 was not set.

* Changed setting_id as requested.
2023-05-05 21:08:53 +08:00
Dylan
4481fe62b5 Add a new placehoder is_extruder_used for IDEX printers (#951)
* add placeholder 'is_extruder_used' for IDEX

* fix code_font using fixed-width font

* fix cmd+shift+g
2023-05-04 22:18:44 +08:00
fr3ak2402
d192a8cc61 Revision of the Qidi Profiles (#940)
* Adding the Qidi X-Plus

Qidi X-Plus profile
Qidi X-Plus image

* Revision of the pressure plate model

Qidi X-Plus

* Add Artillery Profiles

Artillery Genius
Artillery Hornet

* Adds Elepoo Neptune 3 profiles

Elepoo Neptune 3
Elepoo Neptune 3 Pro
Elepoo Neptune 3 Plus
Elepoo Neptune 3 Max

* Revision of the Qidi profiles

Adjustments of the speeds:
Qidi X-Plus
Qidi X-Max
Qidi X-CF Pro

* Revision of the Qidi profiles

Qidi X-Smart 3
Qidi X-Plus 3
Qidi X-Max 3
2023-05-04 20:29:55 +08:00
SoftFever
b9e127afd1 Fix regressions in calibrations after merging upstream changes #930 2023-05-04 20:17:07 +08:00
fr3ak2402
1b2bdd40ac Adds printer profiles for Elegoo printers (#937)
* Adding the Qidi X-Plus

Qidi X-Plus profile
Qidi X-Plus image

* Revision of the pressure plate model

Qidi X-Plus

* Add Artillery Profiles

Artillery Genius
Artillery Hornet

* Adds Elepoo Neptune 3 profiles

Elepoo Neptune 3
Elepoo Neptune 3 Pro
Elepoo Neptune 3 Plus
Elepoo Neptune 3 Max
2023-05-03 21:29:59 +08:00
fr3ak2402
93eff233d5 Adds printer profile for Artillery printers (#923)
* Adding the Qidi X-Plus

Qidi X-Plus profile
Qidi X-Plus image

* Revision of the pressure plate model

Qidi X-Plus

* Add Artillery Profiles

Artillery Genius
Artillery Hornet
2023-05-03 21:11:10 +08:00
Heiko Liebscher
4ba3dbabc8 fix 2 script windows (#926)
* fix 2 script windows

* fix #928
2023-05-03 20:57:38 +08:00
SoftFever
0d9b2167cd Fix thumbnail background 2023-05-02 22:25:29 +08:00
SoftFever
c60669b293 User definable retraction length for filament change #903 2023-05-02 22:25:29 +08:00
fr3ak2402
774c0bc1ad Adds printer profile for Qidi X-Plus printer (#915)
* Adding the Qidi X-Plus

Qidi X-Plus profile
Qidi X-Plus image

* Revision of the pressure plate model

Qidi X-Plus
2023-05-02 22:18:38 +08:00
Heiko Liebscher
1463f1ae9e fix German after big update (#916) 2023-05-02 22:17:46 +08:00
SoftFever
c413a5945f Update French Translation (#914)
In this PR :

- Updated French translation
- Re-added missing translation strings removed by commit e60dc9a
2023-05-01 23:01:34 +08:00
Cyril
c9431bdf2b Update French Translation 2023-05-01 13:07:06 +02:00
SoftFever
ad3a8e766b Merge pull request #896 from fr3ak2402/main
Adds and corrects printer profiles for Qidi printers
2023-05-01 14:08:51 +08:00
SoftFever
54c02521d4 Merge branch 'master-remote' 01.06.00.66
# Conflicts:
#	.github/workflows/build_ubuntu.yml
#	bbl/i18n/OrcaSlicer.pot
#	bbl/i18n/de/OrcaSlicer_de.po
#	bbl/i18n/en/OrcaSlicer_en.po
#	bbl/i18n/es/OrcaSlicer_es.po
#	bbl/i18n/fr/OrcaSlicer_fr.po
#	bbl/i18n/hu/OrcaSlicer_hu.po
#	bbl/i18n/it/OrcaSlicer_it.po
#	bbl/i18n/ja/OrcaSlicer_ja.po
#	bbl/i18n/nl/OrcaSlicer_nl.po
#	bbl/i18n/sv/OrcaSlicer_sv.po
#	bbl/i18n/zh_cn/OrcaSlicer_zh_CN.po
#	resources/i18n/zh_cn/BambuStudio.mo
#	version.inc
2023-05-01 10:21:08 +08:00
fr3ak2402
c81b658cc5 Delete resources/profiles/UltiMaker directory 2023-04-30 14:40:57 +02:00
fr3ak2402
3574bb4638 Delete UltiMaker.json 2023-04-30 14:40:42 +02:00
fr3ak2402
bb8a0a15f4 Delete UltiMaker 2_cover.png 2023-04-30 14:40:13 +02:00
fr3ak2402
71e1bfe9dc Adding the Ultimaker 2 image 2023-04-30 14:15:43 +02:00
fr3ak2402
cc02286963 Adding the Ultimaker 2 profile 2023-04-30 14:14:51 +02:00
fr3ak2402
e266b32b05 Add and revise Qidi printer
Add Qidi X-Max
Add Qidi X-CF Pro

Revise Start & End Code from X-Smart3, X-Plus3, X-Max3
2023-04-30 09:27:35 +02:00
fr3ak2402
6e7f456452 Merge branch 'SoftFever:main' into main 2023-04-30 09:24:59 +02:00
fr3ak2402
3c86c53787 Add more Qidi printer images
Qidi X-Max
Qidi X-CF-Pro
2023-04-30 09:24:51 +02:00
SoftFever
e60dc9afa2 update po file(tied my best... 2023-04-29 20:38:00 +08:00
SoftFever
1a4f028f32 Merge branch 'SoftFever'
# Conflicts:
#	bbl/i18n/OrcaSlicer.pot
#	bbl/i18n/cs/OrcaSlicer_cs.po
#	bbl/i18n/de/OrcaSlicer_de.po
#	bbl/i18n/en/OrcaSlicer_en.po
#	bbl/i18n/es/OrcaSlicer_es.po
#	bbl/i18n/fr/OrcaSlicer_fr.po
#	bbl/i18n/hu/OrcaSlicer_hu.po
#	bbl/i18n/it/OrcaSlicer_it.po
#	bbl/i18n/ja/OrcaSlicer_ja.po
#	bbl/i18n/nl/OrcaSlicer_nl.po
#	bbl/i18n/sv/OrcaSlicer_sv.po
#	bbl/i18n/zh_cn/OrcaSlicer_zh_CN.po
#	version.inc
2023-04-29 20:13:03 +08:00
SoftFever
9304f2016a update wiki 2023-04-29 18:37:01 +08:00
SoftFever
b971e8a73f Update README.md 2023-04-29 18:25:05 +08:00
SoftFever
5f9fe826f0 Merge pull request #838 from chrisribe/PublishDocsToWiki
Publish docs to wiki
2023-04-29 18:16:26 +08:00
SoftFever
2b00228c75 fix thumbnail camera 2023-04-29 16:56:03 +08:00
SoftFever
164c06c1b1 regen po 2023-04-29 15:50:16 +08:00
SoftFever
20195c854b change to multi-plate friendly bed model for Flsun V400 2023-04-29 10:30:43 +08:00
SoftFever
ae2cf4960d fix typo 2023-04-29 10:30:42 +08:00
SoftFever
96eef40baf Merge pull request #873 from fr3ak2402/main
Add Qidi Printer Profiles
2023-04-29 10:30:42 +08:00
SoftFever
f2bd35ed90 Merge pull request #858 from scottmudge/sk-tank-profile
Added profile for SecKit SK-Tank
2023-04-29 10:30:42 +08:00
SoftFever
d13f27e06a Merge pull request #871 from EmanueleGiannuzzi/main
Original PrusaSlicer gradient for GCodeViewer
2023-04-29 10:30:42 +08:00
fr3ak2402
0f3e550c09 Revised printing plate model for all Qidi printers
The margins were made narrower, so that there is more space to the plate title.
2023-04-29 10:30:41 +08:00
SoftFever
62fb261636 Merge pull request #872 from hliebscher/fix-new-de.po
Fix new de.po
2023-04-29 10:30:41 +08:00
fr3ak2402
40c8b12b10 Delete qidi_xsmart3_buildplate_model.stl 2023-04-29 10:30:41 +08:00
fr3ak2402
ae79ec9979 Delete qidi_xmax3_buildplate_model.stl 2023-04-29 10:30:41 +08:00
fr3ak2402
2e532ef2c8 Delete qidi_xplus3_buildplate_model.stl 2023-04-29 10:30:41 +08:00
fr3ak2402
426a5f4932 Revised Qidi Filaments
Removal of standard filament color from all Qidi filaments
2023-04-29 10:30:41 +08:00
fr3ak2402
cfcbfead91 Adding the Qidi Printer Profiles
Revised Qidi Filament Profile
Adding a printing plate model
Revision of the printing plates texture
Revision of the Qidi printer family
2023-04-29 10:30:41 +08:00
Scott Mudge
3267ce73d1 Added profile for SecKit SK-Tank 2023-04-29 10:30:40 +08:00
fr3ak2402
bb624f003b Adding the Qidi printer images
Revision of the printer size on the whole image
2023-04-29 10:30:40 +08:00
SoftFever
8686d434f6 Revert "Merge pull request #868 from fr3ak2402/main"
This reverts commit 3ee801be50, reversing
changes made to bbbed5e8c3.
2023-04-29 10:30:32 +08:00
Heiko Liebscher
7ce404d449 fix mo 2023-04-29 10:30:32 +08:00
SoftFever
28de6c5999 update locale 2023-04-29 10:30:32 +08:00
Heiko Liebscher
787e6a6295 fig new msgid 2023-04-29 10:30:32 +08:00
SoftFever
f3b456e42b Merge pull request #868 from fr3ak2402/main
Adds printer profiles for Qidi printers
2023-04-29 10:30:31 +08:00
SoftFever
ef9fcac29d Merge pull request #866 from Guilouz/main
Updated Translation / Fixed Dark Mode in Machine Tab
2023-04-29 10:30:31 +08:00
fr3ak2402
7cc0cc9381 Merge branch 'SoftFever:main' into main 2023-04-29 10:30:31 +08:00
fr3ak2402
04c9a22f7a Changing the Qidi Printer X-SeriesHortend model 2023-04-29 10:30:31 +08:00
fr3ak2402
04a7aa5dbf change images size (Qidi X-Smart 3)
from 512x512 to 180x180
2023-04-29 10:30:31 +08:00
fr3ak2402
331458f6ef Change the Qidi printer images size
from 512x512 to 180x180
2023-04-29 10:30:30 +08:00
fr3ak2402
51be052388 Merge branch 'SoftFever:main' into main 2023-04-29 10:30:30 +08:00
fr3ak2402
3cf0a8c55a Adjustment of the Build Plate of X-Plus 3 2023-04-29 10:30:30 +08:00
fr3ak2402
916fbf8488 Change Qidi X-Max 3 bed_texture file
Corrected Bed Size Labelling
2023-04-29 10:30:30 +08:00
fr3ak2402
4d37d87a3f Delete qidi_buildplate_xmax3.png 2023-04-29 10:30:30 +08:00
fr3ak2402
d90a73b3a9 Delete qidi_buildplate_xsmart3.png 2023-04-29 10:30:30 +08:00
fr3ak2402
d29435507c Delete qidi_buildplate_xplus3.png 2023-04-29 10:30:29 +08:00
fr3ak2402
930494c5d3 Update Qidi printer profiles
Add 0.12. 0.16, 0.25. 0.30 processes

Change bed_textures from png-files to sig-files
2023-04-29 10:30:29 +08:00
fr3ak2402
8d149e45dc Update Qidi JSON 2023-04-29 10:30:29 +08:00
fr3ak2402
3983c10871 Delete Qidi.json 2023-04-29 10:30:29 +08:00
fr3ak2402
5c1f3c3194 Update Qidi JSON 2023-04-29 10:30:29 +08:00
fr3ak2402
12cf7f7637 Delete Qidi.json 2023-04-29 10:30:29 +08:00
fr3ak2402
5edb7bd275 Upload new images for Qidi printers 2023-04-29 10:30:29 +08:00
fr3ak2402
8eb06ae936 Delete Qidi Tech X-CF Pro_cover.png 2023-04-29 10:30:29 +08:00
fr3ak2402
969657f0f0 Delete Qidi Tech X-Max 3_cover.png 2023-04-29 10:30:29 +08:00
fr3ak2402
3df3be898e Delete Qidi Tech X-Max_cover.png 2023-04-29 10:30:28 +08:00
fr3ak2402
2de64aed15 Delete Qidi Tech X-Plus 3_cover.png 2023-04-29 10:30:28 +08:00
fr3ak2402
b2dd68af92 Delete Qidi Tech X-Smart 3_cover.png 2023-04-29 10:30:28 +08:00
fr3ak2402
c62aab459b Change Qidi printer profiles
Recording the profile from the X-Plus3.
Adjusting the names so that all names begin with Qidi.
Adding the Build Plates .
2023-04-29 10:30:28 +08:00
fr3ak2402
0f1526230e Delete Qidi Tech.json 2023-04-29 10:30:28 +08:00
fr3ak2402
4782427aa1 Delete resources/profiles/Qidi Tech directory 2023-04-29 10:30:28 +08:00
fr3ak2402
feee22d22a Merge branch 'SoftFever:main' into main 2023-04-29 10:30:28 +08:00
fr3ak2402
6a0a47a93d Changing the Image Size for Qidi Tech Printers 2023-04-29 10:30:27 +08:00
fr3ak2402
de61cad519 Update Qidi Tech Printer Profile
X-Smart 3
X-Plus 3
X-MaX 3
2023-04-29 10:30:27 +08:00
fr3ak2402
cdd1e38808 Adding more Qidi Tech filaments 2023-04-29 10:30:26 +08:00
fr3ak2402
b74abebd50 Adding Qidi Tech printer images
X-Smart 3
X-Plus 3
x-Max 3
2023-04-29 10:30:26 +08:00
fr3ak2402
a12e6bcea7 Delete Qidi Tech X-PLUS3_cover.png 2023-04-29 10:30:26 +08:00
fr3ak2402
73c8cbf026 Delete Qidi Tech X-MAX3_cover.png 2023-04-29 10:30:26 +08:00
fr3ak2402
0d4183f04b Update Qidi Tech profiles 2023-04-29 10:30:26 +08:00
fr3ak2402
3f486338cc Merge branch 'SoftFever:main' into main 2023-04-29 10:30:26 +08:00
SoftFever
404f79242d update po files and bump version to 1.6.2 2023-04-29 10:30:18 +08:00
SoftFever
305ccccfd6 Merge pull request #865 from hliebscher/fix_de_typo
fix some typos
2023-04-29 10:30:18 +08:00
Cyril
4aa0c1f481 Fix indent 2023-04-29 10:30:18 +08:00
Heiko Liebscher
b5cb62581c fix some typos 2023-04-29 10:30:18 +08:00
Cyril
3736fb0d6e Update Translation / Fixed Dark Mode in Machine Tab 2023-04-29 10:30:18 +08:00
SoftFever
ba34bcda76 update workflow 2023-04-29 10:29:02 +08:00
SoftFever
b61c7892f0 tweak "Based on " string 2023-04-29 10:29:02 +08:00
SoftFever
843239a3ec slow down flsun 2023-04-29 10:29:02 +08:00
SoftFever
61bb16334b enable CICD build for PR 2023-04-29 10:29:02 +08:00
SoftFever
2795c5729a Revert "Merge pull request #800 from EmanueleGiannuzzi/PrusaSlicer-gradient"
This reverts commit e18b151cb4, reversing
changes made to bd2ea4ef3b.
2023-04-29 10:29:02 +08:00
SoftFever
c730121fde Merge pull request #800 from EmanueleGiannuzzi/PrusaSlicer-gradient
Original PrusaSlicer gradient for GCodeViewer
2023-04-29 10:29:01 +08:00
SoftFever
0ea2efa767 Merge pull request #839 from TonyK54/Ender5Pro-Profile
Adding Ender 5 Pro
2023-04-29 10:29:01 +08:00
SoftFever
d85654b540 fix some issues in profiles 2023-04-29 10:29:01 +08:00
lane.wei
b953fd0b4d ENH: switch back to ubuntu 20.04 for building linux
This reverts commit 32f978c8932064395c0cfc3d8c22c2c9a263d4df.
2023-04-28 17:11:46 +08:00
gerrit
dbc797305c ci: update build version to 01.06.02.04
Change-Id: I7bfdc18da15ed4061458a0261b577abfb42abc1c
2023-04-27 15:50:48 +08:00
liz.li
955d9bb84b FIX: mac command key been translated and cannot work
Change-Id: Ib8f83e7c0acee36ebf2f7365f544eeb804b4db8a
2023-04-27 15:50:48 +08:00
gerrit
fe04156500 ci: update build version to 01.06.02.03
Change-Id: Ibbda1d0b2163fbcb318eb6554dbc766c561fddf9
2023-04-27 15:50:48 +08:00
liz.li
8b08d2be9f FIX:add layer range, the extruder should inherit from object config
Change-Id: I11615ebe40393cf1a1fe5caad7490dc6083ec2e7
(cherry picked from commit 864869b656fb4afbf68d47a191b6a8105dd25933)
2023-04-27 15:50:48 +08:00
gerrit
afe0ed6f41 ci: update build version to 01.06.02.02
Change-Id: Id18fc70803c7a5c96749a6b004a3dec1480f3a77
2023-04-27 15:50:47 +08:00
gerrit
48bdf6dbc7 ci: update network module based on commit 2f3f938
Change-Id: I56ea8cf7a512e77d2c7e617fdff381d705399b5c
2023-04-27 15:50:47 +08:00
Stone Li
1f42a95ee4 ENH: update version to 01.06.02.01
Change-Id: I97fbdfb2f58638fd819fc4cec41333ee695547f8
2023-04-27 15:50:47 +08:00
tao wang
18fcbc8857 NEW:add color picker control to material settings
Change-Id: I69dc51b64edb0a44331cd93d7fc157b4b0284fdc
2023-04-27 15:50:47 +08:00
qing.zhang
8be14d6cfe FIX: set temp befor open HB fan to avoid oozing
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ibbda89a855927615d7da0e6da94a988852a10465
2023-04-27 15:50:47 +08:00
qing.zhang
64428b4d3b ENH: add support for PLA and support for PA
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I83781d4e11bd986131caaabba479c0074f2506a0
(cherry picked from commit 545c0122d1c0fce96b62de7ee9042b24911d93a6)
2023-04-27 15:50:47 +08:00
zhimin.zeng
ae0a470f4c FIX: rotate model before cut, the rotation of connectors is incorrect
github issue #1646 & #1647

Change-Id: Iab1d6984685a532011f425e704ccae039a6ef65d
(cherry picked from commit 1219045039de4ac0ed677b264e6e8469e6bc72dd)
2023-04-27 15:50:47 +08:00
zhimin.zeng
6c0d1898b3 FIX: crash when setting negative thickness value on text tool
github issue #1656

Change-Id: Ib77bdd3e4b2508c466d7122a9052d1d15d6bc4bb
(cherry picked from commit 8e347eb971ad28bd53fd4bfcdbccd0b980e81810)
2023-04-27 15:50:47 +08:00
liz.li
d20afab115 FIX: save and load layer_range to 3mf
Change-Id: Ie18aa8140b5c0fbba87be6ef2f8d0c924fa61791
(cherry picked from commit 6ef824bfbe06c694609c8e69338a3628248b93ac)
2023-04-27 15:50:47 +08:00
qing.zhang
9defe7b617 FIX: STUDIO-2383 slicing error while using compensation
set resolution value to 0 could avoid shape error

1. elephant compensation
2. xy-hole-compensation
3. xy-contour-compensation

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I238b6dd3342e09d33f4d10f7928f5fb48371d2b3
(cherry picked from commit f3518dbd226e7fe7cc6e0bbead118aa8321037bd)
2023-04-27 15:50:47 +08:00
SoftFever
5b97935562 optimized hot end model 2023-04-24 17:55:22 +08:00
chris
6ec8f73a76 mod vars 2023-04-24 00:56:17 -04:00
ChrisRibe
130503ce64 Added proper home index list 2023-04-24 00:56:17 -04:00
ChrisRibe
b3e20b382b Use relative links 2023-04-24 00:56:17 -04:00
ChrisRibe
05890f3120 Added default wiki content files
Added the files to doc so they are automatically pushed to the wiki via the github action.
2023-04-24 00:56:17 -04:00
ChrisRibe
27f84b8406 Fixed YAML var usages 2023-04-24 00:56:17 -04:00
chris
97706cc752 Fixed folder name 2023-04-24 00:56:17 -04:00
chris
8bc5b0029a Change branch target (for tests) 2023-04-24 00:56:16 -04:00
chris
2b31a8c4fa YAML error 2023-04-24 00:56:16 -04:00
chris
72f74d14d0 added new publish_docs_to_wiki.yml task 2023-04-24 00:56:16 -04:00
SoftFever
1347bc9290 OrcaArena printers 2023-04-24 10:24:55 +08:00
Cal Heldenbrand
22e9899309 Docker Run: Add gstreamer plugins for video support
These two packages are needed to stream video from the webcam
2023-04-24 09:42:28 +08:00
Cal Heldenbrand
978764433b Fix for MIT-SHM BadAccess X socket permissions
In some X installations using the MIT shared memory
extension for rendering window elements, Bambu
Studio needs direct access to a UNIX socket
for fast rendering.

This fix passes `--ipc host` with docker run
to allow the container to just have direct access
to the host's IPC system.

The error message that this solves is:

```
(bambu-studio:1): Gdk-ERROR **: 00:02:37.498: The program 'bambu-studio' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAccess (attempt to access private resource denied)'.
  (Details: serial 316 error_code 10 request_code 130 (MIT-SHM) minor_code 1)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
```

Here are some extra links for more information:

https://github.com/osrf/docker_images/issues/21
http://wiki.ros.org/docker/Tutorials/GUI
https://en.wikipedia.org/wiki/MIT-SHM
2023-04-24 09:12:34 +08:00
maosheng.wei
114baf7398 FIX: [STUDIO-2687] Translation issues with network plugins
Change-Id: I4c65f659efe44ab04fcf4a2874676761e2f713fb
2023-04-24 09:11:01 +08:00
maosheng.wei
ad035fa637 FIX: [STUDIO-2698] Load failed content translation
Jira: STUDIO-2698

Change-Id: Ic59868492eff4f91b765cb0907a94a880dba9c0f
2023-04-24 09:11:01 +08:00
lane.wei
793c50b1a6 ENH: linux: use ubuntu_latest to compile image for ubuntu
Change-Id: Idb14b776c9215752d37f16167c15b96588b91f22
2023-04-24 09:11:01 +08:00
Arthur
f793254e16 NEW: add icon of rectilinear_interlaced pattern
Change-Id: I2b91167a7efbdd239e0d46fb9643529144c04107
2023-04-24 09:11:01 +08:00
gerrit
b91155f8eb ci: update build version to 01.06.00.66
Change-Id: If03ab70b463e8a16bd76992e5608a940281a4c9b
2023-04-24 09:11:01 +08:00
SoftFever
5a49381d3c custom printer profiles 2023-04-24 02:03:40 +08:00
SoftFever
adae24a847 Merge branch 'main' into feature/merge_upstream 2023-04-23 22:54:41 +08:00
SoftFever
27f92f12dc Fixed an Pressure Advance calibration issue(line) for delta machines #803 2023-04-22 17:27:41 +08:00
SoftFever
40ecd8c831 Disabling acceleration control persists single M204 command in gcode #795 2023-04-22 09:48:14 +08:00
SoftFever
3ea5a75388 gridline more depth 2023-04-20 21:00:58 +08:00
SoftFever
5485e8729c optimize vzbot bed texture 2023-04-20 00:37:07 +08:00
SoftFever
4098a5267c Merge branch 'main' into feature/merge_upstream 2023-04-19 23:22:13 +08:00
SoftFever
f037c3406c tweak gridlines 2023-04-19 19:49:21 +08:00
SoftFever
aa8c6c1ee3 resize SW-x2 bed texture 2023-04-19 19:21:37 +08:00
SoftFever
9f598046d1 Merge remote-tracking branch 'remote/master' into feature/merge_upstream
# Conflicts:
#	bbl/i18n/OrcaSlicer.pot
#	bbl/i18n/de/OrcaSlicer_de.po
#	bbl/i18n/en/OrcaSlicer_en.po
#	bbl/i18n/es/OrcaSlicer_es.po
#	bbl/i18n/fr/OrcaSlicer_fr.po
#	bbl/i18n/hu/OrcaSlicer_hu.po
#	bbl/i18n/it/OrcaSlicer_it.po
#	bbl/i18n/ja/OrcaSlicer_ja.po
#	bbl/i18n/nl/OrcaSlicer_nl.po
#	bbl/i18n/sv/OrcaSlicer_sv.po
#	bbl/i18n/zh_cn/OrcaSlicer_zh_CN.po
#	resources/config.json
#	resources/i18n/de/BambuStudio.mo
#	resources/i18n/en/BambuStudio.mo
#	resources/i18n/es/BambuStudio.mo
#	resources/i18n/fr/BambuStudio.mo
#	resources/i18n/hu/BambuStudio.mo
#	resources/i18n/it/BambuStudio.mo
#	resources/i18n/ja/OrcaSlicer.mo
#	resources/i18n/nl/BambuStudio.mo
#	resources/i18n/sv/BambuStudio.mo
#	resources/i18n/zh_cn/BambuStudio.mo
#	resources/images/ams_humidity_2.svg
#	resources/images/ams_humidity_3.svg
#	resources/images/ams_humidity_4.svg
#	resources/images/ams_humidity_tips.svg
#	resources/images/monitor_state_on.svg
#	resources/images/sdcard_state_normal.svg
#	resources/profiles/BBL.json
#	resources/profiles/BBL/filament/Bambu PETG-CF @base.json
#	resources/profiles/BBL/filament/Generic PETG-CF @base.json
#	resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json
#	resources/web/data/text.js
#	resources/web/guide/3/index.html
#	resources/web/guide/31/index.html
#	src/BambuStudio.cpp
#	src/libslic3r/AABBTreeLines.hpp
#	src/libslic3r/Brim.cpp
#	src/libslic3r/CMakeLists.txt
#	src/libslic3r/ExPolygon.hpp
#	src/libslic3r/Fill/FillBase.hpp
#	src/libslic3r/Format/bbs_3mf.cpp
#	src/libslic3r/GCodeWriter.cpp
#	src/libslic3r/Line.hpp
#	src/libslic3r/PerimeterGenerator.cpp
#	src/libslic3r/Preset.cpp
#	src/libslic3r/Print.cpp
#	src/libslic3r/Print.hpp
#	src/libslic3r/PrintConfig.cpp
#	src/libslic3r/PrintConfig.hpp
#	src/libslic3r/TreeSupport.cpp
#	src/slic3r/GUI/AmsMappingPopup.cpp
#	src/slic3r/GUI/BackgroundSlicingProcess.cpp
#	src/slic3r/GUI/ConfigManipulation.cpp
#	src/slic3r/GUI/GCodeViewer.cpp
#	src/slic3r/GUI/GCodeViewer.hpp
#	src/slic3r/GUI/GLCanvas3D.cpp
#	src/slic3r/GUI/GUI_App.cpp
#	src/slic3r/GUI/MainFrame.cpp
#	src/slic3r/GUI/PartPlate.cpp
#	src/slic3r/GUI/Plater.cpp
#	src/slic3r/GUI/Preferences.cpp
#	src/slic3r/GUI/SelectMachine.cpp
#	src/slic3r/GUI/Widgets/AMSControl.cpp
#	src/slic3r/GUI/wxMediaCtrl2.cpp
#	src/slic3r/Utils/Process.cpp
#	version.inc
2023-04-19 08:48:07 +08:00
gerrit
1f155868bc ci: update build version to 01.06.00.65
Change-Id: Ic02997afaf94adb5294e3e041df79ccab3a16a1b
2023-04-17 15:39:02 +08:00
zhimin.zeng
aaf513b356 FIX: modify the cut picture
Change-Id: I58588d03c4e265d6f7b42ae3339769e1c918b2f8
2023-04-17 15:39:02 +08:00
lane.wei
b2d82e7bbb ENH: thumbnail: regenerate thumbnail for old 3mfs in cli
Change-Id: Ia420b4c6aee072eb2a542dff574260c40de47f7d
2023-04-17 15:39:02 +08:00
gerrit
e31b12f5d7 ci: update build version to 01.06.00.64
Change-Id: I5d13d3bb5e75745159db7e406c02e3b84c433bba
2023-04-17 15:39:02 +08:00
qing.zhang
0dfbc7e719 FIX: conflict of setting-id
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I8eb290e4c1f86635b8d1cbafa80a221ab8ea967c
2023-04-17 15:39:02 +08:00
Arthur
0f61902c8e ENH: add cn translation for conflict check
Change-Id: Id2c034567dbbf8878a601af1af16f1c8d24d1033
2023-04-17 15:39:02 +08:00
manch1n
87eb0f3665 ENH: show the layer and height of conflict position
Change-Id: If80e81b5556f5afc3228a00edc2593bd8cfe63e4
(cherry picked from commit 895e0f2ecf8e259cfdb7c27081b767bfbaa3ffb6)
2023-04-17 15:39:02 +08:00
lane.wei
98f3aaa4bf ENH: CLI: add the gcode path check logic for cli
Change-Id: I424a93d9ca945598da861a1905da07ae14663157
2023-04-17 15:39:02 +08:00
Arthur
1a7b12fa38 FIX: auto-arranging result may fail clearance check
We add 0.001mm tolerance.

Change-Id: I630cc680db0a3a65a6a44e177de686fbac1e1f15
(cherry picked from commit 170f9c2a89d03060f9a9aa43952c0759ffbe7c1f)
2023-04-17 15:39:02 +08:00
gerrit
1cf688725a ci: update build version to 01.06.00.63
Change-Id: Ic7f9b55de7683565e44fcc7e5969d09b0947e14b
2023-04-17 15:39:02 +08:00
tao wang
06da649391 NEW:add chinese translation for confirmation before sending
Change-Id: I4f2c07e7dfdbdf64b419cc1e119c1d622642ddad
2023-04-17 15:39:02 +08:00
qing.zhang
63c9b81127 ENH: update the temp of high plate of PLA Silk
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I1154af98d966aa7a0f384538944d569c190ffd41
2023-04-17 15:39:02 +08:00
tao wang
d930667103 FIX:fixed sending print to LAN printer will crash
Change-Id: I067724e8ebef3425a84f6a230685c48fe48ed055
2023-04-17 15:39:02 +08:00
gerrit
3af80a8252 ci: update build version to 01.06.00.62
Change-Id: I07c035585188c7a244c7f6c703bfce4b70483785
2023-04-17 15:39:02 +08:00
tao wang
ef6827a6f8 FIX:fixed gradient filament color display on MacOS
Change-Id: I57f3243f5013b8d26ace3fae2cc41e807494af6b
2023-04-17 15:39:02 +08:00
gerrit
975aa70651 ci: update build version to 01.06.00.61
Change-Id: I6fcbbf51e3550b0f9b163d3fbe061aaa0f51fdab
2023-04-17 15:39:02 +08:00
tao wang
64e203e05c FIX:fixed some icons cant display when change dark mode
Change-Id: I0984aab97e1a1c151e9173d96c8f012935c48fcb
2023-04-17 15:39:02 +08:00
Arthur
719f273fa2 ENH: improve smoothness of tree supports
1. Instead of smoothing top-down, now we smooth tree branches bottom-up, and do not stop at merged nodes.
2. Fix a bug where some nodes don't have child. This is critical for bottom-up smoothing.

Change-Id: Iac0fecd81dac541ca390bcf5cbdfe7fd66cfd3a2
(cherry picked from commit 536a8a4f0ef76fa0358f4b4b181c4c7e7fff8bc7)
2023-04-17 15:39:02 +08:00
gerrit
763cf8ebfc ci: update build version to 01.06.00.60
Change-Id: Iea950e408c28ece068fbb93bd02f141be16026c6
2023-04-17 15:39:02 +08:00
chunmao.guo
f90974cea7 FIX: only send error log for user triggered live view
Change-Id: Ie2ff3b95d17bb060e203a51dce30c662e63320b6
2023-04-17 15:39:02 +08:00
tao wang
307ade3cd1 ENH:start checking printer connection status after clicking Send
Change-Id: Ibdd8a12b66b649b54b400433f4b3754fc1da478d
2023-04-17 15:39:02 +08:00
maosheng.wei
4d234b9785 FIX: Cancel sequence number
Jira: STUDIO-2688
Change-Id: I29d992354713dcc8caaa8fc2ab98506f1b4e0735
(cherry picked from commit f7a69618813648b0c611c9dfbff3a0ad1d7a18d6)
2023-04-17 15:39:02 +08:00
tao wang
9ca8593604 FIX:update the confirm content before sending for print
Change-Id: I9f6d8060c0c142ee966042a49a4158cb5697c5af
2023-04-17 15:39:02 +08:00
Stone Li
a8a057e514 FIX: compible with old firmware
Change-Id: I66803f95c73ffb82f539c2bfb509266ba9fdb846
2023-04-17 15:39:02 +08:00
tao wang
7e5ddccabe FIX:fixed incorrect english words
Change-Id: Ic1b581d9fbba8cd8be09a9c068a160c1bec6369a
2023-04-17 15:39:02 +08:00
qing.zhang
4c41f46163 ENH: add filament_is_support to all files
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I439ef9a2902563874d748be9aa9fe067e99588e6
2023-04-17 15:39:02 +08:00
qing.zhang
b2fbd6b09a ENH: Cool Plate -> Cool Plate/PLA Plate
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Iaee7fb0df3a515b3fa726e16d7363e7c56ded7c2
2023-04-17 15:39:02 +08:00
manch1n
b5b7264e99 ENH: add wipe tower into conflict check
Change-Id: I9684ec17ccbfdea39deae6e5089b74ce3124d57b
(cherry picked from commit f6ee82b4ecf8bf9de91d0043b514cdabb7284b7e)
2023-04-17 15:39:02 +08:00
qing.zhang
60c444f627 FIX: crash while using MontionLine pattern
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I75232db2902a3d255336fecae7e5e628dc5ac3ba
2023-04-17 15:39:02 +08:00
Arthur
fbbfb06f6b ENH: make tree support much smoother
We increase the smooth iterations from 1 to 50.

Change-Id: Iba883fd67d7a9a71c92b364dcc9b76e00fc45820
(cherry picked from commit 945fba20a5629148bfd8cee47f492d42c50f9824)
2023-04-17 15:39:02 +08:00
Arthur
1d4a25ed20 FIX: bring back Tree Strong style
Tree Strong is too similar to Tree Slim and people don't like it.

Jira: STUDIO-2660
Github: #1579
Change-Id: I52d7e8e674f0fc332e4ab2813261ffbc4b4cfb7a
(cherry picked from commit 9eb209b4c1737d2f10b9b8bd78c9f876f3d32bce)
2023-04-17 15:39:02 +08:00
gerrit
e2e1357ff7 ci: update build version to 01.06.00.59
Change-Id: Icc76f0be665274630da56bdf756dc3d98196f99e
2023-04-17 15:39:02 +08:00
tao wang
1a99760457 FIX:fixed object cannot be selected printable on object table
Change-Id: If42027d8f51242d6f719aa371856d438fbcc7233
2023-04-17 15:39:02 +08:00
tao wang
d57931eacd FIX:fixed the invisibility of the cancel button when sending fails
Change-Id: I32e9cf0c5846565a3bc9155c57289be9df148bde
2023-04-17 15:39:02 +08:00
manch1n
40068156fe FIX: correct the translation of conflict check
Change-Id: Idbc9114926a8ad7baad38bf8e2709f2a5442b5b4
(cherry picked from commit 9688a514d37fd3ff7152378463d10683acd58cb9)
2023-04-17 15:39:02 +08:00
tao wang
c8f1b7698e ENH:optimize the display effect of white filaments
Change-Id: I690b521d641a91b7f50534ab86b5199f3dd84526
2023-04-17 15:39:02 +08:00
manch1n
f49c151611 FIX: avoid arrange to nonprefered region
Previously we assume the NFP of exclude regions are rectangle, which was
not always right. Now we calculate the NFP and find a best new position
to shift.

Change-Id: I02c075603cf71dd3c9146d7ac7a6706c0f850669
(cherry picked from commit 713ebd666c90d5dcfaf89914c37d211e9a470e99)
2023-04-17 15:39:02 +08:00
gerrit
56f1a49232 ci: update build version to 01.06.00.58
Change-Id: Ifb88521f67f1442eb9aaccd766fa5091a134b5d4
2023-04-17 15:39:02 +08:00
liz.li
9b1865667b FIX: lack of german translation
Change-Id: I45f8711d56180bd226f14552d1e1363722b2c345
2023-04-17 15:39:02 +08:00
chunmao.guo
fd787adf6b FIX: unload default user presets
Change-Id: I55e289708603f06263a64d4cfbfd1db596fdc864
2023-04-17 15:39:02 +08:00
Arthur
87abd65ea4 FIX: do not allow support thresh angle to be 90 degrees
tan(90\degrees) is too large and will make detect_overhangs very slow.

Jira: STUDIO-2620
Change-Id: I55901a6bc1b56216549f66e1a7e77c0da680997b
(cherry picked from commit e58cc8a4665808580e84107f54661447000d64f3)
2023-04-17 15:39:02 +08:00
Stone Li
bc0fe0c8bc ENH: compatible with filament unload of new firmware
Change-Id: I0b01a549929e716f0ac05176ba5dc05c360c081b
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
gerrit
c51d9c994f ci: update build version to 01.06.00.57
Change-Id: I4dae551184bbb2b296723dbf5b58dee25c69610f
2023-04-17 15:39:02 +08:00
Stone Li
415fb2989d ENH: modify Support W/G display name
Change-Id: I8fbdea4411073a74df804cbcc466027b1c3e941f
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
liz.li
362c365679 FIX:changed name is out of sync with printer, when send to sdcard
Change-Id: I357c0f6e53f1413af57e26e68ab44c6e76ef0ce1
2023-04-17 15:39:02 +08:00
chunmao.guo
3fff9b5c7f FIX: [STUDIO-2563] snapshot dirty load 3mf on post_init
Change-Id: I769eae7924ef3f1fefb4a9ce1a8280f477a7d49e
2023-04-17 15:39:02 +08:00
tao wang
9d4a0665c6 ENH:add chinese translation of 'layer'
Change-Id: I2a1a6524ce1e8bbc619d1cf608757699f10b0ac6
2023-04-17 15:39:02 +08:00
tao wang
185235dd93 FIX:add protection when amsmapping popup
Change-Id: Ia68e5b14c0286f84133686b45d3d8b851b7ffd82
2023-04-17 15:39:02 +08:00
tao wang
5e6cfb069a NEW:hide the entrance of filaments backup
Change-Id: I383de6ced5efb20a19ca8171f981370bf8fcc3aa
2023-04-17 15:39:02 +08:00
zhimin.zeng
2ce436d773 FIX: Cut connector tolerance does not take effect
Change-Id: I1d0cbc8995eef01e5a0134b930024b46eff9bb2e
2023-04-17 15:39:02 +08:00
lane.wei
07f4297443 ENH: privacy: refine some text
Change-Id: Id5c9c0b0700ce233e46d6ea39bbb7374f87449fa
2023-04-17 15:39:02 +08:00
chunmao.guo
a344ebcf81 NEW: Revert "[STUDIO-2476] design_staffpick"
This reverts commit 0063720bbaaa6a680f2d9f395d60cf193d126e11.

Change-Id: Ieb19daf19b38f5e25b78967ee225042988d98c7d
2023-04-17 15:39:02 +08:00
zhimin.zeng
de3bb7eb4f FIX: new project use the app_config flush_multiplier
Change-Id: I5b820399a814a043581fcfadb9629cbe15dd1c52
2023-04-17 15:39:02 +08:00
zhimin.zeng
9b6a182e8f FIX: modify the translation.
Change-Id: I94c1dc1a811b063611d43f6bde5e591e381cb4da
2023-04-17 15:39:02 +08:00
liz.li
cb68d4c60b FIX: tooltip display problem
Change-Id: I122f9b63a7e458838552c9d9cd0ee20d7bd7bfd5
2023-04-17 15:39:02 +08:00
Stone Li
4174f361f1 FIX: fix crash when no sec_link
Change-Id: I41aa905b0dcac3d5b162fea5b19a1d2c6aa72b68
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
liz.li
aa6785bde4 FIX: magyar display problem
Change-Id: I7b202b7f240fb7426529b8e8165621d4ac9664b7
2023-04-17 15:39:02 +08:00
chunmao.guo
874081e8d7 FIX: open more staffpick
Change-Id: I955cf2aa774ddedcc42ac68e367232c106b18988
2023-04-17 15:39:02 +08:00
chunmao.guo
a2386a3c3b FIX: [STUDIO-2617] thread locale when save 3mf model
Change-Id: I0b76b70922df8ec4fdeec7e15d824b9acd19a63b
2023-04-17 15:39:02 +08:00
salt.wei
60dd35b4bf ENH: fuzzy skin handling
1 limit the range of setting
2 avoid too dense points when fuzzy skin enabled

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I6691fd03d2aa960b055b68100dfb338b640cb4af
2023-04-17 15:39:02 +08:00
chunmao.guo
0ea0d7e456 FIX: not report liveview failure on stop
Change-Id: I1cce2bde58e3c8ca7a0dbda905552cd37789d203
2023-04-17 15:39:02 +08:00
Stone Li
b734079697 NEW: add Client-Name to http header
Change-Id: Ib2d4a2fd6262e833a8237d065d705ce6bad4e735
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
gerrit
474e363651 ci: update build version to 01.06.00.56
Change-Id: I905ebcc5f734aa95a94e2fe4d2649582a11544c9
2023-04-17 15:39:02 +08:00
liz.li
2954a947af FIX: delete plate shouldn't have a shortcut key
Change-Id: Icbe920c4ae30c2054cc7e114e00e829b862b04b0
2023-04-17 15:39:02 +08:00
liz.li
92266c1edf ENH: add a tooltip of adding custom gcode
Change-Id: I8908dd7cdba6138a90fb9a7de92d9eb346495690
2023-04-17 15:39:02 +08:00
liz.li
adb6583458 FIX:(mac) cannot use copy and paste in imgui input box
Change-Id: I4024bfbe178f86a5d456de47ddd82bc028d4788c
2023-04-17 15:39:02 +08:00
tao wang
639f2a57ae ENH:update the layout of the filament backup
Change-Id: Ie1d4b29524484a892e8305b891c8a8ba3f397054
2023-04-17 15:39:02 +08:00
tao wang
9fc29ac138 FIX:fixed invalid load when there is no filament in the extruder
Change-Id: If10026787367a596a1bad97a8ec06a645bed93f2
2023-04-17 15:39:02 +08:00
manch1n
29459fe4cb FIX: avoid wipe tower conflict with objects
Change-Id: I09f6937a4bb698e4981c094c5694b3ce50efd2b4
(cherry picked from commit 2fc3f05732b8e5c7132b6c8a5f4403d30c516bff)
2023-04-17 15:39:02 +08:00
manch1n
229b173894 FIX: arrangement crash due to mutithread call to transformedShape
STUDIO-2653

Change-Id: I82031d3adbd95f8af04cb5f15b39d0621a40c7f3
(cherry picked from commit 065575c4845688ecb6293fa826e5f987f019d9fb)
2023-04-17 15:39:02 +08:00
zhimin.zeng
6e797e7a99 FIX: flush volume is error when flush_multiplier is 0.
STUDIO-2636

Change-Id: I013a6c974799996744727b3f50426bf806c5b2df
2023-04-17 15:39:02 +08:00
qing.zhang
d3d3f41f8c ENH: update fan nax speed of Bambu PETG Basic
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I7e43702eb3af0e7960ea91ef3dd3a38c496b6f6b
2023-04-17 15:39:02 +08:00
lane.wei
5772b013de FIX: fix the filename not correct issue under linux
Change-Id: Ic720c7734be60197135965f3dcecc84eb9a8eb5d
2023-04-17 15:39:02 +08:00
liz.li
7efa355ff5 FIX: remove layer menu
1.remove layer menu
2.add dark color adaption of obj_layer

Change-Id: I8faf5f69359f0d0fff769887b800f3963884d55d
2023-04-17 15:39:02 +08:00
Stone Li
8ace4e6d81 ENH: sync with localazy
Change-Id: I03891176cee9a41ed5524d32d0e0a01f657d62d1
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
Stone Li
5114a79e2c FIX: clean ams result when unchecking enable ams
Change-Id: I95a416f966d1aa81301dd8685f0909eeff8ad2c1
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
tao wang
a798ed22b9 ENH:optimize virtual tray when printer is no AMS
Change-Id: I68425afc8c3f467a8e3f3c2745b6ac9cfb80232e
2023-04-17 15:39:02 +08:00
qing.zhang
afb9886e0e ENH: add Bambu PLA Silk & Bambu PETG Basic
add cool plate temp for PLA

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: If3ca9c773351939358d7bed9f6d6c890a28b302b
2023-04-17 15:39:02 +08:00
liz.li
62af2b9608 FIX: vector capacity reset(STUDIO-2239)
Change-Id: Ie40e8c6d3a42b6a40f4f73d6906acdc6e26d0b41
2023-04-17 15:39:02 +08:00
tao wang
9c402384ac FIX:fixed move wrong pos when amsmapping window popup first time
Change-Id: I5a9830141ef897399097dc21e70bfddd5113bcff
2023-04-17 15:39:02 +08:00
chunmao.guo
5468573e27 FIX: [STUDIO-2438] inline search line in popup on Linux
Change-Id: Idcf7c4eca52438aab4129163b90314631b7f7492
2023-04-17 15:39:02 +08:00
chunmao.guo
2003bbd768 FIX: Flush log in generic_exception_handle
Change-Id: I07fd22ace35418f18694fec017a0a7633065ef10
2023-04-17 15:39:02 +08:00
tao wang
6887626313 ENH:privacy agreement does not jump to local web pages
Change-Id: I00be32922e1c6e2e0bbf69a6382e405dd8c2bf98
2023-04-17 15:39:02 +08:00
tao wang
466e17ea88 FIX:fixed color picker display error in dark mode
Change-Id: Id31d19d33f7ced0a89b5bc61b0d913554dc38be2
2023-04-17 15:39:02 +08:00
gerrit
7ba23d7ec7 ci: update build version to 01.06.00.55
Change-Id: I8b1ba77a337e78f7e617dcd44edb16aef1a8fa9e
2023-04-17 15:39:02 +08:00
manch1n
dd473bdc3f FIX: avoid wipe tower conflict with objects
Use a more accurate way to estimate wipe tower:
1. read wipe configure from front-end (the positions may be different at
different plates).
2. when depth is unavailable, use all materials to estimate depth (the
estimated wipe tower may be larger than the actual generated one).

Change-Id: I42ffd03d9817b57f5023a6820cda0032509c6fe5
(cherry picked from commit 77ba9757023afb9160c996eeea6ead8a27b50ce4)
2023-04-17 15:39:02 +08:00
lane.wei
67d95d3fc8 ENH: add protect logic in post_init to check opengl resource
when the opengl context not ready
postpone the GLCanvas3D's init

Change-Id: I68b9d70f08e4ba0076a64aca59612a3f613070ff
(cherry picked from commit 446a384dcc74af8184ee0a1af6668626d13413e9)
2023-04-17 15:39:02 +08:00
lane.wei
1cb64c15a0 ENH: translation: update some translate of Chinese
Change-Id: I998eaf77853debdceb95172eb3d0ff3d44916c44
2023-04-17 15:39:02 +08:00
liz.li
bde527f6e1 FIX: mac command key display
Change-Id: Ida9f41e7c05a414122176893dafaf150c460d458
2023-04-17 15:39:02 +08:00
manch1n
62a2fadeb8 ENH: make arrangement align better
Jira: STUDIO-2584, STUDIO-2507

Change-Id: I1987103e46f5ecb84395b5885954679ffe105c60
(cherry picked from commit 90df278408b79ad5b8d4ceaf90fe483cd8f5a48c)
2023-04-17 15:39:02 +08:00
tao wang
1e731a15f0 FIX:delete default search terms for search controls
Change-Id: Ic400f4120fc78f78ffb138848c9e8046bc32954a
2023-04-17 15:39:02 +08:00
tao wang
b116a605f2 ENH:update information for send print timeout
Change-Id: I36ecfef98b285ff870e7a1ea382adc4e901eb52e
2023-04-17 15:39:02 +08:00
tao wang
13f5171eb3 FIX:fixed no longer prompt no SD card when disabling AMS
Change-Id: I4083ffc46dee3526d61735206c4795f96d9f2f96
2023-04-17 15:39:02 +08:00
wintergua
6f5de187c6 ENH: enable inner brim mode
Change-Id: I22f53c75e0731cb1ad397c1233e858a5b9a8fc0f
(cherry picked from commit 66637a616498c8fc38745670a75ba119ae9b1a5f)
2023-04-17 15:39:02 +08:00
gerrit
951be6e471 ci: update build version to 01.06.00.54
Change-Id: I9a6afcb3ee5f2545565367e6873846bee52d1bd2
2023-04-17 15:39:02 +08:00
liz.li
db3acf7d72 FIX: cannot click AmsMapping
Change-Id: Ie6e908ee263d2c072520cdc8d8228f740646c995
2023-04-17 15:39:02 +08:00
lane.wei
420fae9bbf FIX: fix a crash issue when switch language under debug mode
Change-Id: I901e880601f963ceea433aaec1c455c2698b77f7
(cherry picked from commit 6a0fc275664503a53515d174ef7c71c829db4b14)
2023-04-17 15:39:02 +08:00
lane.wei
697a45379f ENH: refine the multiple-object detects logic while sinking opened
no need to detect the project file

Change-Id: Ia84d94832d16c2a68ecc25ee457d79735873e82a
(cherry picked from commit 39e9f3de907f19d452abf831221656c9a8e1d0e0)
2023-04-17 15:39:02 +08:00
lane.wei
90760e0d07 ENH: refine the thumbnail rendering
1. add specific shader for thumbnail
2. do not render the negative-z part
3. fix the sinking related issue under cli

Change-Id: Ia59083437544c1c0bd924c811274ccbb137e9eb7
2023-04-17 15:39:02 +08:00
gerrit
031d61faca ci: update build version to 01.06.00.53
Change-Id: I5c1a8aef816ebde7b1703b414aa9bffe3922a1a8
2023-04-17 15:39:02 +08:00
chunmao.guo
0aea102bd3 FIX: [STUDIO-2631] call AddScriptMessageHandler queued
Change-Id: I6a71c2db3ed1b3d06931f53428a8d78881399b4d
2023-04-17 15:39:02 +08:00
chunmao.guo
e11c004de4 FIX: [BLPIOT-64] only default or user presets
Change-Id: I1c846aa26fdac95652ae8e7b3d01c30f99e7ef61
2023-04-17 15:39:02 +08:00
tao wang
eb86b00c82 FIX:fixed speed control window will not dismiss
Change-Id: I7d053936fd13b08f624f7e1488fcc79d9a270f53
2023-04-17 15:39:02 +08:00
tao wang
e2b8bff660 ENH:clear virtual tray when change printers
Change-Id: I894c9ba54512a1b833bfd9da33f901457d297aed
2023-04-17 15:39:02 +08:00
chunmao.guo
c0bcb2270a FIX: [STUDIO-2557] use load() to stop media play on windows
Change-Id: I0d2d45569ef64a5a212ea04fe926a3a25ce7b50d
2023-04-17 15:39:02 +08:00
tao wang
82b3e92069 FIX:fixed crash caused by ColorPicker not being initialized
Change-Id: Id394a68b00b28c02a682ed457a14235a2e9f7053
2023-04-17 15:39:02 +08:00
tao wang
50d9dd331c ENH:update some Chinese translations
Change-Id: I280a9340c0540b5c00d8651f3c9705b775a359c7
2023-04-17 15:39:02 +08:00
liz.li
b42a0d5632 FIX:custom gcodes are reset after import geometry only (STUDIO-2595)
Change-Id: I11052ea28aacca78103852d2beba0dc97b42eb31
2023-04-17 15:39:02 +08:00
wintergua
0440e288f7 ENH: move the volumes grouping process to an indivial function
grouping of volumes in the slicing process, which will be used by the brim generation processes,
is moved to an indivial function from the fixed_slicing_errors function.

Change-Id: I241081823a671829d8cc4e923da5f6f22776c410
(cherry picked from commit 18a7b541ee48f3c01319d5835c05610c3d8ca0ae)
2023-04-17 15:39:02 +08:00
liz.li
bd29e371a6 FIX: shortcu key tooltip on aseembly view
Change-Id: Ibf02cd7caf68bb7624021e469aab00bcc2ccb77e
2023-04-17 15:39:02 +08:00
liz.li
688640e808 FIX: display '?' on a notification(STUDIO-2199)
Change-Id: Id20f287aa1e26571cb416c5f237257418589cf29
2023-04-17 15:39:02 +08:00
liz.li
a6be285843 FIX:textinput behavior on send dialog (STUDIO-2347)
Change-Id: Iec970de7cd2f85b835b64283089c41f52df1cfcc
2023-04-17 15:39:02 +08:00
tao wang
f0a41b552b FIX:fixed loading model failure on macos
Change-Id: I3b7944e4dc7339404efc76323d898b660810a92b
2023-04-17 15:39:02 +08:00
liz.li
6d445f5754 FIX: time displayed inconsisitently(STUDIO-2001)
time displayed in send_dialog should be consistent with time displayed
in preview legend.
Change-Id: I4aa3bd0e8e7a2688cb7b97ea39fd9c0e1a361f52

Change-Id: I3763f5232ab61a5609248f1f7d79373f4077fec7
2023-04-17 15:39:02 +08:00
tao wang
e25dd0ca01 FIX:fixed the length of the progress bar is incorrect
Change-Id: I56f0bd70a5bdd523d5b4c08038ebffc7468ea2c0
2023-04-17 15:39:02 +08:00
tao wang
94d50a1177 ENH:use layer to represent the current number of layers
Change-Id: I42d1f55a16efd6082df82e12c7bff575eea74fad
2023-04-17 15:39:02 +08:00
liz.li
acae9fc088 FIX: preview tick should reset in some case(STUDIO-2621)
Switch to ByObject or switch spiral vase mode, should clear all preview
tick because they are invalid and doesn't work.

Change-Id: If68e9ebe4e915286a34e2e1003b281d770f0864c
2023-04-17 15:39:02 +08:00
gerrit
f704dbf8d8 ci: update build version to 01.06.00.52
Change-Id: I8c8198714f2252848e1b3ad76f6d4f3275c38088
2023-04-17 15:39:02 +08:00
Stone Li
b99b1f8d73 FIX: fix a bug that can not send all to lan mode printers
Signed-off-by: Stone Li <stone.li@bambulab.com>
Change-Id: I704cf0336dc809c84a1d8e149e831ffcf55f3004
2023-04-17 15:39:02 +08:00
Stone Li
f2c06d7059 ENH: add some protective code
JRIA: STUDIO-2487

Change-Id: I9b6e3e6af70877b685d2bfec1592975ef16134fd
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
gerrit
e2395744b1 ci: update network module based on commit 6a243cc
Change-Id: Iab3750f3a7575093a72781fed861a1f3f41f1d1f
(cherry picked from commit ddc88c624b11eb0f66064a54e7c9cc50546ef6eb)
2023-04-17 15:39:02 +08:00
Stone Li
ca4902fb87 ENH: update version to 01.06.00.51
Change-Id: Iaddd6c5a0795e95c165b5945470f122d8ebffe0b
2023-04-17 15:39:02 +08:00
chunmao.guo
bdc500d90f FIX: [STUDIO-2625] fix backup_switch from < 01.06.00.00
Change-Id: Iedc2e26bfc346fd7e92b4c2862f2cef1ca9aa96f
2023-04-17 15:39:02 +08:00
chunmao.guo
3e18543389 FIX: [STUDIO-2523] sync user preset on restart network
Change-Id: I9099b469a16e6714f65c1d806f9e7ce1dcc2fe72
2023-04-17 15:39:02 +08:00
tao wang
f06b214c30 ENH:optimize ams settings and virtual tray
1. separate virtual tray and extrustion calibrations
2. only when confirming will the disabled materials be checked
3. uptimize ams style

Change-Id: Ie435555d0cad45fbc0cb1bf7e1706985ec1aaa78
2023-04-17 15:39:02 +08:00
Stone Li
4c6623848d ENH: refine tips when sending print job
Change-Id: I2ff35053cf507329880caae3dbfe700d6e45ca2e
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
Stone Li
464af822e1 ENH: add print error in cmd clean_print_error
Change-Id: I22328a8be58c9896c40eb5f270e8a08e4469bd7d
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
Stone Li
92255cbede NEW: update po files
Change-Id: I73c63d9155c8c612d629623a633b8bfcfcee0a1a
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
liz.li
a64f587cc2 ENH: add some cn translation
Change-Id: I325f06264780acf8ab69f1f32fef22b6e175a0b9
2023-04-17 15:39:02 +08:00
lane.wei
4e5ed34fde ENH: CLI: set the default pipe to null to remove warning
Change-Id: I9e2cbb3bba02892a6a97a6a3e0bd9b0f729d202a
(cherry picked from commit 1b94c924919c60231e9a87717d0b51204e37dcbc)
2023-04-17 15:39:02 +08:00
zhimin.zeng
4d958df4b3 FIX: Concave painting of thin objects does not work.STUDIO-2334
Change-Id: I4812e7940f4f2764a51881d10bc513e7e6c028b6
2023-04-17 15:39:02 +08:00
Arthur
3d710609d9 ENH: improve cantilever detection's speed and accuracy
Cantilever detection should be done layer by layer, instead of using
merged_poly of clusters.

Jira: STUDIO-2198

Change-Id: Ifea017fc4c13425a944ee80f7dedb603a8e14cc2
(cherry picked from commit 0803a439a458ffeb9c6d91e90344a5b78794a6bd)
2023-04-17 15:39:02 +08:00
zhimin.zeng
74e1ba7963 FIX: failed to import svg file(path + width) STUDIO-1807
Change-Id: I2a4e1866c0f23bfbec4ae6765a78f6f7d994cd19
(cherry picked from commit c8b59f4e3ffd0ba34a5d56ca7a0538ee854f1a91)
2023-04-17 15:39:02 +08:00
zhimin.zeng
37ed71b764 ENH: Save text information to 3mf file
Change-Id: I28b984b5ad3f7a8e3332eb4b7fe9e8f942e81418
(cherry picked from commit e56d21a376d96605b071af906b653101f63ec9e2)
2023-04-17 15:39:02 +08:00
gerrit
a6bf1c946a ci: update build version to 01.05.05.68
Change-Id: Iff517c101fb4c500f463a93aa74fccf8818eaa1e
2023-04-17 15:39:02 +08:00
zorro.zhang
cc6bd668ae NEW: Staff Pick UI WebPage
Change-Id: I85c5b5ba28144a75dc231b99d73a8f5c2ce941f4
2023-04-17 15:39:02 +08:00
gerrit
ceea4bb7cb ci: update build version to 01.05.05.67
Change-Id: I69e4c5d72debabc3e24a41f70fc5b02124adb1a0
2023-04-17 15:39:02 +08:00
wintergua
b15e9a89cf FIX: grouping single layer volumes during briming
If an object has only one empty layer, error will encount
during grouping volumes
studio-2602

Change-Id: I25871b8cc8e4772c347c615db346875a9658db71
(cherry picked from commit 78b7e7706f6c8e7e86f4bd2e8daab7036499ced2)
2023-04-17 15:39:02 +08:00
zorro.zhang
d4907f0e4f ENH: Optimize Dialog Positon Again 2
Change-Id: I3f2af3ee696415d07fc926596e110d5874dc579c
(cherry picked from commit 73baa282ab7a98df9cde95703da096c6a02eac61)
2023-04-17 15:39:02 +08:00
liz.li
b2e4935b6f FIX: german translation
Ctrl -> Strg
Del -> Entf
Shift -> Umschalt

Change-Id: Ifa340ee86cb9fb96ec3694ef47cac5235f519c40
2023-04-17 15:39:02 +08:00
gerrit
49f6e3f3c6 ci: update build version to 01.05.05.66
Change-Id: I6f38bddfef8ed5ae13ad355326690c312e0e364e
2023-04-17 15:39:02 +08:00
lane.wei
b30644c84d ENH: CLI: add the cache logic of brim data
1. cache the first layer group cache data for brim
2. fix some crash under debug mode when app exits

Change-Id: I81d716564af414353e9dfeed42e5f4eef08b2d6f
(cherry picked from commit a6ecdaed6f63f1c5c41fd343f72165fe27fda9d3)
2023-04-17 15:39:02 +08:00
Stone Li
f3aa76e4c2 NEW: set bed type when printing
Change-Id: I94b32e6264ecae4a8a6ca20eed0d08d13c6e391d
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
yifan.wu
34ec55db80 ENH: optimize thumbnail effect
1. enlarge objects in thumbnail
2. restore the background color to the light color

Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: I0829f93f619c48467c91d55267cdaf5bf43c5beb
2023-04-17 15:39:02 +08:00
liz.li
69dcbef290 FIX: cannot save project after adding custom gcode tick (STUDIO-2451)
Change-Id: I8e787d7bd8eebd793a6e070a18f36afda57b0ecf
2023-04-17 15:39:02 +08:00
Arthur
74d558e612 FIX: tree support crashes when lower_layer is null
Change-Id: I942bdf1dfc253be5ebf659274f230290c5260d63
(cherry picked from commit 05b033cd0dfacadab9ea3e725e364a6156d068f2)
2023-04-17 15:39:02 +08:00
gerrit
fa1be64652 ci: update build version to 01.05.05.65
Change-Id: Ia1998a60f0f8970ff6797a2c18136785f2a6b037
2023-04-17 15:39:02 +08:00
liz.li
02fbd88150 ENH: rename tracked crash log
Change-Id: I60d1c1af873c60776334f26503e22230bb541e0a
2023-04-17 15:39:02 +08:00
tao wang
fddd101685 FIX:fixed the publish button will be hidden after switch languages
Change-Id: I2f618d8440ebf7a00af6e7ad2bcda63746e04eef
2023-04-17 15:39:02 +08:00
tao wang
8dabc0ce97 ENH:add protection when Unable to get filtration supplier information
Change-Id: I64481ace6948cfab67bd864c2925cdce7dcae034
2023-04-17 15:39:02 +08:00
tao wang
14c63c9e9e NEW:studio support for Italian
Change-Id: I79aeffee01decd915c5f0719e0fc58a24ce01780
2023-04-17 15:39:02 +08:00
zorro.zhang
31667d04b0 ENH: Optimize Dialog Position
Change-Id: I6795d6d0f979ff379b8c4f1f010eeaba6aa339b1
(cherry picked from commit 2ce1e9a9f3141bc2149a4d1f62656f1a3d57b26e)
2023-04-17 15:39:02 +08:00
gerrit
5ec2e91b9d ci: update build version to 01.05.05.64
Change-Id: Ib8a7c5ac4e6c71568534c75292a287f31e48dec2
2023-04-17 15:39:02 +08:00
chunmao.guo
32b6952950 FIX: [STUDIO-2596] import preset missing base_id
Change-Id: I2725906da26a471aef66eb8f29bf156ad00b1ec0
2023-04-17 15:39:02 +08:00
gerrit
483fc9f147 ci: update network module based on commit be95fa8
Change-Id: I3ba0ac192eb9ee9e6fe1e1deff2d18c770ae63a3
(cherry picked from commit a38f0804ab1fa1131e7955f4c13c27972d36b93e)
2023-04-17 15:39:02 +08:00
tao wang
1eb96b6979 ENH:synchronize the status of AMS and printers
Change-Id: Ied38fbee8d78a984df9d7a46d3f69b54fea7fef2
2023-04-17 15:39:02 +08:00
tao wang
cb2f6dd772 NEW:add network test entry when has network error
Change-Id: Ie315191e26148e520d3e8e3e4323fd619efb982a
2023-04-17 15:39:02 +08:00
tao wang
00e1c50947 NEW:AMS supports ams filament backup
Change-Id: I0bc84f52bcd88dbbc1b9614b15474433c748cc14
2023-04-17 15:39:02 +08:00
Stone Li
f596a822e2 ENH: update version to 01.05.05.63
Change-Id: I79847e97e6f0a85b28e3ca85297249a9c46ef913
2023-04-17 15:39:02 +08:00
liz.li
87df72a67f ENH: modify zoom interaction
Change-Id: I7a888a8980b5b10e5d2c515158c9c4cdf8654b7c
2023-04-17 15:39:02 +08:00
zhimin.zeng
62df53f86e FIX: A mesh with overlapping faces cannot be painted
STUDIO-2591

Change-Id: Iad566cdc45d123b5c8342c732c0dc964c261753a
(cherry picked from commit eb9f7297e0ea0557b32e5f59c3a91692ac8afa5b)
2023-04-17 15:39:02 +08:00
liz.li
97bdeb7771 ENH:support clear ams setting
Change-Id: Id91bd8f69de640650770067d6159748ee7e416c9
2023-04-17 15:39:02 +08:00
tao wang
e0bd625041 FIX:update the url address of the model mall
Change-Id: I2021c141402f8eca999a66607e92b691e847b7be
2023-04-17 15:39:02 +08:00
tao wang
ce9ac8b3d6 ENH:display the correct author name on the project page
Change-Id: I3ce5718b82cc6ae3ed4bf4e3e19673f790cd5788
2023-04-17 15:39:02 +08:00
liz.li
3c6e68553b ENH: add height_range
Change-Id: Ica4def5d54f9e0906d424eea1efd3545b79ed186
2023-04-17 15:39:02 +08:00
chunmao.guo
8747192715 FIX: [STUDIO-2235] FlushFileBuffers on conf bak
Change-Id: I26ddf05c8b7105bb9226930e64a736cdc9be4e4f
2023-04-17 15:39:02 +08:00
qing.zhang
97179d1378 ENH: arachne + overhang slow down
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ic015c1c6d369edabaa1195416942881c0756f839
2023-04-17 15:39:02 +08:00
zhimin.zeng
ad80943c69 FIX: delete unnecessary travel of wipe tower
STUDIO-2203

Change-Id: Ic55030a09f66a789245f80096e8f3ffea73a904f
2023-04-17 15:39:02 +08:00
lane.wei
cf6077fe7d FIX: CLI: fix the no-check not work issue
1. no-check not work
2. refine the progress updating logic

Change-Id: I8acf18d8ab8958310fa3375de50cc9692b3408c1
2023-04-17 15:39:02 +08:00
Arthur
15ba872d1c ENH: only draw infill in normal nodes of hybrid support
1. Only draw infill in normal nodes of hybrid support.
  Previously when hybrid support was selected, all nodes would have
  infill including the circle nodes which don't need infill. Now we draw
  infill only when there are normal nodes.
2. Move remove_bridge after small overhang removal because the trimmed
  bridge may be detected as small overhangs.
3. Only split circle nodes in draw_circles to prevent floating circles.
4. Fix the issue where tree support infills may not be aligned,
   which is caused by the changing spacing of filler.
5. Fix a bug where lightning infill in tree support may crash.
   Note: it is still not prepared to set lightning infill as default,
   as for some models the generation time of lightning infill is still
   too long.

Change-Id: I556e5097041d09afae1e2957d4dc9914d4610149
(cherry picked from commit 4c0849a81b60cde0c3b8ca54f03f63ea7c62dcd9)
2023-04-17 15:39:02 +08:00
zhimin.zeng
e6e0085dcc FIX: the volume position is not correct(3mf from solidwork)
Change-Id: I69fe3f9896214da502b60bc23deee6525599677e
2023-04-17 15:39:02 +08:00
zhimin.zeng
abf12366e7 FIX: Problems due to precision errors. STUDIO-2051
Change-Id: I8005f2879b33408df44c476e4297928ca0c52ed9
(cherry picked from commit e789ddd050ee69404a9f6a88686eeed0880da00f)
2023-04-17 15:39:02 +08:00
Stone Li
82ee622ce3 ENH: avoid to crash log when parsing sequence_id
Change-Id: I14ff7167cf4291a09d955d1ac295197470734546
2023-04-17 15:39:02 +08:00
Stone Li
9606a04117 NEW: support clean print error
Change-Id: I0d0b6b5dae22bf5ee793d748d3afb5d45fbf744a
2023-04-17 15:39:02 +08:00
Stone Li
8675815fb3 ENH: do not use_open_ssl for engineer machine
Change-Id: Ie4b8384324c25f9f402aa78b19e1140492dbef19
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
tao wang
6175446aaf NEW:support for importing models from browser to Studio on mac
Change-Id: Ia4c39b3de1705d66a00442d11bd15a61ebc349ff
2023-04-17 15:39:02 +08:00
Arthur
cf556814ce ENH: translate missing entries
Jira: STUDIO-2577, STUDIO-2581,STUDIO-2582,STUDIO-2585

Change-Id: I560635756f7d0a9b27e4827920fe84c724d09f01
2023-04-17 15:39:02 +08:00
Stone Li
4a99304c4f ENH: update version to 01.05.04.xx
Change-Id: Ia53270bab7171376883cb01d158f0e0d6bdfc875
2023-04-17 15:39:02 +08:00
lane.wei
7595775ba5 ENH: update: remove the old cached ota files in some corner case
Change-Id: I8039e21045d33827dae096b18feead6150981056
(cherry picked from commit d920b3a57c284422e09c952b103c5f26ae551d2a)
2023-04-17 15:39:02 +08:00
lane.wei
59a7cd3ef9 ENH: thumbnail: improve the effect of thumbnail
1. adjust the background color
2. add a bit more emission factor
3. adjust the thumbnail rendering size in preview
4. change the font to white of thumbnail preview

Change-Id: Ifbcac94383608054759a7a31ec357233c7fb57a9
(cherry picked from commit ac577934f11edd56069584d1450734df59e17989)
2023-04-17 15:39:02 +08:00
chunmao.guo
4b5fa4fe58 FIX: param full field with for multiline option
Change-Id: I8dd53e461645810e6db3e17b75e3e7c4a0c1e01d
2023-04-17 15:39:02 +08:00
chunmao.guo
04d24fbb2f FIX: [STUDIO-2575] crash report invalid uft8 char
Change-Id: I7fd5290774d3d54efdee65bfe1191a932e252f87
2023-04-17 15:39:02 +08:00
tao wang
ee2ef44dc7 NEW:ams control support for more gradient colors
Change-Id: I3e7e7e1f340a443200b9225b142f6398b4824513
2023-04-17 15:39:02 +08:00
tao wang
e3d89f2154 FIX:fixed ams cannot displayed when amsid does not start from 0
Change-Id: I2beee54bc99ced5faf9ea58e6ff3f5aaa3504a64
2023-04-17 15:39:02 +08:00
tao wang
27f4c282f2 ENH:add new prohibited materials
Change-Id: I621aaf9ceabe11dbedd4e77376f10650be453abf
2023-04-17 15:39:02 +08:00
Arthur
6facd65530 FIX: sharp tail detection in normal support was wrong
1. Fix sharp tail detection in normal support.
The not operator in front of overlaps was missing.
2. Fix bridge removal.
After adopting Prusa's smart bridge direction detection, the bridge
angle may be pi, so our previous method (comparing angle to 0 and pi/2)
was not right. Now we simply check if the bridge direction normal vector
is aligned to x-axis or y-axis.

Change-Id: I4e1fd937e432aca97cdd374ba66a0d869794126e
(cherry picked from commit c0d82003a5e4c44345219294072c54051fc5711a)
2023-04-17 15:39:02 +08:00
chunmao.guo
0ca3f27c54 ENH: [STUDIO-2550] config auto sync system presets
Change-Id: I83f9baae5793b214f4d1c040f5819ad9a03cd47f
(cherry picked from commit 40fe90e176fc001f54b22375ddb0dd035a6d84cd)
2023-04-17 15:39:02 +08:00
liz.li
d776c7595e ENH: enable gcode window and support viewing added custom gcode
Change-Id: I2def8c32c17b6f2edfd2e6d0776123127560f167
2023-04-17 15:39:02 +08:00
lane.wei
e2f96590cf ENH: CLI: add normative_check logic
Change-Id: I7a02fefb2a161b27a35ad73102d8c57dbffa7c6b
(cherry picked from commit 3de468b341e95336611ff527453160131ec04b65)
2023-04-17 15:39:02 +08:00
salt.wei
e2d6ed99d1 ENH: add post_process back
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I05fc655080f3888255297d689552de84a81ed849
2023-04-17 15:39:02 +08:00
chunmao.guo
8c39fbaf22 ENH: [STUDIO-2549] remember my choice on unsaved project/presets
Change-Id: Ib9fc9074075bfce19f9a02be3aff7b3d04e3802a
2023-04-17 15:39:02 +08:00
chunmao.guo
778761908a ENH: [STUDIO-2548] maximum recent project count
Change-Id: Iba9c9959089ff1cb9dfdba717fe62b99375da137
2023-04-17 15:39:02 +08:00
Arthur
0c2ba2b0a2 ENH: improve sharp detection for small regions
1. improve sharp detection for small regions.
   When the region is around 1 extrsion width, previous method may miss some sharp tails.
Now we reduce the width threshold to 0.1*extrusion_width for sharp
tails.
   When checking "nothing below", need to expand the poly a little. Example:
benchy.
2. improve is_support_necessary.
   Only popup warning for sharp tail and large cantilever (longer than 6mm).

Jira: STUDIO-2567
Change-Id: I5e977e7766b35409891d1b41e36278e3f07fa372
(cherry picked from commit c9d8a7c1c3bbd4367c7fc44408c67e5c534167f4)
2023-04-17 15:39:02 +08:00
salt.wei
6ddcc14577 ENH: support fuzzy all wall lines
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: If6754b6a958203459882a125048e01b347e0a4db
2023-04-17 15:39:02 +08:00
chunmao.guo
6ee93d5646 FIX: [STUDIO-2447] ImageGroid: clear scroll offset on list changed
Change-Id: I8c2b2bfed096e99e2223ff109e5d70ea2bc3a82a
2023-04-17 15:39:02 +08:00
chunmao.guo
84580f6f94 NEW: [STUDIO-2476] design_staffpick
Change-Id: Ibe4d540ca31882e199437dc2811925e1a40680ec
2023-04-17 15:39:02 +08:00
tao wang
20ad3c7f9a ENH:add some Chinese translations
Change-Id: I610c23cbe36fb8f66c8a69e53330ec941174f12e
2023-04-17 15:39:02 +08:00
manch1n
d72b4c1bfe FIX: Disable print button when gcode has conflict
Also fix a crash bug due to setStarted and setDone.

Change-Id: Ib9b069fe4b7e5d1fc359f48e44b4032dd8249428
(cherry picked from commit 9ef190ed3ecd66d12617ad96e927ff34251395a2)
2023-04-17 15:39:02 +08:00
zhimin.zeng
e002885efc FIX: modify the style and layout for cut
Change-Id: Id9f84fc58385ae408a4c28c0d4eb63e48335039e
2023-04-17 15:39:02 +08:00
liz.li
9b47255bc1 ENH:adjust assembly view toolbar UI (STUDIO-1213)
https://jira.bambooolab.com/browse/STUDIO-1213

Change-Id: I3b17b37a229348d347f56d0672f2c258fbeb91e1
2023-04-17 15:39:02 +08:00
tao wang
ffc4e7080c FIX:fixed translation does not take effect
Change-Id: I83e2f2d53cdb4ded7cfa4176146b29920d21dcc8
2023-04-17 15:39:02 +08:00
liz.li
907741e7e4 FIX: AboutDialog layout
Change-Id: I693f489ba92f3d4ac60abb4344063b88fb201c29
2023-04-17 15:39:02 +08:00
zhimin.zeng
b746877d70 FIX: modify the shader load error for mac
Change-Id: I3e2b282b145b4d87e09c22d4fec1b88537212d60
2023-04-17 15:39:02 +08:00
chunmao.guo
9558ed242c FIX: backup switch take effect
Change-Id: Ie9740d7f985ae6adc2778eaac0a80cf7a94c98c4
2023-04-17 15:39:02 +08:00
chunmao.guo
bda92795bb FIX: [STUDIO-1033] rm webview script handler on webview destory
Change-Id: I2e9390dfaad46da9e158a43026ef872aaf88d589
2023-04-17 15:39:02 +08:00
chunmao.guo
2a1f8af62e FIX: [STUDIO-2547] import config yes/no to all
Change-Id: Ib5812c4af3d9fcbe45fe1d884a8bcf29d2f4f704
2023-04-17 15:39:02 +08:00
MusangKing
ee6bf4d4de NEW: Allow Top/Bottom_z_distance under variable layer height
Allow user to set top/Bottom_z_distance under variable layer height.

Fix the bug STUDIO-2454

Change-Id: I026098a4df7cfa01f87a6802e2c787fcfd6df3ee
(cherry picked from commit 6e933acec7cde705f176937038ce307bc276cf5f)
2023-04-17 15:39:02 +08:00
MusangKing
355dd8d463 ENH: Re-open pattern angle option under Support/Advanced
Re-open this option as requested by github users.

Fix Jira STUDIO-2083; Github issue-1102

Change-Id: Ifb01a5153e7dc105bf2d29a98e64dda3a9d8e6d4
(cherry picked from commit e42914b2448c2693d19d40b0d84e64567b766f37)
2023-04-17 15:39:02 +08:00
Arthur
af0fca211b ENH: add grid & rectilinear_interlaced interface pattern
Github: #1018, #1221
Jira: STUDIO-2534

Change-Id: I8c766b5b934364253c0344e39f474e4ac3b81add
(cherry picked from commit e7d46fe60856ab511905b46799943bfde8a71826)
2023-04-17 15:39:02 +08:00
qing.zhang
9309831d26 ENH: update machine_start_gcode
turn on HB fan before setting the nozzle temp

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I55908465055dcd93d274c1d861715cf7b9cbe655
2023-04-17 15:39:02 +08:00
zhimin.zeng
518cd4ce27 ENH: recover CutToParts for cut
Change-Id: I5d7fb089c5d2ea9d36fce3d70ec4da896d601940
(cherry picked from commit e0232b21ebf5a37bedee1c213d1c21890634c563)
2023-04-17 15:39:02 +08:00
zhimin.zeng
b1041a5de8 FIX: Cutting a sphere, the parts need repaired
STUDIO-1192 & STUDIO-2505

Change-Id: I2ad1d1ef7c279a7307654ba453a0d8323316904e
(cherry picked from commit cb6d9ed2074763b4f7f92e45219d942317adf402)
2023-04-17 15:39:02 +08:00
zhimin.zeng
872a54303c FIX: generate a wipe tower when add filament
STUDIO-2538

Change-Id: I8cca134eb9302b2ff30252ef36ed8c24c834b22c
(cherry picked from commit aeb5408c9eee844970bbef94e49978568c1de541)
2023-04-17 15:39:02 +08:00
zhimin.zeng
8ebd6cfc9e FIX: the text gap is not correct. STUDIO-2518
Change-Id: I27dc8b62962ebe1aa2b4d54e50d68cf173eecd54
2023-04-17 15:39:02 +08:00
tao wang
bf08a0b2e2 FIX:fixed some ui issues
Change-Id: I96f3e3ec56a07a7b5ca4723c92715df58e0baaf6
2023-04-17 15:39:02 +08:00
tao wang
7142119f03 NEW:add symbolic description for units optionin preferences
https://github.com/bambulab/BambuStudio/issues/1459

Change-Id: Ia16c1bb17378ec25a145dd0e7116df434b564e10
2023-04-17 15:39:02 +08:00
tao wang
ad70e58e14 FIX:fixed incomplete display of filament material names
fixed STUDIO-2464

Change-Id: I8310cc519d0143aa180109d70ebe25b0f068bd52
2023-04-17 15:39:02 +08:00
tao wang
8d6c56e4aa NEW:AMS control supports gradient color filaments display
Change-Id: I38d8a313d84b3acf643b489a1e62ebd073b35c1d
2023-04-17 15:39:02 +08:00
miaoxin
d43c7d5c92 NEW: add gcode conflict checker
1. add gcode conflict checker
2. add a new command line option: --no_check. When it's provided, gcode
   conflict check is skipped.

Change-Id: I6feafca8c5fa6c3c5eae1f0e541ce59d2f03dedf
(cherry picked from commit 5a39afb64e826a960d9673dcada89d02d62b3911)
2023-04-17 15:39:02 +08:00
Stone Li
36e0cc0b12 ENH: optimize track logic
Change-Id: I1fea7eb9681389924c32f3754fc77ee21a3ab898
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
Stone Li
0a1c597da0 NEW: add track for cmd ack
Change-Id: Ibf2c9874bfac0b7a83506a7de2418ef8f3650dc3
2023-04-17 15:39:02 +08:00
zhimin.zeng
5bb35c3086 FIX: German Umlaut's not usable (3D Text Tool) STUDIO-2515
Change-Id: I193cb00f86476ed9088d69426ed17816a9df8de5
2023-04-17 15:39:02 +08:00
zhimin.zeng
24657f9145 FIX: negative volume scaling error when the instance is scaled first
Change-Id: I47b329123cb2b021a388fb1dbbcfe8c4cc927bc7
2023-04-17 15:39:02 +08:00
lane.wei
82d10c34e0 ENH: improve the send all logic
if has one plate with valid gcode, let the send_all success
https://jira.bambooolab.com/browse/STUDIO-2355

Change-Id: I9f022604e354560fea67d2914294391194e5234f
2023-04-17 15:39:02 +08:00
lane.wei
9e077b2e65 ENH: refine some logic when loading 3mf
1. old 3mf judge logic improvement
2. some 3mf doesn't include gcode and geometry, treat it as empty
   project

Change-Id: I9b3f3d04e32ae6ff273ec1ae04c04ac6329487f0
2023-04-17 15:39:02 +08:00
wintergua
0b1ccb8708 ENH: improve the efficiency of grouping volumes during brim generation
the processes are parallized via tbb
the patch 12311 ENH: remove trim_overlap should be used

Change-Id: I226dc171daadebd81b8d3ae013b08c71b91fb392
(cherry picked from commit eaa2e7997a59f43175d5af430269127471e40cbb)
2023-04-17 15:39:02 +08:00
zhimin.zeng
96d2882b8d FIX: wipe tower is not generate when insert custom gcode
Change-Id: I2e21955e4a29b0ee1aa3150f26ccef4db5850413
(cherry picked from commit 677151a26c9724993bad6d802015e76a700555f4)
2023-04-17 15:39:02 +08:00
zhimin.zeng
34f52b213c FIX: modify the camera command of P1P smooth timelapse
P1P use its own layer_change_gcode

Change-Id: I3f640a8d6fdc4481460e0f5aca33cd1ebf3de5ab
2023-04-17 15:39:02 +08:00
zhimin.zeng
752c145384 FIX: Multiple text generated failed. STUDIO-2522
And support generate text on the outer surface of the assembly.

Change-Id: Iebe0b47b3f85c3800c799c4b5800514c0f2838fb
2023-04-17 15:39:02 +08:00
Arthur
1ac8013fa5 ENH: improve normal support's efficiency
Similar to tree support, make as many steps parallel as possible.
Jira: STUDIO-2525

Change-Id: Iee310bbf6911d8d3e4262ee8ed6bd133d09670a9
(cherry picked from commit 3798f1a3ecb85bbfb81925b3702fb4384e18994d)
2023-04-17 15:39:02 +08:00
chunmao.guo
ef1e4a132d ENH: [STUDIO-2446] support select media files by group of month/year
Change-Id: I10d26e34405a13daa477be011e7353d79232b4b3
2023-04-17 15:39:02 +08:00
chunmao.guo
2573d3c112 FIX: [STUDIO-2509] open self for new window on mac
Change-Id: I8fc5b810b00a089f35b914604c511201ae8e5d0b
2023-04-17 15:39:02 +08:00
chunmao.guo
c44a240ec0 FIX: [STUDIO-2511] handle dbl click in ComboBox
Change-Id: I27075e43de4a78446972806b57771f0880677935
2023-04-17 15:39:02 +08:00
chunmao.guo
1966946256 FIX: [STUDIO-2489] Monotonic vs monotonic line wrong icon
Change-Id: Icb50527ed924e82cb6d3508117ebe09781d8b2d1
2023-04-17 15:39:02 +08:00
liz.li
b193566996 FIX:Canvas focus (STUDIO-2384)
https://github.com/bambulab/BambuStudio/issues/1465
https://github.com/bambulab/BambuStudio/issues/1339
two enhancement:
Moving mouse cursor to GLCanvas shouldn't cause focused parameter textbox lose its focus.
When GLCanvas lose focus, the imgui textInput should lose focus too.

Change-Id: I616bb98f87c2dc59669220d3b5a6c3e120a8f06f
2023-04-17 15:39:02 +08:00
liz.li
3f2ee4062b ENH: zooming at mouse position
https://github.com/bambulab/BambuStudio/issues/1321

Change-Id: Ifa5c2b2931a5d80c3e5e5cc05eda76263a5ac570
2023-04-17 15:39:02 +08:00
tao wang
01bb20e4e1 ENH:default button for wxwidget adds dark mode style
Change-Id: Idfb3b379c97f10f6aa9a4cf6ae18e6dfcc8cff3a
2023-04-17 15:39:02 +08:00
Arthur Tang
617cb5490b ENH: tree support style default to Tree Hybrid
1. tree support style default to Tree Hybrid
2. fix an assert bug with MedialAxis::build:
    assert(polyline.width.size() == polyline.points.size() * 2 - 2)
  This is caused by the incorrect clear function of ThickPolyline.

Change-Id: I8d6507ad366d253493e2749e0cbac8d3d837ee8a
(cherry picked from commit bd31e962c11e82005944bef40b17471075e79898)
2023-04-17 15:39:02 +08:00
lane.wei
d7364900dd ENH: log: reduce the status log level to reduce log under cli
Change-Id: I7ab839ce02c22fb48c32b52184649fb951efbe95
(cherry picked from commit 2f1f2bedaf5420ceda3d2f29b7e44a1cc863ccac)
2023-04-17 15:39:02 +08:00
manch1n
797c211203 ENH:allow more same color objects arrange together
Change-Id: I87a9de3c5ed540c87fdebfe4e69ffa539d78ce40

STUDIO-2462

STUDIO-2463
2023-04-17 15:39:02 +08:00
Stone Li
1f1e5894bb ENH: add sec_link field to start_bind
Change-Id: Ia48592f096b14ea0fe4de20126287c6f885d73a5
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
zhimin.zeng
e031708043 FIX: translation for cut
Change-Id: I31f755b857f07e920fe6e50d48f4aa34a53e07da
2023-04-17 15:39:02 +08:00
gerrit
292f7e2c21 ci: update build version to 01.05.00.62
Change-Id: I89651401a9397e1221f3367ee6204f8212d70c7b
2023-04-17 15:39:02 +08:00
liz.li
5b2ef59c9f ENH:rotate object by pressing page down and page up
Change-Id: I888f7c71655548085cd15fe88b16087cf115933a
2023-04-17 15:39:02 +08:00
gerrit
1a71757332 ci: update build version to 01.05.00.61
Change-Id: Icc5832f25e2c533f5ed3eba87ebfb743462c91f5
2023-04-17 15:39:02 +08:00
arthur.tang
6c489808a7 ENH: boost is_support_necessary's performance
1. Parallelize the majority of overhang detection, leaving only a small
part of sharp tail detection as sequential. This strategy makes
is_support_necessary 10 times faster.
2. Use the overlaps function to detect overlapping, instead of using
intersection().empty()
3. Control the max recursion depth to prevent crashing due to too deep
recursion.

Jira: STUDIO-2445, STUDIO-2458
Change-Id: I35283da3e4a22d7afe251b804ce30b90a9d754df
(cherry picked from commit 1a6fedd1a0c82906f1807234ea1b816247ca6fd7)
2023-04-17 15:39:02 +08:00
liz.li
6f298ac6f1 ENH:add track events
Change-Id: I7fb685013f243d6394a94a3c9500016b247ea0a8
2023-04-17 15:39:02 +08:00
yifan.wu
c582e64e0d FIX: remove trim_overlap to avoid perf issue in some cases
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: Id6f54b0421cfdd070971d69a2ed110b7b6430dee
2023-04-17 15:39:02 +08:00
salt.wei
0b126dbed6 ENH: fix the floating layer issue
Fix for floating layer under multi-color
printing while z_hop is zero.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I8cc96bd18020cac8424fe4c3e62fb87da118b826
2023-04-17 15:39:02 +08:00
tao wang
679ccb658b FIX:fixed will create crash logs when open object table
fixed STUDIO-1983

Change-Id: I1f83f16fdc0677f0d00e79508779584789aaa6fa
2023-04-17 15:39:02 +08:00
tao wang
ccfc61492b ENH:use high contrast icons in dark mode
fixed STUDIO-2033

Change-Id: Ibfbc40b02f5333d80d2875d88bb3029109256e4a
2023-04-17 15:39:02 +08:00
tao wang
c6e49af3fe ENH:add some protection for fan control
Change-Id: Ic60deaec60b5238f9307b7b4bb928293701c2fd5
2023-04-17 15:39:02 +08:00
tao wang
03819e6f86 ENH:disable switching printers when sending printing
Change-Id: I9004f3de4f0968cc659a769970ff20c1e7f6f0be
2023-04-17 15:39:02 +08:00
tao wang
47c04e75a7 NEW:use new humidity img
Change-Id: I8e5b68f929e2638d9c94bab3d9ed6b8d7133d586
2023-04-17 15:39:02 +08:00
zhimin.zeng
c8729bec8f FIX: First layer nozzle temperature not working
STUDIO-2409

Change-Id: I4a31be809bbf677d0e029c6cdca6b21fd04d066a
2023-04-17 15:39:02 +08:00
zhimin.zeng
dda90b1810 ENH: get start_gcode filament
Change-Id: Ia511f758d5c59ddc38c79f251e8c95511de4a235
2023-04-17 15:39:02 +08:00
zhimin.zeng
81daebb5a5 FIX: the first layer is not printed in the correct order
Change-Id: Ia8ad49417e6b59fa10b763cb0e207f5f79b9a4d2
2023-04-17 15:39:02 +08:00
Stone Li
c9635174bd ENH:display info when in slicing queue
Change-Id: I0dc2645e5679af310c8c0558c8ae47c9d62958e1
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
tao wang
d9395e6405 ENH:optimize the switching of multiple AMS and vams
Change-Id: I031e3248164aa2fc243c6ebf7418c535119e7ffc
2023-04-17 15:39:02 +08:00
tao wang
7481da52d6 NEW:support for launching studio from the model web
Change-Id: I931fc8633c057228441daf2ab4c9c37f97e898ab
2023-04-17 15:39:02 +08:00
zhimin.zeng
6f141ea740 FIX: crash when open 3mf file
the volume type is unreasonable, causing the array to go out of bounds

Change-Id: I316b05f277f894b1fd32cda3eca29340d988e01e
2023-04-17 15:39:02 +08:00
tao wang
60f524167d ENH:optimize ams material settings
Change-Id: I1c6c57570fc7ba37d45854297e30182a0ffcaad4
2023-04-17 15:39:02 +08:00
zhimin.zeng
cd4cddfca4 ENH: Cut optimization, support for custom connectors
Change-Id: I65163314374fb74f0b16df47dacae82caa6fab0d
(cherry picked from commit 7bacc2c2a89be471f6fee51dd07a42222a28b55a)
2023-04-17 15:39:02 +08:00
Stone Li
9f71a8c5dd FIX: fix third-party login
Change-Id: Ib4699ecec1a6c72a9bc4967751d07b75f6b52d3a
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
salt.wei
03e031fe5c ENH: fix hang issue for archimedean chords pattern
This is fix for STUDIO-2079 that slicer may hang
when generated archimedean chords pattern lines.
Thanks prusa.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I923c1ef48f093b2ab9576cb04beb4787c903ca00
2023-04-17 15:39:02 +08:00
zorro.zhang
223291452b FIX: Some bug in modelinfo webpage
Change-Id: I182fd0006f92975018012cb52a7093373153f80e
(cherry picked from commit c8341df9b548c0eed8769cb6b6dc80aab10b8827)
2023-04-17 15:39:02 +08:00
salt.wei
61b271f379 ENH: fix for STUDIO-881
Thanks prusa

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I2e1c1088d29dd5401016ca41d3ed6dec87e0acd1
2023-04-17 15:39:02 +08:00
zorro.zhang
b4ffa91cb4 ENH: model info display UI
Change-Id: I066c0e7f8ce87ec00b1141a1b44430444a819b42
(cherry picked from commit 05907a1a42da82737090d55046974d401f8af057)
2023-04-17 15:39:02 +08:00
qing.zhang
0cc953ad41 ENH: speed up one wall top generate
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I141565bea3ca4d3fbcc9569b175af5d4f5cdd40e
2023-04-17 15:39:02 +08:00
Arthur
246ff2653d ENH: improve bridge direction detection
Thanks to Prusa.
Jira: STUDIO-2453

Change-Id: Iadcc59df44d5abc552f5d558a500fd9bcd66d43f
(cherry picked from commit c19156fd037df4231f3e0cb1e9a899c9b7525372)
2023-04-17 15:39:02 +08:00
chunmao.guo
dbe1f3f5b1 ENH: [STUDIO-2437] new object sinking interaction
Change-Id: Ia93f3ee92abc7cd2ff5d623c6e1edfe7233e31d4
2023-04-17 15:39:02 +08:00
chunmao.guo
0ce72dfcb7 ENH: Revert "remove the sinking logic"
This reverts commit 17dded5d4aa54a330174788f3d6fbd583f63f8e1.

Change-Id: I51816d8357076a07c500a1bd006b08c15d7467e6
2023-04-17 15:39:02 +08:00
chunmao.guo
00a815e507 FIX: use ppath tag in main 3mf model
Change-Id: I9a91eaa80f4fe5640aec0c954b6b22b144a1812c
2023-04-17 15:39:02 +08:00
Arthur
e4f6315da0 FIX: update_sequential_clearance may crash due to clipper's bug
m_hull_2d_cache must be set since later on we'll use its point number, which is a very large number when not inited.
This will cause a fatal out-of-memory error.

Jira: STUDIO-2452
Change-Id: I9b397a53bdcdf555eccf745f1b96786010ebe309
(cherry picked from commit 6802be53709649e75a1562d29e14559c766d427b)
2023-04-17 15:39:02 +08:00
tao wang
304e29529b ENH:optimize ams ui layout and add vams load/unload display
Change-Id: I17db70fe01f3fd00b60804e9a076248eb14fa845
2023-04-17 15:39:02 +08:00
chunmao.guo
8be8f20f75 FIX: [STUDIO-2364] use generic render for item selection
Change-Id: Iebda6269b736e25802798fcc128230d4bb87c760
2023-04-17 15:39:02 +08:00
Arthur
aebbe807f2 FIX: update_sequential_clearance may crash due to clipper's bug
offset may give empty results.
The previous patch solved the issue that the studio crashes immediately when selecting by-object printing.
This patch solves the issue that the studio crashes when moving objects with mouse after selecting by-object printing.

Jira: STUDIO-2452
Change-Id: Iacd69e67386b0750f24e5af2799ff9c0da130e88
(cherry picked from commit 8ea4379d0b6d61e91bd6704e4b1e8309cb42b924)
2023-04-17 15:39:02 +08:00
Arthur
f227a8f8da FIX: sequential_print_clearance_valid may crash due to clipper's bug
offset may give empty results.

Jira: STUDIO-2452
Change-Id: I4da9689dc3e22afcb2340ce0f9956237e4aab434
(cherry picked from commit 3f33979a79c720fcaddb5b850ec278b3deaf2417)
2023-04-17 15:39:02 +08:00
zhimin.zeng
c098e01b22 FIX: modify plate print sequence, the wipe tower is not update
STUDIO-2279 STUDIO-2280

Change-Id: I9a65ae4c02afc48666131b37d0282d59aa25c560
2023-04-17 15:39:02 +08:00
salt.wei
ad43a54e3d ENH: fix compiling issue
Don't know why this file is missing when cherry-pick...

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Iddfba50ef885fa08078bb9723a6ae2d5d5d0289d
2023-04-17 15:39:02 +08:00
lane.wei
c65a5f8bf5 ENH: thumbnail: add top_view thumbnails and picking thumbnails
1. add top view thumbnail for each plate
2. add picking thumbnails for each plate
3. save model object id for picking

Change-Id: I1d7f6ade22726ff12c282cb12e4a78e6b444a070
2023-04-17 15:39:02 +08:00
chunmao.guo
9f3a89320b FIX: [STUDIO-1033] rm webview script handler on webview destory
Change-Id: If1465ba6bf997bf17b8a33bc33d0f20d34fcbdc7
2023-04-17 15:39:02 +08:00
chunmao.guo
db65fd6e83 FIX: [STUDIO-1940] hide edit ctrl on scroll in ObjectList
Change-Id: I9936ecff241d468f14e3dda0c12e4458cad8c237
2023-04-17 15:39:02 +08:00
chunmao.guo
bd29ac769c FIX: [STUDIO-2295] update dynamic filament list on color change
Change-Id: I6a90e3ed6007b41ea38b50fac96b929d058dddfa
2023-04-17 15:39:02 +08:00
chunmao.guo
89fc178dd0 FIX: [STUDIO-2425] default filament color
Change-Id: I85871885e5e6976e6479410a93a5f14ccd61a8cd
2023-04-17 15:39:02 +08:00
chunmao.guo
670114c1b3 FIX: [STUDIO-2289] impl processname on linux
Change-Id: I0acb5e002b5c945bb8ca6272ad95d602fde17cfb
2023-04-17 15:39:02 +08:00
tao.jin
0f152c635c FIX: [STUDIO-169] handle text baseline on Mac
Change-Id: I13bde2dcd6d19107f5fe6fb66aa35d2aa55ab03d
2023-04-17 15:39:02 +08:00
chunmao.guo
cc994a3492 FIX: [STUDIO-2241] show error dialog later for param value error
Change-Id: I16ffc92cb0701b8e3d984b783618549a5b237f70
2023-04-17 15:39:02 +08:00
tao wang
d352677f08 ENH:modift the title of options in ams settings
Change-Id: Ib5ed8b402713124561c1e1a285b3f1db46d00725
2023-04-17 15:39:02 +08:00
tao wang
252f035d51 FIX:fixed the wrong radio state of saving preset
Change-Id: I9b185b79fd39654decd2cf2aa900b79ac3d23e61
2023-04-17 15:39:02 +08:00
tao wang
a11cce7b26 ENH:optimize ams humidity display
Change-Id: Ied40225c6618d6961f5fd8c357bb227b512437ea
2023-04-17 15:39:02 +08:00
salt.wei
0c00243cbf ENH: remove useless code
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I1dca5e366c2c681a4137c2187ecc7d59663e3b86
2023-04-17 15:39:02 +08:00
salt.wei
31f8034422 ENH: force to use . as decimal point
"std::cout << float number" is unsafe which
may use , as decimal point when switch language.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I8a379117168eab0111dc93987b1d6130a741ade6
2023-04-17 15:39:02 +08:00
lane.wei
4651927869 FIX: CLI: fix the filament_type not correct issue for support-w
1. filament_type not correct in slicedinfo
2. missing serveral information in bbox

Change-Id: I0393ebc887591548a5a1d883661b28876b9ede6e
2023-04-17 15:39:02 +08:00
qing.zhang
cafd8e7f7e ENH: modify temperature_temp of PET-CF
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I2e361b79620cbc5e7df7d5a657f8b26e285d3538
2023-04-17 15:39:02 +08:00
qing.zhang
a8488f65b2 ENH: add Bambu PET-CF & modify slow down layer time of Bambu PLA-CF
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I8396840eca762def30cb794f4c29808f2f71adfa
2023-04-17 15:39:02 +08:00
salt.wei
1278cbf461 ENH: remove tbb simplify in gcode export
Useless after importing AABB tree.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Iaec9bef4a2a6bc4d097c6fd75720cb69d9cf314f
2023-04-17 15:39:02 +08:00
liz.li
db86541df7 FIX: show label function display chinese incorrectly STUDIO-2097
https://jira.bambooolab.com/browse/STUDIO-2097

Change-Id: Ia2e213b08e184c0363a30967f84e7cb5e3bb3642
2023-04-17 15:39:02 +08:00
salt.wei
4c4b274408 ENH: speed gcode export up again
thanks prusa

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ifbe5e2ea55b16a7fe281b54ca16c37695c15f5b1
2023-04-17 15:39:02 +08:00
chunmao.guo
c945c47383 FIX: [STUDIO-2150] export config not work
Change-Id: I05915a9dc5e767273e09ecdebaf5a679435c080f
2023-04-17 15:39:02 +08:00
chunmao.guo
2bb8875e30 FIX: [STUDIO-2213] project title of restored new project
Change-Id: Ia8255016f77942274c9cf4f704115766735a820b
2023-04-17 15:39:02 +08:00
chunmao.guo
8292486c3a FIX: [STUDIO-2064] back color of list view editor on macOS dark mode
Change-Id: Id6ea9b17b83ccb08fe911d62d8fd292358a20ebc
2023-04-17 15:39:02 +08:00
chunmao.guo
91ad491743 FIX: [STUDIO-2282] auto expand filament list on sync ams
Change-Id: Iad2fd419fc6da56418cda7423adcbcef641ee2a3
2023-04-17 15:39:02 +08:00
chunmao.guo
68c9cb0a8c FIX: some config param range
Change-Id: Ia19f51e121bd1966e35efef1127d685b07ca676f
2023-04-17 15:39:02 +08:00
Stone Li
65db26a27d NEW: remember use options when printing
JIRA: STUDIO-2396

Change-Id: I21e6f91e3da53adf8dc28d9be223e03a4a275fca
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
Stone Li
55f3e51bf4 ENH: add translations for Search
JIRA: STUDIO-1985

Change-Id: I39d0eddfc1aa957ecdbe35b9093bceb5c770c224
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
Stone Li
6827b41eb3 NEW: add track events for debugging network
Change-Id: I671f91b4af00277236ca71014f8d667109756d00
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
lane.wei
bd75af4a43 ENH: Linux: set BBL_INTERNAL_TESTING to 1 for release build
Change-Id: I1545636c9e9714b44124ea0ddf18ef39f277a2b8
2023-04-17 15:39:02 +08:00
qing.zhang
4adfb71115 ENH: add Bambu PETG-CF & change filament id of PLA Silk
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ib62b479a2a6648a2a4bfa0d3deb11f6f37f754a4
2023-04-17 15:39:02 +08:00
tao wang
311d9c3481 NEW:the model mall is opened using the default browser
Change-Id: I9f855288486196b2a7c72c51bee8cfcf408ceab8
2023-04-17 15:39:02 +08:00
chunmao.guo
7eb3aa8104 FIX: privacy dialog dark mode (STUDIO-2345)
Change-Id: Icd44d4b83bd9785869f68c04e6d4e38524e4b46a
2023-04-17 15:39:02 +08:00
chunmao.guo
a401c0fa2e FIX: [STUDIO-2340] [STUDIO-2297] handle linux gstreamer error
Change-Id: Iadc6dcb9d7a9f2c5d1ce9cf979bbbfbd0f805d19
2023-04-17 15:39:02 +08:00
chunmao.guo
0e3364a415 FIX: [] not unload user presets on app closing
Change-Id: I517366d0cddab9c073db7bf70fec8f59d7d39e3c
2023-04-17 15:39:02 +08:00
Stone Li
365eacc7cf ENH: add translation for choose color dialog
Change-Id: Ic59286939fcf5a9905950c249ee3e9b03a55398e
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
yifan.wu
fc25754c2c ENH: support smooth timelapse for C11
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: Id9da6654fe26c0bda6a9a7dae1e5601e2d944a57
2023-04-17 15:39:02 +08:00
Arthur
017707e575 FIX: sharp tail detection may fail
1. In small overhang detection, some sharp tail cases are missed because
  the max_layer was not compared.
2. In normal support, previously the lower layer's expolys were not right,
  should only keep the ones that won't vanish when extruding.

Jira: STUDIO-1977, STUDIO-2200
Change-Id: Ia09ff1ab4870b7e3c199a827932536867644c76c
(cherry picked from commit e3ba3a3114821e951d6eb00b4c95e6e63ffe00d4)
2023-04-17 15:39:02 +08:00
lane.wei
dce7751750 ENH: param: remove redundant values in fdm_common
Change-Id: Ie23377db59196edc1857071b91889e2165e63127
(cherry picked from commit 84dc9d988decae3164c084a6b579522276cb4010)
2023-04-17 15:39:02 +08:00
gerrit
a8d98d87ae ci: update build version to 01.05.00.60
Change-Id: I3887ba41bce97454001005ace28951cbf81ec91a
2023-04-17 15:39:02 +08:00
liz.li
1beee1eebf FIX: .gcode file shall disable preview menu (STUDIO-2320)
https://jira.bambooolab.com/browse/STUDIO-2320

Change-Id: I54cd49a49a8b08916872eae75534ef4c1d915cb5
2023-04-17 15:39:02 +08:00
tao wang
ede8a2dc30 ENH:disconnect lan mode printer when switing other printers
Change-Id: Ibd2d80e248b8a25a103cec75fdc9cd11b84e8b48
2023-04-17 15:39:02 +08:00
qing.zhang
fdd659cefe ENH: speed up the wall generator process by using bounding box
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ifccbb33bc6df28136746f98020ef2cad002b5868
2023-04-17 15:39:02 +08:00
liz.li
aba824bbb9 FIX: press key R and T cannot close gizmo window (STUDIO-1980)
https://jira.bambooolab.com/browse/STUDIO-1980

Change-Id: Iaebe4674cf3b14dde4e7ee1a9b123b5a36d2c693
2023-04-17 15:39:02 +08:00
liz.li
289a3d1d53 FIX: crash at fix model (Studio-1482)
deselect all objects when select plate in objectList.
https://jira.bambooolab.com/browse/STUDIO-1482

Change-Id: I3660108ba1d8f369afd5058f086cb7daf306ea59
2023-04-17 15:39:02 +08:00
tao wang
a86d94f2c9 NEW:update the content of the project page
Change-Id: Idb7f8a2564c78a1f062580f6b388ee033238cedf
2023-04-17 15:39:02 +08:00
MusangKing
4cb8b1e125 ENH: Re-open support independent layer height
Allow user to disable support independent layer height when prime tower closed.
Fix wrong WIKI link jumping.

JIRA: STUDIO-1685
JIRA: STUDIO-2308
Change-Id: I894fdd37b707c53e17fd4ad7d1518897f307e557
(cherry picked from commit e10d31e123306a0893087ea03693303768a2daf6)
2023-04-17 15:39:02 +08:00
wintergua
ee3e8fc515 ENH: restore inner and outerinner brim modes
1) the function is not released to public

Change-Id: Ia1b5a31db3b1b1864997b57fe875c01f3ea9fb08
(cherry picked from commit a816cc313659f87978e1275b98f43172cb416a59)
2023-04-17 15:39:02 +08:00
lane.wei
23db223364 ENH: CLI: adjust the thumbnail size to 512
Change-Id: I79c8d584b23e7d4d9c27ce1859b322d9fddebc90
2023-04-17 15:39:02 +08:00
liz.li
e657f54a6d FIX: fix a link url error
Change-Id: Ie4c87383e043fc51adddabde1904b03af585181f
2023-04-17 15:39:02 +08:00
lane.wei
088f2a4ace ENH: cli: add pre-check logic when slicing all
Change-Id: Ib13a5dd11175c0835b7a1362317941aa6a04474b
(cherry picked from commit a6f7ad231e5694ce12f9fd34518425f31c3bb5bd)
2023-04-17 15:39:02 +08:00
zhimin.zeng
b2c457eec6 FIX: Selected shadow position is not correct in assembly view
Change-Id: If727e8f70dc85fb256cad6d9de9bb4913cb11896
(cherry picked from commit a3540aa72566a6606ee3533b4770d010d1edd58c)
2023-04-17 15:39:02 +08:00
zhimin.zeng
0532f837fa FIX: wipe tower is not generated when inserting custom gcode
Change-Id: I8f81dff79dba2fd60df2095ff37696ddc0b9597c
2023-04-17 15:39:02 +08:00
zhimin.zeng
ebaf87f033 FIX: The paint on the top surface is embedded in the sparse fill
Change-Id: I5e95bd22684d79413322fce2924fa4ff8f668c0e
2023-04-17 15:39:02 +08:00
salt.wei
8669291aad ENH: optimize speed of gcode export
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ic641352623f26c7241ae5720ad1baa202a1b00c7
2023-04-17 15:39:02 +08:00
miaoxin
3448b7a053 FIX: avoid arrange to outer when quick click autoarrangement in plate.
Change-Id: Ic8fa2f605094c7a3b7fa5a6fe36c5159678c50fd

STUDIO-2202
(cherry picked from commit 641c18c25f5f297234059d463ac12220c4b6fa9f)

Change-Id: Ic452f2fa4357fcacf71f6a70df2c514d2628b217
2023-04-17 15:39:02 +08:00
wintergua
4c93d6e59d FIX: Brim may not generate with a large positive xy compensation value
studio-2344

Change-Id: I74e91ccae8465ab747f2ed7e95e3d2694238c407
(cherry picked from commit a076c0541e88c68b11cf3b91725da6f8421c405b)
2023-04-17 15:39:02 +08:00
lane.wei
662453f419 ENH: add the time limit and triangle limit for cli slicing
Change-Id: I80d6e58dca6648427dbe4cfbc01eabdedfa79f52
2023-04-17 15:39:02 +08:00
lane.wei
6fab32c98b ENH: backup: add logic to cleanup directory under cli
Change-Id: I7a846e362f45d1c7e34bef59be3b2c312799d0d2
2023-04-17 15:39:02 +08:00
Stone Li
dbe61652c7 ENH: give a tips when printer model is different
Change-Id: I387f2dd74e80efc4c0fbbd5d39faeb29ac2a9581
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-04-17 15:39:02 +08:00
mainmind
70c1d86069 Rebase 2023-03-25 17:50:51 +08:00
2100 changed files with 239243 additions and 27634 deletions

View File

@@ -1,4 +1,4 @@
# Doxyfile 1.9.5
# Doxyfile 1.9.8
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.
@@ -48,7 +48,7 @@ PROJECT_NAME = OrcaSlicer
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = 1.5.0
PROJECT_NUMBER = 1.6.3
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
@@ -61,14 +61,14 @@ PROJECT_BRIEF = OrcaSlicer
# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
# the logo to the output directory.
PROJECT_LOGO = D:/a/OrcaSlicer/OrcaSlicer/resources/images/BambuStudio.png
PROJECT_LOGO = ./resources/images/OrcaSlicer_32px.png
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
# into which the generated documentation will be written. If a relative path is
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.
OUTPUT_DIRECTORY = OrcaSlicer-doc
OUTPUT_DIRECTORY = ../
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096
# sub-directories (in 2 levels) under the output directory of each output format
@@ -86,7 +86,7 @@ CREATE_SUBDIRS = YES
# level increment doubles the number of directories, resulting in 4096
# directories at level 8 which is the default and also the maximum value. The
# sub-directories are organized in 2 levels, the first level always has a fixed
# numer of 16 directories.
# number of 16 directories.
# Minimum value: 0, maximum value: 8, default value: 8.
# This tag requires that the tag CREATE_SUBDIRS is set to YES.
@@ -184,7 +184,7 @@ FULL_PATH_NAMES = YES
# will be relative from the directory where doxygen is started.
# This tag requires that the tag FULL_PATH_NAMES is set to YES.
STRIP_FROM_PATH = /Users/lijiang/lab/OrcaSlicer/
STRIP_FROM_PATH = /Users/runner/work/OrcaSlicer/OrcaSlicer
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
# path mentioned in the documentation of a class, which tells the reader which
@@ -193,7 +193,7 @@ STRIP_FROM_PATH = /Users/lijiang/lab/OrcaSlicer/
# specify the list of include paths that are normally passed to the compiler
# using the -I flag.
STRIP_FROM_INC_PATH =
STRIP_FROM_INC_PATH = /Users/runner/work/OrcaSlicer/OrcaSlicer
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
# less readable) file names. This can be useful is your file systems doesn't
@@ -363,6 +363,17 @@ MARKDOWN_SUPPORT = YES
TOC_INCLUDE_HEADINGS = 5
# The MARKDOWN_ID_STYLE tag can be used to specify the algorithm used to
# generate identifiers for the Markdown headings. Note: Every identifier is
# unique.
# Possible values are: DOXYGEN use a fixed 'autotoc_md' string followed by a
# sequence number starting at 0 and GITHUB use the lower case version of title
# with any whitespace replaced by '-' and punctuation characters removed.
# The default value is: DOXYGEN.
# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
MARKDOWN_ID_STYLE = GITHUB
# When enabled doxygen tries to link words that correspond to documented
# classes, or namespaces to their corresponding documentation. Such a link can
# be prevented in individual cases by putting a % sign in front of the word or
@@ -379,7 +390,7 @@ AUTOLINK_SUPPORT = YES
# diagrams that involve STL classes more complete and accurate.
# The default value is: NO.
BUILTIN_STL_SUPPORT = NO
BUILTIN_STL_SUPPORT = YES
# If you use Microsoft's C++/CLI language, you should set this option to YES to
# enable parsing support.
@@ -418,7 +429,7 @@ DISTRIBUTE_GROUP_DOC = NO
# is disabled and one has to add nested compounds explicitly via \ingroup.
# The default value is: NO.
GROUP_NESTED_COMPOUNDS = NO
GROUP_NESTED_COMPOUNDS = YES
# Set the SUBGROUPING tag to YES to allow class member groups of the same type
# (for instance a group of public functions) to be put as a subgroup of that
@@ -487,6 +498,14 @@ LOOKUP_CACHE_SIZE = 6
NUM_PROC_THREADS = 0
# If the TIMESTAMP tag is set different from NO then each generated page will
# contain the date or date and time when the page was generated. Setting this to
# NO can help when comparing the output of multiple runs.
# Possible values are: YES, NO, DATETIME and DATE.
# The default value is: NO.
TIMESTAMP = NO
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
@@ -499,7 +518,7 @@ NUM_PROC_THREADS = 0
# normally produced when WARNINGS is set to YES.
# The default value is: NO.
EXTRACT_ALL = NO
EXTRACT_ALL = YES
# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
# be included in the documentation.
@@ -568,7 +587,8 @@ HIDE_UNDOC_MEMBERS = NO
# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
# undocumented classes that are normally visible in the class hierarchy. If set
# to NO, these classes will be included in the various overviews. This option
# has no effect if EXTRACT_ALL is enabled.
# will also hide undocumented C++ concepts if enabled. This option has no effect
# if EXTRACT_ALL is enabled.
# The default value is: NO.
HIDE_UNDOC_CLASSES = NO
@@ -714,26 +734,26 @@ STRICT_PROTO_MATCHING = NO
# list. This list is created by putting \todo commands in the documentation.
# The default value is: YES.
GENERATE_TODOLIST = YES
GENERATE_TODOLIST = NO
# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
# list. This list is created by putting \test commands in the documentation.
# The default value is: YES.
GENERATE_TESTLIST = YES
GENERATE_TESTLIST = NO
# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
# list. This list is created by putting \bug commands in the documentation.
# The default value is: YES.
GENERATE_BUGLIST = YES
GENERATE_BUGLIST = NO
# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
# the deprecated list. This list is created by putting \deprecated commands in
# the documentation.
# The default value is: YES.
GENERATE_DEPRECATEDLIST= YES
GENERATE_DEPRECATEDLIST= NO
# The ENABLED_SECTIONS tag can be used to enable conditional documentation
# sections, marked by \if <section_label> ... \endif and \cond <section_label>
@@ -859,11 +879,26 @@ WARN_IF_INCOMPLETE_DOC = YES
WARN_NO_PARAMDOC = NO
# If WARN_IF_UNDOC_ENUM_VAL option is set to YES, doxygen will warn about
# undocumented enumeration values. If set to NO, doxygen will accept
# undocumented enumeration values. If EXTRACT_ALL is set to YES then this flag
# will automatically be disabled.
# The default value is: NO.
WARN_IF_UNDOC_ENUM_VAL = NO
# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when
# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS
# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but
# at the end of the doxygen process doxygen will return with a non-zero status.
# Possible values are: NO, YES and FAIL_ON_WARNINGS.
# If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS_PRINT then doxygen behaves
# like FAIL_ON_WARNINGS but in case no WARN_LOGFILE is defined doxygen will not
# write the warning messages in between other messages but write them at the end
# of a run, in case a WARN_LOGFILE is defined the warning messages will be
# besides being in the defined file also be shown at the end of a run, unless
# the WARN_LOGFILE is defined as - i.e. standard output (stdout) in that case
# the behavior will remain as with the setting FAIL_ON_WARNINGS.
# Possible values are: NO, YES, FAIL_ON_WARNINGS and FAIL_ON_WARNINGS_PRINT.
# The default value is: NO.
WARN_AS_ERROR = NO
@@ -908,7 +943,7 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.
INPUT = .
INPUT = ./src
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@@ -1031,9 +1066,6 @@ EXCLUDE_PATTERNS =
# output. The symbol name can be a fully qualified name, a word, or if the
# wildcard * is used, a substring. Examples: ANamespace, AClass,
# ANamespace::AClass, ANamespace::*Test
#
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories use the pattern */test/*
EXCLUDE_SYMBOLS =
@@ -1219,46 +1251,6 @@ USE_HTAGS = YES
VERBATIM_HEADERS = YES
# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the
# clang parser (see:
# http://clang.llvm.org/) for more accurate parsing at the cost of reduced
# performance. This can be particularly helpful with template rich C++ code for
# which doxygen's built-in parser lacks the necessary type information.
# Note: The availability of this option depends on whether or not doxygen was
# generated with the -Duse_libclang=ON option for CMake.
# The default value is: NO.
CLANG_ASSISTED_PARSING = NO
# If the CLANG_ASSISTED_PARSING tag is set to YES and the CLANG_ADD_INC_PATHS
# tag is set to YES then doxygen will add the directory of each input to the
# include path.
# The default value is: YES.
# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
CLANG_ADD_INC_PATHS = YES
# If clang assisted parsing is enabled you can provide the compiler with command
# line options that you would normally use when invoking the compiler. Note that
# the include paths will already be set by doxygen for the files and directories
# specified with INPUT and INCLUDE_PATH.
# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
CLANG_OPTIONS =
# If clang assisted parsing is enabled you can provide the clang parser with the
# path to the directory containing a file called compile_commands.json. This
# file is the compilation database (see:
# http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) containing the
# options used when the source files were built. This is equivalent to
# specifying the -p option to a clang tool, such as clang-check. These options
# will then be passed to the parser. Any options specified with CLANG_OPTIONS
# will be added as well.
# Note: The availability of this option depends on whether or not doxygen was
# generated with the -Duse_libclang=ON option for CMake.
CLANG_DATABASE_PATH =
#---------------------------------------------------------------------------
# Configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
@@ -1270,10 +1262,11 @@ CLANG_DATABASE_PATH =
ALPHABETICAL_INDEX = YES
# In case all classes in a project start with a common prefix, all classes will
# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
# can be used to specify a prefix (or a list of prefixes) that should be ignored
# while generating the index headers.
# The IGNORE_PREFIX tag can be used to specify a prefix (or a list of prefixes)
# that should be ignored while generating the index headers. The IGNORE_PREFIX
# tag works for classes, function and member names. The entity will be placed in
# the alphabetical list under the first letter of the entity name that remains
# after removing the prefix.
# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
IGNORE_PREFIX =
@@ -1293,7 +1286,7 @@ GENERATE_HTML = YES
# The default directory is: html.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_OUTPUT = html
HTML_OUTPUT = OrcaSlicer_Dev_Document
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
# generated HTML page (for example: .htm, .php, .asp).
@@ -1352,7 +1345,12 @@ HTML_STYLESHEET =
# Doxygen will copy the style sheet files to the output directory.
# Note: The order of the extra style sheet files is of importance (e.g. the last
# style sheet in the list overrules the setting of the previous ones in the
# list). For an example see the documentation.
# list).
# Note: Since the styling of scrollbars can currently not be overruled in
# Webkit/Chromium, the styling will be left out of the default doxygen.css if
# one or more extra stylesheets have been specified. So if scrollbar
# customization is desired it has to be added explicitly. For an example see the
# documentation.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_EXTRA_STYLESHEET =
@@ -1368,17 +1366,13 @@ HTML_EXTRA_STYLESHEET =
HTML_EXTRA_FILES =
# The HTML_COLORSTYLE tag can be used to specify if the generated HTML output
# should be rendered with a dark or light theme. Default setting AUTO_LIGHT
# enables light output unless the user preference is dark output. Other options
# are DARK to always use dark mode, LIGHT to always use light mode, AUTO_DARK to
# default to dark mode unless the user prefers light mode, and TOGGLE to let the
# user toggle between dark and light mode via a button.
# Possible values are: LIGHT Always generate light output., DARK Always generate
# dark output., AUTO_LIGHT Automatically set the mode according to the user
# preference, use light mode if no preference is set (the default)., AUTO_DARK
# Automatically set the mode according to the user preference, use dark mode if
# no preference is set. and TOGGLE Allow to user to switch between light and
# dark mode via a button..
# should be rendered with a dark or light theme.
# Possible values are: LIGHT always generate light mode output, DARK always
# generate dark mode output, AUTO_LIGHT automatically set the mode according to
# the user preference, use light mode if no preference is set (the default),
# AUTO_DARK automatically set the mode according to the user preference, use
# dark mode if no preference is set and TOGGLE allow to user to switch between
# light and dark mode via a button.
# The default value is: AUTO_LIGHT.
# This tag requires that the tag GENERATE_HTML is set to YES.
@@ -1414,15 +1408,6 @@ HTML_COLORSTYLE_SAT = 100
HTML_COLORSTYLE_GAMMA = 80
# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
# page will contain the date and time when the page was generated. Setting this
# to YES can help to show when doxygen was last run and thus if the
# documentation is up to date.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_TIMESTAMP = NO
# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML
# documentation will contain a main index with vertical navigation menus that
# are dynamically created via JavaScript. If disabled, the navigation index will
@@ -1440,7 +1425,7 @@ HTML_DYNAMIC_MENUS = YES
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_DYNAMIC_SECTIONS = NO
HTML_DYNAMIC_SECTIONS = YES
# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
# shown in the various tree structured indices initially; the user can expand
@@ -1468,7 +1453,7 @@ HTML_INDEX_NUM_ENTRIES = 100
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
GENERATE_DOCSET = NO
GENERATE_DOCSET = YES
# This tag determines the name of the docset feed. A documentation feed provides
# an umbrella under which multiple documentation sets from a single provider
@@ -1572,6 +1557,16 @@ BINARY_TOC = NO
TOC_EXPAND = NO
# The SITEMAP_URL tag is used to specify the full URL of the place where the
# generated documentation will be placed on the server by the user during the
# deployment of the documentation. The generated sitemap is called sitemap.xml
# and placed on the directory specified by HTML_OUTPUT. In case no SITEMAP_URL
# is specified no sitemap is generated. For information about the sitemap
# protocol see https://www.sitemaps.org
# This tag requires that the tag GENERATE_HTML is set to YES.
SITEMAP_URL =
# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
@@ -1736,7 +1731,7 @@ OBFUSCATE_EMAILS = YES
# The default value is: png.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_FORMULA_FORMAT = png
HTML_FORMULA_FORMAT = svg
# Use this tag to change the font size of LaTeX formulas included as images in
# the HTML documentation. When you change the font size after a successful
@@ -2060,9 +2055,16 @@ PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
# command to the generated LaTeX files. This will instruct LaTeX to keep running
# if errors occur, instead of asking the user for help.
# The LATEX_BATCHMODE tag ignals the behavior of LaTeX in case of an error.
# Possible values are: NO same as ERROR_STOP, YES same as BATCH, BATCH In batch
# mode nothing is printed on the terminal, errors are scrolled as if <return> is
# hit at every error; missing files that TeX tries to input or request from
# keyboard input (\read on a not open input stream) cause the job to abort,
# NON_STOP In nonstop mode the diagnostic message will appear on the terminal,
# but there is no possibility of user interaction just like in batch mode,
# SCROLL In scroll mode, TeX will stop only for missing files to input or if
# keyboard input is necessary and ERROR_STOP In errorstop mode, TeX will stop at
# each error, asking for user intervention.
# The default value is: NO.
# This tag requires that the tag GENERATE_LATEX is set to YES.
@@ -2083,14 +2085,6 @@ LATEX_HIDE_INDICES = NO
LATEX_BIB_STYLE = plain
# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated
# page will contain the date and time when the page was generated. Setting this
# to NO can help when comparing the output of multiple runs.
# The default value is: NO.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_TIMESTAMP = NO
# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute)
# path from which the emoji images will be read. If a relative path is entered,
# it will be relative to the LATEX_OUTPUT directory. If left blank the
@@ -2256,7 +2250,7 @@ DOCBOOK_OUTPUT = docbook
#---------------------------------------------------------------------------
# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
# AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures
# AutoGen Definitions (see https://autogen.sourceforge.net/) file that captures
# the structure of the code including all documentation. Note that this feature
# is still experimental and incomplete at the moment.
# The default value is: NO.
@@ -2267,6 +2261,28 @@ GENERATE_AUTOGEN_DEF = NO
# Configuration options related to Sqlite3 output
#---------------------------------------------------------------------------
# If the GENERATE_SQLITE3 tag is set to YES doxygen will generate a Sqlite3
# database with symbols found by doxygen stored in tables.
# The default value is: NO.
GENERATE_SQLITE3 = NO
# The SQLITE3_OUTPUT tag is used to specify where the Sqlite3 database will be
# put. If a relative path is entered the value of OUTPUT_DIRECTORY will be put
# in front of it.
# The default directory is: sqlite3.
# This tag requires that the tag GENERATE_SQLITE3 is set to YES.
SQLITE3_OUTPUT = sqlite3
# The SQLITE3_OVERWRITE_DB tag is set to YES, the existing doxygen_sqlite3.db
# database file will be recreated with each doxygen run. If set to NO, doxygen
# will warn if an a database file is already found and not modify it.
# The default value is: YES.
# This tag requires that the tag GENERATE_SQLITE3 is set to YES.
SQLITE3_RECREATE_DB = YES
#---------------------------------------------------------------------------
# Configuration options related to the Perl module output
#---------------------------------------------------------------------------
@@ -2322,7 +2338,7 @@ ENABLE_PREPROCESSING = YES
# The default value is: NO.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
MACRO_EXPANSION = NO
MACRO_EXPANSION = YES
# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
# the macro expansion is limited to the macros specified with the PREDEFINED and
@@ -2330,7 +2346,7 @@ MACRO_EXPANSION = NO
# The default value is: NO.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
EXPAND_ONLY_PREDEF = NO
EXPAND_ONLY_PREDEF = YES
# If the SEARCH_INCLUDES tag is set to YES, the include files in the
# INCLUDE_PATH will be searched if a #include is found.
@@ -2431,16 +2447,9 @@ EXTERNAL_GROUPS = YES
EXTERNAL_PAGES = YES
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
# Configuration options related to diagram generator tools
#---------------------------------------------------------------------------
# You can include diagrams made with dia in doxygen documentation. Doxygen will
# then run dia to produce the diagram and insert it in the documentation. The
# DIA_PATH tag allows you to specify the directory where the dia binary resides.
# If left empty dia is assumed to be found in the default search path.
DIA_PATH =
# If set to YES the inheritance and collaboration graphs will hide inheritance
# and usage relations if the target is undocumented or is not a class.
# The default value is: YES.
@@ -2449,7 +2458,7 @@ HIDE_UNDOC_RELATIONS = YES
# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
# available from the path. This tool is part of Graphviz (see:
# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
# https://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
# Bell Labs. The other options in this section have no effect if this option is
# set to NO
# The default value is: NO.
@@ -2502,13 +2511,15 @@ DOT_NODE_ATTR = "shape=box,height=0.2,width=0.4"
DOT_FONTPATH =
# If the CLASS_GRAPH tag is set to YES (or GRAPH) then doxygen will generate a
# graph for each documented class showing the direct and indirect inheritance
# relations. In case HAVE_DOT is set as well dot will be used to draw the graph,
# otherwise the built-in generator will be used. If the CLASS_GRAPH tag is set
# to TEXT the direct and indirect inheritance relations will be shown as texts /
# links.
# Possible values are: NO, YES, TEXT and GRAPH.
# If the CLASS_GRAPH tag is set to YES or GRAPH or BUILTIN then doxygen will
# generate a graph for each documented class showing the direct and indirect
# inheritance relations. In case the CLASS_GRAPH tag is set to YES or GRAPH and
# HAVE_DOT is enabled as well, then dot will be used to draw the graph. In case
# the CLASS_GRAPH tag is set to YES and HAVE_DOT is disabled or if the
# CLASS_GRAPH tag is set to BUILTIN, then the built-in generator will be used.
# If the CLASS_GRAPH tag is set to TEXT the direct and indirect inheritance
# relations will be shown as texts / links.
# Possible values are: NO, YES, TEXT, GRAPH and BUILTIN.
# The default value is: YES.
CLASS_GRAPH = YES
@@ -2579,7 +2590,7 @@ DOT_WRAP_THRESHOLD = 17
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.
TEMPLATE_RELATIONS = NO
TEMPLATE_RELATIONS = YES
# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
# YES then doxygen will generate a graph for each documented file showing the
@@ -2649,7 +2660,7 @@ DIR_GRAPH_MAX_DEPTH = 1
# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
# generated by dot. For an explanation of the image formats see the section
# output formats in the documentation of the dot tool (Graphviz (see:
# http://www.graphviz.org/)).
# https://www.graphviz.org/)).
# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
# to make the SVG files visible in IE 9+ (other browsers do not have this
# requirement).
@@ -2686,11 +2697,12 @@ DOT_PATH =
DOTFILE_DIRS =
# The MSCFILE_DIRS tag can be used to specify one or more directories that
# contain msc files that are included in the documentation (see the \mscfile
# command).
# You can include diagrams made with dia in doxygen documentation. Doxygen will
# then run dia to produce the diagram and insert it in the documentation. The
# DIA_PATH tag allows you to specify the directory where the dia binary resides.
# If left empty dia is assumed to be found in the default search path.
MSCFILE_DIRS =
DIA_PATH =
# The DIAFILE_DIRS tag can be used to specify one or more directories that
# contain dia files that are included in the documentation (see the \diafile
@@ -2738,7 +2750,7 @@ DOT_GRAPH_MAX_NODES = 50
# Minimum value: 0, maximum value: 1000, default value: 0.
# This tag requires that the tag HAVE_DOT is set to YES.
MAX_DOT_GRAPH_DEPTH = 4
MAX_DOT_GRAPH_DEPTH = 5
# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
# files in one run (i.e. multiple -o and -T options on the command line). This
@@ -2767,3 +2779,19 @@ GENERATE_LEGEND = YES
# The default value is: YES.
DOT_CLEANUP = YES
# You can define message sequence charts within doxygen comments using the \msc
# command. If the MSCGEN_TOOL tag is left empty (the default), then doxygen will
# use a built-in version of mscgen tool to produce the charts. Alternatively,
# the MSCGEN_TOOL tag can also specify the name an external tool. For instance,
# specifying prog as the value, doxygen will call the tool as prog -T
# <outfile_format> -o <outputfile> <inputfile>. The external tool should support
# output file formats "png", "eps", "svg", and "ismap".
MSCGEN_TOOL =
# The MSCFILE_DIRS tag can be used to specify one or more directories that
# contain msc files that are included in the documentation (see the \mscfile
# command).
MSCFILE_DIRS =

127
.github/workflows/build_deps.yml vendored Normal file
View File

@@ -0,0 +1,127 @@
# name: Build Deps
name: Build deps
on:
pull_request:
branches:
- main
paths:
- 'deps/**'
- .github/workflows/build_deps.yml
push:
branches:
- main
paths:
- 'deps/**'
- .github/workflows/build_deps.yml
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build_deps:
strategy:
fail-fast: false
matrix:
include:
# - os: ubuntu-22.04
- os: windows-latest
# - os: macos-12
# arch: x86_64
# - os: macos-12
# arch: arm64
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: setup dev on Windows
if: matrix.os == 'Windows'
uses: microsoft/setup-msbuild@v1.1
- name: Get the date on Ubuntu and macOS
if: matrix.os != 'windows-latest'
id: get-date-unix
run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_ENV
shell: bash
- name: Get the date on Windows
if: matrix.os == 'windows-latest'
id: get-date-windows
run: echo "date=$(Get-Date -Format 'yyyyMMdd')" | Out-File -Append -FilePath $env:GITHUB_ENV -Encoding utf8
shell: pwsh
- name: Build on Windows
if: matrix.os == 'windows-latest'
working-directory: ${{ github.workspace }}
run: |
choco install strawberryperl
mkdir ${{ github.workspace }}/deps/build
mkdir ${{ github.workspace }}/deps/build/OrcaSlicer_dep
.\build_release_vs2022.bat deps
cd ${{ github.workspace }}/deps/build
- name: Build on Mac x86_64
if: matrix.os == 'macos-12' && matrix.arch == 'x86_64'
working-directory: ${{ github.workspace }}
run: |
brew install cmake git gettext
mkdir -p ${{ github.workspace }}/deps/build_x86_64
mkdir -p ${{ github.workspace }}/deps/build_x86_64/OrcaSlicer_dep_x86_64
./build_release_macos.sh -dp -a x86_64
- name: Build on Mac arm64
if: matrix.os == 'macos-12' && matrix.arch == 'arm64'
working-directory: ${{ github.workspace }}
run: |
brew install cmake git gettext
mkdir -p ${{ github.workspace }}/deps/build_arm64
mkdir -p ${{ github.workspace }}/deps/build_arm64/OrcaSlicer_dep_arm64
./build_release_macos.sh -dp -a arm64
- name: Build on Ubuntu
if: matrix.os == 'ubuntu-22.04'
working-directory: ${{ github.workspace }}
run: |
sudo apt-get update
sudo apt-get 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 \
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
mkdir -p ${{ github.workspace }}/deps/build
mkdir -p ${{ github.workspace }}/deps/build/destdir
sudo ./BuildLinux.sh -ur
sudo chown $USER -R ./
./BuildLinux.sh -dr
- name: Upload Mac arm64 artifacts
if: matrix.os == 'macos-12' && matrix.arch == 'arm64'
uses: actions/upload-artifact@v3
with:
name: OrcaSlicer_dep_mac_arm64_${{ env.date }}
path: ${{ github.workspace }}/deps/build_arm64/OrcaSlicer_dep*.tar.gz
- name: Upload Mac x86_64 artifacts
if: matrix.os == 'macos-12' && matrix.arch == 'x86_64'
uses: actions/upload-artifact@v3
with:
name: OrcaSlicer_dep_mac_x86_64_${{ env.date }}
path: ${{ github.workspace }}/deps/build_x86_64/OrcaSlicer_dep*.tar.gz
- name: Upload Windows artifacts
if: matrix.os == 'windows-latest'
uses: actions/upload-artifact@v3
with:
name: OrcaSlicer_dep_win64_${{ env.date }}
path: ${{ github.workspace }}/deps/build/OrcaSlicer_dep
- name: Upload Ubuntu artifacts
if: matrix.os == 'ubuntu-22.04'
uses: actions/upload-artifact@v3
with:
name: OrcaSlicer_dep_ubuntu_${{ env.date }}
path: ${{ github.workspace }}/deps/build/destdir

View File

@@ -1,68 +0,0 @@
name: Build Linux
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
appimage-builder:
name: Linux AppImage Build
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get 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
- name: Install dependencies from BuildLinux.sh
shell: bash
run: sudo ./BuildLinux.sh -ur
- name: Fix permissions
shell: bash
run: sudo chown $USER -R ./
# - name: Build deps
# id: cache_deps
# uses: actions/cache@v3
# env:
# cache-name: ${{ runner.os }}-cache-orcaslicer_deps_x64
# with:
# path: ${{ github.workspace }}/deps/build/destdir
# key: build-${{ env.cache-name }}
# - if: ${{ steps.cache_deps.outputs.cache-hit != 'true' }}
# name: Build deps
# working-directory: ${{ github.workspace }}
# continue-on-error: true
# run: ./BuildLinux.sh -dr
- name: Download and extract deps
working-directory: ${{ github.workspace }}
run: |
mkdir -p ${{ github.workspace }}/deps/build
mkdir -p ${{ github.workspace }}/deps/build/destdir
curl -LJO https://github.com/SoftFever/FileSharing/releases/download/OrcaSlicer_deps_Mar/OrcaSlicer_dep_ubuntu_05-04-2023.tar.gz
tar -zxf OrcaSlicer_dep_ubuntu_05-04-2023.tar.gz -C ${{ github.workspace }}/deps/build
chown -R $(id -u):$(id -g) ${{ github.workspace }}/deps/build/destdir
ls -l ${{ github.workspace }}/deps/build/destdir
rm OrcaSlicer_dep_ubuntu_05-04-2023.tar.gz
- name: Build Studio
shell: bash
run: |
./BuildLinux.sh -isr
chmod +x ./build/OrcaSlicer_ubu64.AppImage
- uses: actions/upload-artifact@v3
with:
name: OrcaSlicer_Linux
path: './build/OrcaSlicer_ubu64.AppImage'

View File

@@ -1,95 +0,0 @@
name: Build Mac AppleSilicon
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build_osx_arm64:
name: Build Mac AppleSilicon
runs-on: macos-12
steps:
- uses: actions/checkout@v3
- name: Install tools
run: |
brew install cmake git gettext zstd
- run: mkdir -p ${{ github.workspace }}/deps/build_arm64
- run: mkdir -p ${{ github.workspace }}/deps/build_arm64/OrcaSlicer_dep_arm64
# - name: build deps
# id: cache_deps
# uses: actions/cache@v3
# env:
# cache-name: ${{ runner.os }}-cache-orcaslicer_deps_arm64
# with:
# path: ${{ github.workspace }}/deps/build/OrcaSlicer_dep
# key: build-${{ env.cache-name }}
# - if: ${{ steps.cache_deps.outputs.cache-hit != 'true' }}
# name: build deps
# working-directory: ${{ github.workspace }}
# continue-on-error: true
# run: ./build_release_macos.sh -d -a arm64
- name: Download and extract deps
working-directory: ${{ github.workspace }}
run: |
curl -LJO https://github.com/SoftFever/FileSharing/releases/download/OrcaSlicer_deps_Mar/OrcaSlicer_dep_mac_arm64_11-03-2023.tar.gz
tar -zxf OrcaSlicer_dep_mac_arm64_11-03-2023.tar.gz -C ${{ github.workspace }}/deps/build_arm64
chown -R $(id -u):$(id -g) ${{ github.workspace }}/deps/build_arm64/OrcaSlicer_dep_arm64
ls -l ${{ github.workspace }}/deps/build_arm64/OrcaSlicer_dep_arm64
rm OrcaSlicer_dep_mac_arm64_11-03-2023.tar.gz
- name: Build studio
working-directory: ${{ github.workspace }}
run: |
./build_release_macos.sh -s -n -a arm64
- name: Sign app
working-directory: ${{ github.workspace }}
env:
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
CERTIFICATE_ID: ${{ secrets.MACOS_CERTIFICATE_ID }}
run: |
CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode --output $CERTIFICATE_PATH
security create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
security unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
security import $CERTIFICATE_PATH -P $P12_PASSWORD -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
security list-keychain -d user -s $KEYCHAIN_PATH
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $P12_PASSWORD $KEYCHAIN_PATH
codesign --deep --force --verbose --sign "$CERTIFICATE_ID" ${{ github.workspace }}/build_arm64/OrcaSlicer/OrcaSlicer.app
- name: Pack app
working-directory: ${{ github.workspace }}
run: |
export ver=$(grep '^#define SoftFever_VERSION' ./build_arm64/src/libslic3r/libslic3r_version.h | cut -d ' ' -f3)
ver="_V${ver//\"}"
cd ${{ github.workspace }}/build_arm64/OrcaSlicer
zip -FSrq OrcaSlicer${ver}_Mac_AppleSilicon_signed.zip ./OrcaSlicer.app
# (wip: staple failed, error 65)
# - name: Notarize the app
# run: |
# cd ${{ github.workspace }}/build_arm64/OrcaSlicer
# xcrun notarytool store-credentials "notarytool-profile" --apple-id "${{ secrets.APPLE_DEV_ACCOUNT }}" --team-id "${{ secrets.TEAM_ID }}" --password "${{ secrets.APP_PWD }}"
# ditto -c -k --keepParent "OrcaSlicer.app" "OrcaSlicer.zip"
# xcrun notarytool submit "OrcaSlicer.zip" --keychain-profile "notarytool-profile" --wait
# xcrun stapler staple OrcaSlicer.app
# zip -FSrq OrcaSlicer_Mac_notarized.zip OrcaSlicer.app
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: OrcaSlicer_Mac_AppleSilicon
path: ${{ github.workspace }}/build_arm64/OrcaSlicer/OrcaSlicer*.zip

View File

@@ -1,94 +0,0 @@
name: Build Mac Intel
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build_osx_x86_64:
name: Build Mac Intel
runs-on: macos-12
steps:
- uses: actions/checkout@v3
- name: Install tools
run: |
brew install cmake git gettext
- run: mkdir -p ${{ github.workspace }}/deps/build_x86_64
- run: mkdir -p ${{ github.workspace }}/deps/build_x86_64/OrcaSlicer_dep_x86_64
# - name: build deps
# id: cache_deps
# uses: actions/cache@v3
# env:
# cache-name: ${{ runner.os }}-cache-orcaslicer_deps_x64
# with:
# path: ${{ github.workspace }}/deps/build/OrcaSlicer_dep
# key: build-${{ env.cache-name }}
# - if: ${{ steps.cache_deps.outputs.cache-hit != 'true' }}
# name: build deps
# working-directory: ${{ github.workspace }}
# continue-on-error: true
# run: ./build_release_macos.sh -d -a x86_64
- name: Download and extract deps
working-directory: ${{ github.workspace }}
run: |
curl -LJO https://github.com/SoftFever/FileSharing/releases/download/OrcaSlicer_deps_Mar/OrcaSlicer_dep_mac_x86_64_11-03-2023.tar.gz
tar -zxf OrcaSlicer_dep_mac_x86_64_11-03-2023.tar.gz -C ${{ github.workspace }}/deps/build_x86_64
chown -R $(id -u):$(id -g) ${{ github.workspace }}/deps/build_x86_64/OrcaSlicer_dep_x86_64
ls -l ${{ github.workspace }}/deps/build_x86_64/OrcaSlicer_dep_x86_64
rm OrcaSlicer_dep_mac_x86_64_11-03-2023.tar.gz
- name: Build studio
working-directory: ${{ github.workspace }}
run: ./build_release_macos.sh -s -n -a x86_64
- name: Sign app
working-directory: ${{ github.workspace }}
env:
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
CERTIFICATE_ID: ${{ secrets.MACOS_CERTIFICATE_ID }}
run: |
CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode --output $CERTIFICATE_PATH
security create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
security unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
security import $CERTIFICATE_PATH -P $P12_PASSWORD -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
security list-keychain -d user -s $KEYCHAIN_PATH
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $P12_PASSWORD $KEYCHAIN_PATH
codesign --deep --force --verbose --sign "$CERTIFICATE_ID" ${{ github.workspace }}/build_x86_64/OrcaSlicer/OrcaSlicer.app
- name: pack app
working-directory: ${{ github.workspace }}
run: |
export ver=$(grep '^#define SoftFever_VERSION' ./build_x86_64/src/libslic3r/libslic3r_version.h | cut -d ' ' -f3)
ver="_V${ver//\"}"
cd ${{ github.workspace }}/build_x86_64/OrcaSlicer
zip -FSrq OrcaSlicer${ver}_Mac_Intel_signed.zip OrcaSlicer.app
# (wip: staple failed, error 65)
# - name: Notarize the app
# run: |
# xcrun notarytool store-credentials "notarytool-profile" --apple-id "${{ secrets.APPLE_DEV_ACCOUNT }}" --team-id "${{ secrets.TEAM_ID }}" --password "${{ secrets.APP_PWD }}"
# ditto -c -k --keepParent "OrcaSlicer.app" "OrcaSlicer.zip"
# xcrun notarytool submit "OrcaSlicer.zip" --keychain-profile "notarytool-profile" --wait
# xcrun stapler staple OrcaSlicer.app
# zip -FSrq OrcaSlicer_Mac_notarized.zip OrcaSlicer.app
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: OrcaSlicer_Mac_Intel
path: ${{ github.workspace }}/build_x86_64/OrcaSlicer/OrcaSlicer*.zip

286
.github/workflows/build_orca.yml vendored Normal file
View File

@@ -0,0 +1,286 @@
name: Build OrcaSlicer
on:
push:
branches:
- main
paths:
- 'src/**'
- '**/CMakeLists.txt'
- 'version.inc'
- 'localization/**'
- 'resources/**'
- ".github/workflows/build_orca.yml"
pull_request:
branches:
- main
paths:
- 'src/**'
- '**/CMakeLists.txt'
- 'version.inc'
- 'localization/**'
- 'resources/**'
- ".github/workflows/build_orca.yml"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build_orca:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-20.04
- os: windows-2019
- os: macos-12
arch: x86_64
- os: macos-12
arch: arm64
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Get the version and date on Ubuntu and macOS
if: matrix.os != 'windows-2019'
id: get-version-unix
run: |
ver=$(grep 'set(SoftFever_VERSION' version.inc | cut -d '"' -f2)
echo "ver=$ver" >> $GITHUB_ENV
echo "date=$(date +'%Y%m%d')" >> $GITHUB_ENV
shell: bash
- name: Get the version and date on Windows
if: matrix.os == 'windows-2019'
id: get-version-windows
run: |
echo "date=$(Get-Date -Format 'yyyyMMdd')" | Out-File -Append -FilePath $env:GITHUB_ENV -Encoding utf8
# Extract the version from the file
$versionContent = Get-Content version.inc -Raw
if ($versionContent -match 'set\(SoftFever_VERSION "(.*?)"\)') {
$ver = $matches[1]
}
echo "ver=$ver" | Out-File -Append -FilePath $env:GITHUB_ENV -Encoding utf8
echo "date: ${{ env.date }} version: $ver"
shell: pwsh
# Mac
- name: Install tools mac
if: matrix.os == 'macos-12'
run: |
brew install cmake git gettext zstd
mkdir -p ${{ github.workspace }}/deps/build_${{matrix.arch}}
mkdir -p ${{ github.workspace }}/deps/build_${{matrix.arch}}/OrcaSlicer_dep_${{matrix.arch}}
# - name: build deps
# if: matrix.os == 'macos-12'
# id: cache_deps
# uses: actions/cache@v3
# env:
# cache-name: ${{ runner.os }}-cache-orcaslicer_deps_${{matrix.arch}}
# with:
# path: ${{ github.workspace }}/deps/build/OrcaSlicer_dep
# key: build-${{ env.cache-name }}
# - if: ${{ steps.cache_deps.outputs.cache-hit != 'true' }}
# name: build deps
# working-directory: ${{ github.workspace }}
# continue-on-error: true
# run: ./build_release_macos.sh -d -a ${{matrix.arch}}
- name: Download and extract deps
if: matrix.os == 'macos-12'
working-directory: ${{ github.workspace }}
run: |
curl -LJO https://github.com/SoftFever/FileSharing/releases/download/2023.08.2/OrcaSlicer_dep_mac_${{matrix.arch}}_06-08-2023.tar.gz
tar -zxfOrcaSlicer_dep_mac_${{matrix.arch}}_06-08-2023.tar.gz -C ${{ github.workspace }}/deps/build_${{matrix.arch}}
chown -R $(id -u):$(id -g) ${{ github.workspace }}/deps/build_${{matrix.arch}}/OrcaSlicer_dep_${{matrix.arch}}
ls -l ${{ github.workspace }}/deps/build_${{matrix.arch}}/OrcaSlicer_dep_${{matrix.arch}}
rm OrcaSlicer_dep_mac_${{matrix.arch}}_06-08-2023.tar.gz
- name: Build slicer mac
if: matrix.os == 'macos-12'
working-directory: ${{ github.workspace }}
run: |
./build_release_macos.sh -s -n -a ${{matrix.arch}}
- name: Sign app
if: matrix.os == 'macos-12'
working-directory: ${{ github.workspace }}
env:
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
CERTIFICATE_ID: ${{ secrets.MACOS_CERTIFICATE_ID }}
run: |
CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode --output $CERTIFICATE_PATH
security create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
security unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH
security import $CERTIFICATE_PATH -P $P12_PASSWORD -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
security list-keychain -d user -s $KEYCHAIN_PATH
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $P12_PASSWORD $KEYCHAIN_PATH
codesign --deep --force --verbose --options runtime --timestamp --entitlements ${{ github.workspace }}/scripts/disable_validation.entitlements --sign "$CERTIFICATE_ID" ${{ github.workspace }}/build_${{matrix.arch}}/OrcaSlicer/OrcaSlicer.app
ln -s /Applications ${{ github.workspace }}/build_${{matrix.arch}}/OrcaSlicer/Applications
hdiutil create -volname "OrcaSlicer" -srcfolder ${{ github.workspace }}/build_${{matrix.arch}}/OrcaSlicer -ov -format UDZO OrcaSlicer_Mac_${{matrix.arch}}_V${{ env.ver }}.dmg
codesign --deep --force --verbose --options runtime --timestamp --entitlements ${{ github.workspace }}/scripts/disable_validation.entitlements --sign "$CERTIFICATE_ID" OrcaSlicer_Mac_${{matrix.arch}}_V${{ env.ver }}.dmg
# Thanks to RaySajuuk, it's working now
- name: Notarize the app
if: matrix.os == 'macos-12'
working-directory: ${{ github.workspace }}
run: |
xcrun notarytool store-credentials "notarytool-profile" --apple-id "${{ secrets.APPLE_DEV_ACCOUNT }}" --team-id "${{ secrets.TEAM_ID }}" --password "${{ secrets.APP_PWD }}"
xcrun notarytool submit "OrcaSlicer_Mac_${{matrix.arch}}_V${{ env.ver }}.dmg" --keychain-profile "notarytool-profile" --wait
xcrun stapler staple OrcaSlicer_Mac_${{matrix.arch}}_V${{ env.ver }}.dmg
- name: Upload artifacts mac
if: matrix.os == 'macos-12'
uses: actions/upload-artifact@v3
with:
name: OrcaSlicer_Mac_${{matrix.arch}}_V${{ env.ver }}
path: ${{ github.workspace }}/OrcaSlicer_Mac_${{matrix.arch}}_V${{ env.ver }}.dmg
# Windows
- name: setup MSVC
if: matrix.os == 'windows-2019'
uses: microsoft/setup-msbuild@v1.1
- name: Install nsis
if: matrix.os == 'windows-2019'
run: |
choco install nsis
- name: download deps
if: matrix.os == 'windows-2019'
shell: powershell
run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/SoftFever/FileSharing/releases/download/4/OrcaSlicer_dep_18Jul2023.zip", "$env:temp\OrcaSlicer_dep_18Jul2023.zip")'
- name: maker dir
if: matrix.os == 'windows-2019'
working-directory: ${{ github.workspace }}
run: |
mkdir ${{ github.workspace }}/deps/build
mkdir ${{ github.workspace }}/deps/build/OrcaSlicer_dep
- name: extract deps
if: matrix.os == 'windows-2019'
working-directory: ${{ github.workspace }}/deps/build
shell: cmd
run: '"C:/Program Files/7-Zip/7z.exe" x %temp%\OrcaSlicer_dep_18Jul2023.zip'
# - name: build deps
# if: matrix.os == 'windows-2019'
# id: cache_deps
# uses: actions/cache@v3
# env:
# cache-name: ${{ runner.os }}-cache-orcaslicer_deps
# with:
# path: ${{ github.workspace }}/deps/build/OrcaSlicer_dep
# key: ${{ runner.os }}-build-${{ env.cache-name }}
# - if: ${{ steps.cache_deps.outputs.cache-hit != 'true' }}
# name: build deps
# working-directory: ${{ github.workspace }}
# continue-on-error: true
# run: .\build_release_vs2022.bat deps
# - run: Get-ChildItem ${{ github.workspace }}/deps/build/ -Exclude OrcaSlicer_dep | Remove-Item -Recurse -Force
- name: Build slicer Win
if: matrix.os == 'windows-2019'
working-directory: ${{ github.workspace }}
run: .\build_release.bat slicer
- name: Create installer Win
if: matrix.os == 'windows-2019'
working-directory: ${{ github.workspace }}/build
run: cpack -G NSIS
# - name: pack app
# if: matrix.os == 'windows-2019'
# working-directory: ${{ github.workspace }}/build
# shell: cmd
# run: '"C:/Program Files/7-Zip/7z.exe" a -tzip OrcaSlicer_dev_build.zip ${{ github.workspace }}/build/OrcaSlicer'
- name: Upload artifacts Win zip
if: matrix.os == 'windows-2019'
uses: actions/upload-artifact@v3
with:
name: OrcaSlicer_Windows_V${{ env.ver }}_portable
path: ${{ github.workspace }}/build/OrcaSlicer
- name: Upload artifacts Win installer
if: matrix.os == 'windows-2019'
uses: actions/upload-artifact@v3
with:
name: OrcaSlicer_Windows_V${{ env.ver }}
path: ${{ github.workspace }}/build/OrcaSlicer*.exe
# Ubuntu
- name: Install dependencies
if: matrix.os == 'ubuntu-20.04'
run: |
sudo apt-get update
sudo apt-get 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
- name: Install dependencies from BuildLinux.sh
if: matrix.os == 'ubuntu-20.04'
shell: bash
run: sudo ./BuildLinux.sh -ur
- name: Fix permissions
if: matrix.os == 'ubuntu-20.04'
shell: bash
run: sudo chown $USER -R ./
# - name: Build deps
# if: matrix.os == 'ubuntu-20.04'
# id: cache_deps
# uses: actions/cache@v3
# env:
# cache-name: ${{ runner.os }}-cache-orcaslicer_deps_x64
# with:
# path: ${{ github.workspace }}/deps/build/destdir
# key: build-${{ env.cache-name }}
# - if: ${{ steps.cache_deps.outputs.cache-hit != 'true' }}
# name: Build deps
# working-directory: ${{ github.workspace }}
# continue-on-error: true
# run: ./BuildLinux.sh -dr
- name: Download and extract deps
if: matrix.os == 'ubuntu-20.04'
working-directory: ${{ github.workspace }}
run: |
mkdir -p ${{ github.workspace }}/deps/build
mkdir -p ${{ github.workspace }}/deps/build/destdir
curl -LJO https://github.com/SoftFever/FileSharing/releases/download/2023.08/OrcaSlicer_dep_ubuntu_02-08-2023.tar.gz
tar -zxf OrcaSlicer_dep_ubuntu_02-08-2023.tar.gz -C ${{ github.workspace }}/deps/build
chown -R $(id -u):$(id -g) ${{ github.workspace }}/deps/build/destdir
ls -l ${{ github.workspace }}/deps/build/destdir
rm OrcaSlicer_dep_ubuntu_02-08-2023.tar.gz
- name: Build slicer
if: matrix.os == 'ubuntu-20.04'
shell: bash
run: |
./BuildLinux.sh -isr
chmod +x ./build/OrcaSlicer_ubu64.AppImage
- name: Upload artifacts Ubuntu
if: matrix.os == 'ubuntu-20.04'
uses: actions/upload-artifact@v3
with:
name: OrcaSlicer_Linux_V${{ env.ver }}
path: './build/OrcaSlicer_ubu64.AppImage'

View File

@@ -1,64 +0,0 @@
name: Build Win64
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build_win64:
name: Build Win64
runs-on: windows-2019
steps:
- uses: actions/checkout@v3
- uses: ilammy/msvc-dev-cmd@v1
- name: Install perl
run: |
choco install strawberryperl
- run: mkdir ${{ github.workspace }}/deps/build
- run: mkdir ${{ github.workspace }}/deps/build/OrcaSlicer_dep
- name: download deps
shell: powershell
run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/SoftFever/FileSharing/releases/download/OrcaSlicer_deps_Mar/OrcaSlicer_dep_10April2023.zip", "$env:temp\OrcaSlicer_dep_10April2023.zip")'
- name: extract deps
working-directory: ${{ github.workspace }}/deps/build
shell: cmd
run: '"C:/Program Files/7-Zip/7z.exe" x %temp%\OrcaSlicer_dep_10April2023.zip'
- run: dir "${{ github.workspace }}\deps\build\OrcaSlicer_dep"
# - name: build deps
# id: cache_deps
# uses: actions/cache@v3
# env:
# cache-name: ${{ runner.os }}-cache-orcaslicer_deps
# with:
# path: ${{ github.workspace }}/deps/build/OrcaSlicer_dep
# key: ${{ runner.os }}-build-${{ env.cache-name }}
# - if: ${{ steps.cache_deps.outputs.cache-hit != 'true' }}
# name: build deps
# working-directory: ${{ github.workspace }}
# continue-on-error: true
# run: .\build_release.bat deps
# - run: Get-ChildItem ${{ github.workspace }}/deps/build/ -Exclude OrcaSlicer_dep | Remove-Item -Recurse -Force
- name: Build studio
working-directory: ${{ github.workspace }}
run: .\build_release.bat studio
# - name: pack app
# working-directory: ${{ github.workspace }}/build
# shell: cmd
# run: '"C:/Program Files/7-Zip/7z.exe" a -tzip OrcaSlicer_dev_build.zip ${{ github.workspace }}/build/OrcaSlicer'
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: OrcaSlicer_Win64_nightly
path: ${{ github.workspace }}/build/OrcaSlicer

View File

@@ -0,0 +1,39 @@
name: Publish docs to Wiki
# Trigger this action only if there are changes pushed to the doc/** directory under the main branch
on:
push:
paths:
- doc/** # This includes all sub folders
branches:
- main # This can be changed to any branch of your preference
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
OWNER: ${{ github.event.repository.owner.name }} # This is the repository owner
REPOSITORY_NAME: ${{ github.event.repository.name }} # This is the repository name
jobs:
publish_docs_to_wiki:
name: Publish docs to Wiki
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
# 1. Clone the current wiki master branch to a folder named `tmp_wiki`
- name: Pull content from wiki
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
# 4. Synchronize differences between `doc` & `tmp_wiki`
# 5. Push new Wiki content
- name: Push main repo content to wiki
run: |
rsync -av --delete doc/ tmp_wiki/ --exclude .git
cd tmp_wiki
git add .
git commit -m "Updated Wiki content"
git push origin master

5
.gitignore vendored
View File

@@ -18,8 +18,11 @@ local-lib
/src/TAGS
/.vscode/
build-linux/*
deps/build-linux/*
deps/build*/*
**/.DS_Store
install_*
build_*/
SVG
src/OrcaSlicer-doc/
.idea/
/.cache/

View File

@@ -1,103 +0,0 @@
{
"build_systems":
[
{
"name": "List",
//"file_regex": " at ([^-\\s]*) line ([0-9]*)",
// "file_regex": " at (D\\:\\/src\\/Slic3r\\/.*?) line ([0-9]*)",
"shell_cmd": "ls -l"
},
{
"name": "Run",
"working_dir": "$project_path",
"file_regex": " at (.*?) line ([0-9]*)",
// "shell_cmd": "chdir & perl slic3r.pl --DataDir \"C:\\Users\\Public\\Documents\\Prusa3D\\Slic3r settings MK2\" --gui \"..\\Slic3r-tests\\gap fill torture 20 -rt.stl\""
"shell_cmd": "chdir & perl slic3r.pl"
},
{
"name": "full",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"shell_cmd": "chdir & perl Build.pl"
},
{
"name": "xs",
"working_dir": "$project_path/build",
// for Visual Studio:
"file_regex": "^(..[^:]*)\\(([0-9]+)\\)(.*)$",
// For GCC:
// "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"shell_cmd": "chdir & ninja -j 6 -v",
"env": {
// "PATH": "C:\\Program Files (x86)\\MSBuild\\12.0\\bin\\amd64;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\BIN\\amd64;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\IDE;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\Tools;%PATH%;c:\\wperl64d\\site\\bin;c:\\wperl64d\\bin",
// "PERL_CPANM_HOME": "c:\\wperl64d\\cpanm",
// "WXDIR": "D:\\src-perl\\wxWidgets-3.0.3-beta1",
// "BOOST_DIR": "D:\\src-perl\\boost_1_61_0",
// "BOOST_INCLUDEDIR": "D:\\src-perl\\boost_1_61_0",
// "BOOST_LIBRARYDIR": "D:\\src-perl\\boost_1_61_0\\stage\\x64\\lib",
// "SLIC3R_STATIC": "1"
}
},
{
"name": "xs & run",
"working_dir": "$project_path/build",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"shell_cmd": "chdir & ninja -j 6 & cd .. & perl slic3r.pl --gui \"..\\Slic3r-tests\\star3-big2.stl\""
},
{
"name": "Slic3r - clean",
"working_dir": "$project_path/build",
"file_regex": "^(..[^:]*)(?::|\\()([0-9]+)(?::|\\))(?:([0-9]+):)?\\s*(.*)",
"shell_cmd": ["chdir & ninja clean"]
},
{
"name": "run tests",
"working_dir": "$project_path/build",
// for Visual Studio:
"file_regex": "^(..[^:]*)\\(([0-9]+)\\)(.*)$",
"shell_cmd": "chdir & ctest --verbose"
},
{
"name": "Clean & Configure",
"working_dir": "$project_path",
// for Visual Studio:
"file_regex": "^(..[^:]*)(?::|\\()([0-9]+)(?::|\\))(?:([0-9]+):)?\\s*(.*)",
"shell_cmd": "chdir & rmdir /S /Q build & mkdir build & cd build & cmake -G Ninja .. -DCMAKE_COLOR_MAKEFILE=OFF -DCMAKE_RULE_PROGRESS=OFF -DCMAKE_RULE_MESSAGES=OFF -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo"
},
{
"name": "Configure",
"working_dir": "$project_path/build",
// for Visual Studio:
"file_regex": "^(..[^:]*)(?::|\\()([0-9]+)(?::|\\))(?:([0-9]+):)?\\s*(.*)",
"shell_cmd": "cmake -G Ninja .. -DCMAKE_COLOR_MAKEFILE=OFF -DCMAKE_RULE_PROGRESS=OFF -DCMAKE_RULE_MESSAGES=OFF -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo"
}
],
"folders":
[
{
"path": ".",
// "folder_exclude_patterns": [".svn", "._d", ".metadata", ".settings"],
"file_exclude_patterns": ["XS.c", "*.pch", "*.ilk", "*.js" ]
}
],
"settings":
{
"sublimegdb_workingdir": "${folder:${project_path:run}}",
// NOTE: You MUST provide --interpreter=mi for the plugin to work
// "sublimegdb_commandline": "D:\\Qt\\Tools\\mingw492_32\\bin\\gdb.exe --interpreter=mi -ex 'target localhost:2345'",
// "sublimegdb_commandline": "D:\\Qt\\Tools\\mingw492_32\\bin\\gdb.exe --interpreter=mi perl --args perl slic3r.pl",
// "sublimegdb_commandline": "D:\\Qt\\Tools\\mingw492_32\\bin\\gdb.exe --interpreter=mi perl --args slic3r.pl ",
// "sublimegdb_commandline": "D:\\Qt\\Tools\\mingw492_32\\bin\\gdb.exe --interpreter=mi -e C:\\Strawberry\\perl\\bin\\perl.exe -s C:\\Strawberry\\perl\\site\\lib\\auto\\Slic3r\\XS\\XS.xs.dll --args perl slic3r.pl -j 1 --gui D:\\src\\Slic3r-tests\\star3-big.stl",
"sublimegdb_commandline": "D:\\Qt\\Tools\\mingw492_32\\bin\\gdb.exe --interpreter=mi perl.exe --args perl slic3r.pl -j 1 --gui", // D:\\src\\Slic3r-tests\\star3-big.stl",
// "sublimegdb_commandline": "D:\\Qt\\Tools\\mingw492_32\\bin\\gdb.exe --interpreter=mi -x slic3r.gdb",
// "arguments": "slic3r -j 1 --gui ../Slic3r-tests/star3-big.stl",
// "arguments": "../slic3r.pl -j 1 --gui",
// "sublimegdb_exec_cmd": "-exec-continue",
// Add "pending breakpoints" for symbols that are dynamically loaded from
// external shared libraries
"debug_ext" : true,
"run_after_init": false,
"close_views": false
}
}

View File

@@ -40,7 +40,7 @@ while getopts ":dsiuhgbr" opt; do
BUILD_DEPS="1"
;;
s )
BUILD_BAMBU_STUDIO="1"
BUILD_ORCA="1"
;;
b )
BUILD_DEBUG="1"
@@ -87,7 +87,7 @@ then
mkdir build
fi
# Addtional Dev packages for BambuStudio
# 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"
# libwebkit2gtk-4.1-dev ??
export DEV_PACKAGES_COUNT=$(echo ${REQUIRED_DEV_PACKAGES} | wc -w)
@@ -212,7 +212,7 @@ then
echo "done"
fi
if [[ -n "$BUILD_BAMBU_STUDIO" ]]
if [[ -n "$BUILD_ORCA" ]]
then
echo "[7/9] Configuring Slic3r..."
BUILD_ARGS=""

View File

@@ -42,7 +42,6 @@ set(SLIC3R_GTK "2" CACHE STRING "GTK version to use with wxWidgets on Linux")
set(IS_CROSS_COMPILE FALSE)
if (APPLE)
set(CMAKE_FIND_FRAMEWORK LAST)
set(CMAKE_FIND_APPBUNDLE LAST)
@@ -406,6 +405,7 @@ if(SLIC3R_STATIC)
set(TBB_STATIC 1)
endif()
set(TBB_DEBUG 1)
set(CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO RelWithDebInfo Release "")
find_package(TBB REQUIRED)
# include_directories(${TBB_INCLUDE_DIRS})
# add_definitions(${TBB_DEFINITIONS})
@@ -502,10 +502,14 @@ find_package(glfw3 REQUIRED)
# Find the Cereal serialization library
find_package(cereal REQUIRED)
set_target_properties(cereal PROPERTIES IMPORTED_GLOBAL TRUE)
if (NOT TARGET cereal::cereal)
add_library(cereal::cereal ALIAS cereal)
endif ()
# l10n
set(L10N_DIR "${SLIC3R_RESOURCES_DIR}/i18n")
set(BBL_L18N_DIR "${CMAKE_CURRENT_SOURCE_DIR}/bbl/i18n")
set(BBL_L18N_DIR "${CMAKE_CURRENT_SOURCE_DIR}/localization/i18n")
add_custom_target(gettext_make_pot
COMMAND xgettext --keyword=L --keyword=_L --keyword=_u8L --keyword=L_CONTEXT:1,2c --keyword=_L_PLURAL:1,2 --add-comments=TRN --from-code=UTF-8 --no-location --debug --boost
-f "${BBL_L18N_DIR}/list.txt"
@@ -563,6 +567,20 @@ else ()
"OpenVDB installation with the OPENVDB_FIND_MODULE_PATH cache variable.")
endif ()
find_path(SPNAV_INCLUDE_DIR spnav.h)
if (SPNAV_INCLUDE_DIR)
find_library(HAVE_SPNAV spnav)
if (HAVE_SPNAV)
add_definitions(-DHAVE_SPNAV)
add_library(libspnav SHARED IMPORTED)
target_link_libraries(libspnav INTERFACE spnav)
message(STATUS "SPNAV library found")
else()
message(STATUS "SPNAV library NOT found, Spacenavd not supported")
endif()
else()
message(STATUS "SPNAV library NOT found, Spacenavd not supported")
endif()
set(TOP_LEVEL_PROJECT_DIR ${PROJECT_SOURCE_DIR})
function(orcaslicer_copy_dlls target config postfix output_dlls)
@@ -694,7 +712,10 @@ endif()
# Resources install target, configure fhs.hpp on UNIX
if (WIN32)
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources")
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "./resources")
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE)
include(InstallRequiredSystemLibraries)
install (PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION ".")
elseif (SLIC3R_FHS)
# CMAKE_INSTALL_FULL_DATAROOTDIR: read-only architecture-independent data root (share)
set(SLIC3R_FHS_RESOURCES "${CMAKE_INSTALL_FULL_DATAROOTDIR}/OrcaSlicer")
@@ -703,8 +724,8 @@ elseif (SLIC3R_FHS)
)
install(FILES src/platform/unix/OrcaSlicer.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications)
foreach(SIZE 32 128 192)
install(FILES ${SLIC3R_RESOURCES_DIR}/images/BambuStudio_${SIZE}px.png
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/${SIZE}x${SIZE}/apps RENAME BambuStudio.png
install(FILES ${SLIC3R_RESOURCES_DIR}/images/OrcaSlicer_${SIZE}px.png
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/${SIZE}x${SIZE}/apps RENAME OrcaSlicer.png
)
endforeach()
elseif (CMAKE_MACOSX_BUNDLE)
@@ -714,4 +735,34 @@ else ()
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources")
endif ()
install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.txt DESTINATION ".")
configure_file(${LIBDIR}/platform/unix/fhs.hpp.in ${LIBDIR_BIN}/platform/unix/fhs.hpp)
set (CPACK_PACKAGE_NAME "OrcaSlicer")
set (CPACK_PACKAGE_VENDOR "SoftFever")
set (CPACK_PACKAGE_VERSION_MAJOR "${ORCA_VERSION_MAJOR}")
set (CPACK_PACKAGE_VERSION_MINOR "${ORCA_VERSION_MINOR}")
set (CPACK_PACKAGE_VERSION_PATCH "${ORCA_VERSION_PATCH}")
set (CPACK_PACKAGE_FILE_NAME "OrcaSlicer_Windows_${SoftFever_VERSION}")
set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "Orca Slicer is an open source slicer for FDM printers")
set (CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/SoftFever/OrcaSlicer")
set (CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME})
set (CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/resources/images\\\\OrcaSlicer.ico")
set (CPACK_NSIS_MUI_ICON "${CPACK_PACKAGE_ICON}")
set (CPACK_NSIS_MUI_UNIICON "${CPACK_PACKAGE_ICON}")
set (CPACK_NSIS_INSTALLED_ICON_NAME "$INSTDIR\\\\orca-slicer.exe")
set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
CreateShortCut \\\"$DESKTOP\\\\OrcaSlicer.lnk\\\" \\\"$INSTDIR\\\\orca-slicer.exe\\\"
")
set (CPACK_PACKAGE_CHECKSUM SHA256)
set (CPACK_PACKAGE_INSTALL_REGISTRY_KEY "OrcaSlicer")
set (CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
set (CPACK_NSIS_EXECUTABLES_DIRECTORY ".")
# set (CPACK_NSIS_MODIFY_PATH "ON")
set(CPACK_PACKAGE_EXECUTABLES "orca-slicer;OrcaSlicer")
set(CPACK_CREATE_DESKTOP_LINKS "orca-slicer")
set (CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/LICENSE.txt) # must also include in install command
set(CPACK_WIX_UPGRADE_GUID "058245e8-20e0-4a95-9ab7-1acfe17ad511")
set(CPACK_GENERATOR NSIS)
include(CPack)

View File

@@ -1,71 +0,0 @@
# Build Bambu Slicer in a container
#
# Build an AppImage using rootless Podman (refer to https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md):
# rm -rf build; podman build . -t orca-slicer-builder && podman run --rm localhost/orca-slicer-builder /bin/bash -c 'tar -c $(find build | grep ubu64.AppImage | head -1)' | tar -xv
#
# Troubleshooting the build container:
# podman run -it --name orca-slicer-builder localhost/orca-slicer-builder /bin/bash
#
# Debugging the resulting AppImage:
# 1) Install `gdb`
# 2) In a terminal in the same directory as the AppImage, start it with following:
# echo -e "run\nbt\nquit" | gdb ./BambuStudio_ubu64.AppImage
# 3) Find related issue using backtrace output for clues and add backtrace to it on github
#
# Docker alternative AppImage build syntax (use this if you can't install podman):
# rm -rf build; docker build . --file Containerfile -t orca-slicer-builder; docker run --rm orca-slicer-builder /bin/bash -c 'tar -c $(find build | grep ubu64.AppImage | head -1)' | tar -xv
#
#
# TODO: bind mount OrcaSlicer to inside the container instead of COPY to enable faster rebuilds during dev work.
FROM docker.io/ubuntu:20.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 \
git \
build-essential \
autoconf pkgconf m4 \
cmake extra-cmake-modules \
libglu1-mesa-dev libglu1-mesa-dev \
libwayland-dev libxkbcommon-dev wayland-protocols \
eglexternalplatform-dev libglew-dev \
libgtk-3-dev \
libdbus-1-dev \
libcairo2-dev \
libgtk-3-dev libwebkit2gtk-4.0-dev \
libsoup2.4-dev \
libgstreamer1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-base1.0-dev libgstreamerd-3-dev \
libmspack-dev \
libosmesa6-dev \
libssl-dev libcurl4-openssl-dev libsecret-1-dev \
libudev-dev \
curl \
wget \
file \
sudo
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

View File

@@ -1,15 +0,0 @@
#!/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 bambustudio \
--build-arg USER=$USER \
--build-arg UID=$(id -u) \
--build-arg GID=$(id -g) \
$PROJECT_ROOT

View File

@@ -1,23 +0,0 @@
#!/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 \
`# 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 bambu with command line things` \
-ti \
`# Pass all parameters from this script to the bambu ENTRYPOINT binary` \
bambustudio $*

View File

@@ -1,92 +0,0 @@
FROM docker.io/ubuntu:20.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 \
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
# 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 ./ BambuStudio
WORKDIR BambuStudio
# 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 -g $GID $USER \
&& useradd -u $UID -g $GID $USER
# Using an entrypoint instead of CMD because the binary
# accepts several command line arguments.
ENTRYPOINT ["/BambuStudio/build/package/bin/orca-slicer"]

View File

@@ -1,16 +1,13 @@
# Orca Slicer
[![Build Win64](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_win.yml/badge.svg?branch=SoftFever)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_win.yml)
[![Build Mac AppleSilicon](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_arm64.yml/badge.svg?branch=SoftFever)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_arm64.yml)
[![Build Mac Intel](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_x64.yml/badge.svg?branch=SoftFever)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_x64.yml)
[![Build Linux](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_linux.yml/badge.svg?branch=SoftFever)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_linux.yml)
Orca Slicer is a fork of Bambu Studio. It was previously known as BambuStudio-SoftFever.
Bambu Studio is based on [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
Prebuilt binaries are available through the [github releases page](https://github.com/SoftFever/OrcaSlicer/releases/).
[![Build Win64](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_win.yml/badge.svg)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_win.yml)
[![Build Mac AppleSilicon](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_arm64.yml/badge.svg)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_arm64.yml)
[![Build Mac Intel](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_x64.yml/badge.svg)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_x64.yml)
[![Build Linux](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_linux.yml/badge.svg)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_linux.yml)
# Orca Slicer
Orca Slicer is an open source slicer for FDM printers.
You can download Orca Slicer here: [github releases page](https://github.com/SoftFever/OrcaSlicer/releases/).
![discord-mark-blue](https://github.com/SoftFever/OrcaSlicer/assets/103989404/b97d5ffc-072d-4d0a-bbda-e67ef373876f) Join community: [OrcaSlicer Official Discord Server](https://discord.gg/WTEkCR6SnV)
# Main features
- Auto calibrations for all printers
@@ -20,6 +17,13 @@ Prebuilt binaries are available through the [github releases page](https://githu
- More granular controls
- More features can be found in [change notes](https://github.com/SoftFever/OrcaSlicer/releases/)
### Some background
OrcaSlicer is fork of 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
Orca Slicer's logo is designed by community member Justin Levine(@freejstnalxndr)
# How to install
**Windows**:
1. Unzip the binaries to any folder you prefer, then execute orca-slicer.exe to start the application.
@@ -32,12 +36,16 @@ Prebuilt binaries are available through the [github releases page](https://githu
2. Double click to unzip the package, move OrcaSlicer.app to Application folder.
3. The app is signed but not notarized at the moment due to the proptiery network plugin.
We have two options to make it run on our machines
- Option 1:
- Option 1 (You only need to do this once. After that the app can be oppened normally.):
- Step 1: Hold _cmd_ and right click the app, from the context menu choose **Open**.
- Step 2: A warning window will pop up, click _Open_
- Option 2:
Execute this command in terminal: `xattr -dr com.apple.quarantine /Applications/OrcaSlicer.app`
```console
softfever@mac:~$ xattr -dr com.apple.quarantine /Applications/OrcaSlicer.app
```
- Option 2:
- Option 3:
- Step 1: open the app, a warning window will pop up
![image](./SoftFever_doc/mac_cant_open.png)
- Step 2: in `System Settings` -> `Privacy & Security`, click `Open Anyway`:
@@ -81,5 +89,7 @@ Slic3r is licensed under the GNU Affero General Public License, version 3. Slic3
The GNU Affero General Public License, version 3 ensures that if you use any part of this software in any way (even behind a web server), your software must be released under the same license.
The bambu networking plugin is based on non-free libraries. It is optional to the Orca Slicer and provides extended functionalities for users.
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.

View File

@@ -1,4 +0,0 @@
# Add individual tools as executables in separate directories
add_subdirectory(bbs_gcode_checker)
install(TARGETS bbs_gcode_checker RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}")

View File

@@ -1,6 +0,0 @@
cmake_minimum_required (VERSION 3.8)
project ("bbs_gcode_checker")
add_executable (bbs_gcode_checker "main.cpp" "GCodeChecker.cpp" "GCodeChecker.h" )

View File

@@ -1,702 +0,0 @@
#include "GCodeChecker.h"
#include <fstream>
#include <math.h>
#include <map>
#include <string.h>
namespace BambuStudio {
//BBS: only check wodth when dE is longer than this value
const double CHECK_WIDTH_E_THRESHOLD = 0.0025;
const double WIDTH_THRESHOLD = 0.02;
const double RADIUS_THRESHOLD = 0.005;
const double filament_diameter = 1.75;
const double Pi = 3.14159265358979323846;
const std::string Extrusion_Role_Tag = " FEATURE: ";
const std::string Width_Tag = " LINE_WIDTH: ";
const std::string Wipe_Start_Tag = " WIPE_START";
const std::string Wipe_End_Tag = " WIPE_END";
const std::string Layer_Change_Tag = " CHANGE_LAYER";
const std::string Height_Tag = " LAYER_HEIGHT: ";
const std::string filament_flow_ratio_tag = " filament_flow_ratio";
const std::string nozzle_temperature_Tag = " nozzle_temperature =";
const std::string nozzle_temperature_initial_layer_Tag = " nozzle_temperature_initial_layer";
const std::string Z_HEIGHT_TAG = " Z_HEIGHT: ";
const std::string Initial_Layer_Ptint_Height_Tag = " initial_layer_print_height =";
GCodeCheckResult GCodeChecker::parse_file(const std::string& path)
{
std::ifstream file(path);
if (file.fail()) {
std::cout << "Failed to open file " << path << std::endl;
return GCodeCheckResult::ParseFailed;
}
std::string line_raw;
std::string line;
while (std::getline(file, line_raw)) {
const char *c = line_raw.c_str();
c = skip_whitespaces(c);
if (std::toupper(*c) == 'N')
c = skip_word(c);
c = skip_whitespaces(c);
line = c;
if (parse_line(line) != GCodeCheckResult::Success) {
std::cout << "Failed to parse line " << line_raw << std::endl;
return GCodeCheckResult::ParseFailed;
}
}
if (m_layer_num == 0) {
std::cout << "Invalid gcode file without layer change comment" << std::endl;
return GCodeCheckResult::ParseFailed;
}
return GCodeCheckResult::Success;
}
bool GCodeChecker::include_chinese(const char* str)
{
char c;
while(1)
{
c=*str++;
if (is_end_of_line(c))
break;
if ((c & 0x80) && (*str & 0x80))
return true;
}
return false;
}
GCodeCheckResult GCodeChecker::parse_line(const std::string& line)
{
// update start position
m_start_position = m_end_position;
GCodeCheckResult ret;
const char *c = skip_whitespaces(line.c_str());
if (include_chinese(c)) {
//chinese is forbidden
return GCodeCheckResult::ParseFailed;
} if (is_end_of_line(*c)) {
//BBS: skip empty line
return GCodeCheckResult::Success;
} else if (is_comment_line(*c)) {
GCodeLine gcode_line;
gcode_line.m_raw = c;
ret = parse_comment(gcode_line);
if (ret != GCodeCheckResult::Success)
return ret;
} else {
GCodeLine gcode_line;
gcode_line.m_raw = c;
ret = parse_command(gcode_line);
if (ret != GCodeCheckResult::Success)
return ret;
ret = check_line_width(gcode_line);
if (ret != GCodeCheckResult::Success)
return ret;
}
return GCodeCheckResult::Success;
}
GCodeCheckResult GCodeChecker::parse_comment(GCodeLine& line)
{
const char *c = line.m_raw.c_str();
c++;
std::string comment = c;
// extrusion role tag
if (starts_with(comment, Extrusion_Role_Tag)) {
m_role = string_to_role(comment.substr(Extrusion_Role_Tag.length()));
if (m_role == erExternalPerimeter) {
if (z_height == initial_layer_height && nozzle_temp != nozzle_temperature_initial_layer[filament_id]) {
std::cout << "invalid filament nozzle initial layer temperature comment with invalid value!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
if (z_height != initial_layer_height && nozzle_temp != nozzle_temperature[filament_id]) {
std::cout << "invalid filament nozzle temperature comment with invalid value!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
}
} else if (starts_with(comment, Wipe_Start_Tag)) {
m_wiping = true;
} else if (starts_with(comment, Wipe_End_Tag)) {
m_wiping = false;
} else if (starts_with(comment, Height_Tag)) {
std::string str = comment.substr(Height_Tag.size());
if (!parse_double_from_str(str, m_height)) {
std::cout << "invalid height comment with invalid value!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
} else if (starts_with(comment, Width_Tag)) {
std::string str = comment.substr(Width_Tag.size());
if (!parse_double_from_str(str, m_width)) {
std::cout << "invalid width comment with invalid value!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
} else if (starts_with(comment, Layer_Change_Tag)) {
m_layer_num++;
} else if (starts_with(comment, filament_flow_ratio_tag))
{
std::string str = comment.substr(filament_flow_ratio_tag.size()+3);
if (!parse_double_from_str(str, filament_flow_ratio))
{
std::cout << "invalid filament flow ratio comment with invalid value!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
}
else if (starts_with(comment, nozzle_temperature_Tag)) {
std::string str = comment.substr(nozzle_temperature_Tag.size() + 1);
if (!parse_double_from_str(str, nozzle_temperature)) {
std::cout << "invalid nozzle temperature comment with invalid value!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
}
else if (starts_with(comment, nozzle_temperature_initial_layer_Tag)) {
std::string str = comment.substr(nozzle_temperature_initial_layer_Tag.size() + 3);
if (!parse_double_from_str(str, nozzle_temperature_initial_layer)) {
std::cout << "invalid nozzle temperature initial layer comment with invalid value!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
} else if (starts_with(comment, Z_HEIGHT_TAG)) {
std::string str = comment.substr(Z_HEIGHT_TAG.size());
if (!parse_double_from_str(str, z_height)) {
std::cout << "invalid z height comment with invalid value!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
} else if (starts_with(comment, Initial_Layer_Ptint_Height_Tag)) {
std::string str = comment.substr(Initial_Layer_Ptint_Height_Tag.size());
if (!parse_double_from_str(str, initial_layer_height)) {
std::cout << "invalid initial layer height comment with invalid value!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
}
return GCodeCheckResult::Success;
}
GCodeCheckResult GCodeChecker::parse_command(GCodeLine& gcode_line)
{
const std::string cmd = gcode_line.cmd();
GCodeCheckResult ret = GCodeCheckResult::Success;
switch (::toupper(cmd[0])) {
case 'G':
{
switch (::atoi(&cmd[1]))
{
case 0:
case 1: { ret = parse_G0_G1(gcode_line); break; } // Move
case 2:
case 3: { ret = parse_G2_G3(gcode_line); break; } // Move
case 90: { ret = parse_G90(gcode_line); break; } // Set to Absolute Positioning
case 91: { ret = parse_G91(gcode_line); break; } // Set to Relative Positioning
case 92: { ret = parse_G92(gcode_line); break; } // Set Position
default: { break; }
}
break;
}
case 'M':{
switch (::atoi(&cmd[1]))
{
case 82: { ret = parse_M82(gcode_line); break; } // Set to Absolute extrusion
case 83: { ret = parse_M83(gcode_line); break; } // Set to Relative extrusion
case 104: {
ret = parse_M104_M109(gcode_line);
break;
} // Set to nozzle temperature
case 109: {
ret = parse_M104_M109(gcode_line);
break;
} // Set to nozzle temperature
default: { break; }
}
break;
}
case 'T':{
int pt = ::atoi(&cmd[1]);
if (pt == 1000 || pt == 1100 || pt == 255) {
break;
}
if (pt < 0 || pt > 254 || pt >= filament_flow_ratio.size()) {
std::cout << "Invalid T command"<<std::endl;
ret = GCodeCheckResult::ParseFailed;
break;
}
filament_id = pt;
flow_ratio = filament_flow_ratio[pt];
break;
}
default: {
//BBS: other g command? impossible! must be invalid
ret = GCodeCheckResult::ParseFailed;
break;
}
}
return ret;
}
GCodeCheckResult GCodeChecker::parse_axis(GCodeLine& gcode_line)
{
const std::string cmd = gcode_line.m_raw;
const char* c = cmd.c_str();
c = skip_word(c);
while (! is_end_of_gcode_line(*c)) {
c = skip_whitespaces(c);
if (is_end_of_gcode_line(*c))
break;
Axis axis = UNKNOWN_AXIS;
switch (*c) {
case 'X': axis = X; break;
case 'Y': axis = Y; break;
case 'Z': axis = Z; break;
case 'E': axis = E; break;
case 'F': axis = F; break;
case 'I': axis = I; break;
case 'J': axis = J; break;
case 'P': axis = P; break;
default:
//BBS: invalid command which has invalid axis
std::cout << "Invalid gcode because of invalid axis!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
char *pend = nullptr;
double v = strtod(++c, &pend);
if (pend != nullptr && is_end_of_word(*pend) && !isnan(v) && !isinf(v)) {
gcode_line.m_axis[int(axis)] = v;
if (gcode_line.m_mask & (1 << int(axis))) {
//BBS: invalid command which has duplicated axis
std::cout << "Invalid gcode because of duplicated axis!" << std::endl;
return GCodeCheckResult::ParseFailed;
} else {
gcode_line.m_mask |= 1 << int(axis);
}
if (c == pend) {
//BBS: invalid command which has invalid axis value
std::cout << "Invalid gcode because of invalid axis value!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
c = pend;
} else {
//BBS: invalid command for invalid axis value
std::cout << "Invalid gcode because of invalid axis value!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
}
return GCodeCheckResult::Success;
}
GCodeCheckResult GCodeChecker::parse_G0_G1(GCodeLine& gcode_line)
{
if (parse_axis(gcode_line) != GCodeCheckResult::Success)
return GCodeCheckResult::ParseFailed;
//BBS: invalid G1 command which has no axis or invalid axis
if ((!gcode_line.m_mask) ||
gcode_line.has(I) ||
gcode_line.has(J)) {
std::cout << "Invalid G0_G1 gcode because of no axis or invalid axis!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
//BBS: invalid G1 command which has zero speed
if (gcode_line.has(F) && gcode_line.get(F) == 0.0) {
std::cout << "Invalid G0_G1 gcode because has F axis but 0 speed!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
return GCodeCheckResult::Success;
}
GCodeCheckResult GCodeChecker::parse_G2_G3(GCodeLine& gcode_line)
{
if (parse_axis(gcode_line) != GCodeCheckResult::Success)
return GCodeCheckResult::ParseFailed;
//BBS: invalid G2_G3 command which has no axis or Z axis
if (!gcode_line.m_mask) {
std::cout << "Invalid G2_G3 gcode because of no axis or has Z axis!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
//BBS: invalid G2_G3 command which has zero speed
if (gcode_line.has(F) && gcode_line.get(F) == 0.0) {
std::cout << "Invalid G2_G3 gcode because has F axis but 0 speed!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
//BBS: invalid G2_G3 command which has no I and J axis
if (!gcode_line.has(I) &&
!gcode_line.has(J)) {
std::cout << "Invalid G2_G3 gcode because of no I and J axis at same time!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
//BBS: invalid G2_G3 command which has no X and Y axis at same time
if (!gcode_line.has(X) && !gcode_line.has(Y) && !gcode_line.has(I) && !gcode_line.has(J)) {
if (!gcode_line.has(X) || !gcode_line.has(P) || (int)gcode_line.get(P) != 1) {
std::cout << "Invalid G2_G3 gcode because of no X and Y axis at same time!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
}
return GCodeCheckResult::Success;
}
GCodeCheckResult GCodeChecker::parse_G90(const GCodeLine& gcode_line)
{
const char* c = gcode_line.m_raw.c_str();
//BBS: G90 is single command with no argument
if (!is_single_gcode_word(c)) {
std::cout << "Invalid G90 gcode with invalid end!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
m_global_positioning_type = EPositioningType::Absolute;
return GCodeCheckResult::Success;
}
GCodeCheckResult GCodeChecker::parse_G91(const GCodeLine& gcode_line)
{
const char* c = gcode_line.m_raw.c_str();
//BBS: G91 is single command with no argument
if (!is_single_gcode_word(c)) {
std::cout << "Invalid G91 gcode with invalid end!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
m_global_positioning_type = EPositioningType::Relative;
return GCodeCheckResult::Success;
}
GCodeCheckResult GCodeChecker::parse_G92(GCodeLine& gcode_line)
{
if (parse_axis(gcode_line) != GCodeCheckResult::Success)
return GCodeCheckResult::ParseFailed;
//BBS: invalid G92 command which has no axis or invalid axis
if (!gcode_line.m_mask ||
gcode_line.has(F) ||
gcode_line.has(I) ||
gcode_line.has(J)) {
std::cout << "Invalid G2_G3 gcode because of no axis or invalid axis!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
if (gcode_line.has(X))
m_origin[X] = m_end_position[X] - gcode_line.get(X);
if (gcode_line.has(Y))
m_origin[Y] = m_end_position[Y] - gcode_line.get(Y);
if (gcode_line.has(Z))
m_origin[Z] = m_end_position[Z] - gcode_line.get(Z);
if (gcode_line.has(E))
m_end_position[E] = gcode_line.get(E);
for (unsigned char a = X; a <= E; ++a) {
m_origin[a] = m_end_position[a];
}
return GCodeCheckResult::Success;
}
GCodeCheckResult GCodeChecker::parse_M82(const GCodeLine& gcode_line)
{
const char* c = gcode_line.m_raw.c_str();
//BBS: M82 is single command with no argument
if (!is_single_gcode_word(c)) {
std::cout << "Invalid M82 gcode with invalid end!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
m_e_local_positioning_type = EPositioningType::Absolute;
return GCodeCheckResult::Success;
}
GCodeCheckResult GCodeChecker::parse_M83(const GCodeLine& gcode_line)
{
const char* c = gcode_line.m_raw.c_str();
//BBS: M83 is single command with no argument
if (!is_single_gcode_word(c)) {
std::cout << "Invalid M83 gcode with invalid end!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
m_e_local_positioning_type = EPositioningType::Relative;
return GCodeCheckResult::Success;
}
GCodeCheckResult GCodeChecker::parse_M104_M109(const GCodeLine &gcode_line)
{
const char *c = gcode_line.m_raw.c_str();
const char *rs = strchr(c,'S');
std::string str=rs;
str = str.substr(1);
for (int i = 0; i < str.size(); i++) {
if (str[i] == ' ')
str=str.substr(0,i);
}
if (!parse_double_from_str(str, nozzle_temp)) {
std::cout << "invalid nozzle temperature comment with invalid value!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
return GCodeCheckResult::Success;
}
double GCodeChecker::calculate_G1_width(const std::array<double, 3>& source,
const std::array<double, 3>& target,
double e, double height, bool is_bridge) const
{
double volume = (e / flow_ratio) * Pi * (filament_diameter / 2.0f) * (filament_diameter / 2.0f);
std::array<double, 3> delta = { target[0] - source[0],
target[1] - source[1],
target[2] - source[2] };
double length = sqrt(delta[0] * delta[0] + delta[1] * delta[1] + delta[2] * delta[2]);
double mm3_per_mm = volume / length;
return is_bridge? 2 * sqrt(mm3_per_mm/Pi) :
(mm3_per_mm / height) + height * (1 - 0.25 * Pi);
}
double GCodeChecker::calculate_G2_G3_width(const std::array<double, 2>& source,
const std::array<double, 2>& target,
const std::array<double, 2>& center,
bool is_ccw, double e, double height,
bool is_bridge) const
{
std::array<double, 2> v1 = { source[0] - center[0], source[1] - center[1] };
std::array<double, 2> v2 = { target[0] - center[0], target[1] - center[1] };
double dot = v1[0] * v2[0] + v1[1] * v2[1];
double cross = v1[0] * v2[1] - v1[1] * v2[0];
double radian = atan2(cross, dot);
radian = is_ccw ?
(radian < 0 ? 2 * Pi + radian : radian) :
(radian < 0 ? -radian : 2 * Pi - radian);
double radius = sqrt(v1[0] * v1[0] + v1[1] * v1[1]);
double length = radius * radian;
double volume = (e / flow_ratio) * Pi * (filament_diameter / 2) * (filament_diameter / 2);
double mm3_per_mm = volume / length;
return is_bridge? 2 * sqrt(mm3_per_mm/Pi) :
(mm3_per_mm / height) + height * (1 - 0.25 * Pi);
}
GCodeCheckResult GCodeChecker::check_line_width(const GCodeLine& gcode_line)
{
//BBS: don't need to check extrusion before first layer
if (m_layer_num <= 0) {
return GCodeCheckResult::Success;
}
GCodeCheckResult ret = GCodeCheckResult::Success;
//BBS: only need to handle G0 G1 G2 G3
const std::string cmd = gcode_line.cmd();
int cmd_id = ::atoi(&cmd[1]);
if (::toupper(cmd[0]) == 'G')
switch (::atoi(&cmd[1]))
{
case 0:
case 1: { ret = check_G0_G1_width(gcode_line); break; }
case 2:
case 3: { ret = check_G2_G3_width(gcode_line); break; }
default: { break; }
}
return ret;
}
GCodeCheckResult GCodeChecker::check_G0_G1_width(const GCodeLine& line)
{
auto absolute_position = [this](Axis axis, const GCodeLine& lineG1) {
bool is_relative = (m_global_positioning_type == EPositioningType::Relative);
if (axis == E)
is_relative |= (m_e_local_positioning_type == EPositioningType::Relative);
if (lineG1.has(Axis(axis))) {
double ret = lineG1.get(Axis(axis));
return is_relative ? m_start_position[axis] + ret : m_origin[axis] + ret;
} else
return m_start_position[axis];
};
auto move_type = [this](const std::array<double, 4>& delta_pos) {
EMoveType type = EMoveType::Noop;
if (m_wiping)
type = EMoveType::Wipe;
else if (delta_pos[E] < 0.0f)
type = (delta_pos[X] != 0.0f || delta_pos[Y] != 0.0f || delta_pos[Z] != 0.0f) ? EMoveType::Travel : EMoveType::Retract;
else if (delta_pos[E] > 0.0f) {
if (delta_pos[X] == 0.0f && delta_pos[Y] == 0.0f)
type = (delta_pos[Z] == 0.0f) ? EMoveType::Unretract : EMoveType::Travel;
else if (delta_pos[X] != 0.0f || delta_pos[Y] != 0.0f)
type = EMoveType::Extrude;
}
else if (delta_pos[X] != 0.0f || delta_pos[Y] != 0.0f || delta_pos[Z] != 0.0f)
type = EMoveType::Travel;
return type;
};
for (unsigned char a = X; a <= E; ++a) {
m_end_position[a] = absolute_position((Axis)a, line);
}
// calculates movement deltas
std::array<double, 4> delta_pos;
for (unsigned char a = X; a <= E; ++a)
delta_pos[a] = m_end_position[a] - m_start_position[a];
// Todo: currently, for precision, there alwasy has possible to generate
// such gcode because of decimal truncation
/*if (line.has(Axis(E)) && delta_pos[E] == 0.0 && !m_wiping) {
std::cout << "Invalid GCode because has E axis but 0 extrusion" << std::endl;
return GCodeCheckResult::CheckFailed;
}*/
EMoveType type = move_type(delta_pos);
if (type == EMoveType::Extrude && m_end_position[Z] == 0.0f)
type = EMoveType::Travel;
//BBS: calculate line width and compare.
//Don't need to check gap fill which has verious width
if (type == EMoveType::Extrude &&
m_role != erGapFill &&
delta_pos[E] > CHECK_WIDTH_E_THRESHOLD) {
std::array<double, 3> source = { m_start_position[X], m_start_position[Y], m_start_position[Z] };
std::array<double, 3> target = { m_end_position[X], m_end_position[Y], m_end_position[Z] };
bool is_bridge = m_role == erOverhangPerimeter || m_role == erBridgeInfill;
if (!is_bridge) {
double width_real = calculate_G1_width(source, target, delta_pos[E], m_height, is_bridge);
if (fabs(width_real - m_width) > WIDTH_THRESHOLD) {
std::cout << "Invalid G0_G1 because has abnormal line width." << std::endl;
std::cout << "Width: " << m_width << " Width_real: " << width_real << std::endl;
return GCodeCheckResult::CheckFailed;
}
}
}
return GCodeCheckResult::Success;
}
GCodeCheckResult GCodeChecker::check_G2_G3_width(const GCodeLine& line)
{
auto absolute_position = [this](Axis axis, const GCodeLine& lineG2_3) {
bool is_relative = (m_global_positioning_type == EPositioningType::Relative);
if (axis == E)
is_relative |= (m_e_local_positioning_type == EPositioningType::Relative);
if (lineG2_3.has(Axis(axis))) {
double ret = lineG2_3.get(Axis(axis));
if (axis == I)
return m_start_position[X] + ret;
else if (axis == J)
return m_start_position[Y] + ret;
else
return is_relative ? m_start_position[axis] + ret : m_origin[axis] + ret;
} else {
if (axis == I)
return m_start_position[X];
else if (axis == J)
return m_start_position[Y];
else
return m_start_position[axis];
}
};
auto move_type = [this](const double& delta_E) {
EMoveType type = EMoveType::Noop;
if (m_wiping)
type = EMoveType::Wipe;
else if (delta_E < 0.0f || delta_E == 0.0f)
type = EMoveType::Travel;
else
type = EMoveType::Extrude;
return type;
};
for (unsigned char a = X; a <= E; ++a) {
m_end_position[a] = absolute_position((Axis)a, line);
}
std::array<double, 2> source = { m_start_position[X], m_start_position[Y] };
std::array<double, 2> target = { m_end_position[X], m_end_position[Y] };
std::array<double, 2> center = { absolute_position(I, line),absolute_position(J, line) };
const std::string& cmd = line.cmd();
bool is_ccw = (::atoi(&cmd[1]) == 2) ? false : true;
double delta_e = m_end_position[E] - m_start_position[E];
EMoveType type = move_type(delta_e);
//BBS: judge whether is normal arc by radius
double radius1 = sqrt(pow((source[0] - center[0]), 2) + pow((source[1] - center[1]), 2));
double radius2 = sqrt(pow((target[0] - center[0]), 2) + pow((target[1] - center[1]), 2));
if (fabs(radius2 - radius1) > RADIUS_THRESHOLD) {
std::cout << "Invalid G2_G3 because of abnormal radius." << std::endl;
std::cout << "radius1: " << radius1 << " radius2: " << radius2 << std::endl;
return GCodeCheckResult::CheckFailed;
}
//BBS: calculate line width and compare
//Don't need to check gap fill which has verious width
if (type == EMoveType::Extrude &&
m_role != erGapFill &&
delta_e > CHECK_WIDTH_E_THRESHOLD) {
bool is_bridge = m_role == erOverhangPerimeter || m_role == erBridgeInfill;
if (!is_bridge) {
double width_real = calculate_G2_G3_width(source, target, center, is_ccw, delta_e, m_height, is_bridge);
if (fabs(width_real - m_width) > WIDTH_THRESHOLD) {
std::cout << "Invalid G2_G3 because has abnormal line width." << std::endl;
std::cout << "Width: " << m_width << " Width_real: " << width_real << std::endl;
return GCodeCheckResult::CheckFailed;
}
}
}
return GCodeCheckResult::Success;
}
const std::map<std::string, ExtrusionRole> string_to_role_map = {
{ "Inner wall", erPerimeter },
{ "Outer wall", erExternalPerimeter },
{ "Overhang wall", erOverhangPerimeter },
{ "Sparse infill", erInternalInfill },
{ "Internal solid infill", erSolidInfill },
{ "Top surface", erTopSolidInfill },
{ "Bottom surface", erBottomSurface },
{ "Ironing", erIroning },
{ "Bridge", erBridgeInfill },
{ "Gap infill", erGapFill },
{ "Skirt", erSkirt },
{ "Brim", erBrim },
{ "Support", erSupportMaterial },
{ "Support interface", erSupportMaterialInterface },
{ "Support transition", erSupportTransition },
{ "Prime tower", erWipeTower },
{ "Custom", erCustom },
{ "Mixed", erMixed }
};
ExtrusionRole GCodeChecker::string_to_role(const std::string &role)
{
for (auto it = string_to_role_map.begin(); it != string_to_role_map.end(); it++) {
if (role == it->first)
return it->second;
}
return erNone;
}
}

View File

@@ -1,222 +0,0 @@
#ifndef _GCodeChecker_H_
#define _GCodeChecker_H_
#include <iostream>
#include <string>
#include <vector>
#include <array>
namespace BambuStudio {
enum class GCodeCheckResult : unsigned char
{
Success,
ParseFailed,
CheckFailed,
Count
};
enum class EMoveType : unsigned char
{
Noop,
Retract,
Unretract,
Tool_change,
Color_change,
Pause_Print,
Custom_GCode,
Travel,
Wipe,
Extrude,
Count
};
enum Axis {
X=0,
Y,
Z,
E,
F,
I,
J,
P,
NUM_AXES,
UNKNOWN_AXIS = NUM_AXES,
};
enum ExtrusionRole : uint8_t {
erNone,
erPerimeter,
erExternalPerimeter,
erOverhangPerimeter,
erInternalInfill,
erSolidInfill,
erTopSolidInfill,
erBottomSurface,
erIroning,
erBridgeInfill,
erGapFill,
erSkirt,
erBrim,
erSupportMaterial,
erSupportMaterialInterface,
erSupportTransition,
erWipeTower,
erCustom,
// Extrusion role for a collection with multiple extrusion roles.
erMixed,
erCount
};
class GCodeChecker {
public:
class GCodeLine {
public:
GCodeLine() {}
const std::string cmd() const {
const char *cmd = GCodeChecker::skip_whitespaces(m_raw.c_str());
return std::string(cmd, GCodeChecker::skip_word(cmd) - cmd);
}
bool has(Axis axis) const { return (m_mask & (1 << int(axis))) != 0; }
double get(Axis axis) const { return m_axis[int(axis)]; }
std::string m_raw;
double m_axis[NUM_AXES] = { 0.0f };
uint32_t m_mask = 0;
};
enum class EPositioningType : unsigned char
{
Absolute,
Relative
};
GCodeChecker() {}
GCodeCheckResult parse_file(const std::string& path);
private:
bool include_chinese(const char* str);
GCodeCheckResult parse_line(const std::string& line);
GCodeCheckResult parse_command(GCodeLine& gcode_line);
GCodeCheckResult parse_axis(GCodeLine& gcode_line);
GCodeCheckResult parse_G0_G1(GCodeLine& gcode_line);
GCodeCheckResult parse_G2_G3(GCodeLine& gcode_line);
GCodeCheckResult parse_G90(const GCodeLine& gcode_line);
GCodeCheckResult parse_G91(const GCodeLine& gcode_line);
GCodeCheckResult parse_G92(GCodeLine& gcode_line);
GCodeCheckResult parse_M82(const GCodeLine& gcode_line);
GCodeCheckResult parse_M83(const GCodeLine& gcode_line);
GCodeCheckResult parse_M104_M109(const GCodeLine &gcode_line);
GCodeCheckResult parse_comment(GCodeLine& gcode_line);
GCodeCheckResult check_line_width(const GCodeLine& gcode_line);
GCodeCheckResult check_G0_G1_width(const GCodeLine& gcode_line);
GCodeCheckResult check_G2_G3_width(const GCodeLine& gcode_line);
double calculate_G1_width(const std::array<double, 3>& source,
const std::array<double, 3>& target,
double e, double height, bool is_bridge) const;
double calculate_G2_G3_width(const std::array<double, 2>& source,
const std::array<double, 2>& target,
const std::array<double, 2>& center,
bool is_ccw, double e, double height, bool is_bridge) const;
public:
static bool is_whitespace(char c) { return c == ' ' || c == '\t'; }
static bool is_end_of_line(char c) { return c == '\r' || c == '\n' || c == 0; }
static bool is_comment_line(char c) { return c == ';'; }
static bool is_end_of_gcode_line(char c) { return is_comment_line(c) || is_end_of_line(c); }
static bool is_end_of_word(char c) { return is_whitespace(c) || is_end_of_gcode_line(c); }
static const char* skip_word(const char *c) {
for (; ! is_end_of_word(*c); ++ c)
; // silence -Wempty-body
return c;
}
static const char* skip_whitespaces(const char *c) {
for (; is_whitespace(*c); ++ c)
; // silence -Wempty-body
return c;
}
static bool is_single_gcode_word(const char* c) {
c = skip_word(c);
c = skip_whitespaces(c);
return is_end_of_gcode_line(*c);
}
static bool starts_with(const std::string &comment, const std::string &tag) {
size_t tag_len = tag.size();
return comment.size() >= tag_len && comment.substr(0, tag_len) == tag;
}
static ExtrusionRole string_to_role(const std::string& role);
//BBS: Returns true if the number was parsed correctly into out and the number spanned the whole input string.
static bool parse_double_from_str(const std::string& input, double& out) {
size_t read = 0;
try {
out = std::stod(input, &read);
return input.size() == read;
} catch (...) {
return false;
}
}
static bool parse_double_from_str(const std::string &input, std::vector<double> &out)
{
std::string cmd=input;
size_t read = 0;
while (cmd.size() >= 5)
{
int pt = 0;
for (pt = 0; pt < cmd.size(); pt++) {
char temp = cmd[pt];
if (temp == ',')
{
try {
double num = std::stod(cmd.substr(0, pt), &read);
out.push_back(num);
cmd = cmd.substr(pt+1);
break;
} catch (...) {
return false;
}
}
}
}
double num = std::stod(cmd, &read);
out.push_back(num);
return true;
}
private:
EPositioningType m_global_positioning_type = EPositioningType::Absolute;
EPositioningType m_e_local_positioning_type = EPositioningType::Absolute;
std::array<double, 4> m_start_position = { 0.0, 0.0, 0.0, 0.0 };
std::array<double, 4> m_end_position = { 0.0, 0.0, 0.0, 0.0 };
std::array<double, 4> m_origin = { 0.0, 0.0, 0.0, 0.0 };
//BBS: use these value to save information from comment
ExtrusionRole m_role = erNone;
bool m_wiping = false;
int m_layer_num = 0;
double m_height = 0.0;
double m_width = 0.0;
double z_height=0.0f;
double initial_layer_height=0.0f;
int filament_id;
double flow_ratio = 0;
double nozzle_temp = 0.0f;
std::vector<double> filament_flow_ratio;
std::vector<double> nozzle_temperature;
std::vector<double> nozzle_temperature_initial_layer;
};
}
#endif

View File

@@ -1,24 +0,0 @@
#include "GCodeChecker.h"
using namespace std;
using namespace BambuStudio;
int main(int argc, char *argv[])
{
if (argc != 2) {
cout << "Invalid input arguments" << endl;
return -1;
}
string path(argv[1]);
cout << "Start to check file " << path << endl;
GCodeChecker checker;
//BBS: parse and check whether has invalid gcode
if (checker.parse_file(path) != GCodeCheckResult::Success) {
cout << "Failed to parse and check file " << path << endl;
return -1;
}
cout << "Success to parse and check file" << path << endl;
return 0;
}

View File

@@ -3,17 +3,17 @@ cd deps
mkdir build
cd build
set DEPS=%CD%/OrcaSlicer_dep
if "%1"=="studio" (
GOTO :studio
if "%1"=="slicer" (
GOTO :slicer
)
echo "building deps.."
cmake ../ -G "Visual Studio 16 2019" -DDESTDIR="%CD%/OrcaSlicer_dep" -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release --target ALL_BUILD -- -m
cmake --build . --config Release --target deps -- -m
if "%1"=="deps" exit /b 0
:studio
echo "building studio..."
:slicer
echo "building Orca Slicer..."
cd %WP%
mkdir build
cd build

View File

@@ -12,7 +12,7 @@ while getopts ":a:sdphn" opt; do
export ARCH="$OPTARG"
;;
s )
export BUILD_TARGET="studio"
export BUILD_TARGET="slicer"
;;
n )
export NIGHTLY_BUILD="1"
@@ -20,7 +20,7 @@ while getopts ":a:sdphn" opt; do
h ) echo "Usage: ./build_release_macos.sh [-d]"
echo " -d: Build deps only"
echo " -a: Set ARCHITECTURE (arm64 or x86_64)"
echo " -s: Build studio only"
echo " -s: Build slicer only"
echo " -n: Nightly build"
exit 0
;;
@@ -54,12 +54,12 @@ mkdir -p build_$ARCH
cd build_$ARCH
DEPS=$PWD/OrcaSlicer_dep_$ARCH
mkdir -p $DEPS
if [ "studio." != $BUILD_TARGET. ];
if [ "slicer." != $BUILD_TARGET. ];
then
echo "building deps..."
echo "cmake ../ -DDESTDIR=$DEPS -DOPENSSL_ARCH=darwin64-${ARCH}-cc -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES:STRING=${ARCH}"
cmake ../ -DDESTDIR="$DEPS" -DOPENSSL_ARCH="darwin64-${ARCH}-cc" -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES:STRING=${ARCH}
cmake --build . --config Release --target all
cmake --build . --config Release --target deps
if [ "1." == "$PACK_DEPS". ];
then
tar -zcvf OrcaSlicer_dep_mac_${ARCH}_$(date +"%d-%m-%Y").tar.gz OrcaSlicer_dep_$ARCH
@@ -75,7 +75,7 @@ fi
cd $WD
mkdir -p build_$ARCH
cd build_$ARCH
echo "building studio..."
echo "building slicer..."
cmake .. -GXcode -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="$DEPS/usr/local" -DCMAKE_INSTALL_PREFIX="$PWD/OrcaSlicer" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_INSTALL_RPATH="$DEPS/usr/local" -DCMAKE_MACOSX_BUNDLE=ON -DCMAKE_OSX_ARCHITECTURES=${ARCH}
cmake --build . --config Release --target ALL_BUILD
mkdir -p OrcaSlicer

23
build_release_vs2022.bat Normal file
View File

@@ -0,0 +1,23 @@
set WP=%CD%
cd deps
mkdir build
cd build
set DEPS=%CD%/OrcaSlicer_dep
if "%1"=="slicer" (
GOTO :slicer
)
echo "building deps.."
cmake ../ -G "Visual Studio 17 2022" -A x64 -DDESTDIR="%CD%/OrcaSlicer_dep" -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release --target deps -- -m
if "%1"=="deps" exit /b 0
:slicer
echo "building Orca Slicer..."
cd %WP%
mkdir build
cd build
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=Release
cmake --build . --config Release --target ALL_BUILD -- -m
cmake --build . --target install --config Release

View File

@@ -1,23 +0,0 @@
set WP=%CD%
cd deps
mkdir build
cd build
set DEPS=%CD%/OrcaSlicer_dep
if "%1"=="studio" (
GOTO :studio
)
echo "building deps.."
cmake ../ -G "Visual Studio 16 2019" -DDESTDIR="%CD%/OrcaSlicer_dep" -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release --target ALL_BUILD -- -m
if "%1"=="deps" exit /b 0
:studio
echo "building studio..."
cd %WP%
mkdir build
cd build
cmake .. -G "Visual Studio 16 2019" -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="%DEPS%/usr/local" -DCMAKE_INSTALL_PREFIX="./OrcaSlicer" -DCMAKE_BUILD_TYPE=Release -DWIN10SDK_PATH="C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0"
cmake --build . --config RelWithDebInfo --target ALL_BUILD -- -m
@REM cmake --build . --target install --config RelWithDebInfo

View File

@@ -1,495 +0,0 @@
@setlocal disableDelayedExpansion enableExtensions
@IF "%PS_ECHO_ON%" NEQ "" (echo on) ELSE (echo off)
@GOTO :MAIN
:HELP
@ECHO.
@ECHO Performs initial build or rebuild of the app (build) and deps (build/deps).
@ECHO Default options are determined from build directories and system state.
@ECHO.
@ECHO Usage: build_win [-ARCH ^<arch^>] [-CONFIG ^<config^>] [-VERSION ^<version^>]
@ECHO [-PRODUCT ^<product^>] [-DESTDIR ^<directory^>]
@ECHO [-STEPS ^<all^|all-dirty^|app^|app-dirty^|deps^|deps-dirty^>]
@ECHO [-RUN ^<console^|custom^|none^|viewer^|window^>]
@ECHO.
@ECHO -a -ARCH Target processor architecture
@ECHO Default: %PS_ARCH_HOST%
@ECHO -c -CONFIG MSVC project config
@ECHO Default: %PS_CONFIG_DEFAULT%
@ECHO -v -VERSION Major version number of MSVC installation to use for build
@ECHO Default: %PS_VERSION_SUPPORTED%
@ECHO -p -PRODUCT Product ID of MSVC installation to use for build
@ECHO Default: %PS_PRODUCT_DEFAULT%
@ECHO -s -STEPS Performs only the specified build steps:
@ECHO all - clean and build deps and app
@ECHO all-dirty - build deps and app without cleaning
@ECHO app - clean and build main applications
@ECHO app-dirty - build main applications without cleaning
@ECHO deps - clean and build deps
@ECHO deps-dirty - build deps without cleaning
@ECHO Default: %PS_STEPS_DEFAULT%
@ECHO -r -RUN Specifies what to perform at the run step:
@ECHO console - run and wait on orca-slicer-console.exe
@ECHO custom - run and wait on your custom build/%PS_CUSTOM_RUN_FILE%
@ECHO ide - open project in Visual Studio if not open (no wait)
@ECHO none - run step does nothing
@ECHO viewer - run bambu-gcodeviewer.exe (no wait)
@ECHO window - run orca-slicer.exe (no wait)
@ECHO Default: none
@ECHO -d -DESTDIR Deps destination directory
@ECHO Warning: Changing destdir path will not delete the old destdir.
@ECHO Default: %PS_DESTDIR_DEFAULT_MSG%
@ECHO.
@ECHO Examples:
@ECHO.
@ECHO Initial build: build_win -d "c:\src\BambuSlicer-deps"
@ECHO Build post deps change: build_win -s all
@ECHO App dirty build: build_win
@ECHO App dirty build ^& run: build_win -r console
@ECHO All clean build ^& run: build_win -s all -r console -d "deps\build\out_deps"
@ECHO.
GOTO :END
:MAIN
REM Script constants
SET START_TIME=%TIME%
SET PS_START_DIR=%CD%
SET PS_SOLUTION_NAME=BambuStudio
SET PS_CHOICE_TIMEOUT=30
SET PS_CUSTOM_RUN_FILE=custom_run.bat
SET PS_DEPS_PATH_FILE_NAME=.DEPS_PATH.txt
SET PS_DEPS_PATH_FILE=%~dp0deps\build\%PS_DEPS_PATH_FILE_NAME%
SET PS_CONFIG_LIST="Debug;MinSizeRel;Release;RelWithDebInfo"
REM The officially supported toolchain version is 16 (Visual Studio 2019)
REM TODO: Update versions after Boost gets rolled to 1.78 or later
SET PS_VERSION_SUPPORTED=16
SET PS_VERSION_EXCEEDED=17
SET VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe
IF NOT EXIST "%VSWHERE%" SET VSWHERE=%ProgramFiles%\Microsoft Visual Studio\Installer\vswhere.exe
FOR /F "tokens=4 USEBACKQ delims=." %%I IN (`"%VSWHERE%" -nologo -property productId`) DO SET PS_PRODUCT_DEFAULT=%%I
IF "%PS_PRODUCT_DEFAULT%" EQU "" (
SET EXIT_STATUS=-1
@ECHO ERROR: No Visual Studio installation found. 1>&2
GOTO :HELP
)
REM Default to the latest supported version if multiple are available
FOR /F "tokens=1 USEBACKQ delims=." %%I IN (
`^""%VSWHERE%" -version "[%PS_VERSION_SUPPORTED%,%PS_VERSION_EXCEEDED%)" -latest -nologo -property catalog_buildVersion^"`
) DO SET PS_VERSION_SUPPORTED=%%I
REM Probe build directories and system state for reasonable default arguments
pushd %~dp0
SET PS_CONFIG=RelWithDebInfo
SET PS_ARCH=%PROCESSOR_ARCHITECTURE:amd64=x64%
CALL :TOLOWER PS_ARCH
SET PS_RUN=none
SET PS_DESTDIR=
SET PS_VERSION=
SET PS_PRODUCT=%PS_PRODUCT_DEFAULT%
CALL :RESOLVE_DESTDIR_CACHE
REM Set up parameters used by help menu
SET EXIT_STATUS=0
SET PS_CONFIG_DEFAULT=%PS_CONFIG%
SET PS_ARCH_HOST=%PS_ARCH%
(echo " -help /help -h /h -? /? ")| findstr /I /C:" %~1 ">nul && GOTO :HELP
REM Parse arguments
SET EXIT_STATUS=1
SET PS_CURRENT_STEP=arguments
SET PARSER_STATE=
SET PARSER_FAIL=
FOR %%I in (%*) DO CALL :PARSE_OPTION "ARCH CONFIG DESTDIR STEPS RUN VERSION PRODUCT" PARSER_STATE "%%~I"
IF "%PARSER_FAIL%" NEQ "" (
@ECHO ERROR: Invalid switch: %PARSER_FAIL% 1>&2
GOTO :HELP
)ELSE IF "%PARSER_STATE%" NEQ "" (
@ECHO ERROR: Missing parameter for: %PARSER_STATE% 1>&2
GOTO :HELP
)
REM Validate arguments
SET PS_ASK_TO_CONTINUE=
CALL :TOLOWER PS_ARCH
SET PS_ARCH=%PS_ARCH:amd64=x64%
CALL :PARSE_OPTION_VALUE %PS_CONFIG_LIST:;= % PS_CONFIG
IF "%PS_CONFIG%" EQU "" GOTO :HELP
REM RESOLVE_DESTDIR_CACHE must go after PS_ARCH and PS_CONFIG, but before PS STEPS
CALL :RESOLVE_DESTDIR_CACHE
IF "%PS_STEPS%" EQU "" SET PS_STEPS=%PS_STEPS_DEFAULT%
CALL :PARSE_OPTION_VALUE "all all-dirty deps-dirty deps app-dirty app app-cmake" PS_STEPS
IF "%PS_STEPS%" EQU "" GOTO :HELP
(echo %PS_STEPS%)| findstr /I /C:"dirty">nul && SET PS_STEPS_DIRTY=1 || SET PS_STEPS_DIRTY=
IF "%PS_STEPS%" EQU "app-cmake" SET PS_STEPS_DIRTY=1
IF "%PS_DESTDIR%" EQU "" SET PS_DESTDIR=%PS_DESTDIR_CACHED%
IF "%PS_DESTDIR%" EQU "" (
@ECHO ERROR: Parameter required: -DESTDIR 1>&2
GOTO :HELP
)
CALL :CANONICALIZE_PATH PS_DESTDIR "%PS_START_DIR%"
IF "%PS_DESTDIR%" NEQ "%PS_DESTDIR_CACHED%" (
(echo "all deps all-dirty deps-dirty")| findstr /I /C:"%PS_STEPS%">nul || (
IF EXIST "%PS_DESTDIR%" (
@ECHO WARNING: DESTDIR does not match cache: 1>&2
@ECHO WARNING: new: %PS_DESTDIR% 1>&2
@ECHO WARNING: old: %PS_DESTDIR_CACHED% 1>&2
SET PS_ASK_TO_CONTINUE=1
) ELSE (
@ECHO ERROR: Invalid parameter: DESTDIR=%PS_DESTDIR% 1>&2
GOTO :HELP
)
)
)
SET PS_DESTDIR_DEFAULT_MSG=
CALL :PARSE_OPTION_VALUE "console custom ide none viewer window" PS_RUN
IF "%PS_RUN%" EQU "" GOTO :HELP
IF "%PS_RUN%" NEQ "none" IF "%PS_STEPS:~0,4%" EQU "deps" (
@ECHO ERROR: RUN=%PS_RUN% specified with STEPS=%PS_STEPS%
@ECHO ERROR: RUN=none is the only valid option for STEPS "deps" or "deps-dirty"
GOTO :HELP
)
IF DEFINED PS_VERSION (
SET /A PS_VERSION_EXCEEDED=%PS_VERSION% + 1
) ELSE SET PS_VERSION=%PS_VERSION_SUPPORTED%
SET MSVC_FILTER=-products Microsoft.VisualStudio.Product.%PS_PRODUCT% -version "[%PS_VERSION%,%PS_VERSION_EXCEEDED%)"
FOR /F "tokens=* USEBACKQ" %%I IN (`^""%VSWHERE%" %MSVC_FILTER% -nologo -property installationPath^"`) DO SET MSVC_DIR=%%I
IF NOT EXIST "%MSVC_DIR%" (
@ECHO ERROR: Compatible Visual Studio installation not found. 1>&2
GOTO :HELP
)
REM Give the user a chance to cancel if we found something odd.
IF "%PS_ASK_TO_CONTINUE%" EQU "" GOTO :BUILD_ENV
@ECHO.
@ECHO Unexpected parameters detected. Build paused for %PS_CHOICE_TIMEOUT% seconds.
choice /T %PS_CHOICE_TIMEOUT% /C YN /D N /M "Continue"
IF %ERRORLEVEL% NEQ 1 GOTO :HELP
REM Set up MSVC environment
:BUILD_ENV
SET EXIT_STATUS=2
SET PS_CURRENT_STEP=environment
@ECHO **********************************************************************
@ECHO ** Build Config: %PS_CONFIG%
@ECHO ** Target Arch: %PS_ARCH%
@ECHO ** Build Steps: %PS_STEPS%
@ECHO ** Run App: %PS_RUN%
@ECHO ** Deps path: %PS_DESTDIR%
@ECHO ** Using Microsoft Visual Studio installation found at:
@ECHO ** %MSVC_DIR%
CALL "%MSVC_DIR%\Common7\Tools\vsdevcmd.bat" -arch=%PS_ARCH% -host_arch=%PS_ARCH_HOST% -app_platform=Desktop
IF %ERRORLEVEL% NEQ 0 GOTO :END
REM Need to reset the echo state after vsdevcmd.bat clobbers it.
@IF "%PS_ECHO_ON%" NEQ "" (echo on) ELSE (echo off)
IF "%PS_DRY_RUN_ONLY%" NEQ "" (
@ECHO Script terminated early because PS_DRY_RUN_ONLY is set. 1>&2
GOTO :END
)
IF /I "%PS_STEPS:~0,3%" EQU "app" GOTO :BUILD_APP
REM Build deps
:BUILD_DEPS
SET EXIT_STATUS=3
SET PS_CURRENT_STEP=deps
IF "%PS_STEPS_DIRTY%" EQU "" (
CALL :MAKE_OR_CLEAN_DIRECTORY deps\build "%PS_DEPS_PATH_FILE_NAME%" .vs
CALL :MAKE_OR_CLEAN_DIRECTORY "%PS_DESTDIR%"
)
cd deps\build || GOTO :END
cmake.exe .. -DDESTDIR="%PS_DESTDIR%"
IF %ERRORLEVEL% NEQ 0 IF "%PS_STEPS_DIRTY%" NEQ "" (
(del CMakeCache.txt && cmake.exe .. -DDESTDIR="%PS_DESTDIR%") || GOTO :END
) ELSE GOTO :END
(echo %PS_DESTDIR%)> "%PS_DEPS_PATH_FILE%"
msbuild /m ALL_BUILD.vcxproj /p:Configuration=%PS_CONFIG% /v:quiet || GOTO :END
cd ..\..
IF /I "%PS_STEPS:~0,4%" EQU "deps" GOTO :RUN_APP
REM Build app
:BUILD_APP
SET EXIT_STATUS=4
SET PS_CURRENT_STEP=app
IF "%PS_STEPS_DIRTY%" EQU "" CALL :MAKE_OR_CLEAN_DIRECTORY build "%PS_CUSTOM_RUN_FILE%" .vs
cd build || GOTO :END
REM Make sure we have a custom batch file skeleton for the run stage
set PS_CUSTOM_BAT=%PS_CUSTOM_RUN_FILE%
CALL :CANONICALIZE_PATH PS_CUSTOM_BAT
IF NOT EXIST %PS_CUSTOM_BAT% CALL :WRITE_CUSTOM_SCRIPT_SKELETON %PS_CUSTOM_BAT%
SET PS_PROJECT_IS_OPEN=
FOR /F "tokens=2 delims=," %%I in (
'tasklist /V /FI "IMAGENAME eq devenv.exe " /NH /FO CSV ^| find "%PS_SOLUTION_NAME%"'
) do SET PS_PROJECT_IS_OPEN=%%~I
cmake.exe .. -DCMAKE_PREFIX_PATH="%PS_DESTDIR%\usr\local" -DCMAKE_CONFIGURATION_TYPES=%PS_CONFIG_LIST%
IF %ERRORLEVEL% NEQ 0 IF "%PS_STEPS_DIRTY%" NEQ "" (
(del CMakeCache.txt && cmake.exe .. -DCMAKE_PREFIX_PATH="%PS_DESTDIR%\usr\local" -DCMAKE_CONFIGURATION_TYPES=%PS_CONFIG_LIST%) || GOTO :END
) ELSE GOTO :END
REM Skip the build step if we're using the undocumented app-cmake to regenerate the full config from inside devenv
IF "%PS_STEPS%" NEQ "app-cmake" msbuild /m ALL_BUILD.vcxproj /p:Configuration=%PS_CONFIG% /v:quiet || GOTO :END
(echo %PS_DESTDIR%)> "%PS_DEPS_PATH_FILE_FOR_CONFIG%"
REM Run app
:RUN_APP
REM All build steps complete.
CALL :DIFF_TIME ELAPSED_TIME %START_TIME% %TIME%
IF "%PS_CURRENT_STEP%" NEQ "arguments" (
@ECHO.
@ECHO Total Build Time Elapsed %ELAPSED_TIME%
)
SET EXIT_STATUS=5
SET PS_CURRENT_STEP=run
IF "%PS_RUN%" EQU "none" GOTO :PROLOGUE
cd src\%PS_CONFIG% || GOTO :END
SET PS_PROJECT_IS_OPEN=
FOR /F "tokens=2 delims=," %%I in (
'tasklist /V /FI "IMAGENAME eq devenv.exe " /NH /FO CSV ^| find "%PS_SOLUTION_NAME%"'
) do SET PS_PROJECT_IS_OPEN=%%~I
@ECHO.
@ECHO Running %PS_RUN% application...
@REM icacls below is just a hack for file-not-found error handling
IF "%PS_RUN%" EQU "console" (
icacls orca-slicer-console.exe >nul || GOTO :END
start /wait /b orca-slicer-console.exe
) ELSE IF "%PS_RUN%" EQU "window" (
icacls orca-slicer.exe >nul || GOTO :END
start orca-slicer.exe
) ELSE IF "%PS_RUN%" EQU "viewer" (
icacls bambu-gcodeviewer.exe >nul || GOTO :END
start bambu-gcodeviewer.exe
) ELSE IF "%PS_RUN%" EQU "custom" (
icacls %PS_CUSTOM_BAT% >nul || GOTO :END
CALL %PS_CUSTOM_BAT%
) ELSE IF "%PS_RUN%" EQU "ide" (
IF "%PS_PROJECT_IS_OPEN%" NEQ "" (
@ECHO WARNING: Solution is already open in Visual Studio. Skipping ide run step. 1>&2
) ELSE (
@ECHO Preparing to run Visual Studio...
cd ..\.. || GOTO :END
REM This hack generates a single config for MSVS, guaranteeing it gets set as the active config.
cmake.exe .. -DCMAKE_PREFIX_PATH="%PS_DESTDIR%\usr\local" -DCMAKE_CONFIGURATION_TYPES=%PS_CONFIG% > nul 2> nul || GOTO :END
REM Now launch devenv with the single config (setting it active) and a /command switch to re-run cmake and generate the full config list
start devenv.exe %PS_SOLUTION_NAME%.sln /command ^"shell /o ^^^"%~f0^^^" -d ^^^"%PS_DESTDIR%^^^" -c %PS_CONFIG% -a %PS_ARCH% -r none -s app-cmake^"
REM If devenv fails to launch just directly regenerate the full config list.
IF %ERRORLEVEL% NEQ 0 (
cmake.exe .. -DCMAKE_PREFIX_PATH="%PS_DESTDIR%\usr\local" -DCMAKE_CONFIGURATION_TYPES=%PS_CONFIG_LIST% 2> nul 1> nul || GOTO :END
)
)
)
@REM ********** DON'T ADD ANY CODE BETWEEN THESE TWO SECTIONS **********
@REM RUN_APP may hand off control, so let exit codes fall through to PROLOGUE.
:PROLOGUE
SET EXIT_STATUS=%ERRORLEVEL%
:END
@IF "%PS_ECHO_ON%%PS_DRY_RUN_ONLY%" NEQ "" (
@ECHO **********************************************************************
@ECHO ** Script Parameters:
@ECHO **********************************************************************
@SET PS_
)
IF "%EXIT_STATUS%" NEQ "0" (
IF "%PS_CURRENT_STEP%" NEQ "arguments" (
@ECHO.
@ECHO ERROR: *** Build process failed at %PS_CURRENT_STEP% step. *** 1>&2
)
) ELSE (
@ECHO All steps completed successfully.
)
popd
exit /B %EXIT_STATUS%
GOTO :EOF
REM Functions and stubs start here.
:RESOLVE_DESTDIR_CACHE
@REM Resolves all DESTDIR cache values and sets PS_STEPS_DEFAULT
@REM Note: This just sets global variables, so it doesn't use setlocal.
SET PS_DEPS_PATH_FILE_FOR_CONFIG=%~dp0build\.vs\%PS_ARCH%\%PS_CONFIG%\%PS_DEPS_PATH_FILE_NAME%
mkdir "%~dp0build\.vs\%PS_ARCH%\%PS_CONFIG%" > nul 2> nul
REM Copy a legacy file if we don't have one in the proper location.
echo f|xcopy /D "%~dp0build\%PS_ARCH%\%PS_CONFIG%\%PS_DEPS_PATH_FILE_NAME%" "%PS_DEPS_PATH_FILE_FOR_CONFIG%" > nul 2> nul
CALL :CANONICALIZE_PATH PS_DEPS_PATH_FILE_FOR_CONFIG
IF EXIST "%PS_DEPS_PATH_FILE_FOR_CONFIG%" (
FOR /F "tokens=* USEBACKQ" %%I IN ("%PS_DEPS_PATH_FILE_FOR_CONFIG%") DO (
SET PS_DESTDIR_CACHED=%%I
SET PS_DESTDIR_DEFAULT_MSG=%%I
)
SET PS_STEPS_DEFAULT=app-dirty
) ELSE IF EXIST "%PS_DEPS_PATH_FILE%" (
FOR /F "tokens=* USEBACKQ" %%I IN ("%PS_DEPS_PATH_FILE%") DO (
SET PS_DESTDIR_CACHED=%%I
SET PS_DESTDIR_DEFAULT_MSG=%%I
)
SET PS_STEPS_DEFAULT=app
) ELSE (
SET PS_DESTDIR_CACHED=
SET PS_DESTDIR_DEFAULT_MSG=Cache missing. Argument required.
SET PS_STEPS_DEFAULT=all
)
GOTO :EOF
:PARSE_OPTION
@REM Argument parser called for each argument
@REM %1 - Valid option list
@REM %2 - Variable name for parser state; must be unset when parsing finished
@REM %3 - Current argument value
@REM PARSER_FAIL will be set on an error
@REM Note: Must avoid delayed expansion since filenames may contain ! character
setlocal disableDelayedExpansion
IF "%PARSER_FAIL%" NEQ "" GOTO :EOF
CALL SET LAST_ARG=%%%2%%
IF "%LAST_ARG%" EQU "" (
CALL :PARSE_OPTION_NAME %1 %~2 %~3 1
SET ARG_TYPE=NAME
) ELSE (
SET PS_SET_COMMAND=SET PS_%LAST_ARG%=%~3
SET ARG_TYPE=LAST_ARG
SET %~2=
)
CALL SET LAST_ARG=%%%2%%
IF "%LAST_ARG%%ARG_TYPE%" EQU "NAME" SET PARSER_FAIL=%~3
(
endlocal
SET PARSER_FAIL=%PARSER_FAIL%
SET %~2=%LAST_ARG%
%PS_SET_COMMAND%
)
GOTO :EOF
:PARSE_OPTION_VALUE
setlocal disableDelayedExpansion
@REM Parses value and verifies it is within the supplied list
@REM %1 - Valid option list
@REM %2 - In/out variable name; unset on error
CALL SET NAME=%~2
CALL SET SAVED_VALUE=%%%NAME%%%
CALL :PARSE_OPTION_NAME %1 %NAME% -%SAVED_VALUE%
CALL SET NEW_VALUE=%%%NAME%%%
IF "%NEW_VALUE%" EQU "" (
@ECHO ERROR: Invalid parameter: %NAME:~3%=%SAVED_VALUE% 1>&2
)
endlocal & SET %NAME%=%NEW_VALUE%
GOTO :EOF
:PARSE_OPTION_NAME
@REM Parses an option name
@REM %1 - Valid option list
@REM %2 - Out variable name; unset on error
@REM %3 - Current argument value
@REM %4 - Boolean indicating single character switches are valid
@REM Note: Delayed expansion safe because ! character is invalid in option name
setlocal enableDelayedExpansion
IF "%4" NEQ "" FOR %%I IN (%~1) DO @(
SET SHORT_NAME=%%~I
SET SHORT_ARG_!SHORT_NAME:~0,1!=%%~I
)
@SET OPTION_NAME=%~3
@(echo %OPTION_NAME%)| findstr /R /C:"[-/]..*">nul || GOTO :PARSE_OPTION_NAME_FAIL
@SET OPTION_NAME=%OPTION_NAME:~1%
IF "%4" NEQ "" (
IF "%OPTION_NAME%" EQU "%OPTION_NAME:~0,1%" (
IF "!SHORT_ARG_%OPTION_NAME:~0,1%!" NEQ "" SET OPTION_NAME=!SHORT_ARG_%OPTION_NAME:~0,1%!
)
)
@(echo %OPTION_NAME%)| findstr /R /C:".[ ][ ]*.">nul && GOTO :PARSE_OPTION_NAME_FAIL
@(echo %~1 )| findstr /I /C:" %OPTION_NAME% ">nul || GOTO :PARSE_OPTION_NAME_FAIL
FOR %%I IN (%~1) DO SET OPTION_NAME=!OPTION_NAME:%%~I=%%~I!
endlocal & SET %~2=%OPTION_NAME%
GOTO :EOF
:PARSE_OPTION_NAME_FAIL
endlocal & SET %~2=
GOTO :EOF
:MAKE_OR_CLEAN_DIRECTORY
@REM Create directory if it doesn't exist or clean it if it does
@REM %1 - Directory path to clean or create
@REM %* - Optional list of files/dirs to keep (in the base directory only)
setlocal disableDelayedExpansion
IF NOT EXIST "%~1" (
@ECHO Creating %~1
mkdir "%~1" && (
endlocal
GOTO :EOF
)
)
@ECHO Cleaning %~1 ...
SET KEEP_LIST=
:MAKE_OR_CLEAN_DIRECTORY_ARG_LOOP
IF "%~2" NEQ "" (
SET KEEP_LIST=%KEEP_LIST% "%~2"
SHIFT /2
GOTO :MAKE_OR_CLEAN_DIRECTORY_ARG_LOOP
)
for /F "usebackq delims=" %%I in (`dir /a /b "%~1"`) do (
(echo %KEEP_LIST%)| findstr /I /L /C:"\"%%I\"">nul || (
rmdir /s /q "%~1\%%I" 2>nul ) || del /q /f "%~1\%%I"
)
endlocal
GOTO :EOF
:TOLOWER
@REM Converts supplied environment variable to lowercase
@REM %1 - Input/output variable name
@REM Note: This is slow on very long strings, but is used only on very short ones
setlocal disableDelayedExpansion
@FOR %%b IN (a b c d e f g h i j k l m n o p q r s t u v w x y z) DO @CALL set %~1=%%%1:%%b=%%b%%
@CALL SET OUTPUT=%%%~1%%
endlocal & SET %~1=%OUTPUT%
GOTO :EOF
:CANONICALIZE_PATH
@REM Canonicalizes the path in the supplied variable
@REM %1 - Input/output variable containing path to canonicalize
@REM %2 - Optional base directory
setlocal
CALL :CANONICALIZE_PATH_INNER %1 %%%~1%% %2
endlocal & SET %~1=%OUTPUT%
GOTO :EOF
:CANONICALIZE_PATH_INNER
if "%~3" NEQ "" (pushd %3 || GOTO :EOF)
SET OUTPUT=%~f2
if "%~3" NEQ "" popd
GOTO :EOF
:DIFF_TIME
@REM Calculates elapsed time between two timestamps (TIME environment variable format)
@REM %1 - Output variable
@REM %2 - Start time
@REM %3 - End time
setlocal EnableDelayedExpansion
set START_ARG=%2
set END_ARG=%3
set END=!END_ARG:%TIME:~8,1%=%%100)*100+1!
set START=!START_ARG:%TIME:~8,1%=%%100)*100+1!
set /A DIFF=((((10!END:%TIME:~2,1%=%%100)*60+1!%%100)-((((10!START:%TIME:~2,1%=%%100)*60+1!%%100), DIFF-=(DIFF^>^>31)*24*60*60*100
set /A CC=DIFF%%100+100,DIFF/=100,SS=DIFF%%60+100,DIFF/=60,MM=DIFF%%60+100,HH=DIFF/60+100
@endlocal & set %1=%HH:~1%%TIME:~2,1%%MM:~1%%TIME:~2,1%%SS:~1%%TIME:~8,1%%CC:~1%
@GOTO :EOF
:WRITE_CUSTOM_SCRIPT_SKELETON
@REM Writes the following text to the supplied file
@REM %1 - Output filename
setlocal
@(
ECHO @ECHO.
ECHO @ECHO ********************************************************************************
ECHO @ECHO ** This is a custom run script skeleton.
ECHO @ECHO ********************************************************************************
ECHO @ECHO.
ECHO @ECHO ********************************************************************************
ECHO @ECHO ** The working directory is:
ECHO @ECHO ********************************************************************************
ECHO dir
ECHO @ECHO.
ECHO @ECHO ********************************************************************************
ECHO @ECHO ** The environment is:
ECHO @ECHO ********************************************************************************
ECHO set
ECHO @ECHO.
ECHO @ECHO ********************************************************************************
ECHO @ECHO ** Edit or replace this script to run custom steps after a successful build:
ECHO @ECHO ** %~1
ECHO @ECHO ********************************************************************************
ECHO @ECHO.
) > "%~1"
endlocal
GOTO :EOF

View File

@@ -238,7 +238,8 @@ endif()
set(OpenVDB_LIB_COMPONENTS "")
set(OpenVDB_DEBUG_SUFFIX "d" CACHE STRING "Suffix for the debug libraries")
get_property(_is_multi GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
# get_property(_is_multi GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
set(_is_multi FALSE)
foreach(COMPONENT ${OpenVDB_FIND_COMPONENTS})
set(LIB_NAME ${COMPONENT})

View File

@@ -1,29 +1,19 @@
# This is a wrapper of FindTBB which prefers the config scripts if available in the system
# but only if building with dynamic dependencies. The config scripts potentially belong
# to TBB >= 2020 which is incompatible with OpenVDB in our static dependency bundle.
# This workaround is useful for package maintainers on Linux systems to use newer versions
# of intel TBB (renamed to oneTBB from version 2021 up).
# ported from PrusaSlicer
set(_q "")
if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
set(_q QUIET)
endif()
# Only consider the config scripts if not building with the static dependencies
# and this call is not made from a static dependency build (e.g. dep_OpenVDB will use this module)
# BUILD_SHARED_LIBS will always be defined for dependency projects and will be OFF.
# Newer versions of TBB also discourage from using TBB as a static library
if (NOT SLIC3R_STATIC AND (NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS))
find_package(${CMAKE_FIND_PACKAGE_NAME} ${${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION} CONFIG ${_q})
if(NOT ${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
if (NOT ${CMAKE_FIND_PACKAGE_NAME}_FOUND)
message(STATUS "Falling back to MODULE search for ${CMAKE_FIND_PACKAGE_NAME}...")
else()
message(STATUS "${CMAKE_FIND_PACKAGE_NAME} found in ${${CMAKE_FIND_PACKAGE_NAME}_DIR}")
endif()
find_package(${CMAKE_FIND_PACKAGE_NAME} ${${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION} CONFIG ${_q})
if(NOT ${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
if (NOT ${CMAKE_FIND_PACKAGE_NAME}_FOUND)
message(STATUS "Falling back to MODULE search for ${CMAKE_FIND_PACKAGE_NAME}...")
else()
message(STATUS "${CMAKE_FIND_PACKAGE_NAME} found in ${${CMAKE_FIND_PACKAGE_NAME}_DIR}")
endif()
endif ()
endif()
if (NOT ${CMAKE_FIND_PACKAGE_NAME}_FOUND)
include(${CMAKE_CURRENT_LIST_DIR}/FindTBB.cmake.in)

View File

@@ -52,7 +52,7 @@
<string>OBJ</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>BambuStudio.icns</string>
<string>OrcaSlicer.icns</string>
<key>CFBundleTypeName</key>
<string>STL</string>
<key>CFBundleTypeRole</key>
@@ -69,7 +69,7 @@
<string>AMF</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>BambuStudio.icns</string>
<string>OrcaSlicer.icns</string>
<key>CFBundleTypeName</key>
<string>AMF</string>
<key>CFBundleTypeRole</key>
@@ -86,7 +86,7 @@
<string>3MF</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>BambuStudio.icns</string>
<string>OrcaSlicer.icns</string>
<key>CFBundleTypeName</key>
<string>3MF</string>
<key>CFBundleTypeRole</key>
@@ -118,5 +118,13 @@
<true/>
<key>NSHumanReadableCopyright</key>
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
<key>NSAppTransportSecurity</key>
<dict>
<!-- Disable App Transport Security. Resolves https://github.com/SoftFever/OrcaSlicer/issues/791 -->
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
</dict>
</dict>
</plist>

View File

@@ -7,7 +7,7 @@ else()
endif()
if(IS_CROSS_COMPILE AND APPLE)
bambustudio_add_cmake_project(Blosc
orcaslicer_add_cmake_project(Blosc
#URL https://github.com/Blosc/c-blosc/archive/refs/tags/v1.17.0.zip
#URL_HASH SHA256=7463a1df566704f212263312717ab2c36b45d45cba6cd0dccebf91b2cc4b4da9
URL https://github.com/tamasmeszaros/c-blosc/archive/refs/heads/v1.17.0_tm.zip
@@ -26,7 +26,7 @@ if(IS_CROSS_COMPILE AND APPLE)
-DDEACTIVATE_AVX2=ON
)
else()
bambustudio_add_cmake_project(Blosc
orcaslicer_add_cmake_project(Blosc
#URL https://github.com/Blosc/c-blosc/archive/refs/tags/v1.17.0.zip
#URL_HASH SHA256=7463a1df566704f212263312717ab2c36b45d45cba6cd0dccebf91b2cc4b4da9
URL https://github.com/tamasmeszaros/c-blosc/archive/refs/heads/v1.17.0_tm.zip

View File

@@ -1,9 +1,14 @@
include(ExternalProject)
# Use boost 1.78 for Windows, to support VS2022
if (WIN32)
set(_boost_url "https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.tar.gz")
set(_boost_hash 94CED8B72956591C4775AE2207A9763D3600B30D9D7446562C552F0A14A63BE7)
set(_bootstrap_cmd bootstrap.bat)
set(_build_cmd b2.exe)
else()
set(_boost_url "https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source/boost_1_75_0.tar.gz")
set(_boost_hash AEB26F80E80945E82EE93E5939BAEBDCA47B9DEE80A07D3144BE1E1A6A66DD6A)
set(_bootstrap_cmd ./bootstrap.sh)
set(_build_cmd ./b2)
endif()
@@ -85,7 +90,7 @@ if (_cfg_rel GREATER -1 OR _cfg_relwdeb GREATER -1 OR _cfg_minsizerel GREATER -1
list(APPEND _boost_variants release)
endif()
if (_cfg_deb GREATER -1 OR (MSVC AND ${DEP_DEBUG}) )
if (MSVC AND ${DEP_DEBUG} )
list(APPEND _boost_variants debug)
endif()
@@ -147,8 +152,8 @@ if (NOT IS_CROSS_COMPILE OR NOT APPLE OR BUILD_SHARED_LIBS)
message(STATUS "Standard boost build with install command '${_install_cmd}'")
ExternalProject_Add(
dep_Boost
URL "https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source/boost_1_75_0.tar.gz"
URL_HASH SHA256=aeb26f80e80945e82ee93e5939baebdca47b9dee80a07d3144be1e1a6a66dd6a
URL ${_boost_url}
URL_HASH SHA256=${_boost_hash}
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/Boost
CONFIGURE_COMMAND "${_bootstrap_cmd}"
PATCH_COMMAND ${_patch_command}
@@ -161,8 +166,8 @@ else()
ExternalProject_Add(
dep_Boost
URL "https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source/boost_1_75_0.tar.gz"
URL_HASH SHA256=aeb26f80e80945e82ee93e5939baebdca47b9dee80a07d3144be1e1a6a66dd6a
URL ${_boost_url}
URL_HASH SHA256=${_boost_hash}
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/Boost
CONFIGURE_COMMAND ./bootstrap.sh
--with-toolset=clang

View File

@@ -1,4 +1,4 @@
bambustudio_add_cmake_project(
orcaslicer_add_cmake_project(
CGAL
GIT_REPOSITORY https://github.com/CGAL/cgal.git
GIT_TAG caacd806dc55c61cc68adaad99f2240f00493b29 # releases/CGAL-5.3

6
deps/CMakeLists.txt vendored
View File

@@ -34,7 +34,7 @@ endif ()
set(DESTDIR "${CMAKE_CURRENT_BINARY_DIR}/destdir" CACHE PATH "Destination directory")
set(DEP_DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH "Path for downloaded source packages.")
option(DEP_DEBUG "Build debug variants (only applicable on Windows)" ON)
option(DEP_DEBUG "Build debug variants (only applicable on Windows)" OFF)
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
option(DEP_WX_GTK3 "Build wxWidgets against GTK3" OFF)
@@ -85,7 +85,7 @@ if (NOT _is_multi AND NOT CMAKE_BUILD_TYPE)
message(STATUS "Forcing CMAKE_BUILD_TYPE to Release as it was not specified.")
endif ()
function(bambustudio_add_cmake_project projectname)
function(orcaslicer_add_cmake_project projectname)
cmake_parse_arguments(P_ARGS "" "INSTALL_DIR;BUILD_COMMAND;INSTALL_COMMAND" "CMAKE_ARGS" ${ARGN})
set(_configs_line -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE})
@@ -145,7 +145,7 @@ else()
endif()
endfunction(bambustudio_add_cmake_project)
endfunction(orcaslicer_add_cmake_project)
if (MSVC)

View File

@@ -55,7 +55,7 @@ else()
set(_curl_static ON)
endif()
bambustudio_add_cmake_project(CURL
orcaslicer_add_cmake_project(CURL
# GIT_REPOSITORY https://github.com/curl/curl.git
# GIT_TAG curl-7_75_0
URL https://github.com/curl/curl/archive/refs/tags/curl-7_75_0.zip

View File

@@ -1,4 +1,4 @@
bambustudio_add_cmake_project(Cereal
orcaslicer_add_cmake_project(Cereal
URL "https://github.com/USCiLab/cereal/archive/v1.2.2.tar.gz"
URL_HASH SHA256=1921f26d2e1daf9132da3c432e2fd02093ecaedf846e65d7679ddf868c7289c4
CMAKE_ARGS

View File

@@ -1,4 +1,4 @@
bambustudio_add_cmake_project(EXPAT
orcaslicer_add_cmake_project(EXPAT
# GIT_REPOSITORY https://github.com/nigels-com/glew.git
# GIT_TAG 3a8eff7 # 2.1.0
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/expat

View File

@@ -10,7 +10,7 @@ else()
set(_ft_disable_zlib "-D FT_DISABLE_ZLIB=TRUE")
endif()
bambustudio_add_cmake_project(FREETYPE
orcaslicer_add_cmake_project(FREETYPE
URL https://mirror.ossplanet.net/nongnu/freetype/freetype-2.12.1.tar.gz
URL_HASH SHA256=efe71fd4b8246f1b0b1b9bfca13cfff1c9ad85930340c27df469733bbb620938
#DEPENDS ${ZLIB_PKG}

View File

@@ -2,7 +2,7 @@
set(OpenGL_GL_PREFERENCE "LEGACY") # to prevent a nasty warning by cmake
find_package(OpenGL QUIET REQUIRED)
bambustudio_add_cmake_project(
orcaslicer_add_cmake_project(
GLEW
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/glew
)

View File

@@ -12,7 +12,7 @@ else()
set(_glfw_use_wayland "-DGLFW_USE_WAYLAND=FF")
endif()
bambustudio_add_cmake_project(GLFW
orcaslicer_add_cmake_project(GLFW
URL https://github.com/glfw/glfw/archive/refs/tags/3.3.7.zip
URL_HASH SHA256=e02d956935e5b9fb4abf90e2c2e07c9a0526d7eacae8ee5353484c69a2a76cd0
#DEPENDS dep_Boost

View File

@@ -11,7 +11,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
endif ()
endif()
bambustudio_add_cmake_project(JPEG
orcaslicer_add_cmake_project(JPEG
URL https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/2.0.6.zip
URL_HASH SHA256=017bdc33ff3a72e11301c0feb4657cb27719d7f97fa67a78ed506c594218bbf1
DEPENDS ${ZLIB_PKG}

View File

@@ -1,4 +1,4 @@
bambustudio_add_cmake_project(NLopt
orcaslicer_add_cmake_project(NLopt
URL "https://github.com/stevengj/nlopt/archive/v2.5.0.tar.gz"
URL_HASH SHA256=c6dd7a5701fff8ad5ebb45a3dc8e757e61d52658de3918e38bab233e7fd3b4ae
CMAKE_ARGS

View File

@@ -4,11 +4,15 @@ else()
set(library_build_type "Static")
endif()
bambustudio_add_cmake_project(OCCT
# get relative path of CMAKE_BINARY_DIR against root source directory
file(RELATIVE_PATH BINARY_DIR_REL ${CMAKE_SOURCE_DIR}/.. ${CMAKE_BINARY_DIR})
orcaslicer_add_cmake_project(OCCT
URL https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_6_0.zip
URL_HASH SHA256=28334f0e98f1b1629799783e9b4d21e05349d89e695809d7e6dfa45ea43e1dbc
#PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
PATCH_COMMAND git apply --directory deps/build/dep_OCCT-prefix/src/dep_OCCT --verbose --ignore-space-change --whitespace=fix ${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
CMAKE_ARGS

View File

@@ -1,5 +1,5 @@
bambustudio_add_cmake_project(OpenCSG
orcaslicer_add_cmake_project(OpenCSG
# GIT_REPOSITORY https://github.com/floriankirsch/OpenCSG.git
# GIT_TAG 83e274457b46c9ad11a4ee599203250b1618f3b9 #v1.4.2
URL https://github.com/floriankirsch/OpenCSG/archive/refs/tags/opencsg-1-4-2-release.zip

31
deps/OpenEXR/0001-OpenEXR-GCC13.patch vendored Normal file
View File

@@ -0,0 +1,31 @@
--- a/OpenEXR/IlmImf/ImfDwaCompressor.cpp
+++ b/OpenEXR/IlmImf/ImfDwaCompressor.cpp
@@ -159,6 +159,7 @@
#include <limits>
#include <cstddef>
+#include <cstdint>
// Windows specific addition to prevent the indirect import of the redefined min/max macros
--- a/OpenEXR/IlmImf/ImfHuf.h
+++ b/OpenEXR/IlmImf/ImfHuf.h
@@ -40,6 +40,8 @@
#include "ImfExport.h"
#include "ImfNamespace.h"
+#include <cstdint>
+
//-----------------------------------------------------------------------------
//
// 16-bit Huffman compression and decompression:
--- a/OpenEXR/IlmImf/ImfMisc.h
+++ b/OpenEXR/IlmImf/ImfMisc.h
@@ -51,6 +51,7 @@
#include "ImfForward.h"
#include <cstddef>
+#include <cstdint>
#include <vector>

View File

@@ -29,16 +29,24 @@ if (APPLE AND IS_CROSS_COMPILE)
${_cmake_openexr_arch}
)
else()
bambustudio_add_cmake_project(OpenEXR
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(_patch_cmd ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OpenEXR-GCC13.patch)
else ()
set(_patch_cmd "")
endif ()
orcaslicer_add_cmake_project(OpenEXR
# GIT_REPOSITORY https://github.com/openexr/openexr.git
URL https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.zip
URL_HASH SHA256=0307a3d7e1fa1e77e9d84d7e9a8694583fbbbfd50bdc6884e2c96b8ef6b902de
PATCH_COMMAND ${_patch_cmd}
DEPENDS ${ZLIB_PKG}
GIT_TAG v2.5.5
CMAKE_ARGS
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DBUILD_TESTING=OFF
-DPYILMBASE_ENABLE:BOOL=OFF
-DBUILD_TESTING=OFF
-DPYILMBASE_ENABLE:BOOL=OFF
-DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
-DOPENEXR_BUILD_UTILS:BOOL=OFF
)

View File

@@ -6,9 +6,10 @@ else()
set(_build_static ON)
endif()
bambustudio_add_cmake_project(OpenVDB
URL https://github.com/tamasmeszaros/openvdb/archive/refs/tags/v6.2.1-prusa3d.zip #v6.2.1 patched
URL_HASH SHA256=caf9f0c91976722883ff9cb32420ef142af22f7e625fc643b91c23d6e4172f62
orcaslicer_add_cmake_project(OpenVDB
# support vs2022, update to 8.2
URL https://github.com/tamasmeszaros/openvdb/archive/a68fd58d0e2b85f01adeb8b13d7555183ab10aa5.zip
URL_HASH SHA256=f353e7b99bd0cbfc27ac9082de51acf32a8bc0b3e21ff9661ecca6f205ec1d81
DEPENDS dep_TBB dep_Blosc dep_OpenEXR dep_Boost
CMAKE_ARGS
-DCMAKE_POSITION_INDEPENDENT_CODE=ON

4
deps/PNG/PNG.cmake vendored
View File

@@ -7,7 +7,7 @@ endif ()
if(APPLE AND IS_CROSS_COMPILE)
# TODO: check if it doesn't create problem when compiling from arm to x86_64
bambustudio_add_cmake_project(PNG
orcaslicer_add_cmake_project(PNG
GIT_REPOSITORY https://github.com/glennrp/libpng.git
GIT_TAG v1.6.35
DEPENDS ${ZLIB_PKG}
@@ -26,7 +26,7 @@ set(_patch_step "")
if (APPLE)
set(_patch_step PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/PNG.patch)
endif ()
bambustudio_add_cmake_project(PNG
orcaslicer_add_cmake_project(PNG
# GIT_REPOSITORY https://github.com/glennrp/libpng.git
# GIT_TAG v1.6.35
URL https://github.com/glennrp/libpng/archive/refs/tags/v1.6.35.zip

View File

@@ -1,5 +1,5 @@
include(GNUInstallDirs)
bambustudio_add_cmake_project(Qhull
orcaslicer_add_cmake_project(Qhull
URL "https://github.com/qhull/qhull/archive/v8.0.1.zip"
URL_HASH SHA256=5287f5edd6a0372588f5d6640799086a4033d89d19711023ef8229dd9301d69b
CMAKE_ARGS

11
deps/TBB/0001-TBB-GCC13.patch vendored Normal file
View File

@@ -0,0 +1,11 @@
--- a/include/tbb/task.h
+++ b/include/tbb/task.h
@@ -219,7 +219,7 @@
#if __TBB_TASK_PRIORITY
//! Pointer to the next offloaded lower priority task.
/** Used to maintain a list of offloaded tasks inside the scheduler. **/
- task* next_offloaded;
+ tbb::task* next_offloaded;
};
#endif /* __TBB_TASK_PRIORITY */

9
deps/TBB/TBB.cmake vendored
View File

@@ -1,11 +1,12 @@
bambustudio_add_cmake_project(
orcaslicer_add_cmake_project(
TBB
URL "https://github.com/wjakob/tbb/archive/a0dc9bf76d0120f917b641ed095360448cabc85b.tar.gz"
URL_HASH SHA256=0545cb6033bd1873fcae3ea304def720a380a88292726943ae3b9b207f322efe
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
CMAKE_ARGS
-DTBB_BUILD_SHARED=OFF
-DTBB_BUILD_TESTS=OFF
-DTBB_BUILD_TESTS=OFF
-DTBB_TEST=OFF
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DCMAKE_DEBUG_POSTFIX=_debug
)

View File

@@ -2,7 +2,7 @@ find_package(OpenGL QUIET REQUIRED)
if (APPLE)
message(STATUS "Compiling TIFF for macos ${CMAKE_SYSTEM_VERSION}.")
bambustudio_add_cmake_project(TIFF
orcaslicer_add_cmake_project(TIFF
URL https://gitlab.com/libtiff/libtiff/-/archive/v4.3.0/libtiff-v4.3.0.zip
URL_HASH SHA256=4fca1b582c88319f3ad6ecd5b46320eadaf5eb4ef6f6c32d44caaae4a03d0726
DEPENDS ${ZLIB_PKG} ${PNG_PKG} dep_JPEG
@@ -14,7 +14,7 @@ if (APPLE)
-Dpixarlog:BOOL=OFF
)
else()
bambustudio_add_cmake_project(TIFF
orcaslicer_add_cmake_project(TIFF
URL https://gitlab.com/libtiff/libtiff/-/archive/v4.1.0/libtiff-v4.1.0.zip
URL_HASH SHA256=c56edfacef0a60c0de3e6489194fcb2f24c03dbb550a8a7de5938642d045bd32
DEPENDS ${ZLIB_PKG} ${PNG_PKG} dep_JPEG

View File

@@ -1,4 +1,4 @@
bambustudio_add_cmake_project(ZLIB
orcaslicer_add_cmake_project(ZLIB
# GIT_REPOSITORY https://github.com/madler/zlib.git
# GIT_TAG v1.2.11
URL https://github.com/madler/zlib/archive/refs/tags/v1.2.11.zip

View File

@@ -25,7 +25,10 @@ index cc3298ff33..8adbeaea4f 100644
- 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 "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..3c0c2d8f7e 100644

View File

@@ -17,7 +17,7 @@ else ()
endif ()
if (MSVC)
set(_patch_cmd ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-wxWidget-fix.patch)
set(_patch_cmd if not exist WXWIDGETS_PATCHED ( "${GIT_EXECUTABLE}" apply --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-wxWidget-fix.patch && type nul > WXWIDGETS_PATCHED ) )
else ()
set(_patch_cmd test -f WXWIDGETS_PATCHED || ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-wxWidget-fix.patch && touch WXWIDGETS_PATCHED)
endif ()
@@ -26,8 +26,8 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(_patch_cmd ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-wxWidget-fix.patch)
endif ()
bambustudio_add_cmake_project(wxWidgets
orcaslicer_add_cmake_project(
wxWidgets
GIT_REPOSITORY "https://github.com/wxWidgets/wxWidgets"
GIT_TAG ${_wx_git_tag}
PATCH_COMMAND ${_patch_cmd}

137
doc/Calibration.md Normal file
View File

@@ -0,0 +1,137 @@
- [Flow rate](#Flow-rate)
- [Pressure Advance](#Pressure-Advance)
1. [Line method](#Line-method)
2. [Pattern method](#Pattern-method)
3. [Tower method](#Tower-method)
- [Temp tower](#Temp-tower)
- [Retraction test](#Retraction-test)
- [Orca Tolerance Test](#Orca-Tolerance-Test)
- [Advanced calibration](#Advanced-Calibration)
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.
# 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)
----------------------------------------
![flowrate](https://user-images.githubusercontent.com/103989404/210137579-3fd141ad-f2da-4542-a1fd-fc4b4d673908.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.
2. Select `Pass 1` in the `Calibration` menu
3. A new project consisting of nine blocks will be created, each with a different flow rate modifier. Slice and print the project.
4. Examine the blocks and determine which one has the smoothest top surface.
![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.
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)
![-6](https://user-images.githubusercontent.com/103989404/210139131-ee224146-b242-4c1c-ac96-35ef0ca591f1.jpg)
![image](https://user-images.githubusercontent.com/103989404/210139721-919be130-fbba-4e3a-aa58-8a563e8c7792.png)
# 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)
### Line method
The line method is quick and straightforward to test. However, its accuracy highly depends on your first layer quality. It is suggested to turn on the bed mesh leveling for this test.
Steps:
1. Select the printer, filament, and process you would like to use for the test.
2. Print the project and check the result. You can select the value of the most even line and update your PA value in the filament settings.
3. In this test, a PA value of `0.016` appears to be optimal.
![pa_line](https://user-images.githubusercontent.com/103989404/210139630-8fd189e7-aa6e-4d03-90ab-84ab0e781f81.gif)
<img width="1003" alt="Screenshot 2022-12-31 at 12 11 10 PM" src="https://user-images.githubusercontent.com/103989404/210124449-dd828da8-a7e4-46b8-9fa2-8bed5605d9f6.png">
![line_0 016](https://user-images.githubusercontent.com/103989404/210140046-dc5adf6a-42e8-48cd-950c-5e81558da967.jpg)
![image](https://user-images.githubusercontent.com/103989404/210140079-61a4aba4-ae01-4988-9f8e-2a45a90cdb7d.png)
### Pattern method
The pattern method is adapted from [Andrew Ellis' pattern method generator](https://ellis3dp.com/Pressure_Linear_Advance_Tool/), which was itself derived from the [Marlin pattern method](https://marlinfw.org/tools/lin_advance/k-factor.html) developed by [Sineos](https://github.com/Sineos/k-factorjs).
[Instructions for using and reading the pattern method](https://ellis3dp.com/Print-Tuning-Guide/articles/pressure_linear_advance/pattern_method.html) are provided in [Ellis' Print Tuning Guide](https://ellis3dp.com/Print-Tuning-Guide/), with only a few Orca Slicer differences to note.
First and foremost, when you initiate the test, you'll only see a small rectangular prism on the plate. This object serves a few purposes:
1. The test pattern itself is added in as custom G-Code at each layer, same as you could do by hand actually. The rectangular prism gives us the layers in which to insert that G-Code. This also means that **you'll see the full test pattern when you move to the Preview pane**
2. The prism acts as a handle, enabling you to move the test pattern wherever you'd like on the plate by moving the prism
3. The filament selected for the prism is also used for the test pattern
Next, Ellis' generator provided the ability to adjust specific printer, filament, and print profile settings. You can make these same changes in Orca Slicer by adjusting the settings in the Prepare pane as you would with any other print. When you initiate the calibration test, Ellis' default settings are applied. A few things to note about these settings:
1. Ellis specified line widths as a percent of filament diameter. The Orca pattern method does the same to provide its suggested defaults, making use of Ellis' percentages in combination with your specified nozzle diameter
2. In terms of line width, the pattern only makes use of the `Default` and `First layer` widths
3. In terms of speed, the pattern only uses the `First layer speed -> First layer` and `Other layers speed -> Outer wall` speeds
4. The infill pattern beneath the numbers cannot be changed becuase it's not actually an infill pattern pulled from the settings. All of the pattern G-Code is custom written, so that "infill" is, effectively, hand-drawn and so not processed through the usual channels that would enable Orca to recognize it as infill
### Tower method
The tower method may take a bit more time to complete, but it does not rely on the quality of the first layer.
The PA value for this test will be increased by 0.002 for every 1 mm increase in height. (**NOTE** 0.02 for Bowden)
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`.
![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)
# Temp tower
![image](./images/temp_tower_test.gif)
Temp tower is a straightforward test. The temp tower is a vertical tower with multiple blocks, each printed at a different temperature. Once the print is complete, we can examine each block of the tower and determine the optimal temperature for the filament. The optimal temperature is the one that produces the highest quality print with the least amount of issues, such as stringing, layer adhesion, warping (overhang), and bridging.
![temp_tower](https://user-images.githubusercontent.com/103989404/221344534-40e1a629-450c-4ad5-a051-8e240e261a51.jpeg)
# Retraction test
![image](./images/retraction_test.gif)
This test generates a retraction tower automatically. The retraction tower is a vertical structure with multiple notches, each printed at a different retraction length. After the print is complete, we can examine each section of the tower to determine the optimal retraction length for the filament. The optimal retraction length is the shortest one that produces the cleanest tower.
![image](./images/retraction_test_dlg.png)
In the dialog, you can select the start and end retraction length, as well as the retraction length increment step. The default values are 0mm for the start retraction length, 2mm for the end retraction length, and 0.1mm for the step. These values are suitable for most direct drive extruders. However, for Bowden extruders, you may want to increase the start and end retraction lengths to 1mm and 6mm, respectively, and set the step to 0.2mm.
**Note**: When testing filaments such as PLA or ABS that have minimal oozing, the retraction settings can be highly effective. You may find that the retraction tower appears clean right from the start. In such situations, setting the retraction length to 0.2mm - 0.4mm using Orca Slicer should suffice.
On the other hand, if there is still a lot of stringing at the top of the tower, it is recommended to dry your filament and ensure that your nozzle is properly installed without any leaks.
![image](./images/retraction_test_print.jpg)
# Orca Tolerance Test
This tolerance test is specifically designed to assess the dimensional accuracy of your printer and filament. The model comprises a base and a hexagon tester. The base contains six hexagon hole, each with a different tolerance: 0.0mm, 0.05mm, 0.1mm, 0.2mm, 0.3mm, and 0.4mm. The dimensions of the hexagon tester are illustrated in the image.
![image](./images/tolerance_hole.jpg)
You can assess the tolerance using either an M6 Allen key or the printed hexagon tester.
![image](./images/OrcaToleranceTes_m6.jpg)
![image](./images/OrcaToleranceTest_print.jpg)
# Advanced Calibration
## Max Volumetric speed
This is a test designed to calibrate the maximum volumetric speed of the specific filament. The generic or 3rd party filament types may not have the correct volumetric flow rate set in the filament. This test will help you to find the maximum volumetric speed of the filament.
You will be promted to enter the settings for the test: start volumetric speed, end volumentric speed, and step. It is recommended to use the default values (5mm³/s start, 20mm³/s end, with a step of 0.5), unless you already have an idea of the lower or upper limit for your filament. Select "OK", slice the plate, and send it to the printer.
Once printed, take note of where the layers begin to fail and where the quality begins to suffer. Pay attention to changes from matte to shiny as well.
![image](./images/vmf_measurement_point.jpg)
Using calipers or a ruler, measure the height of the print at that point. Use the following calculation to determine the correct max flow value: `start + (height-measured * step)` . For example in the photo below, and using the default setting values, the print quality began to suffer at 19mm measured, so the calculation would be: `5 + (19 * 0.5)` , or `13mm³/s` using the default values. Enter your number into the "Max volumetric speed" value in the filament settings.
![image](./images/caliper_sample_mvf.jpg)
You can also return to OrcaSlicer in the "Preview" tab, make sure the color scheme "flow" is selected. Scroll down to the layer height that you measured, and click on the toolhead slider. This will indicate the max flow level for your filmanet.
![image](./images/max_volumetric_flow.jpg)
#### *NOTE You may also choose to conservatively reduce the flow by 5-10% to ensure print quality.*
***
*Credits:*
- *The Flowrate test and retraction test is inspired by [SuperSlicer](https://github.com/supermerill/SuperSlicer)*
- *The PA Line method is inspired by [K-factor Calibration Pattern](https://marlinfw.org/tools/lin_advance/k-factor.html)*
- *The PA Tower method is inspired by [Klipper](https://www.klipper3d.org/Pressure_Advance.html)*
- *The temp tower model is remixed from [Smart compact temperature calibration tower](https://www.thingiverse.com/thing:2729076)
- *The max flowrate test was inspired by Stefan(CNC Kitchen), and the model used in the test is a remix of his [Extrusion Test Structure](https://www.printables.com/model/342075-extrusion-test-structure).
- *chapgpt* ;)

7
doc/Home.md Normal file
View File

@@ -0,0 +1,7 @@
Welcome to the OrcaSlicer WIKI!
We have divided it roughly into the following pages:
* [Calibration](wiki/Calibration)
* [Seam](wiki/Seam)
* [How to build Orca Slicer](wiki/How-to-build)

11
doc/How to build Normal file
View File

@@ -0,0 +1,11 @@
# How to compile
- Windows 64-bit
- Tools needed: Visual Studio 2019, Cmake, git, Strawberry Perl.
- Run `build_release.bat` in `x64 Native Tools Command Prompt for VS 2019`
- Mac 64-bit
- Tools needed: Xcode, Cmake, git, gettext
- run `build_release_macos.sh`
- Ubuntu
- run `BuildLinux.sh -udisr`

View File

@@ -1,4 +0,0 @@
# Building Orca Slicer on UNIX/Linux
Currently Linux version is not verified, you can try it referring to [PrusaSlicer'S linux building guide](https://github.com/prusa3d/PrusaSlicer/blob/master/doc/How%20to%20build%20-%20Linux%20et%20al.md)

View File

@@ -1,41 +0,0 @@
# Building Orca Slicer on Mac OS
## Enviroment setup
Install Following tools:
- Xcode from app store
- Cmake
- git
- gettext
Cmake, git, gettext can be installed from brew(brew install cmake git gettext)
## building the deps
You need to build the dependence of OrcaSlicer first. (Only needs for the first time)
Suppose you download the codes into /Users/_username_/work/projects/BambuStudio
create a directory to store the dependence built: /Users/_username_/work/projects/OrcaSlicer_dep
**(Please make sure to replace the username with the one on your computer)**
`cd BambuStudio/deps`
`mkdir build;cd build`
for arm64 architecture
`cmake ../ -DDESTDIR="/Users/username/work/projects/OrcaSlicer_dep" -DOPENSSL_ARCH="darwin64-arm64-cc"`
for x86 architeccture
`cmake ../ -DDESTDIR="/Users/username/work/projects/OrcaSlicer_dep" -DOPENSSL_ARCH="darwin64-x86_64-cc"`
`make -jN` (N can be a number between 1 and the max cpu number)
## building the Orca Slicer
create a directory to store the installed files at /Users/username/work/projects/BambuStudio/install_dir
`cd BambuStudio`
`mkdir install_dir`
`mkdir build;cd build`
building it use cmake
`cmake .. -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="/Users/username/work/projects/OrcaSlicer_dep/usr/local" -DCMAKE_INSTALL_PREFIX="../install_dir" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_INSTALL_RPATH="/Users/username/work/projects/OrcaSlicer_dep/usr/local" -DCMAKE_MACOSX_BUNDLE=on`
`cmake --build . --target install --config Release -jN`
building it use xcode
`cmake .. -GXcode -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="/Users/username/work/projects/OrcaSlicer_dep/usr/local" -DCMAKE_INSTALL_PREFIX="../install_dir" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_INSTALL_RPATH="/Users/username/work/projects/OrcaSlicer_dep/usr/local" -DCMAKE_MACOSX_BUNDLE=on`
then building it using Xcode

View File

@@ -1,36 +0,0 @@
# Building Orca Slicer on Windows
## Enviroment setup
Install Following tools:
- Visual Studio Community 2019 from [visualstudio.microsoft.com/vs/](https://visualstudio.microsoft.com/vs/) (Older versions are not supported as Orca Slicer requires support for C++17, and newer versions should also be ok);
- Cmake from [cmake.org](https://cmake.org/download/)
- Git from [gitforwindows.org](https://gitforwindows.org/)
- Perl from [strawberryperl](https://strawberryperl.com/)
## building the deps
Suppose you download the codes into D:/work/Projects/BambuStudio
create a directory to store the dependence built: D:/work/Projects/OrcaSlicer_dep
`cd BambuStudio/deps`
`mkdir build;cd build`
`cmake ../ -G "Visual Studio 16 2019" -DDESTDIR="D:/work/Projects/OrcaSlicer_dep" -DCMAKE_BUILD_TYPE=Release`
`msbuild /m ALL_BUILD.vcxproj`
It takes "00:14:27.37" to finish it on my machine (11th Gen Intel(R) Core(TM) i9-11900 @2.50GHz 2.50 GHz, with 32.0 GB DDR)
## building the Orca Slicer
create a directory to store the installed files at D:/work/Projects/BambuStudio/install_dir
`cd BambuStudio`
`mkdir install_dir`
`mkdir build;cd build`
set -DWIN10SDK_PATH to your windows sdk path(for example: C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0) in below command:
`cmake .. -G "Visual Studio 16 2019" -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="D:/work/Projects/OrcaSlicer_dep/usr/local" -DCMAKE_INSTALL_PREFIX="../install_dir" -DCMAKE_BUILD_TYPE=Release -DWIN10SDK_PATH="C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0"`
then build it using command
`cmake --build . --target install --config Release`
or building it under the Visual Studio 2019
(set the OrcaSlicer_app_gui as start project)
![image](https://user-images.githubusercontent.com/106916061/179185940-06135b47-f2a4-415a-9be4-666680fa0f9a.png)

View File

@@ -12,24 +12,24 @@ Full manual for GNUgettext can be seen here: http://www.gnu.org/software/gettext
### Scenario 1. How do I add a translation or fix an existing translation
1. Get PO-file 'BambuStudio_xx.pot' from corresponding sub-folder here:
https://github.com/bambulab/BambuStudio/tree/master/bbl/i18n
1. Get PO-file 'OrcaSlicer_xx.pot' from corresponding sub-folder here:
https://github.com/softfever/OrcaSlicer/tree/master/localization/i18n
2. Open this file in PoEdit as "Edit a translation"
3. Apply your corrections to the translation
4. Push changed BambuStudio_xx.po into the original folder
5. copy BambuStudio_xx.mo into resources/i18n/xx and rename it to BambuStudio.mo, then push the changed file.
4. Push changed OrcaSlicer_xx.po into the original folder
5. copy OrcaSlicer_xx.mo into resources/i18n/xx and rename it to OrcaSlicer.mo, then push the changed file.
### Scenario 2. How do I add a new language support
1. Get file BambuStudio.pot here :
https://github.com/bambulab/BambuStudio/tree/master/bbl/i18n
1. Get file OrcaSlicer.pot here :
https://github.com/softfever/OrcaSlicer/tree/master/localization/i18n
2. Open it in PoEdit for "Create new translation"
3. Select Translation Language (for example French).
4. As a result you will have fr.po - the file containing translation to French.
Notice. When the translation is complete you need to:
- Rename the file to BambuStudio_fr.po
- Click "Save file" button. BambuStudio_fr.mo will be created immediately
- Bambu_Studio_fr.po needs to be copied into the sub-folder fr of https://github.com/bambulab/BambuStudio/tree/master/bbl/i18n, and be pushed
- copy BambuStudio_xx.mo into resources/i18n/xx and rename it to BambuStudio.mo, then push the changed file.
- Rename the file to OrcaSlicer_fr.po
- Click "Save file" button. OrcaSlicer_fr.mo will be created immediately
- Bambu_Studio_fr.po needs to be copied into the sub-folder fr of https://github.com/softfever/OrcaSlicer/tree/master/localization/i18n, and be pushed
- copy OrcaSlicer_xx.mo into resources/i18n/xx and rename it to OrcaSlicer.mo, then push the changed file.
( name of folder "fr" means "French" - the translation language).
### Scenario 3. How do I add a new text resource when implementing a feature to Orca Slicer
@@ -43,11 +43,11 @@ If you add new file resource, add it to the list of files containing macro `L()`
### Scenario 4. How do I use GNUgettext to localize my own application taking Orca Slicer as an example
1. For convenience create a list of files with this macro `L(s)`. We have
https://github.com/bambulab/BambuStudio/blob/master/bbl/i18n/list.txt.
https://github.com/softfever/OrcaSlicer/blob/master/localization/i18n/list.txt.
2. Create template file(*.POT) with GNUgettext command:
```
xgettext --keyword=L --add-comments=TRN --from-code=UTF-8 --debug -o BambuStudio.pot -f list.txt
xgettext --keyword=L --add-comments=TRN --from-code=UTF-8 --debug -o OrcaSlicer.pot -f list.txt
```
Use flag `--from-code=UTF-8` to specify that the source strings are in UTF-8 encoding

17
doc/Seam.md Normal file
View File

@@ -0,0 +1,17 @@
WIP...
### Seam gap
![image](https://user-images.githubusercontent.com/103989404/215331359-236874c9-ca91-4dd4-b969-3cefc70ebe1b.png)
### Role-based wipe speed(auto)
### Wipe speed
### Wipe on loop(inward movement)
![image](https://user-images.githubusercontent.com/103989404/215334479-2687c518-1931-46a9-a363-7ae57a0aecf6.png)
Use outer wall speed and acceleration instead of travel speed and acceleration.
Added an option to disable this feature
### Support Cura style outer wall wipe(100% retract before wipe)
![image](https://user-images.githubusercontent.com/103989404/215334900-97c75010-4752-45f1-a57c-f0b723a8cb3f.png)
![image](https://user-images.githubusercontent.com/103989404/215335212-3253061d-bb7b-4853-a86c-10ff54cc8df5.png)
Extra length on restart

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

View File

@@ -1,18 +0,0 @@
**新功能**
1. 3D文字工具
2. 对象和拷贝间的数据共享
3. 参数表格
4. 用户指南
5. 支持Arachne特性
**改进**
1. 支持导出通用的3mf格式兼容其他切片软件
2. 优化混合支撑和树状支撑的生成速度
3. 支持不停靠工具头的延迟摄影
4. 支持纹理PEI热床
5. 支持导入和导出预设
6. 支持随机位置的接缝设置
7. 支持匈牙利语
8. 一些关键问题修复
详细信息请查看https://github.com/bambulab/BambuStudio/releases

View File

@@ -1,18 +0,0 @@
**New Features**
1. 3D text tool
2. Shared data between an object and its copies
3. Parameter table
4. User manual
5. Arachne feature
**Improvements**
1. Added support for exporting generic 3mf that is compatible with other slicers
2. Optimized the performance of hybrid and tree support
3. Added traditional timelapse mode
4. Added support for Textured PEI plate
5. Added support for export/import preset
6. Added random seam position
7. Added Magyar translations
8. Fixed some known bugs
For details, please check https://github.com/bambulab/BambuStudio/releases

View File

@@ -6,48 +6,58 @@
"files": [
{
"type": "po",
"pattern": "bbl/i18n/en/OrcaSlicer_en.po",
"pattern": "localization/i18n/en/OrcaSlicer_en.po",
"lang": "en"
},
{
"type": "po",
"pattern": "bbl/i18n/fr/OrcaSlicer_fr.po",
"pattern": "localization/i18n/fr/OrcaSlicer_fr.po",
"lang": "fr"
},
{
"type": "po",
"pattern": "bbl/i18n/de/OrcaSlicer_de.po",
"pattern": "localization/i18n/de/OrcaSlicer_de.po",
"lang": "de"
},
{
"type": "po",
"pattern": "bbl/i18n/sv/OrcaSlicer_sv.po",
"pattern": "localization/i18n/sv/OrcaSlicer_sv.po",
"lang": "sv"
},
{
"type": "po",
"pattern": "bbl/i18n/es/OrcaSlicer_es.po",
"pattern": "localization/i18n/es/OrcaSlicer_es.po",
"lang": "es"
},
{
"type": "po",
"pattern": "bbl/i18n/nl/OrcaSlicer_nl.po",
"pattern": "localization/i18n/nl/OrcaSlicer_nl.po",
"lang": "nl"
},
{
"type": "po",
"pattern": "bbl/i18n/hu/OrcaSlicer_hu.po",
"pattern": "localization/i18n/hu/OrcaSlicer_hu.po",
"lang": "hu"
},
{
"type": "po",
"pattern": "bbl/i18n/ja/OrcaSlicer_ja.po",
"pattern": "localization/i18n/ja/OrcaSlicer_ja.po",
"lang": "ja"
},
{
"type": "po",
"pattern": "localization/i18n/ko/OrcaSlicer_ko.po",
"lang": "ko"
},
{
"type": "po",
"pattern": "localization/i18n/ru/OrcaSlicer_ru.po",
"lang": "ru"
}
]
},
"download": {
"folder": "bbl/i18n",
"folder": "localization/i18n",
"includeSourceLang" : "true",
"files": {
"output": "${lang}/OrcaSlicer_${lang}.po"

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

@@ -21,6 +21,7 @@ src/slic3r/GUI/GUI_Init.cpp
src/slic3r/GUI/GUI_Factories.cpp
src/slic3r/GUI/GUI_ObjectList.cpp
src/slic3r/GUI/GUI_ObjectSettings.cpp
src/slic3r/GUI/GUI_ObjectLayers.cpp
src/slic3r/GUI/GUI_ObjectTable.cpp
src/slic3r/GUI/GUI_ObjectTable.hpp
src/slic3r/GUI/GUI_ObjectTableSettings.cpp
@@ -129,4 +130,10 @@ src/libslic3r/PrintObject.cpp
src/libslic3r/PrintObjectSlice.cpp
src/libslic3r/PlaceholderParser.cpp
src/libslic3r/TreeSupport.cpp
src/slic3r/GUI/calib_dlg.cpp
src/libslic3r/Model.cpp
src/libslic3r/Format/OBJ.cpp
src/slic3r/GUI/BonjourDialog.cpp
src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.cpp
src/slic3r/GUI/PrintHostDialogs.cpp
src/slic3r/GUI/calib_dlg.cpp
src/slic3r/GUI/PhysicalPrinterDialog.cpp

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@@ -1,54 +1,83 @@
{
"printers": [
{
"display_name": "Bambu Lab P1P",
"func": {
"FUNC_CHAMBER_TEMP": false,
"FUNC_FIRSTLAYER_INSPECT": false,
"FUNC_AI_MONITORING": false,
"FUNC_BUILDPLATE_MARKER_DETECT": false,
"FUNC_FLOW_CALIBRATION": false,
"FUNC_MONITORING": false,
"FUNC_MEDIA_FILE": false,
"FUNC_REMOTE_TUNNEL": false,
"FUNC_LOCAL_TUNNEL": true,
"FUNC_VIRTUAL_CAMERA" : false,
"FUNC_PRINT_WITHOUT_SD": false,
"FUNC_ALTER_RESOLUTION": false,
"FUNC_CHAMBER_FAN" : false,
"FUNC_EXTRUSION_CALI": true,
"FUNC_PRINT_ALL" : false
},
"camera_resolution":["720p"],
"bed_temperature_limit": 120,
"model_id": "C11",
"printer_type": "C11",
"ftp_folder" : "sdcard/",
"printer_thumbnail_image": "printer_thumbnail_p1p"
{
"display_name": "Bambu Lab P1P",
"func": {
"FUNC_CHAMBER_TEMP": false,
"FUNC_FIRSTLAYER_INSPECT": false,
"FUNC_AI_MONITORING": true,
"FUNC_LIDAR_CALIBRATION": false,
"FUNC_BUILDPLATE_MARKER_DETECT": false,
"FUNC_FLOW_CALIBRATION": false,
"FUNC_MONITORING": false,
"FUNC_MEDIA_FILE": false,
"FUNC_VIRTUAL_CAMERA": false,
"FUNC_PRINT_WITHOUT_SD": false,
"FUNC_ALTER_RESOLUTION": false,
"FUNC_PRINT_ALL": false,
"FUNC_EXTRUSION_CALI": true
},
{
"display_name": "Bambu Lab X1",
"func": {
"FUNC_EXTRUSION_CALI": false,
"FUNC_LOCAL_TUNNEL": false
},
"camera_resolution":["720p","1080p"],
"bed_temperature_limit": 120,
"model_id": "BL-P002",
"printer_type": "3DPrinter-X1",
"printer_thumbnail_image": "printer_thumbnail"
"camera_resolution": [ "720p" ],
"bed_temperature_limit": 100,
"model_id": "C11",
"printer_type": "C11",
"compatible_machine": [ "BL-P001", "BL-P002", "C12"],
"ftp_folder": "sdcard/",
"printer_thumbnail_image": "printer_thumbnail_p1p"
},
{
"display_name": "Bambu Lab P1S",
"func": {
"FUNC_CHAMBER_TEMP": false,
"FUNC_FIRSTLAYER_INSPECT": false,
"FUNC_AI_MONITORING": true,
"FUNC_LIDAR_CALIBRATION": false,
"FUNC_BUILDPLATE_MARKER_DETECT": false,
"FUNC_FLOW_CALIBRATION": false,
"FUNC_MONITORING": false,
"FUNC_MEDIA_FILE": false,
"FUNC_VIRTUAL_CAMERA": false,
"FUNC_PRINT_WITHOUT_SD": false,
"FUNC_ALTER_RESOLUTION": false,
"FUNC_PRINT_ALL": false,
"FUNC_VIRTUAL_TYAY": true,
"FUNC_EXTRUSION_CALI": true
},
{
"display_name": "Bambu Lab X1 Carbon",
"func": {
"FUNC_EXTRUSION_CALI": false,
"FUNC_LOCAL_TUNNEL": false
},
"model_id": "BL-P001",
"camera_resolution":["720p","1080p"],
"bed_temperature_limit": 120,
"printer_type": "3DPrinter-X1-Carbon",
"printer_thumbnail_image": "printer_thumbnail"
}
"camera_resolution": [ "720p" ],
"bed_temperature_limit": 100,
"model_id": "C12",
"compatible_machine":["BL-P001", "BL-P002", "C11"],
"printer_type": "C12",
"ftp_folder" : "sdcard/",
"printer_thumbnail_image": "printer_thumbnail_p1p"
},
{
"display_name": "Bambu Lab X1",
"func": {
"FUNC_VIRTUAL_TYAY": true,
"FUNC_EXTRUSION_CALI": false,
"FUNC_LOCAL_TUNNEL": false
},
"model_id": "BL-P002",
"compatible_machine": [ "BL-P001", "C11", "C12"],
"camera_resolution": [ "720p", "1080p" ],
"printer_type": "3DPrinter-X1",
"printer_thumbnail_image": "printer_thumbnail"
},
{
"display_name": "Bambu Lab X1 Carbon",
"func": {
"FUNC_VIRTUAL_TYAY": true,
"FUNC_EXTRUSION_CALI": false,
"FUNC_LOCAL_TUNNEL": false
},
"model_id": "BL-P001",
"compatible_machine": [ "BL-P002", "C11", "C12"],
"camera_resolution": [ "720p", "1080p" ],
"printer_type": "3DPrinter-X1-Carbon",
"printer_thumbnail_image": "printer_thumbnail"
}
]
}

View File

@@ -155,7 +155,7 @@ documentation_link= https://wiki.bambulab.com/en/software/bambu-studio/set-param
[hint:Stack objects]
text = Stack objects\nDid you know that you can stack objects as a whole one?
documentation_link= https://wiki.bambulab.com/e/en/software/bambu-studio/stacking-objects
documentation_link= https://wiki.bambulab.com/en/software/bambu-studio/stacking-objects
[hint:Flush into support/objects/infill]
text = Flush into support/objects/infill\nDid you know that you can save the wasted filament by flushing them into support/objects/infill during filament change?

Some files were not shown because too many files have changed in this diff Show More