Compare commits

...

1270 Commits

Author SHA1 Message Date
SoftFever
2841476e86 Revert "Wrong bridge detection result (#4651)"
This reverts commit f626e4dd27.
2024-03-23 20:33:35 +08:00
KrisMorr
c550a6e148 Update Polish translation (#4658) 2024-03-23 20:30:39 +08:00
SoftFever
f88e3f2c64 bump profile version to 2.0.1 2024-03-23 16:31:13 +08:00
SoftFever
19cde6989d fix "G92 E0" warning for Guider 3 ultra and Rase3D Pro 2024-03-23 16:29:42 +08:00
Thomas
5bc87d0de6 Updated French translations (#4654) 2024-03-23 15:34:17 +08:00
SoftFever
4ae7e4536b update locale 2024-03-23 13:27:17 +08:00
SoftFever
f626e4dd27 Wrong bridge detection result (#4651)
process_external_surfaces before discover_horizontal_shells
2024-03-23 13:19:23 +08:00
Noisyfox
d601e9d544 Fix issue that painter sphere is rendered at the wrong position (#4652) 2024-03-23 13:04:24 +08:00
Heiko Liebscher
52c57ad77e Update German Translations (#4640) 2024-03-23 10:12:01 +08:00
Ioannis Giannakas
143087bb2a Revert automatic application of reduced internal bridge filtering for lightning infill (#4639) 2024-03-23 10:11:13 +08:00
Noisyfox
e29bbac193 Support for SimplyPrint cloud integration (#4525)
* Make httpserver more generic and reusable

* Add OAuthJob

* Fix issue caused by the fact that the backing widget of the `TextCtrl` is no longer `wxTextCtrl`

* Implement login and token refresh

* Implement file upload

* Try fix build error

* Support BBL printers

* Show error message if user hasn't done OAuth

* Fix typo

* Update error message

* Disable unsupported options when SimplyPrint is selected
2024-03-23 10:08:48 +08:00
SoftFever
f3b3e92782 bump version to 2.0-rc 2024-03-22 20:00:02 +08:00
SoftFever
9e56941416 update locales 2024-03-22 19:58:27 +08:00
cochcoder
8fe565ce3f Fix missing Construct3D covers (#4632)
* Rename CONSTRUCT 1 XL_cover.png to Construct 1 XL_cover.png

* Rename CONSTRUCT 1_cover.png to Construct 1_cover.png
2024-03-22 19:38:17 +08:00
Thomas
ccf3b009f3 Enable detect_thin_wall for Qidi printers (#4637) 2024-03-22 19:33:02 +08:00
Thomas
9e3cb4b1c5 Raised bed temperatures for Ender 3 V3 PLA profile (#4636) 2024-03-22 19:30:57 +08:00
SoftFever
1e08b855df Feature/home page improve (#4602)
* Add new MyRRF custom printer

* hide user panel when networking plugin is not installed/used

* Fixed a bug that promption of installing plugin notification was not displayed when trying to switch to Bambu device tab

* replay missing_connection animated image when switching to device tab
2024-03-22 19:30:13 +08:00
FlyingbearOfficial
2d737f62b5 fix start_code and 0.16mm parameters (#4631)
* Update FlyingBear S1 0.4 nozzle.json

* Update 0.16mm Optimal @FlyingBear Reborn3.json

* Update 0.16mm Optimal @FlyingBear S1.json

* Update fdm_process_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json
2024-03-22 19:28:35 +08:00
cochcoder
98e1291c17 Fix Ender-3 Pro missing from Generic Creality filaments (#4630)
Fix Ender-3 Pro missing from generic filaments
2024-03-22 19:27:35 +08:00
KrisMorr
74d1831dac Added a string 'no model information' for translation (#4623)
* Add files via upload

* Added a string for 'no model information'
2024-03-22 19:26:55 +08:00
yw4z
3b438ae6e4 Optimized plate models of CONSTRUCT3D (#4567)
Size reductions
construct_1_xl_buildplate_model > 1073 from 2250KB
construct_1_buildplate_model > 599 from 608KB
Just joined parts and optimized planar surfaces. didn't changed borders

Also adding a feature for creating 3D bed models from SVG graphics will give a nice reduction on size. Constantly new printers added to profiles. it will be nice upgrade to reduce size of folder
2024-03-22 19:25:01 +08:00
iherbak
f1c91dc551 Falashforge 5M network support (#4546)
* build action changes

* Adding flashforge 5M series network support

* Update CMakeLists.txt

* Update Flashforge.cpp

* reverting files for pull request

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-03-22 19:22:46 +08:00
cochcoder
2bda9db207 Fix Anker M5C 0.6 bed size (#4608) 2024-03-21 23:37:07 +08:00
Thomas
6fd5c2cbf3 Fix for missing K1 references (#4600)
Fix for fix wrong filaments appreared in other manufacture
2024-03-20 23:24:54 +08:00
FlashforgeOfficial
80a49092cc Update Flashforge Printer Profiles for Guider3 Ultra 0320 (#4587)
Update Printer Profiles for Guider3 Ultra 0320
2024-03-20 23:22:54 +08:00
SoftFever
8801c50aa0 Fix wrong filaments appreared in other manufacture 2024-03-19 21:46:06 +08:00
SoftFever
3b34c5df8f Fix crashes caused by self destructed splash screen. 2024-03-19 20:14:24 +08:00
frankieorabona
c7bf364f9c Further IT translation fixes (#4569)
* Update OrcaSlicer_it.po
2024-03-19 19:45:36 +08:00
cochcoder
8d4a47301a Add Ender-3 Pro (#4573)
* Add Ender-3 Pro cover

* Add Ender-3 Pro

* Add Ender-3 Pro .2, .4, .6, and .8

* Add Ender-3 Pro processes

* Delete Ender-3 Pro_cover.png

* Add a smaller version of Ender-3 Pro_cover.png

* Delete Ender-3 Pro_cover

* Further image improvements
2024-03-19 19:44:50 +08:00
Ioannis Giannakas
b736a0bc38 Revised Inner Outer Inner mode for Classic mode (#4417) 2024-03-18 23:16:12 +08:00
Ioannis Giannakas
28533dd175 Inner Outer Inner mode - arachne bug fix (#4416)
* Inner Outer Inner mode - arachne bug fix

* Update PerimeterGenerator.cpp
2024-03-18 23:14:40 +08:00
yw4z
059acc74d2 Minified SVG Bamboo Lab Printer images (#4513)
Used this site https://svgomg.net
Minifier basically joins lines / curves with same style to reduce size
Doesn't change geometry
Size dropped to 2,02MB from 4,75MB
Couldn't tested on UI. Not sure how to do that
2024-03-18 23:13:06 +08:00
Hukete
6d0369f5d7 Update QIDI profiles (#4549)
1)add Q1 Pro profiles
2024-03-18 23:07:40 +08:00
Thomas
dec33a93e8 Ender 3 V3 : Some improvements for supports and machines limits (#4527)
* Some improvements for supports and machines limits

* Increase z-hop for KE to avoid the nozzle hit the parts

* Changed jerk V3 KE settings to more logical values.

* Decreased jerk

* Speed, acceleration and jerk settings fine-tunings.
2024-03-18 22:52:29 +08:00
davidjuanesb
b30b22f66d Catalan language updated to OrcaSlicer-v2.0.0-beta (#4540) 2024-03-18 22:47:19 +08:00
KrisMorr
7241305f11 Polish translation update (#4541)
* Update Polish translation

* Update Polish translation

* Polish translation update
2024-03-18 22:46:39 +08:00
Heiko Liebscher
a9d23a2433 Update German translations (#4529)
2  fixes
2024-03-17 23:24:50 +08:00
ohmdelta
2c5e78e9c7 Add Docker Build Support (#4485)
init docker
2024-03-17 23:19:01 +08:00
SoftFever
e23e71bec5 restore tools to git from lfs 2024-03-17 23:14:43 +08:00
SoftFever
8d34e22d7f log tweak:
1. deprecate severity_level, use log_severity_level config key
2. remove encrytped bbl debug_network log file
2024-03-17 23:06:42 +08:00
Andy
53e45310f3 Russian translation update (#4528)
Russian translation update OrcaSlicer V2.0.0 beta
2024-03-17 20:40:33 +08:00
SoftFever
d88dda8131 Prevent crashes from edge cases when slicing complex small model with "big" fuzzy skin is used 2024-03-17 20:34:58 +08:00
SoftFever
afabd955ac Properly handle "dev" version 2024-03-17 17:33:31 +08:00
SoftFever
e76ca8febf Minor tweak: avoid exceptions 2024-03-17 11:22:52 +08:00
David Eccles (gringer)
587fab285c 3D Honeycomb - switch direction at smallest bridge point, rather than every layer (#4425)
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-03-16 22:53:36 +08:00
SoftFever
350a2e4c4a fix a crash issue when check machine limits 2024-03-16 21:30:31 +08:00
SoftFever
6ab5bc8bef set default logging level to warning and make it configurable in .conf file 2024-03-16 21:30:19 +08:00
SoftFever
7a54131f39 update locale and Chinese translations 2024-03-16 17:57:29 +08:00
SoftFever
550c4d6ca1 Add safety check for seam_slope_start_height 2024-03-16 17:39:14 +08:00
SoftFever
1943259ac3 disable speed check 2024-03-16 12:33:49 +08:00
SoftFever
cca218039c Handle travel acceleration warning properly for different firmwares 2024-03-16 12:04:30 +08:00
SoftFever
56524b6c0a fix build break error for multiconfig generator on Mac 2024-03-16 11:32:41 +08:00
SoftFever
1471ac4204 Fix an issue that only 1 bottom/top will be generated when ensure vertical thickness is set to None (#4504) 2024-03-16 00:24:57 +08:00
Lee Jong Mun
630262689e kor translation update (#4503) 2024-03-16 00:22:57 +08:00
SoftFever
265d0b888c update adaptive bed mesh wiki for Marlin 2024-03-16 00:18:44 +08:00
SoftFever
f0a193c476 Add bed types WIKI document and link 2024-03-16 00:12:27 +08:00
SoftFever
5203173418 Fixed an issue that changing printer selection clears out Process overrides (#4506) 2024-03-15 23:59:38 +08:00
Olcay ÖREN
0176285888 Update OrcaSlicer_tr.po (#4490) 2024-03-15 19:19:17 +08:00
Heiko Liebscher
401af407a4 fix de new feature (#4479) 2024-03-14 21:43:24 +08:00
Thomas
02702ccfca Further FR translation fixes (#4472)
* New translations

* Changed "écharpe" by "biseau"

* Fixed "tour de nettoyage" by "tour de purge"

* Changed translation of "solid" to "plein(e)"

* Fixed Printing by object G-code

* Make "wipe" and "prime" translations consistent

* More coherent translation for prime tower
2024-03-14 21:39:54 +08:00
SoftFever
bfb4a897f6 Fixed an issue that in some cases, the OrcaSlicer_profile_validator didn't report errors properly 2024-03-14 20:09:27 +08:00
rodriguezst
db2f50b844 Allow AppImage generation in aarch64 build hosts (#4410)
Get arch from build host

It was harcoded to x86_64 and was failing to generate AppImage files on aarch64 build hosts
2024-03-13 23:13:31 +08:00
KrisMorr
0e78891671 Changing the background color of the thumbnail (#4421) 2024-03-13 23:02:57 +08:00
SoftFever
5d19385564 Fix alternate extra wall warning: change ensure vertical shell thickness to Moderate instead of None (#4463)
* fix warning

* Update locale
2024-03-13 22:15:18 +08:00
SoftFever
cab5fe715d Handle parameter name change properly.
Fix build break and keep compatibility to existing user preset after #4444 changes
2024-03-13 21:57:41 +08:00
Dzmitry Neviadomski
242ad33eb4 chore(slicer): Update copyright year to 2024 (#4428)
Also remove duplicated definition for `MACOSX_BUNDLE_COPYRIGHT`.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2024-03-13 21:20:39 +08:00
SoftFever
15247f3aa0 update corresponding locale files 2024-03-13 21:11:26 +08:00
cochcoder
334f7cf3a1 Minor spelling & grammatical fixes (#4444)
* Minor spelling & grammatical fixes

* Correct counterbole to counterbore

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-03-13 21:10:36 +08:00
Eren
b0246cfeab Update Turkish Language translation (#4454) 2024-03-13 21:04:28 +08:00
Carlos Caruncho
0de3655e05 Update Spanish translation (#4445)
Update Spanish translation
2024-03-13 21:01:35 +08:00
KrisMorr
a59275daee Polish translation update (#4430)
* Polish translation update

* Polish translation update
2024-03-13 20:59:37 +08:00
Thomas
dec282b9bc Updated French translations (#4427)
* New translations

* Changed "écharpe" by "biseau"

* Fixed "tour de nettoyage" by "tour de purge"
2024-03-13 20:58:40 +08:00
SoftFever
eb5a1bc713 Fixed an issue that profile OTA won't work if major version didn't match app version 2024-03-12 18:48:03 +08:00
SoftFever
9324313c28 bump version to 2.0.0-beta 2024-03-11 23:01:49 +08:00
SoftFever
8d62a47b4e fix build CI/CD 2024-03-11 23:01:49 +08:00
SoftFever
21488336f2 update BBL profile to "01.08.00.25" 2024-03-11 22:56:38 +08:00
SoftFever
8a1313aa43 bump printer profile version to 2.0 2024-03-11 22:42:32 +08:00
SoftFever
92df682a8b Fix Voron "0.32mm Optimal 0.6 nozzle @Voron" profile 2024-03-11 22:37:45 +08:00
SoftFever
f83a3377ab Fixed a regression bug that device URL was not reset when changing to a machine don't have connection info 2024-03-11 22:37:15 +08:00
InfimechOfficial
6689087e6f Fix 0.16mm parameters and update start_gcode (#4414)
Fix 0.16mm parameters and update start_gcode
2024-03-11 22:36:03 +08:00
Dzmitry Neviadomski
94eb020459 ENH: Switch wxWidgets dep to a shallow git clone. (#4369)
ENH: Switch wxWidgets dep to a shallow git clone.

wxWidgets repo is pretty large, so initial clone can take
a lot of time and disk space.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2024-03-11 19:54:46 +08:00
SoftFever
c9a8e55dab Update simplified Chinese translation 2024-03-11 19:53:32 +08:00
SoftFever
fbc8d41778 update deploy-nightly3.1.0 2024-03-11 14:22:17 +08:00
SoftFever
e86b973eee update readme 2024-03-11 14:22:17 +08:00
SoftFever
20477bcc40 fix node.js warning
update run_gettext.bat to use own tools
2024-03-11 14:22:17 +08:00
SoftFever
2efba59b0d add win tools 2024-03-11 14:22:17 +08:00
SoftFever
94f45f375a update locale 2024-03-10 23:17:24 +08:00
Thomas
6ff4e4c00d Added new French translations (#4401)
Added new translations
2024-03-10 21:17:15 +08:00
SoftFever
fab886c0a0 UX: check and warn users if print speed/accel/jerk are higher than the machine limits (#4403)
check and warn users if print speed/accel/jerk are higner than the machine limits
2024-03-10 21:16:46 +08:00
SoftFever
879c3924c9 Optimize ensure vertical feature's UX (#4402)
* Change ensure_vertical_shell_thickness to enum value type. Allow users to turn off this feature completely

* add warning to the tooltip for None option
2024-03-10 21:16:02 +08:00
Fabio Forcina
922d465605 Italian translation update OrcaSlicer_it.po (#4384)
Italian translation update
2024-03-10 09:34:02 +08:00
SoftFever
849fe44bf9 fix an issue that pressure eq may cause 0 feedrate in vase mode (#4398)
fix an issue that pressure eq may cause 0 feedrate
2024-03-10 09:30:13 +08:00
Ioannis Giannakas
89f51031eb Pressure equalizer documentation (#4334)
* Placeholder file

* doc renaming

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* images

* images

* Spell checking

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Credits

* Credits

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Update Extrusion-rate-smoothing.md

* Add WIKI link for the Extrusion rate smoothing option

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-03-09 21:43:44 +08:00
SoftFever
123d25b443 genreate smaller EXCLUDE_OBJECT_DEFINE for PA Line/Pattern tests Klipper 2024-03-09 21:28:43 +08:00
SoftFever
697fc38275 Add document for Adaptive Bed Mesh Support 2024-03-09 14:37:04 +08:00
SoftFever
a4bf3dabb4 Scarf joint seam enhancement: conditional scarf joint and slowdown for scarf joint only (#4317)
* Allow apply scarf joint seams to perimeters without sharp corners only

* 1. Fix an error when detect whether a loop is smooth
2. Expose scarf_angle_threshold to UI

* fix linux build error

* minor code changes

* Support slowdown speed for scarf joint only

* update tips

* improve the logic a bit

* Fixed a bug that scarf speed may not respected for overhangs

* Add a new scarf flow ratio option
2024-03-08 23:41:59 +08:00
Dzmitry Neviadomski
6264fe64b4 FIX: Support building with latest Xcode 15.3 (#4367)
* FIX: Support building with latest Xcode 15.3

Downgrade 'enum-constexpr-conversion' error to warning.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* FIX: Do not assume libdeflate is not installed on the system

Explicitly disable libdeflate support in TIFF depencency.
PrusaSlicer already does that.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* FIX: Downgrade enum-constexpr-conversion warning only on AppleClang 15+

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

---------

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2024-03-08 23:40:23 +08:00
SoftFever
99a090b83c Improve PA tower: 1. support large nozzles 2. remove jerk=1 settings 3. move settings changes to object to avoid accidently saving the profile (#4382)
Improve PA tower: 1. support large nozzles 2. remove jerk=1 settings
2024-03-08 23:38:46 +08:00
InfimechOfficial
2b62017d63 Add a new filament named PLA Hyper (#4339)
Add a new filament named PLA Hyper

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-03-07 23:01:48 +08:00
Dzmitry Neviadomski
e787cd5315 FIX: revert default CMake generator for deps on macOS (#4357)
* FIX: revert default CMake generator for deps on macOS

Before I wrongfully assumed that default CMake generator for both deps
and slicer is Xcode.
This is not true, as deps used implicitly-defaulted Unix Makefiles.
Fix by separating generator used for Slicer and deps, leaving the
choice to use Ninja for both.
Right now Xcode generator is not supported for deps and must be fixed
separately.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* FIX: Use ALL_BUILD target when building slicer with Xcode generator

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* FIX: Adjust .app searching subdir for Xcode generator

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

---------

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2024-03-07 22:39:18 +08:00
Geoffrey Ward
16164e99a9 Add AnkerMake 0.6mm Nozzle Profiles (#4338)
* Correct consistency error in layer heights

* Initial 0.6 settings

* Set good retraction values

---------

Co-authored-by: Geofrey Ward <Xelinor@mail.com>
2024-03-05 22:37:28 +08:00
Construct3D-AM
394eddd650 Construct 1 XL Start G-code Change (#4336)
* First stage addition of C1 printers

* More updates

* Create Construct 1 XL 0.6 nozzle.json

* More updates

* Updated image format

* Added C1 printer

* Update CONSTRUCT3D.json

* Adding CONSTRUCT3D Printer Files

* Update Construct 1 0.4 nozzle.json

* Slight formatting change

* More Typo Fixes

* Even more typo fixes

* Fixed Error with nozzle variants

* Reversion of accidental changes

* Update Construct 1 XL 0.6 nozzle.json

Updating to remove suspect lines for new future firmware changes
2024-03-05 22:36:43 +08:00
Dzmitry Neviadomski
7b31ee3a45 ENH: Improve macOS build script (#4310)
* ENH: Improve macOS build script

 - Update shebang to bash, as it is already expected to be present in
   run_gettext.sh
 - Added fail-fast shell options.
 - Changed default CMake generator to Ninja
 - Adopted configuration for non-multi-config generators (Ninja, Make)
 - Added new options:
   - Allow to set CMake generator back to Xcode, no option for make
     thou.
   - Allow to build without reconfiguring CMake, improves build times.
     Unnecessary Cmake reconfigurations require full rebuild.
   - Allow to set build configuration for CMake
 - Reorganized targets into separate function to break "cd" dependency.
 - Reformat shell code.
 - Fix all warnings reported by ShellCheck linter tool.
 - Update run_gettext.sh to respect build dir in full mode.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* FIX: Install ninja with brew on CI.

Test if building works with Ninja by default.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* ENH: Set Xcode back as default generator.

Use Ninja on CI with explicit option.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* FIX: Partially revent changes in run_gettext.sh

Revert changes for option parsing.
Leave fixes for issues found by ShellCheck linter tool.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

---------

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2024-03-05 22:35:46 +08:00
Thomas
eae2703610 Optimized PNG files (#4294)
* Optimized PNG files

* Added back hints

* Revert "Added back hints"

This reverts commit e1d3890b08.

* Fixed Comgrow T500 cover background
2024-03-04 22:00:47 +08:00
Asim Siddiqui
878a7a0e58 Added Flashforge Adventurer 3 Series profile (#4331)
Added Adventurer 3 settings
2024-03-04 21:57:09 +08:00
Thomas
a4d9d83805 Added Voron 120 build plate for V0 (#4292)
* Added Voron 120 build plate for V0

* Complete bed design

* Build plate is now correctly positionned
2024-03-04 21:18:22 +08:00
SoftFever
5cbbd053d1 update WIKI 2024-03-04 20:26:50 +08:00
Olcay ÖREN
27439ed547 Update OrcaSlicer_tr.po - TURKISH translation update (#4322)
* Update OrcaSlicer_tr.po - TURKISH translation update
2024-03-04 08:00:43 +08:00
Thomas
946cf2b334 Added new French translations (#4319) 2024-03-04 08:00:04 +08:00
Heiko Liebscher
25054a11a8 add new Germany translation for beta features (#4313)
add new translation
2024-03-03 23:56:00 +08:00
Olcay ÖREN
d932b0d7ed Update OrcaSlicer_tr.po - TURKISH translation update (#4303)
* Update OrcaSlicer_tr.po - TURKISH translation update
2024-03-03 23:55:00 +08:00
KrisMorr
0787cc20b6 Update .POT, Polish translations .PO, and list.txt for gettext (#4301)
* Update .POT, Polish translations .PO, and list.txt for gettext

* update

* update
2024-03-03 23:54:18 +08:00
SoftFever
27b8c3498b fix in_head_wrap_detect_zone issue
fixes #4262
2024-03-03 10:51:01 +08:00
Heiko Liebscher
96b07a4e49 add new de translation (#4305)
* add new

* fix more

* fix more
2024-03-03 09:42:25 +08:00
SoftFever
042d9c423a update loacale files 2024-03-03 09:33:28 +08:00
Noisyfox
924a2b4551 Seam: use scarf joint to minimize seam visiblity (#3839)
* Remember z of previous layer

* Support travel to middle of the layer z

* Support sloped extrusion

* Implement sloped seam

* Reduce extra movements

* Don't clip loop if sloped seam is enabled

* Fix wipe

* Ensure `slope_max_segment_length`

* Add options

* Limit slope length to perimeter length

* Fix slope segmentation

* Rename the option to scarf joint seam

* Don't modify the slope option when turning on spiral vase

* Add a few suggestions when turnning on scarf joint

* Add option to add scarf joint to inner walls

* Apply seam gap at the end of the slope

* Add option to explicitly use the entire loop as scarf length

* Fix layer number

* Increase default scarf length to 20mm

* Better way of storing the global scarf state

* Better vase mode layer height recognition

* Move id should exclude seams

* Fix slope height with independent support layer height

* Fix linux build

* Allow controlling the scarf with modifier

* Scarf start height default to 0

* Allow enable scarf seam on contour only

* Fix type error

* Move the creation of sloped loop into ExtrusionEntity.cpp

* Fix error "vector too long"

* Detect seams properly

* The correct way of calculating the rate limit

* The correct way of calculating the rate limit

(cherry picked from commit 05961f7c98)

* Add pressure equalizer in print by object mode

* Remove the settings recommendation as it varies a lot depends on printer & filament

* Add a beta suffix

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-03-02 23:25:02 +08:00
Noisyfox
ab1b0e0ebc Improve pressure equalizer so that it's less aggressive (#4264)
* The correct way of calculating the rate limit

* Add pressure equalizer in print by object mode

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-03-02 23:10:01 +08:00
Thomas
5dab9b20b5 Fr translations updates (#4288)
* Fixes for French
2024-03-02 18:24:54 +08:00
FlyingbearOfficial
6e7117e0b1 Add a new model named S1 and fix some parameters of previous files (#4267)
* Update fdm_klipper_common.json

* Update fdm_filament_abs.json

* Update fdm_filament_pa.json

* Update fdm_filament_abs.json

* Update FlyingBear Generic ABS.json

* Update fdm_klipper_common.json

* Update FlyingBear Generic PA-CF.json

* Update fdm_filament_pa.json

* Update fdm_filament_pc.json

* Update FlyingBear Generic PC.json

* Update fdm_filament_pet.json

* Update FlyingBear Generic PETG.json

* Update FlyingBear Generic PLA.json

* Update fdm_filament_pla.json

* Update FlyingBear Generic TPU.json

* Update fdm_filament_tpu.json

* Update fdm_filament_common.json

* Add a new filament named pla_Hyper

* Update FlyingBear Reborn3 0.4 nozzle.json

fix z_hop 0.4

* Update fdm_machine_common.json

* Update 0.08mm Extra Fine @FlyingBear Reborn3.json

* Update 0.12mm Fine @FlyingBear Reborn3.json

* Update 0.20mm Standard @FlyingBear Reborn3.json

* Update 0.24mm Draft @FlyingBear Reborn3.json

* Update fdm_process_common.json

* Add new a Model named S1

* Add a new model named S1 for machine

* Add a new model named S1 for process

* Rename lyingBear Reborn3-texture.png to FlyingBear Reborn3-texture.png.png

fixed file's name

* Rename FlyingBear Reborn3-texture.png.png to FlyingBear Reborn3-texture.png

fixed file's name

* Add a new model named S1 for img

* Update FlyingBear.json

add a new model named S1

* Add a new layer hieght

* Update FlyingBear.json

fixed mistakes

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-03-02 14:13:23 +08:00
Valérian Gaudeau
569e50283d FIX: Typo with exhuast (#4269)
Change exhuast to exhaust in various files.

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-03-02 14:10:13 +08:00
yw4z
aa518420b5 Reduced size of Max Flowrate Test model (#4281)
Size dropped 2328KB to 2060KB after changing side surfaces. current model has 3 surfaces for each line on side surface. just redraw a cylinder and rejoined surface. result is exactly same.
It's my first commit. i hope i did right. i choose simpler one for first. i will send more
thanks
2024-03-02 12:58:59 +08:00
Scott Mudge
3757d96cd4 Add shell type to STEP importer, to fix importing of some STEP files (#4247)
* Add shell type to STEP importer, to fix importing of some files.

* Merge branch 'main' into feat_STEPImportImprovement
2024-03-02 12:08:12 +08:00
SoftFever
9f7cec3f44 Fix some xgettext errors 2024-03-02 11:43:18 +08:00
KrisMorr
840c347957 Update OrcaSlicer.pot + fix (#4272)
* Update OrcaSlicer.pot + fix

* fix %

* fix hints

* fix

* fix3

* revert PrintConfig + .pot update

* fix
2024-03-02 11:12:16 +08:00
SoftFever
f44eac74ea fix orca_custom_preset_tests 2024-03-01 23:32:15 +08:00
Thomas
418354c53b Creality textures and covers tweaks (#4274)
* Creality textures and covers tweaks

* Texture improvements for Hi-dpi devices
2024-03-01 21:40:37 +08:00
Geoffrey Ward
a5029c263c Add 0.2mm and 0.25mm nozzle profiles to AnkerMake printers (#4260)
* Add .02 nozzle profiles

* Remove carbon fiber 0.2 profiles

* Flag Filament Types Correctly

* Add missing PC 0.2 profile

* Correct PLA nozzle name typo

* Tune supports for the thinner layer lines

* Pull in latest main branch updates

* Correct Support bottom distance

* Correct the numbering

* Add 0.25mm Nozzle Profiles

* Enable manual filament changing for all AnkerMake Printers

* Pull in latest main branch updates

* Remove extra white space from file name

---------

Co-authored-by: Geofrey Ward <Xelinor@mail.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-03-01 21:37:08 +08:00
InfimechOfficial
ad9779f08a Modified filaments/process/starting codes and added a new print layer height 0.16mm in the process (#4200)
* Update InfiMech Generic ABS.json

* Update fdm_filament_abs.json

* Update InfiMech Generic PA-CF.json

* Update fdm_filament_pa.json

* Update InfiMech Generic PC.json

* Update fdm_filament_pc.json

* Update InfiMech Generic PETG.json

* Update fdm_filament_pet.json

* Update fdm_filament_pla.json

* Update InfiMech Generic PLA.json

* Update InfiMech Generic TPU.json

* Update InfiMech Generic TPU.json

* Update fdm_filament_tpu.json

* Update fdm_filament_common.json

* Add new files named Other Filament 

Add ”Other+ ABS PA PC PETG PLA PLAHYPER TPU“ filaments

* Update InfiMech.json

* Update 0.08mm Extra Fine @InfiMech TX.json

* Update 0.12mm Fine @InfiMech TX.json

* Update 0.20mm Standard @InfiMech TX.json

* Update 0.24mm Draft @InfiMech TX.json

* Update fdm_process_common.json

* Add a new 0.16mm optimal file

* Update InfiMech.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Change cover.png img

* Update fdm_filament_pa.json

* Update InfiMech Generic PETG.json

* Update InfiMech.json

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-03-01 21:32:28 +08:00
SoftFever
ca0fb9fb75 Fix check_profile 2024-03-01 21:30:35 +08:00
SoftFever
2b6937acbe Feature/enhance profile validator (#4278)
* check more profile issues

* 1

* update ci/cd

* update name
2024-03-01 21:27:12 +08:00
Construct3D-AM
01b0c87471 CONSTRUCT3D Construct 1 & Construct 1 XL print profiles (#4187)
* First stage addition of C1 printers

* More updates

* Create Construct 1 XL 0.6 nozzle.json

* More updates

* Updated image format

* Added C1 printer

* Update CONSTRUCT3D.json

* Adding CONSTRUCT3D Printer Files

* Update Construct 1 0.4 nozzle.json

* Slight formatting change

* More Typo Fixes

* Even more typo fixes

* Fixed Error with nozzle variants

* Reversion of accidental changes
2024-02-29 18:54:39 +08:00
SoftFever
0f6cbace22 add profile validate tool (#4249)
* add profile validate tool

* handle invalid path
2024-02-28 23:18:04 +08:00
FlyingbearOfficial
93714f834d Fix paramters of the process and machine files (#4246)
* Update fdm_process_common.json

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-02-28 22:05:45 +08:00
SoftFever
0e1307ab83 check profile for PRs (#4251)
* check profile for PRs
2024-02-28 22:02:22 +08:00
FlyingbearOfficial
a88f31cdaa Fixed all filaments and added a new filament named pla_Hyper (#4213)
* Update fdm_klipper_common.json

* Update fdm_filament_abs.json

* Update fdm_filament_pa.json

* Update fdm_filament_abs.json

* Update FlyingBear Generic ABS.json

* Update fdm_klipper_common.json

* Update FlyingBear Generic PA-CF.json

* Update fdm_filament_pa.json

* Update fdm_filament_pc.json

* Update FlyingBear Generic PC.json

* Update fdm_filament_pet.json

* Update FlyingBear Generic PETG.json

* Update FlyingBear Generic PLA.json

* Update fdm_filament_pla.json

* Update FlyingBear Generic TPU.json

* Update fdm_filament_tpu.json

* Update fdm_filament_common.json

* Add a new filament named pla_Hyper
2024-02-27 22:11:55 +08:00
Thomas
56ce711c48 Ender 3 V3 SE/KE improvements (#4225)
* Set default brim width and added new 0.24 quality profile

* Fixed 0.24 name
2024-02-27 22:09:07 +08:00
SoftFever
6f3a49aabe Fixed a bug that in edge cases, wrong top surfaces were detected (#4244)
offset clipped upper slices
2024-02-27 22:07:43 +08:00
Kenneth Jiang
8c941df4e8 Support for Obico cloud integration (#4116)
support obico (#3)

Add printer support for Obico cloud.

---------

Co-authored-by: zzh <anjingxw@126.com>
2024-02-27 22:04:51 +08:00
Ocraftyone
047b889ba6 ENH: Better Scrolling Over Multiline Fields (#4218)
* Improve scrolling over multiline fields

* Fix text control scrolling
2024-02-27 22:03:59 +08:00
Noisyfox
bf4d59a676 QoL: 3D navigator (#4181)
* Initial integration of ImGuizmo

* Fix mouse capture

* Fix frame update

* Update face color

* Show current camera rotation

* Fix coord mapping

* Update camera rotation from 3d navigator

* Use orthographic

* Render axis

* Make the axis color lighter if at back

* Show axis label

* Fix linux build

* Move to separate method

* Refine

* Add option to show/hide 3d navigator

* Add license info

* Handle dpi scaling

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-02-27 21:57:31 +08:00
SoftFever
4991a3d312 General profile tweak
1. Adjust bed textures for some printer to accommodate bed texture scale bug fix d3309b978f
2. Reduce some bed model size
2024-02-25 22:38:07 +08:00
Noisyfox
7e3b8007cb Allow exporting filament profiles for non-bbl printers (#4217)
Allow exporting non-bbl profiles
2024-02-25 15:40:55 +08:00
SoftFever
d3309b978f Fixed a bug that caused bed textures to scale improperly
Fixes #1175
2024-02-24 22:59:14 +08:00
SoftFever
2c279c5648 Add direct adaptive bed mesh support (#4212)
* Add direct adaptive bed mesh support

* fix Linux build error

* update tooltip
2024-02-24 20:44:00 +08:00
SoftFever
ab2aaefe42 Some tiny UI adjustment 2024-02-24 18:55:24 +08:00
Noisyfox
e4255b3c01 Allow specify wall directions (#4156)
* Add wall direction option

* Force wall direction if specified

* Format

* Rename default to auto
2024-02-23 20:45:56 +08:00
Thomas
d82987ca32 TwoTrees SK1 Profiles : New filament (PLA Matte) and tuned volumetric flow rates (#4172)
* Increased max volumetric flow of PETG and PLA silk

* New filament profile for TT SK1 : PLA Matte

* Increased Max volumetric flow rate for PLA-CF
2024-02-22 22:15:42 +08:00
InfimechOfficial
f280aed9d1 InfiMech profile updates: Change some parameterts and Update ABS filament (#4166)
* Update InfiMech Generic ABS.json

* Update fdm_filament_abs.json
2024-02-22 22:14:27 +08:00
FlyingbearOfficial
372518582b FlyingBear profiles updates: abs filament (#4165)
* Update fdm_klipper_common.json

* Update fdm_filament_abs.json

* Update fdm_filament_pa.json

* Update fdm_filament_abs.json

* Update FlyingBear Generic ABS.json

* Update fdm_klipper_common.json
2024-02-22 22:12:31 +08:00
SoftFever
558510c5f1 Show a warning dlg when enabling Make overhangs printable option
Fixes #4078
2024-02-22 21:33:37 +08:00
SoftFever
099e496ce9 apply precise_outer_wall for inner-outer wall seq only 2024-02-22 21:31:51 +08:00
SoftFever
40f17be21f Show warning notification if jerk is set to 1 2024-02-22 21:30:22 +08:00
Noisyfox
bff50a5fd8 Fix caucluation of rotation between two vectors during auto-orient (#4144)
* Properly extract rotation matrix

* Another attempt to fix auto-orient
2024-02-20 22:28:06 +08:00
Noisyfox
a74a1d26fd Fix object list crash on click (#2823) (#4164) 2024-02-20 22:02:48 +08:00
Carlos Caruncho
b78e459705 Update Spanish translation (#4142)
* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

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

This reverts commit 694a900845, reversing
changes made to 4f53ce4f88.

* Revert "Update OrcaSlicer_es.po"

This reverts commit 4f53ce4f88.

* Revert "Revert "Update OrcaSlicer_es.po""

This reverts commit 53bd15617c.

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Revert "Update OrcaSlicer_es.po"

This reverts commit b21aad079f.

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_en.po

* Update OrcaSlicer_es.po

* Traduccion de OrcaSlicer al español

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Add new text translations for profile and filament management

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-02-19 20:32:35 +08:00
Noisyfox
7e78f0d64f Fix move gizmo on parts (#4138) 2024-02-18 23:22:09 +08:00
markleaf131313
8ce07d3e8e Show dialog when opening 3mf files to choose whether to import settings. (#4110)
* Show dialog when opening 3mf files to choose whether to import settings.

* Merge branch 'main' into main
2024-02-18 22:54:43 +08:00
pagdot
1f835e01fc Fix for postprocessing scripts not working on UNIX when $SHELL is undefined (#4101)
Fix for PP scripts not working on UNIX when $SHELL is undefined

thanks @jfbauer432 for pointing the problem out.
thanks @lukasmatena for fixing it in PrusaSlicer (commit 87a5116)

Co-authored-by: Lukáš Matěna <lukasmatena@seznam.cz>
2024-02-18 20:59:24 +08:00
davidjuanesb
407661522f Catalan Language updated to V1.9.1 (#4131) 2024-02-18 20:39:07 +08:00
goyetus
8bb9c8deb1 Bug Fixed: Added "Printer Variant" to all Ender 3 and Prusa Mk3s Profiles (#4098)
Added "Printer Variant"  to all Ender 3  and Prusa Mk3s Profiles

Bug Fixed:

When selected only 1 profile from menu ,   Orcaslicer imports all  nozzle from the printer.

Added "printer_variant": "" for each nozzle.

Now it imports correct only the selected nozzled in the menu.
2024-02-18 20:15:44 +08:00
Eldenroot
4db05c0a0f Update and rename feature_request.md to feature_request.yml (#4084)
* Update and rename feature_request.md to feature_request.yml

* Update feature_request.yml

* Update feature_request.yml

* Update feature_request.yml

* Update feature_request.yml

* Update feature_request.yml
2024-02-18 20:14:22 +08:00
Eldenroot
f9849d1302 Update bug_report.yml (#4082)
* Update bug_report.yml

Make it easier and nice r.)

* Update bug_report.yml
2024-02-18 10:15:58 +08:00
Eldenroot
ab11266b10 Make reporting easier - part I (#4080)
* Make reporting easier - part I

Make reporting easier - part I

* Update config.yml
2024-02-14 21:35:29 +08:00
Thomas
eb345650a5 Fixed Ender 3 profile inheritance (#4089)
Fixed 4087
2024-02-14 21:34:19 +08:00
Eldenroot
35f39df1f9 Update orca_bot.yml (#4044)
* Update orca_bot.yml

My mistake, now should be fixed. 

ef9ff99cea

* Update orca_bot.yml
2024-02-14 21:30:26 +08:00
SoftFever
8d56490dad Security: skip more print_host related info 2024-02-14 21:01:33 +08:00
Thomas
32418eb66e Fix for #4047 (#4072) 2024-02-13 23:59:50 +08:00
SoftFever
73bb37b7c9 Support profile OTA update for Orca Slicer (#4069)
profile ota support
2024-02-13 23:58:14 +08:00
Thomas
f5654d80ef Fixed typo "Confing" (#4071) 2024-02-13 23:57:26 +08:00
Noisyfox
2d140f92ff Various Emboss improvements from PS (#4039)
* Fix: invalid distance from surface when load from 3mf

Cherry-picked from prusa3d/PrusaSlicer@e1d9393e51

Co-authored-by: YFilip Sykala - NTB T15p <Filip.Sykala@Prusa3D.cz>

* Apply rotation angle given by style for new text object
Turn off feature 'use_surface' for new text object

Cherry-picked from prusa3d/PrusaSlicer@1cb156c815

Co-authored-by: YFilip Sykala - NTB T15p <Filip.Sykala@Prusa3D.cz>

* Store/Load align and per_glyph in Slicer.ini for text style

Cherry-picked from prusa3d/PrusaSlicer@fe16f5bdd1

Co-authored-by: YFilip Sykala - NTB T15p <Filip.Sykala@Prusa3D.cz>

* Store undo/redo snap after stop input-sliding

Cherry-picked from prusa3d/PrusaSlicer@fb4e4710e7

Co-authored-by: YFilip Sykala - NTB T15p <Filip.Sykala@Prusa3D.cz>

* Initialize SvgFile object in optional different way.

Cherry-picked from prusa3d/PrusaSlicer@0ff255eadc

Co-authored-by: YFilip Sykala - NTB T15p <Filip.Sykala@Prusa3D.cz>

* SPE-2103
Make snap-shot to undo/redo stack only on release slider

Connected with attributes:
Text/advanced(char gap, line gap, boldness, skew ratio)
SVG(size)

Also change range for Boldness. VRT font-Ascent.
(different font may have different slider value range)

Fix line gap (it was denied when per glyph was false)

Cherry-picked from prusa3d/PrusaSlicer@ee3546b186

Co-authored-by: YFilip Sykala - NTB T15p <Filip.Sykala@Prusa3D.cz>

---------

Co-authored-by: YFilip Sykala - NTB T15p <Filip.Sykala@Prusa3D.cz>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-02-13 23:56:48 +08:00
Andy
291cfe1d4a Russian translation update (#4049)
Russian translation update OrcaSlicer V2.0.0-dev
+ update text.js (added and translated missing lines)
2024-02-13 20:28:29 +08:00
SoftFever
9f1d47117e skip .stl/.png file when copying system profiles 2024-02-13 16:24:24 +08:00
davidjuanesb
38409359a8 New Language: Catalan language for OrcaSlicer 1.9.0 (#4036)
* Create OrcaSlicer_ca.po

* New Language: Catalan language for OrcaSlicer 1.9.0

New Language: Catalan language for OrcaSlicer 1.9.0

* Add code changes to support Catalan

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-02-11 12:48:44 +08:00
SoftFever
ef9ff99cea fix Orca bot 2024-02-11 12:07:07 +08:00
Ioannis Giannakas
083e7cd3d5 Decouple filament minimum print speed from overhang slowdown (#3859) 2024-02-11 11:56:20 +08:00
Oleksii Dashkevych
e93195ab34 Creality Ender-3 V3 SE: Fix present print (#4031)
* Creality Ender-3 V3 SE: Fix present print
2024-02-11 10:56:35 +08:00
KrisMorr
174ee050ea Update HMS.cpp set language code to en by default for PL language (#4034)
* Update HMS.cpp set language code to en by default for PL language
2024-02-11 10:55:10 +08:00
goyetus
31d1d03578 Creality Ender 3 and Prusa Mk3s 0,2;0,4,06 and 0,8 profiles (#4029)
* Ender 3 - All nozzles and Quality Profiles

Ender 3 Profiles.

0.20 Nozzle
0.40 Nozzle
0.60 Nozzle
0.80 Nozzle

0.12 to 0.24 Quality Profiles for every Nozzle in Process Folder

* all

all

* Ender 3 Profiles

Ender 3 Profiles for: 0,2;0,4;0,6;0,8

5 Different and independent Quality profiles for each Nozzle.

Fine, Optimal, Standard, Draft and Superdraft

* aa

aa

* aa

aa

* aa

aa

* Prusa Mk3s Profiles

Prusa Mk3s Profiles

* Mk3s FIXED

mk3s FIXED

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-02-11 10:25:18 +08:00
SoftFever
cc55c2dde7 Security: skip writing print_host and apikey in gcode (#4030) 2024-02-10 23:28:17 +08:00
frankieorabona
439db2862d Fixed and integrated some Italian translations (#4008)
* Update OrcaSlicer_it.po

* Update OrcaSlicer_it.po

* Update OrcaSlicer_it.po
2024-02-10 11:55:40 +08:00
KrisMorr
df36de4780 Update Polish translation (#3998)
* Update Polish translation

* Update Polish translation
2024-02-10 11:53:31 +08:00
Eldenroot
7aee6d7e61 Update orca_bot.yml (#3986)
Update orca_bot.yml

I hope this one will make Orca BOT happy again :)
2024-02-10 11:53:03 +08:00
Thomas
208784c783 New printer profile : TwoTrees SK1 (#3982)
* Initial profile for TwoTrees SK1

* Added PAUSE command instead of M601 and added machine_pause_gcode

* Enabled multi bed types and removed skirt loop

* Fixed non-ascii characters

* Added PETG, PLA-CF plus clean ups and fixes.

* Optimizations, and added PLA Silk

* Maximum velocity is too high on Klipper settings, lowered to 730mm/s, this was obtained with Klipper Auto Speed

* Ditto

* Small optimizations

* Added one layer to bottom for HSpeed profile
2024-02-10 11:37:24 +08:00
Aidan
955601d632 Give CGAL a boost::prior (import) (#3978)
CGAL uses boost::prior but doesn't import it properly. A small hack here
just imports it before importing anything CGAL.
2024-02-10 10:25:16 +08:00
tsmith35
5524d9db53 Update build_release.bat (#3961)
Missing double-quotes after "Visual Studio 16 2019
on lines 32, 33, 44 and 45.
2024-02-10 10:24:28 +08:00
Ioannis Giannakas
8b1b3355e6 Fix crashing on AMS filament edit (#3981) 2024-02-06 00:09:47 +07:00
Peopoly
b23ab4434d 🔧 add Peopoly Magneto X profiles (#3944) 2024-02-05 00:23:57 +07:00
KrisMorr
1e087aeaa4 [Fix] Polish translation update (#3934)
* Update Polish translation

* Update Polish translation

* [Fix] Polish translation

* [Fix] Polish translation update

* [Fix] Polish translation

* [Fix] Polish translation

* [Fix] Polish translation

* [Fix] Polish translation
2024-02-04 23:07:31 +07:00
Aidan
951fc8e98a A *lot* of import fixes for flatpak (#3909)
* A *lot* of import fixes for flatpak

Aside, thank you @hadess for the majority of these fixes. You are the
base point for a lot of issues fixed during the creation of this
flatpak.

* Use slic3r::load_string_file

Boost 1.84 removed `boost::fs::load_string_file` so use the func located
in Utils.hpp
2024-01-31 11:23:29 +00:00
Seth LaForge
4110ecc968 Improve ExtrusionLine::simplify, eliminating many very-short extrusion segments which led to blemishes in thin-wall models sliced with Arachne - Take 2 (#3750)
* Improve toolpath simplification to avoid blemishes when using Arachne on thin walls.

* Avoid reducing closed perimeters below 3 points.

Downstream code contains assumptions that closed ExtrusionLines are not
degenerate. Open ExtrusionLines already are not reduced below 2 points by
ExtrusionLine::simplify().

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-30 14:54:51 +00:00
KrisMorr
e56a0de51b Update Polish translation (#3903) 2024-01-30 14:29:48 +00:00
Noisyfox
6d9b1d46d6 Fix issue with auto orient a scaled object. (#3904)
Partly revert 73ab032e82
2024-01-30 14:28:49 +00:00
Eldenroot
6937f031db Update orca_bot.yml (#3798)
* Update orca_bot.yml

Just for discussion :)

Also would be nice to set a different style of "stale" label, maybe with an icon... it is quite not visible on smartphone anr Github app.

* Update orca_bot.yml
2024-01-30 13:02:30 +00:00
Ioannis Giannakas
10cba023e6 Fix issue with PA pattern test using travel acceleration and jerk for the PA patterns (#3851) 2024-01-30 12:40:07 +00:00
Noisyfox
73ab032e82 Fix some rotation-related issues (#3890)
* Fix issue with max_z after rotation

* Don't use `object.bounding_box()`, use `bounding_box_exact()` instead.

* Fix auto-orient

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-30 11:45:14 +00:00
SoftFever
d1eea4c677 Add a new handy model: Orca string hell (#3892)
* add string hell

* tweak message
2024-01-30 00:30:36 +00:00
KrisMorr
da349202d2 Change from "Back" to "Return" in the project tab (#3867) 2024-01-29 15:28:07 +00:00
SoftFever
cb99f29bbf Enforce retraction before wipe (#3888)
enforce retraction before wipe
2024-01-29 14:53:03 +00:00
Carlos Caruncho
10137d66b9 Update Spanish translation (#3873)
* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

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

This reverts commit 694a900845, reversing
changes made to 4f53ce4f88.

* Revert "Update OrcaSlicer_es.po"

This reverts commit 4f53ce4f88.

* Revert "Revert "Update OrcaSlicer_es.po""

This reverts commit 53bd15617c.

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Revert "Update OrcaSlicer_es.po"

This reverts commit b21aad079f.

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_en.po

* Update OrcaSlicer_es.po

* Traduccion de OrcaSlicer al español

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-29 07:16:04 +00:00
Olcay ÖREN
9b3a6d09db Update OrcaSlicer_tr.po - TURKISH translation update (#3864)
* Update OrcaSlicer_tr.po - TURKISH translation update

* Update OrcaSlicer_tr.po - TURKISH translation update

* elegoo_neptune4pro_buildplate_texture.png updated

* Update OrcaSlicer_tr.po - TURKISH translation update

* Update OrcaSlicer_tr.po - TURKISH translation update

* Update OrcaSlicer_tr.po - TURKISH translation update

* Update OrcaSlicer_tr.po - TURKISH translation update

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-29 07:15:31 +00:00
Seth LaForge
ab161d5a2b Fix DEBUG build (#3861)
* Fix asserts which would not compile.

* Fix DEBUG build.

Fully enable checking gcode placeholders in debug builds.
2024-01-29 07:14:54 +00:00
Ocraftyone
3b7b10f72f Port "No Unsupported Perimeters" feature from SS (#3189)
* first impl

* Properly handle extra bridges in `detect_surfaces_type()`

* Pass `perimeter_spacing` and `ext_perimeter_width` as parameters instead of instance property

* Make `process_no_bridge()` private

* Attempt to run `process_no_bridge()` in arachne

* Update `BridgeDetector::coverage` to give us more precise bridge coverage

Co-authored-by: supermerill <merill@free.fr>

* Fix bridge infill margin scaling

* Rename the option name as well as add tooltip

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
Co-authored-by: supermerill <merill@free.fr>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-28 10:12:55 +00:00
Geoffrey Ward
1487bdd69c Fixes Anker M5C profiles (#3862)
Fixes M5C profiles to use the old naming convention so they don't break existing M5c profiles

Co-authored-by: Geofrey Ward <Xelinor@mail.com>
2024-01-28 08:05:05 +00:00
KrisMorr
c75e0c958f [Fix] Polish translation update (#3855)
* [Fix] Polish translation update

* [Fix] Polish translation update text.js
2024-01-28 10:08:30 +08:00
Geoffrey Ward
d70fcc143f Refactor anker (#3845)
* Bring over bed and cover files

* Initial refactored configuration file with placeholders for adding more nozzles

* Uniqueify filament profiles

* Initial refactored machine profiles

* Remove placeholders

* Correct machine selection flow

* Correct Typo

* Add placeholders to bring CE profile settings current with new format

* Fixes #3326

* Port 0.4 Normal Mode Profiles

* Port fast mode profiles

* Remove superfluous settings

* Migrate existing filament profiles

* Update available nozzles and default materials

* Remove 'with' from file names

* Remove 'with' from file names

* Correct support object distance default

* Correct transcription errors

* Correct transcription error

* Bring max_travel_detour_distance into convention with other profiles

* Replace old profiles with the refactored profiles

* Correct name used from Extra Draft to Superdraft

* Re-use original names so printer profiles don't break

---------

Co-authored-by: Geofrey Ward <Xelinor@mail.com>
2024-01-28 10:01:44 +08:00
Oleksii Suprun
3ae8cca5cf Prevent extra wall generation when sparse infill is zero (#3775)
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-28 00:16:51 +08:00
Ocraftyone
fba490969d Add Devcontainer Support (#3777)
* add devcontainer files

* update postCreate

* add chmod for postCreate

* set CORES env variable to pass to build tool

* remove ssh functionality

* Move delete env file cmd to postStartCommand

* update how env file is done

* Update

- Move to older version of ubuntu for compatability
- Change vnc password to orca
2024-01-27 14:16:30 +08:00
SoftFever
da7f8e85fd update plug-in page text 2024-01-27 14:12:27 +08:00
SoftFever
e185795c87 update locale 2024-01-27 13:21:25 +08:00
KrisMorr
eaabaffa7a Add the Polish language (#3622)
* Update localazy.json

Add localization pl

* Update Preferences.cpp

Add polish language

* OrcaSlicer_pl.po

Add OrcaSlicer_pl.po

* Update text.js

Add pl_PL translate

* Rename OrcaStudio_pl.po to OrcaSlicer_pl.po

* Add files via upload

* Update HMS.cpp

* Add files via upload

Update OrcaSlicer_pl

* Update OrcaSlicer_pl.po

* revert irrelevant change

* fix one misspelling

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-27 12:34:51 +08:00
Thomas
65ff80a687 Fixes 3833 ("Miss spelling") (#3840) 2024-01-27 11:56:14 +08:00
Mr-PBH
c8f4895373 Add Artillery Genius Pro Profile (#3742)
* add photos required for genius pro

* add genius pro

* add genius pro

* add genius pro

* added genius pro, changed bed temp to 60c, nozzle temp 200c

* add genius pro, changed bed temp 60c, nozzle temp 200c

* add genius pro

* add genius pro and 0.4mm nozzle

* elafant foot to 0.15mm, 2 walls

* add genius pro print settings

* add genius pro paths
2024-01-27 11:45:17 +08:00
Seth LaForge
e5bdc7d5bd Fix asserts which would not compile. (#3741) 2024-01-27 10:30:29 +08:00
SoftFever
3cb573dcb9 Feature/merge 1.8.4 (#3827)
* FIX: the logic of buried points that were not buried

JIRA: none

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

* ci: update network module based on commit bc7ca98

Change-Id: I923526f0bf9ce5a288144fa1f9b0f2fc640f41b7

* Fix Firefox
Co-authored-by: hadess <hadess@hadess.net>

* FIX: cali: custom created filament from AMS displayed as incompatible

jira: new

remove the condition: is_system

Change-Id: Ib1366966bbdbe01bc9e2483d9914d270ebefa976

* FIX: duplicated items in comboBox at calibration completed page

jira: new

Change-Id: I4749a2206df16c438e0d3098e36274b2a20f313e

* ENH:update support for P1S plus

jira:[for p1s plus]

Change-Id: Id577d4e94e2162cb0045d261dfaa5f396ecded2f

* ENH: CLI: add mk information support

JIRA: no jira
Change-Id: Idd89b143d439de50d9f52eb8aec95b262d66875d

* ENH:calibration support p1p plus

jira:[plus]

Change-Id: Ia290d3a8a8b9adaac7a6ee26d9a8b5ea0c1b3aee

* FIX: add log for base_id and filament_id

github: #3087

Change-Id: Iebfbd0f224fce49f33fc81c71e6108f6e3abb5ff

* FIX: sync whole preset vendor directory

Change-Id: I191dbe979a87ff35d38cab1149b7975664344838
Jira: STUDIO-5534
(cherry picked from commit 628866608116336453804aa1217dd55db04d47ad)

* FIX: use t_utc for debug only

Change-Id: Ia05d8969d4de3dd38908980d6e17a3ebb11ca279
Github 3045

Change-Id: I77935df53bbf2772b1146e5c330c537165a3a2e6

* FIX:make sort_volumes right

Jira: STUDIO-5645
Change-Id: If324c9115bfaaf0c1b7b4be7c7ee96ba6b8ac890

* ENH:keep an unload logic

jira:[for unload]

Change-Id: Id30ec71ffa5b2dac89346ea47ca48a62479e3ab1

* FIX: several problems with mesh boolean

1. Cut with multiple volumes are OK now.
2. Close mesh boolean fail error with new object or open object
3. Fix wrong name and config of boolean resulting object

github: #3118
jira: none

Change-Id: If2c9dbfb36cbdfe4917a2371217923891bb7909c
(cherry picked from commit 982c0ecb92cf7c2b5ae5972ab900a6b10e7dda50)

* NEW:limit the length of project name

jira:[project name]

Change-Id: I955620f7073b3b7fda280d1118524f561d047751

* ENH:adjusting the warning level of timelpase

jira:[STUDIO-5662]

Change-Id: I4902b22d316f5e09a97a62c88b8a98e55c405434

* FIX: 3mf specification: change namespace form slic3rpe to BambuStudio

Jira: XXXX

Change-Id: Id705affc875ef23fdf2ac6d79f0cb0aafc4f7050

* NEW: Open MakerWorld With BambuStudio GetParam

JIRA: none
Change-Id: I0d65b364f1cd2d634a88882ab072c3e61ea89167
(cherry picked from commit 8eaf45e5359439a7c796fd79876c86775abcf48e)

* FIX: Filament issue generated when creating a printer

Jira: XXXX

Change-Id: I976770b69b47641bd54aa7a9c56fba7f58d1ab68
(cherry picked from commit ba42188b93c58b3954234d72acdd9769a68e3d3c)

* FIX: Blank page appears when editing presets

Jira: 5563

Change-Id: I4c49e05515b1beff55991e92f8079c4499c27eab
(cherry picked from commit e86517d290f4cd0765a230d811b0ddf2c9f34c17)

* FIX: context menu didn't update UI

jira: STUDIO-5691

Change-Id: Ia66b8623d832eba805aff5320941233a68ff258b

* FIX: crash of "filling bed"

"get_arrange_settings() const" gets trapped in infinite recursive calling.
Now we delete this function.

jira: STUDIO-5688
Change-Id: Ia39974734bb37b2a2f06b5bf78185f01be726872

* FIX: boolean hangs in the middle of color painting

Can't do splits in combine_mesh_fff, as do_boolean of mcut will split meshes.

jira: STUDIO-5693
Change-Id: Idddb7d20dd7ca386c39ddd3d87d9defc3136aa5d
(cherry picked from commit 6c67d015941458e37faaf0015b6509b5a0eadc0e)

* Fix: Fix a number of compilation problems

issues found when using gcc version 13.2.0 (GCC) in a Flatpak sandbox

github : https://github.com/bambulab/BambuStudio/issues/3074
github pull request: https://github.com/bambulab/BambuStudio/pull/3096

Change-Id: I08aeac593eb1ce7675894df72e8489200bae713d
(cherry picked from commit 069d133d66bfa682de4a860e379d5dc16b3d907c)

* fix: macos icns issue when icon was not attached

github pull request:https://github.com/bambulab/BambuStudio/pull/3116

Change-Id: I49072ad49f3af7669a6d307c791594ade210da50
(cherry picked from commit c977e5582e3a30ad16dd267810037423aad9a53c)

* FIX: Add flush_length for change_filament_gcode

Change-Id: I30f4b97d3d61c2a57f0e92f157cbd31c38aa7265
Jira: XXXX
(cherry picked from commit 92eb2bac977a0c4095b316cbbc6580fb5228b710)

* FIX: edit preset dialog can't close on mac

Jira: 5696

Change-Id: Ib33dfd07cc588ddd3805e3490a4d8c36dcd890ac

* ENH: add dev_ota_version in ssdp

JIRA: STUDIO-5740

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

* NEW:Adapt to multicolour and gradient colour

JIRA:xxxx
Change-Id: I8084cab603d5681cbcaf2d6f5e0d7ad5419cb2af

* NEW:Adaptation of semi transparent materials

JIRA: XXXX
Change-Id: Ie32d8ce67c37b85eb6d7d6594cb514a696307e68

* FIX: disable flush options if prime tower is unchecked

jira: STUDIO-5639

Change-Id: I25081584d430bc7d062e14bcc2cdbf7522cf9d99

* ENH: refine GetVersion for HMS query

JIRA: STUDIO-5763

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

* FIX: Prefer old selection when sync AMS not compatible

Change-Id: I6b18db51887132a997cf78d70fff9a92e23bc44a
Jira: STUDIO-5416
(cherry picked from commit 077fae29823cf4f3071d408b1b40f55ee0cb33c6)

* FIX: The flushing was not auto-calc when sync ams list

JIRA: STUDIO-5551

1. flushing volume auto-calc when sync ams list
2. flushing volume takes the larger calculation value when filament has
   multi-colors

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

* FIX:fixed invalid links

jira:[fixed link]

Change-Id: I036a38b6e8e94da762f93805bd7be706538771fe

* FIX: Prompt to delete problematic presets

Jira: XXXX

Change-Id: Ic43f7bb782794d7ab0b6acbffbb5d73e94f6ed73

* FIX:fixed incorrect HMS content

jira:[STUDIO-5818]

Change-Id: Ia2896d6f0ab1ffedbc850e54168acece8e47bdbb

* FIX:external transparent material display error

JIRA: STUDIO-5845
Change-Id: I0a4f05ac5d5c0ac49d85a704ee65a7221c5f1e1d

* FIX: [5846] Custom Filament Page show System Filament

Simultaneously solve: When downloading Preset from the cloud, the filament_id of the preset in m_preset is null.

Jira: 5846

Change-Id: I6ba1b46fe92e345614b6a4af3fffa87d81fa2456

* FIX:A1 and p1 series do not support custom materials

JIRA:XXXX
Change-Id: Ib0459273d1f9a7152a5563757204634a8d0cd6f5

* FIX: exception when comparing profiles

jira:[NEW]

Signed-off-by: XunZhangBambu <xun.zhang@bambulab.com>
Change-Id: I946b5fcd35f779d271df2b3de731fdcada5aab29
(cherry picked from commit 00e739570812e5c4be3e0f7702ce8c72c0f9e72b)

* FIX: hide_id_middle_string

Change-Id: I28f32ec526b443d31d7992971b80ab1cb737deb6
Github: STUDIO-5825

* ENH: modify some logs level

JIRA: STUDIO-5958

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

* NEW:build plate marker detect

Change-Id: I70f03efea688bb6ce71c3f5990bb3c50605ab184

* FIX: Studio UI Freeze when saving user preset

github: #3335

Change-Id: Idaf53f673a3e46408826c06bdde2c592395d358b

* update bbl plugin version

* fix build errors

* update bbl profiles

* update color

---------

Signed-off-by: Kunlong Ma <kunlong.ma@bambulab.com>
Signed-off-by: Stone Li <stone.li@bambulab.com>
Co-authored-by: Kunlong Ma <kunlong.ma@bambulab.com>
Co-authored-by: gerrit <gerrit@bambulab.com>
Co-authored-by: liz.li <liz.li@bambulab.com>
Co-authored-by: tao wang <tao.wang@bambulab.com>
Co-authored-by: lane.wei <lane.wei@bambulab.com>
Co-authored-by: maosheng.wei <maosheng.wei@bambulab.com>
Co-authored-by: chunmao.guo <chunmao.guo@bambulab.com>
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
Co-authored-by: Arthur <arthur.tang@bambulab.com>
Co-authored-by: Bastien Nocera <hadess@hadess.net>
Co-authored-by: zhimin.zeng <zhimin.zeng@bambulab.com>
Co-authored-by: hu.wang <hu.wang@bambulab.com>
Co-authored-by: Stone Li <stone.li@bambulab.com>
Co-authored-by: XunZhangBambu <xun.zhang@bambulab.com>
2024-01-26 20:18:10 +08:00
Noisyfox
481fff494b Update the naming of the layer order option to intra-layer order (#3834) 2024-01-26 20:06:21 +08:00
SoftFever
0aebd8d002 handle the case when source file and target file is the same file 2024-01-25 21:11:27 +08:00
SoftFever
35ab4c645a fix PR build on lInux 2024-01-25 21:09:55 +08:00
Erkan Ozgur Yilmaz
252788419b Fix #3311: filament Load / Unload time was not used in time estimation (#3706)
* Fix for #3311:

The `config.filament_load_time.values` and `config.filament_unload_time.values` are completely ignored. This was working in PrusaSlicer and apparently BBS converted the `GCodeProcessor::TimeProcessor.filament_load_times` and `GCodeProcessor::TimeProcessor.filament_unload_times` from being `std::vector<float>` to just `float` and they were using the BBS specific and currently hidden `machine_load_filament_time` and `machine_unload_filament_time` config values. Reverted that change by copying those lines from PrusaSlicer.

* Fix for #3311:

Updated the previously fixed to code to keep compatibility with BBS printer .

* Fix for #3311:

Updated `GCodeProcessor::get_filament_unload_time()` to keep compatibility with BBS printers.
2024-01-25 10:42:27 +00:00
SoftFever
aac618dcb7 Fix build errors on main branch caused by version string 2024-01-25 13:02:29 +08:00
foghatredbird
afb89c4309 Modifiers should load at object offset like in Prusaslicer (#3802)
* fix precedence errors

Fix a handful of precedence errors and 1 logic/precedence error.  None of the code will compile as intended without these changes.

* Update GUI_ObjectList.cpp

Modifiers should load at same offset as object they are created against.  Based on prusaslicer ObjectList::load_from_files where it works correctly.

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-24 15:50:42 +00:00
Noisyfox
55b6f2a588 QoL: Port profile value transfer on profile diff dialog from PrusaSlicer (#3737)
* DiffDialog: Implemented a transfer of options from one preset to another
Related to [Feature Request] #5384 - Copy values in Profile comparaison dialog

Cherry-picked from prusa3d/PrusaSlicer@0b8d7380ff

Co-authored-by: YuSanka <yusanka@gmail.com>

* Remove save button

* Sync with latest PS

* Use Orca button style

* Show tips about trasnfer disabled

---------

Co-authored-by: YuSanka <yusanka@gmail.com>
2024-01-24 15:18:52 +00:00
Thomas
48541be681 Creality K1 Profiles improvements (and K1C addition) (#3728)
* Added K1C and fixed some settings (took from config files instead of Creality Print)

* Files renaming

* New PLA-CF, prettify json for K1C, naming uniformisation, ...

* Port Special PLA profiles to K1/K1 Max

* Changed slow down layer time and slow down min speed in order to improve overall speed on details.

* Raised PLA bed temp to 55°C

* Optimisations for ABS, ASA and added Generic PC profile.

* Added PA-CF and fixed PC profiles.

* Added new filaments to default materials
2024-01-24 14:19:36 +00:00
SoftFever
5ff00fb48c Port EditGCodeDialog from PrusaSlicer (#3417)
This is a port of the EditGCodeDialog from PrusaSlicer 2.7.x. There were
a few changes made to make it a bit more functional. Also, it isn't
quite fully complete, but it should be in a very usable state.

General Changes:
- Implement UndoValueUIManager and EditValueUI in Field
- Implement EditGCodeDialog and add buttons to the tabs
- Other minor changes to accommodate the new classes

Differences from PrusaSlicer's Implementation:
- backported to wxWidgets 3.1.5 (reverse commit 8770c4b7 after updating
to 3.2.x)
- icons have been updated to use Orca colors
- improve the report that tells you if certain placeholders have not
been defined properly for the dialog. It now shows all issues at once
rather than having to fix then recompile to see the next issue.
- allow the use of the cmake option `ORCA_CHECK_GCODE_PLACEHOLDERS` to
toggle the above report since our workflow rarely uses debug mode.
- if a custom gcode value is not set when checking gcode placeholders, a
testing value is set. Custom gcode is not parsed if it is empty, and the
only way to check if the placeholders are all defined is by running the
placeholder operation on the custom gcode.
- some calls to `print.config()` in Gcode.cpp were changed to `m_config`
to support the above testing values feature (only m_config is modified
with the placeholders and `print.config()` would return an empty string)
- a macro has been added to quickly add a definition to
SlicingStatesConfigDefs with less boiler plate (it could technically be
used for any ConfigOptionDef, but that would hurt interoperability with
PS. I tried to not use the macro for too many PS defined definitions.)
- the presets are now also categorized by the page they are on in their
tab
<table>
<tr>
 <td>Prusa
 <td>Orca
<tr>
 <td>
<img
src="https://github.com/SoftFever/OrcaSlicer/assets/24759591/27cb4f48-d225-4563-9aeb-b2b461f8bff5"
/>
 <td>
<img
src="https://github.com/SoftFever/OrcaSlicer/assets/24759591/4fcd8cde-2427-4d1a-a0ed-1738b570b919"
/>
</table>

TODO:
- [x] Make sure all linux fixes have been applied
- [x] Finish adding "universal" gcode options
- [x] add search function to dataview (maybe?)
- [x] determine if any options are being left out of the preset
categories by getting options from Tab rather than Presets. If so,
consider adding outside of the groupings
2024-01-24 19:56:18 +08:00
Ocraftyone
c4a66f36ae Debug Improvments on Windows (#3275)
* fix assert statements

* Add ORCA_INCLUDE_DEBUG_INFO to deps cmake

adds option ORCA_INCLUDE_DEBUG_INFO to deps build script to allow an alternative for RelWithDebInfo that works on windows

* add build type option to windows script

* update .gitignore to include build*
2024-01-24 11:48:14 +00:00
Ryan Whipple
73481da6da corrected printable_area (#3527)
* corrected printable_area

* adjusted to keep origin at 0x0
2024-01-24 11:36:17 +00:00
SoftFever
1f00fe92d2 nightly release (#3792)
* nightly release
2024-01-24 11:31:18 +00:00
duub qnnp
d3210a4530 Update Spanish translation (#3793)
* Update Spanish translation

* Update Spanish translation
2024-01-23 23:32:45 +08:00
Giveen
4ec96d25a4 Create SECURITY.md (#3696) 2024-01-23 11:20:08 +00:00
Ioannis Giannakas
757b4de4c6 Fix duplicate entry of Only Lift Z above and below in the extruder tab (#3788) 2024-01-22 13:03:20 +00:00
Morton Jonuschat
7aee846ddc [BUGFIX] Prevent crash in small area infill comp with gcode comments (#3786)
Enabling the option "Verbose G-Code" would trigger a crash in the Small Area Infill flow compensation due to concurrent access/modification of the gcode comment.
2024-01-22 13:01:18 +00:00
Ocraftyone
11fd73a90d Merge branch 'main' into enh-port-edit-gcode-dlg 2024-01-21 14:12:39 -05:00
Ocraftyone
7c02b5c9f4 Revert to BBL get_line function 2024-01-21 14:11:06 -05:00
Thomas
273b3682dc Fixes for French translations (#3773)
* Fixes for French

* Added missing translations
2024-01-21 22:39:24 +08:00
Noisyfox
6479bc8edc Retain mirror state when scaling using text input (#3643) (#3719) 2024-01-21 22:38:04 +08:00
Heiko Liebscher
8a529e1239 fix DE localization after feature updates (#3746) 2024-01-21 22:17:51 +08:00
Noisyfox
606438d61a QoL: Some UI improvements to Cut Gizmo (#3752)
* Cut: Add color legend for upper & lower part

* Cut: Make grabber larger
2024-01-21 22:15:03 +08:00
Noisyfox
122c5cedd8 Add project info editor (#3754)
* Add button to add model info

* Initial impl of project info editor

* Add sidebar item to edit project info

* Add license selector

* Fix use of deprecated apis

* Fix license combox dark mode

* Add back button on project info editor screen

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-21 22:13:37 +08:00
Ocraftyone
ead78a98f9 Re-enable printing by object gcode (#3691)
Re-enable printing by object gcide
2024-01-21 21:06:23 +08:00
Noisyfox
33987d3e79 Add plate name edit btn (#3756) 2024-01-21 21:00:18 +08:00
Noisyfox
26505e23ee Allow specifying print order within each layer (#3685)
* Allow reordering objects regardless of print seq

* Add option to control the layer print order

* Sort object by their order in object list instead of id

* Show print order when print order is the same as the object list

* Ensure the print order when print order is same as object list

* Update option name

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-21 20:11:09 +08:00
Dylan
e92be73894 Don't check the temperature of multi filament for multi toolhead printers (#3649)
do not check the temperature of multi filaments for multi toolhead printers
2024-01-21 12:34:00 +08:00
Morton Jonuschat
82ead12cde [FEATURE] Experimental small area flow compensation (#3334)
* [FEATURE] Experimental small area flow compensation

This is a native implementation of the [Small Area Flow Compensation](https://github.com/Alexander-T-Moss/Small-Area-Flow-Comp)
post-processor by Alexander Þór for OrcaSlicer.

Quite often small areas of solid infill appear to be over-extruded, despite
the rest of a print looking like it has a well-dialled-in EM/Flow. Currently,
there isn't a good understanding of why this happens, so this is an attempt
at a brute-force approach to treat the symptom.

This feature modifies the flow of extrusion lines inversely proportional to
the length of the extrusion line (the shorter the extrusion, the less flow
it should have).

Alexander Þór: Author of the original script implementation
Weaslus: Proof Reader, Hypeman & pestered folks into making this

* [TASK] Whitespace cleanup

* [TASK] Add credits, format code, improve input labels

* [TASK] Use multi-line textbox as input for flow model

* [TASK] Toggle flow compensation per object

* [TASK] Enable flow compensation for first layer

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-21 12:07:52 +08:00
Ocraftyone
9f44e151ba Merge branch 'main' into enh-port-edit-gcode-dlg 2024-01-20 19:43:17 -05:00
Ocraftyone
595f707f22 Fix linux crashing when opening EditGcodeDialog 2024-01-21 00:40:52 +00:00
Olcay ÖREN
b30efa727f Update OrcaSlicer_tr.po - TURKISH translation update (#3732)
* Update OrcaSlicer_tr.po - TURKISH translation update

* Update OrcaSlicer_tr.po - TURKISH translation update

* elegoo_neptune4pro_buildplate_texture.png updated

* Update OrcaSlicer_tr.po - TURKISH translation update

* Update OrcaSlicer_tr.po - TURKISH translation update

* Update OrcaSlicer_tr.po - TURKISH translation update

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-19 16:10:14 +00:00
Eldenroot
e673e48c57 Fixes #3721 - Typo in lang files (#3722)
* Update OrcaSlicer.pot

* Update CreatePresetsDialog.cpp

* Update OrcaSlicer_hu.po

* Update OrcaSlicer_nl.po

* Update OrcaSlicer_ja.po

* Update OrcaSlicer_sv.po

* Update OrcaSlicer_en.po
2024-01-19 16:09:24 +00:00
Seth LaForge
54795dfaaa Document building and debugging with XCode. (#3733)
* Document building and debugging with XCode.

* Account for Intel Macs!
2024-01-19 20:36:32 +08:00
Ioannis Giannakas
fe148515ce [Feature] Enabled gap fill algorithm for all solid fill types (#3412)
* ENH: Enabled gap fill algorithm for all solid fill types

* Made gap fill an option & refactored code into its own method

* Code comment updates

* Converted gap fill to enum and control filter out gap fill in the UI

* Update label for consistency

* Spelling mistake
2024-01-18 14:43:23 +00:00
Ioannis Giannakas
c0c05c715b [Bug fix] Fixes "Wipe before external loop" causing blobs on single wall perimeters (#3616)
* #3603 - fix "Wipe before external loop" causing blobs on single wall perimeters

* Updated parameters to pass by const reference to avoid re-creation of object
2024-01-18 14:19:30 +00:00
Ioannis Giannakas
0b6968c36f [Feature] Introduced experimental option to fully disable solid infill against walls when ensure vertical thickness is turned off (#3235)
* ENH: Introduced experimental option to fully disable wall solid infill when ensure vertical thickness is turned off.

* Merge branch 'main' into pr-reduce-wall-solid-infill

* Merge remote-tracking branch 'upstream/main' into pr-reduce-wall-solid-infill

* Merge branch 'pr-reduce-wall-solid-infill' of https://github.com/igiannakas/OrcaSlicer into pr-reduce-wall-solid-infill

* Merge branch 'SoftFever:main' into pr-reduce-wall-solid-infill

* Merge branch 'SoftFever:main' into pr-reduce-wall-solid-infill

* Fixed bridges too short when ensure vertical thickness is off

* Merge branch 'main' into pr-reduce-wall-solid-infill

* Fixed if statement typo

* Merge remote-tracking branch 'upstream/main' into pr-reduce-wall-solid-infill

* Updated code comments and tweaked overlap parameter to generate top solid infill.

* Parameter tweaks and caption adjustment

* Code comment update

* Merge branch 'SoftFever:main' into pr-reduce-wall-solid-infill

* Merge branch 'SoftFever:main' into pr-reduce-wall-solid-infill

* Merge branch 'SoftFever:main' into pr-reduce-wall-solid-infill

* Merge branch 'main' into pr-reduce-wall-solid-infill

* Merge branch 'main' into pr-reduce-wall-solid-infill

* Merge branch 'SoftFever:main' into pr-reduce-wall-solid-infill
2024-01-18 21:57:43 +08:00
Noisyfox
b2708fb1f4 Fix constrainted scale (scale with ctrl key pressed) (#3717)
Fix constrainted scale (scale with ctrl key pressed) (#3699)
2024-01-17 23:59:48 +08:00
konradmb
7eb45a0c73 Fix Kingroon KP3S profiles (#3712) 2024-01-17 23:54:17 +08:00
Noisyfox
418aca7186 Remember the sidebar size (#3700)
Store the current sidebar size using `best_size`
2024-01-17 23:36:43 +08:00
SoftFever
44ad091bf0 Remove version checks when loading profiles 2024-01-17 23:06:22 +08:00
SoftFever
95adb899a4 Merge branch 'main' into enh-port-edit-gcode-dlg 2024-01-15 22:35:36 +08:00
foghatredbird
1615832236 fix precedence errors (#3611)
Fix a handful of precedence errors and 1 logic/precedence error.  None of the code will compile as intended without these changes.

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-15 22:35:08 +08:00
Ocraftyone
9b76f51bd3 Update BuildLinux.sh (#3679)
* Update BuildLinux.sh

Echo the cmake command. Helps with transparency of what command/parameters are being used. Helps point users in the right direction if they want to build via an IDE.

* Update BuildLinux.sh
2024-01-15 22:34:25 +08:00
Aleksej Wesselbaum
f4cf1c706b fix(TemperaturesCalibration): typo in end_temp_string (#3680)
* fix(TemperaturesCalibration): typo in end_temp_string

* Update po files

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-15 22:33:17 +08:00
Noisyfox
1ffa32beed Fix painting Gizmo rendering on AMD Vega GPUs (#3663)
* Fix painting gizmo rendering on AMD Vega GPUs

* Fix issue that support & seam painting gizmo rendering issue if wireframe is enabled in MMU gizmo
2024-01-15 22:19:50 +08:00
VBits
b25617892e Update for colpic thumbnails background color to match Elegoo theme (#3647)
Update Thumbnails.cpp

Changed background color from white to a dark gray to match the rest of the Elegoo touch screen theme
2024-01-15 22:17:54 +08:00
Thomas
2e4e1a2e0f [Fix] Fixed error in Anycubic Kobra 2 profile using "rectilinear" sparse infill (#3664)
Fixed error in Anycubic Kobra 2 profile "rectilinear" sparce infill doesn't exist, it is "zig-zag"
2024-01-15 22:15:40 +08:00
Thomas
a9c572f0a9 [Translations] Added missing strings from 1.9.0 (#3655)
* Added missing strings from 1.9.0

* Uniformisation : "processus" is "traitement"

* Center is infinitive

* Clarified "Start temp", "End temp" and "Temp step"
2024-01-15 22:08:23 +08:00
Ioannis Giannakas
698aba3570 [Bug fix] Fixes retraction on layer change being performed when retract travel threshold is set to 0 (#3614)
Fixes retraction on layer change being performed when retract travel threshold is set to 0
2024-01-15 21:22:00 +08:00
tome9111991
fff85195b8 Qidi x 3 thumbnail scale (#3600)
Qidi x 3

correct scale thumbnails on Qidi X3 printer
2024-01-15 21:18:40 +08:00
Leland Lucius
1cdd31fa99 Fix garbled text when display scalling > 300% (#3402)
* Fix garbled text when display scalling > 300%

On Windows, if your display scaling is greater than 300%,
the text rendered by imgui will be garbled. Allowing imgui
to do the scaling instead of making the font to large
corrects the issue.

* Only use modified scaling on Windows

And only if the system's scaling factor is greater than 300%.

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-15 21:01:43 +08:00
Ioannis Giannakas
a996188e38 [Bug fix] Fixes lightning infill with sparse infill width set to 0 causes "divide by zero" fatal error (#3592)
* Fix issue #3567 - Lightning infill with sparse infill width set to 0 causes "divide by zero" fatal error

* Merge branch 'SoftFever:main' into Fix-#3567---Lightning-infill-with-sparse-infill-width-set-to-0-causes-divide-by-zero-fatal-error

* Merge branch 'main' into Fix-#3567---Lightning-infill-with-sparse-infill-width-set-to-0-causes-divide-by-zero-fatal-error
2024-01-14 23:38:34 +08:00
Geoffrey Ward
c26a73a1ca Default Anker support_base_pattern (Fixes #3326) (#3585)
* Fixes #3326
2024-01-14 23:09:46 +08:00
FlashforgeOfficial
76b97c3963 0109 Machine end gcode and process update for Adventurer 5M series (#3580)
* Machine G-code Fix

* Merge branch 'SoftFever:main' into main

* 0109 Update end code and process

* 0109 new update

* 0109 Profile Update for end gcode

* Merge branch 'main' into main
2024-01-14 23:08:27 +08:00
Thomas
ff291a4ab8 New generic profile for Ender 3 V2 Neo (#3434)
* Added generic profile for Ender 3 V2 Neo

* Disable skirt, because a purge line is drawn

* Added printer_structure
2024-01-14 23:07:35 +08:00
Ocraftyone
0af1b9b958 Merge branch 'main' into enh-port-edit-gcode-dlg 2024-01-14 03:54:27 -05:00
Tuomas Salokanto
b7b22eb78f Support custom IP camera (#3415)
* Support custom IP camera

Allow adding custom IP camera source while keeping possible
built-in bambulab camera also functional and add button to
switch between them.

This uses WebView widget to show the stream. Upon loading the
page, javascript is used to remove native controls and scroll-
bars for aesthetic reasons.

* Add partial support for PiP video

HTMLVideoElement supports picture-in-picture video
but the dedicated control is hidden in this implementation
to have more integrated look in OrcaSlicer. Add right-click
listener to the camera switch icon that opens the video element
in a PiP window.

Only works when the video is in <video> HTML element, so for
example MJPEG streams in <img> element won't work.
2024-01-14 16:18:30 +08:00
SoftFever
d26513e635 Pressure advance Line: support different nozzle sizes 2024-01-14 10:07:50 +08:00
Ioannis Giannakas
f7b92d9813 [Feature] Introduced option to control amount of internal bridging, fixing internal bridge missing for some sloped surfaces (#3319)
* ENH: Improve internal bridge detection for sloped surfaces

* Moved lightning detection out of the parallel threads

* Naming conventions

* Revised approach - use reduced expansion multipliers

* Further reduce filtering, flagged option as experimental

* Corrected code comment

* Updated tool tip

* Introduced filtering drop down option
2024-01-13 23:20:08 +08:00
Ocraftyone
7dd7b301e1 Remove Resizeable Border
Helps with previous commit
DataView currently doesn't resize vertically
Also, at the moment, the resize grabber is not respecting dark mode and this solves that too.
2024-01-11 06:46:04 -05:00
Ocraftyone
aef74ab005 Hardcode Location of Add Button
Hardcoding it prevents the add button from jumping around when switching between parameters with single-line and multi-line descriptions
2024-01-11 06:03:20 -05:00
Ocraftyone
3252e1c228 Append extra parameters from preset
If an option is not under a category in the tab but is part of the preset, it is added to the dataview.
2024-01-10 21:33:53 -05:00
Ocraftyone
8de9d97cd8 Add search term highlighting to EditGCodeDialog
Now leaves text stored in ParamsNode un-formatted and uses flags to determine the formatting. The GetFormattedText function now returns the markup text.
2024-01-10 07:22:36 -05:00
Ocraftyone
22302a0f10 Merge branch 'main' into enh-port-edit-gcode-dlg 2024-01-10 07:18:47 -05:00
gswatkins
b4925363d6 Display accurate precision for percent config values (#3466)
Percent config values are managed as float types, but decimal precision
is not displayed in the GUI. This change uses the `double_to_string()`
converstion rather than casting to an int when retrieving the config
option value.
2024-01-09 21:56:17 +08:00
Ioannis Giannakas
0bf78f8e9e Bug: Fix retraction issues with PA pattern calibration (#3314)
* Attempt to fix retraction issues with PA pattern calibration

* PA pattern test fix - retract and wipe on layer change

* Naming convention

* fix crash
2024-01-09 21:55:11 +08:00
Ocraftyone
d5ee4ff1ab Merge branch 'main' into enh-port-edit-gcode-dlg 2024-01-08 22:41:35 -05:00
Ocraftyone
068b888199 Implement Search for GCode DataView 2024-01-08 18:00:32 -05:00
Hukete
1067fc2649 Update the some profiles (#3470)
* 10-25

Add TPU-95A HF

* 1030

Adding Introduction of Chamber Temperature Control Macros(M191) to Notes

* 1102

Add ABS-GF10 profile,
Remove a extra "s" from the "0.36mm Standard @Qidi XPlus3 0.6 nozzle.json" file

* 1106

Add the PA value to some genetic filament profiles

* Add new filaments profiles

Add new filaments profiles

* 1

1

* Add two new filaments

Add two new filaments

* Optimized 0.2mm nozzle profiles

Optimized 0.2 mm nozzle QIDI Generic ABS/PETG/PLA profiles

* disable prime tower

disable prime tower and independent_support_layer_height,
Improve some part of the surface when supported

* Fix the name issue

Fix the name issue
2024-01-06 15:15:49 +08:00
Thomas
cb9792e1d9 Added i3 printer_structure to Creality printers (#3460) 2024-01-06 15:14:55 +08:00
Olcay ÖREN
8de98fc229 Update OrcaSlicer_tr.po - TURKISH translation update (#3484)
* Update OrcaSlicer_tr.po - TURKISH translation update

* Update OrcaSlicer_tr.po - TURKISH translation update

* elegoo_neptune4pro_buildplate_texture.png updated

* Update OrcaSlicer_tr.po - TURKISH translation update

* Update OrcaSlicer_tr.po - TURKISH translation update

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-06 15:13:42 +08:00
Thomas
7e59e99841 M600 for Neptune 3 series (and removed from Neptune X) (#3432) 2024-01-06 13:47:34 +08:00
Ocraftyone
40a980f5d8 CICD: Fail on no cache hit (#3429) 2024-01-06 13:46:53 +08:00
Ioannis Giannakas
5aae123cbb Bug: Corrected monotonic lines not respecting user infill / wall overlap setting (#3388)
Bug: Correct monotonic lines not respecting user infill / wall overlap setting

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-06 13:44:33 +08:00
SoftFever
67de85ba43 Fix an issue when loading older 3mf project 2024-01-06 11:21:46 +08:00
SoftFever
793a753cfc Fixed an issue that Orca project can't be loaded in dev branch 2024-01-06 10:13:34 +08:00
Ocraftyone
43417b0f63 fix linux compilation 2024-01-05 21:01:45 -05:00
SoftFever
18b52fd780 bump version profile version to "01.09.00.02" 2024-01-06 09:22:44 +08:00
SoftFever
61f8719c69 Fixed an issue that some profiles has ironings enabled by default 2024-01-06 09:22:44 +08:00
SoftFever
c02d2c4db3 Added an option to enable multiple bed type support for printers 2024-01-06 09:22:44 +08:00
SoftFever
c4538ae0a4 Fixed crashes when send gcode to BBL printers 2024-01-06 09:22:44 +08:00
SoftFever
1fad2a76b3 update gitignore 2024-01-06 09:22:44 +08:00
SoftFever
67547d1037 fix object exclusion regression on BBL printers 2024-01-06 09:22:44 +08:00
SoftFever
0e16ad4fbf skip writting object info for BBL printers 2024-01-06 09:22:44 +08:00
Heiko Liebscher
71c9ae7b2a Fix de for 1.9 release (#3387)
fix some typos and new msgids
2024-01-06 09:22:14 +08:00
Ocraftyone
907b160007 Merge remote-tracking branch 'origin/enh-port-edit-gcode-dlg' into enh-port-edit-gcode-dlg 2024-01-05 06:06:40 -05:00
Ocraftyone
50b7b3d073 Remove unused code 2024-01-05 06:03:34 -05:00
Ocraftyone
a8c3377d9b Merge branch 'main' into enh-port-edit-gcode-dlg 2024-01-05 05:59:43 -05:00
Ocraftyone
4abca6a091 Override full config defs in non-preset categories 2024-01-05 05:58:44 -05:00
Ocraftyone
ecd20184f9 Add the rest of the param defs
Also added temperatures category to handle them
2024-01-05 05:24:53 -05:00
Noisyfox
e713849fed QoL: Keyboard shortcuts updates & fixes (#3457)
* Bring back the shortcut to zoom in & out

* Update keyboard shortcut info

* Update keyboard shortcut info

* Different handling of shortcut 'T' for emboss text

Cherry-picked from prusa3d/PrusaSlicer@58e3143ad8

Co-authored-by: Filip Sykala - NTB T15p <Filip.Sykala@prusa3d.cz>

---------

Co-authored-by: Filip Sykala - NTB T15p <Filip.Sykala@prusa3d.cz>
(cherry picked from commit 002208fc8c)
2024-01-04 19:36:04 +08:00
SoftFever
9d59cd66c4 Feature/update deps (#3445)
* update deps

* fix win build errors

* fix mac build

* update linux

(cherry picked from commit 77b6225060)
2024-01-04 19:36:04 +08:00
Noisyfox
1ea33f0919 Fix NaN when adding negative part (#3423) (#3431) 2024-01-02 20:48:25 +08:00
SoftFever
8e3f7e7bf2 some profile changes based on feedbacks 2024-01-02 20:41:41 +08:00
SoftFever
02258b4391 Merge branch 'main' into enh-port-edit-gcode-dlg 2024-01-02 18:23:52 +08:00
SoftFever
eec8508e74 Fix boost download server issue
(cherry picked from commit b2ce4c1880)
2024-01-02 16:26:01 +08:00
SoftFever
3efe5f82d7 bump dev to 2.0.0-dev version 2024-01-02 16:02:51 +08:00
SoftFever
70c282667f Fix wrong option order 2024-01-02 16:02:51 +08:00
Noisyfox
712478c240 Fix issue that "Per-glyph" option not working when UI is in Chinese (#3425) 2024-01-02 16:01:05 +08:00
Ocraftyone
b619e5bf8e Merge remote-tracking branch 'origin/enh-port-edit-gcode-dlg' into enh-port-edit-gcode-dlg 2024-01-02 00:58:44 -05:00
Ocraftyone
42e6b18149 Check if cmake option is truthy rather than defined 2024-01-02 00:56:30 -05:00
SoftFever
9e443baf95 Improve rendering quality when model color is pure black 2024-01-02 13:14:46 +08:00
SoftFever
8d5bb6cc4b Set CMAKE_OSX_DEPLOYMENT_TARGET properly on dev machine when calling build_release_mac.sh 2024-01-02 13:14:20 +08:00
Scott Mudge
209e9a2bb9 Add configurable short wall/perimeter cleaning for Arachne (#2790)
* add feature to add configurable value to clean/remove short un-closed walls/perimeters, to improve print times and reduce stringing (and generally lead to a cleaner print).

* fixes to short wall removal, which no longer affects bottom or top surfaces. allowed adjusting Top-surface threshold (renamed from One wall threshold for clarity) when short wall removal value is configured above default of 0.5.

* small fix for toggle_line for min_width_top_surface, to only be visible if min_length_factor > 0.5 and arachne is enabled.

* Use copy of input_params

* revert `One wall threshold"` string change

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-01 22:21:36 +00:00
Ocraftyone
a8148d8ee6 Merge branch 'main' into enh-port-edit-gcode-dlg 2024-01-01 11:01:22 -05:00
Ocraftyone
23942781ff fix spacing in tooltip 2024-01-01 10:58:27 -05:00
Ocraftyone
7f1f94d531 Subgroup presets by page 2024-01-01 10:58:26 -05:00
Ocraftyone
7297997837 Add defs for custom gcode 2024-01-01 10:58:25 -05:00
Ocraftyone
2235371f91 Don't show option if defined with type coNone 2024-01-01 10:58:24 -05:00
Ocraftyone
529f14d64b Use proper config when checking for custom gcode
make sure that the local copy of the config is being used when checking if there is custom gcode otherwise it would be possible it doesn't get run during testing
2024-01-01 10:58:23 -05:00
Ocraftyone
066e2f6062 Make Compatible with wx 3.1.5
This should be reverted when wxWidgets 3.2.1 is re-implemented
2024-01-01 10:58:22 -05:00
Ocraftyone
f78d55eac5 Merge branch 'main' into enh-port-edit-gcode-dlg
# Conflicts:
#	src/slic3r/GUI/OG_CustomCtrl.cpp
#	src/slic3r/GUI/OG_CustomCtrl.hpp
2024-01-01 10:58:04 -05:00
Ocraftyone
4e3039b6f9 Improve checking placeholders
Dialog now shows all issues within the same dialog

If a custom gcode value is not specified within the config, a testing value is added. This ensures that (most) of the custom gcode is parsed, and thus checked against the definitions.
2024-01-01 10:57:23 -05:00
Ocraftyone
d839d673d0 Remove SlicingState Options that aren't in Orca
Also organized and added missing options to `s_CustomGcodeSpecificPlaceholders`
2024-01-01 10:57:22 -05:00
Ocraftyone
5fc6301520 Update Icons
Add new icons from PS and update to use Orca color scheme

Original Commit: prusa3d/PrusaSlicer@37afe79

Co-authored-by: YuSanka <yusanka@gmail.com>
2024-01-01 10:57:21 -05:00
Ocraftyone
2109ac649d Fix duplicate else statement 2024-01-01 10:57:19 -05:00
Ocraftyone
011d7ade15 Remove extraneous options 2024-01-01 10:57:18 -05:00
Ocraftyone
7a1d782ce1 Add fix for linux
Original Commit: prusa3d/PrusaSlicer@361ef22

Co-authored-by: YuSanka <yusanka@gmail.com>
2024-01-01 10:57:17 -05:00
Ocraftyone
8c6100ea21 Update Labels
Original Commit: prusa3d/PrusaSlicer@7efdbec

Co-authored-by: Lukas Matena <lukasmatena@seznam.cz>
2024-01-01 10:57:15 -05:00
Ocraftyone
036b21edb9 Add wrapping description
Original Commit: prusa3d/PrusaSlicer@83b8988

Co-authored-by: YuSanka <yusanka@gmail.com>
2024-01-01 10:57:14 -05:00
Ocraftyone
0e590083fa Edit Custom G-Codes Improvements
Orca: Added option to use CMake config option ORCA_CHECK_GCODE_PLACEHOLDERS to check custom gcode placeholders rather than using debug

Original Commit: prusa3d/PrusaSlicer@b8bb7f2

Co-authored-by: YuSanka <yusanka@gmail.com>
2024-01-01 10:57:13 -05:00
Ocraftyone
6539dc4efa Add parameter description
Original Commit: prusa3d/PrusaSlicer@d652f15

Co-authored-by: YuSanka <yusanka@gmail.com>
2024-01-01 10:57:11 -05:00
Ocraftyone
58cd50cc23 Implemented new grouping for the params
Original Commit: prusa3d/PrusaSlicer@b2bd7f5

Co-authored-by: YuSanka <yusanka@gmail.com>
2024-01-01 10:57:10 -05:00
Ocraftyone
6d19d6207a Partial Automation of getting Gcode placeholders
Included pre-generated files specific to Orca rather than PS provided files

Original Commit: prusa3d/PrusaSlicer@55d5921

Co-authored-by: YuSanka <yusanka@gmail.com>
2024-01-01 10:57:09 -05:00
Ocraftyone
05e159037f Improved ParamsViewCtrl
Original Commit: prusa3d/PrusaSlicer@59af551

Co-authored-by: YuSanka <yusanka@gmail.com>
2024-01-01 10:57:07 -05:00
Ocraftyone
bdac496130 Implement ParamsViewCtrl
+ GUI_App : Fixed update of the dark mode, when DataViewCtrl doesn't have header
-Orca: currently doesn't seem to display dataview labels properly. TBD if it continues to be an issue.

Original Commit: prusa3d/PrusaSlicer@c577b7f

Co-authored-by: YuSanka <yusanka@gmail.com>
2024-01-01 10:57:06 -05:00
Ocraftyone
dd802764b9 Add first impl of EditGCodeDialog
Only current issue is that the grabber for the resizeable window is currently white (ongoing issue for Orca)

Original Commit: prusa3d/PrusaSlicer@a8307bf

Co-authored-by: YuSanka <yusanka@gmail.com>
2024-01-01 10:57:05 -05:00
Ocraftyone
accdbb9661 Implement Preparation for Edit Custom Gcode
Original Commit: prusa3d/PrusaSlicer@7db83d5

Co-authored-by: YuSanka <yusanka@gmail.com>
2024-01-01 10:57:04 -05:00
Ocraftyone
4f0a47b7f4 add UndoValueUIManager from PS
from prusa3d/PrusaSlicer@32ff20d

Co-authored-by: YuSanka <yusanka@gmail.com>
2024-01-01 10:57:03 -05:00
Thomas
9701ab18e8 Added PAUSE command for change_filament_gcode on Elegoo Neptune 4 series (#3411)
Added PAUSE command for change_filament_gcode

on-behalf-of: @tomsbasement <tom@tomsbasement.shop>
2024-01-01 20:01:30 +08:00
SufficentMuffin
f99394b53c Update 0.48mm Standard @BBL X1C 0.8 nozzle.json (#3379)
* Update 0.48mm Standard @BBL X1C 0.8 nozzle.json

Removed P1S 0.6mm nozzle from process profile.

* fix

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-01 19:42:53 +08:00
Thomas
2cfcd0d03a Updated French translations. (#3410)
on-behalf-of: @tomsbasement tom@tomsbasement.shop
2024-01-01 19:35:16 +08:00
SoftFever
4d1885e7a4 fix intermittent crashes caused by detect_overhang_wall 2024-01-01 19:30:55 +08:00
SoftFever
5683729b17 Fxied a regression that wall order can't be set in height modifier 2024-01-01 18:21:19 +08:00
SoftFever
2f916f5ee9 Fixed crashes caused by pressure eq when support is used (#3407)
Fixed crashed caused by pressure eq when support is used
2024-01-01 17:05:40 +08:00
Thomas
967dc3d487 Creality K1/K1 Max, Ender 3 V3 Series and Ender 5 S1 baseplates (#3365)
* Fixed retraction speed and added missing parameters.

* Fixes for manual filament change

* More tunings and fixes.

* Fixes and tunings

* Formatting

* Decrease z-hop for K1

* K1/K1 Max, Ender 3 V3 and Ender 5 S1 correct build platforms (Thanks Henlor !)
2024-01-01 15:08:56 +08:00
SoftFever
a36df66083 Revert "Improve ExtrusionLine::simplify, eliminating many very-short extrusion segments which led to blemishes in thin-wall models sliced with Arachne (#3014)"
This reverts commit 3ca290d503.

Fixed #3340 #3375
2024-01-01 14:20:47 +08:00
Olcay ÖREN
1dfaef3948 Update OrcaSlicer_tr.po - TURKISH translation update (#3396)
* Update OrcaSlicer_tr.po - TURKISH translation update

* Update OrcaSlicer_tr.po - TURKISH translation update

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-01 13:47:25 +08:00
Vitalii Kutia
c623070395 edit Ukrainian translation (#3403) 2024-01-01 13:47:04 +08:00
Lee Jong Mun
52c08ca481 kor translation update (#3406) 2024-01-01 13:46:53 +08:00
Noisyfox
8fd4477110 Fix crash when click the color paint gizmo when object part is selected (#3405)
Fix crash when click the color paint gizmo when object part is selected (#3404)

Cherry-picked from bambulab/BambuStudio@1e99ce9535

Co-authored-by: liz.li <liz.li@bambulab.com>
2024-01-01 13:45:53 +08:00
Silence
60ab79cae0 Update README.md to provide alternative download links of webview2 runtimes (#3384)
Improve install and build instructions slightly.
2023-12-31 19:05:23 +08:00
Thomas
98a9bf6170 Creality Ender 3 V3/KE important fixes and some fine-tunings (#3362)
* Fixed retraction speed and added missing parameters.

* Fixes for manual filament change

* More tunings and fixes.

* Fixes and tunings

* Formatting

* Decrease z-hop for K1

* Updated thumbnails sizes to the same as Creality Print has.
2023-12-31 18:36:32 +08:00
Thomas
8afb675cd7 Fr translations (#3361)
* Updated French translations.

* Reword "strength"

* Updated translations

* Added missing translations.

* Fixed place on face translation

* Fixed strings.

* Updated locales

* Better translation for "Brim ears"

* Other round of fixes

* Added missing strings

* Renaming studio to Orca.

* Rewording "Arc fitting"

* Flush means purge and not "rinçage"
2023-12-31 14:46:18 +08:00
SoftFever
074490491e fixed a crash bug when switching to Bambu device page too fast 2023-12-31 13:31:58 +08:00
Noisyfox
a8ade1554f Fix preview legend window size (#3363)
Fix issue that the legend window expands to all available horizontal space if scrollbar is displayed
2023-12-30 22:02:32 +08:00
SoftFever
1d8cdf04d2 remove P1P-P1S warning 2023-12-30 15:22:18 +08:00
SoftFever
d0cf699617 bump dev branch version to 1.9.1-dev 2023-12-30 10:29:48 +08:00
SoftFever
527aefc6fb preset export small tweak 2023-12-30 10:29:32 +08:00
kpishere
044e25d1cf Feature/build target 10.15 (#3252)
* Set target to 10.15, make porter templates explicit

* CMAKE_OSX_DEPLOYMENT_TARGET refactor

* Update build_release_macos.sh

fix typo

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-30 09:12:06 +08:00
Olcay ÖREN
141e74a5d9 Update OrcaSlicer_tr.po - TURKISH translation update (#3354)
Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-30 08:52:26 +08:00
SoftFever
c08ace303a fix po errors 2023-12-30 08:50:27 +08:00
SoftFever
d5210c9fc9 Rename '.bbscfg/bbsflmt' to 'orca_printer/orca_filament' for clarity and to reduce user errors. Note: Configs may no longer be compatible with BS hence the change 2023-12-29 23:36:28 +08:00
SoftFever
ec9030e0ef create datadir folder if not exist 2023-12-29 22:49:45 +08:00
Fabio Forcina
20f7cc0cf9 Updated Italian translation (#3347) 2023-12-29 13:52:30 +00:00
Heiko Liebscher
86936e8873 Update German translation for 1.9 (#3343) 2023-12-29 20:20:21 +08:00
Thomas
e3f08c544b Changed Slic3r mentions (#3344) 2023-12-29 20:18:46 +08:00
SoftFever
fab8b78d69 update locale 2023-12-29 12:08:45 +08:00
SoftFever
63f9b3b1ba check for new version rework, support "check for stable updates only" mode 2023-12-29 12:04:40 +08:00
SoftFever
f89932f63e make exclude_object off by default 2023-12-29 09:21:49 +08:00
just-trey
a96ed26519 Profile: Anker M5/C first layer consistency improvements (#3321)
first layer consistency improvments
2023-12-29 00:04:45 +08:00
Thomas
c1bb9ecc43 Fixed typo (#3331)
* Fixed typo

* An other swtitch

* Main-i-fold(tm)
2023-12-29 00:02:45 +08:00
Thomas
2901c85ea9 Fixes and simplification of some Creality profiles. (#3315)
* Fixes and simplification of some Creality profiles.

* Set correct support_air_filtration for K1 Max
2023-12-29 00:02:01 +08:00
SoftFever
b51856faff fix/update locale 2023-12-28 00:23:42 +08:00
SoftFever
87830fdb9d add more hints 2023-12-28 00:23:42 +08:00
SoftFever
bab1a79511 Fixed a regression bug that --datadir was broken
fixed #3191
2023-12-28 00:23:42 +08:00
Ioannis Giannakas
7ab2fabe6a ENH: Port of "wipe inside before extruding an external perimeter" feature from super slicer (#3287)
* Wipe Inside at Start of perimeter

Co-Authored-By: Merill <6536403+supermerill@users.noreply.github.com>

* Cleaned up code and linked it to the wipe on loop parameter

* Trigger build

* Introduced wipe before external loop parameter.

* Removed redundant functions

---------

Co-authored-by: Merill <6536403+supermerill@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-27 11:21:33 +00:00
Thomas
90dd67e4e4 Update OrcaSlicer_fr.po (#3295)
* Update OrcaSlicer_fr.po

Added missing translations.

* Update OrcaSlicer_fr.po

* Update OrcaSlicer_fr.po

* Update OrcaSlicer_fr.po

* Update OrcaSlicer_fr.po
2023-12-27 09:31:19 +00:00
Hukete
309979eaff QIDI: Add two new filaments (#3304)
* 10-25

Add TPU-95A HF

* 1030

Adding Introduction of Chamber Temperature Control Macros(M191) to Notes

* 1102

Add ABS-GF10 profile,
Remove a extra "s" from the "0.36mm Standard @Qidi XPlus3 0.6 nozzle.json" file

* 1106

Add the PA value to some genetic filament profiles

* Add new filaments profiles

Add new filaments profiles

* 1

1

* Add two new filaments

Add two new filaments
2023-12-27 09:16:45 +00:00
SoftFever
78c7abe4c2 workaround to solve unwanted zstd dependency on runner (#3298)
* trigger build

* Remove zstd only for dep build

* reinstall zstd after building completed
2023-12-27 17:01:12 +08:00
SoftFever
98d8b010c4 downgrade to macos-12 as there are not many macos-13 runner instances availble yet 2023-12-27 17:01:12 +08:00
SoftFever
63351c01da upgrade to macos 13 (#3289)
brew uninstall --ignore-dependencies zstd
Use local curl
remove brew/macport dependency
2023-12-27 17:01:12 +08:00
SoftFever
de8013f211 upgrade libjpeg-turbo to 3.0.1 to properly suppor cross compile 2023-12-27 17:01:12 +08:00
SoftFever
20dab5d996 force to use own glew even if the system has installed one(brew) 2023-12-27 17:01:12 +08:00
SoftFever
9127bed11f Move DL_CACHE into deps folder. Make cross compile easier 2023-12-27 17:01:12 +08:00
SoftFever
3086875c51 Fixed a bug that spiral_mode_max_xy_smoothing was not hiden when vase is not enabled 2023-12-26 23:41:57 +08:00
SoftFever
2f17c1915d Fixed a regression that Turkish lang option was missing
Fixed #3278
2023-12-26 23:41:56 +08:00
SoftFever
0325e28b50 Layer height can't be zero. Fixed #3268 2023-12-26 23:14:53 +08:00
Lee Jong Mun
9416af2247 kor translation update (#3288)
fix typo
2023-12-26 21:00:10 +08:00
Ikko Eltociear Ashimine
c02732e11c Update README.md (#3281)
bellow -> below
2023-12-26 20:19:41 +08:00
Lee Jong Mun
7e11aed69d kor translation update (#3272)
fix type

다리 -> 브릿지
프리셋 -> 사전설정
퇴출 -> 후퇴
갭 -> 간격
인쇄 -> 출력
2023-12-25 04:10:18 +00:00
Olcay ÖREN
cf36ca6ef9 Update Turkish translation (#3270)
* Update OrcaSlicer_tr.po

New English terms were translated into Turkish.

* Update OrcaSlicer_tr.po

* Turkish language sentences were added.

* Turkish words were edited.

* Turkish words were edited.

* Turkish words were edited.

* Turkish words were edited.

* Turkish words were edited.

* Turkish translation update

* Update Turkish translation
2023-12-25 04:09:09 +00:00
SoftFever
9e4c332df2 Don't hide exclude_object option for Marlin/RRF firmwares as Orca now support these firmwares
Fixed #3267
2023-12-25 12:00:32 +08:00
SoftFever
665526e4eb Fix Qidi X3 preview images 2023-12-24 15:01:46 +08:00
Noisyfox
35d5b62604 Show used filament length and weight per line type (#3246)
Show used filament length and weight per feature

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-24 11:54:55 +08:00
SoftFever
7db0ad3112 bump profile version to 1.9.0 2023-12-24 11:41:55 +08:00
SoftFever
68e1722e97 Fixed an issue that bed texture was not reset when switching to a new printer model that don't have a valid bed texture.
also fix/tweak some printer's bed texture
2023-12-24 11:41:55 +08:00
SoftFever
cc984b21fe bump version to 1.9.0-alpha 2023-12-23 22:36:14 +08:00
SoftFever
ba8caef962 update locale 2023-12-23 22:35:15 +08:00
Noisyfox
e034af7050 Trigger task progress update on paint event as well (#3237) 2023-12-23 22:35:07 +08:00
SoftFever
1a2d127276 patch image.cpp and window.mm
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2023-12-23 20:32:29 +08:00
SoftFever
c5df337f01 use ankerl::unordered_dense instead of std::unordered_set/map 2023-12-23 19:29:10 +08:00
Lukáš Hejl
f2c3174896 Fixed asserts and calculations in calculateExtrusionAreaDeviationError.
The previous method worked just for near collinear edges. But it was also used for sharp corners, and for those sharp corners, there was an overflow in the computation of weighted width.
Also, the computation of deviation error was wrong for those sharp corners.

(cherry picked from commit 89b9f702d6cd59bc64c93687bc086f17a206cd0b)
2023-12-23 19:29:10 +08:00
SoftFever
374f78c768 Revert to WxWidgets 3.1.5 (#3249)
* revert to WxWidgets 3.1.5

* update nanosvg unicode path
2023-12-23 17:44:09 +08:00
SoftFever
cc23ec6626 Add a new option "emit_machine_limits_to_gcode" (#3236) 2023-12-23 15:02:27 +08:00
Noisyfox
01706eff84 Fix tutk logs location (#3209) (#3248) 2023-12-23 15:02:06 +08:00
Carlos Caruncho
0f2a223abd Update Spanish translation (#3231)
* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

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

This reverts commit 694a900845, reversing
changes made to 4f53ce4f88.

* Revert "Update OrcaSlicer_es.po"

This reverts commit 4f53ce4f88.

* Revert "Revert "Update OrcaSlicer_es.po""

This reverts commit 53bd15617c.

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Revert "Update OrcaSlicer_es.po"

This reverts commit b21aad079f.

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_en.po

* Update OrcaSlicer_es.po

* Traduccion de OrcaSlicer al español

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-22 21:11:07 +08:00
Ioannis Giannakas
951f9e9aef Bug fix: VFA Test fix (#3230)
VFA Test fix
2023-12-22 21:10:36 +08:00
Ioannis Giannakas
ba09fa3866 Bug Fix: Fix crash when printing by object after 1.8.2 code merge. Fixed tool ordering not done based on flush volume on BBL printers (#3223)
* PR: Fix crash when printing by object after 1.8.2 code merge

* PR: Revert change in tool ordering - reorder_extruders_for_minimum_flush_volume to enable tool sequencing based on projected flush volumes

* Bumping up reordering to up to 12 different colors on same layer.

* Updated tool ordering to distinguish between bbl printers when reordering tools

* Update to code comment

* Updated population handling of is_bbl_printer variable
2023-12-22 21:09:42 +08:00
Ioannis Giannakas
90097a1926 ENH: PR: Alternate extra wall (#3196)
* ENH: PR: Alternate extra wall

* Updated tooltip

* Tooltip spelling correction

* Introduce dialog box to disable ensure vertical shell thickness

* Alternate Extra Wall - automatically disable for Vase mode and revert vase mode toggles

* Corrected invalid push

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-22 08:54:03 +08:00
SoftFever
e187ada1e9 write Orca version into 3mf project file 2023-12-21 22:36:43 +08:00
SoftFever
22d3c713fb Fixed an issue that Qidi ABS-GF10 is visible for all vendors 2023-12-21 17:46:25 +08:00
Thomas
a3990485fc Fixed Ender 3 V3's default materials (#3218) 2023-12-21 09:40:45 +00:00
Thomas
f5cbe6a38b New profile for Creality Ender 3 V3 KE (#3216)
* Added Creality Ender 3 V3 SE.

* Fixed fine profile.

* Optimized first layer speed (based on Creality Print)

* Brought back Ender-5 (2019)

* Setting Marlin 2 as gcode flavor

* Added Ender 3 V3 KE Profile

* Use inheritance for Ender-3 V3 filament profiles.

* Various improvements.

* Temperature optimisations (less power consumption)

* Added Ender 3 V3 KE Profile

* Tweaks for KE integration.

* Fixed some log errors.

* Optimizations

* Optimizations.

* Reverted support_interface_top_layers

* Added correct jerk and acceleration settings.

* Added correct jerk and acceleration.

* Added retraction speed.

* Re-added missing Ender-5 references in filaments.

* Inherits processes from process_common_klipper

* Reverted code simplification for inherited profiles.
2023-12-21 08:51:18 +00:00
Carlos Caruncho
e5bf702a3a Update Spanish translation (#3212)
* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

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

This reverts commit 694a900845, reversing
changes made to 4f53ce4f88.

* Revert "Update OrcaSlicer_es.po"

This reverts commit 4f53ce4f88.

* Revert "Revert "Update OrcaSlicer_es.po""

This reverts commit 53bd15617c.

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Revert "Update OrcaSlicer_es.po"

This reverts commit b21aad079f.

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_en.po

* Update OrcaSlicer_es.po

* Traduccion de OrcaSlicer al español

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-21 08:31:23 +00:00
Ocraftyone
53d752b606 Fix wx issues from upgrade (#3032)
* fix top bar resizing

* Attempt to fix bitmap bundle scaling issues

* Revert "Attempt to fix bitmap bundle scaling issues"

This reverts commit e94ba58d90.

* Fix AboutDialog and partially fix SwitchButton

* Fix switch button scaling on windows

* Fix dropdown icon size

* fixed sdcard/recording/timelapse icon size in device page

* Set use_legacy_bmp to true by default to it's back compatible

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-21 08:27:02 +00:00
Noisyfox
401ac1adef Fix crash on MacOS when clicking filament dropdown in object list (#3205)
* Disable optimization for `RelWithDebInfo` for Clang as well

* Fix crash on MacOS (#3134, #3202)
2023-12-21 14:19:22 +08:00
Noisyfox
6bb0d5ec30 Do not limit the max window size (#3149)
Do not limit the max window size (#2889)

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-20 21:09:13 +08:00
SoftFever
eeef52bf5d Rename bunny to Stanford Bunny 2023-12-20 19:57:30 +08:00
Thomas
888096d75c New profile for Creality Ender 3 V3 SE (#3180)
* Added Creality Ender 3 V3 SE.

* Fixed fine profile.

* Optimized first layer speed (based on Creality Print)

* Brought back Ender-5 (2019)

* Setting Marlin 2 as gcode flavor

* Use inheritance for Ender-3 V3 filament profiles.

* Various improvements.

* Temperature optimisations (less power consumption)

* Fixed some log errors.

* Optimizations

* Reverted support_interface_top_layers

* Added correct jerk and acceleration settings.

* Added retraction speed.

* Re-added missing Ender-5 references in filaments.

* Reverted slow_down_layer_time, Creality print is too optimistic on this at least for Ender 3 V3 SE.

* Optimizations for supports (easier to remove)

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-20 19:56:13 +08:00
SoftFever
69602d24fc Add more built-in models: Disc/Torus/Bunny 2023-12-20 17:53:12 +08:00
SoftFever
604851fc9c Fix custom filament tab missing bug
Fixed #3135
2023-12-20 15:13:29 +08:00
Noisyfox
7739252711 Another sidebar improvement PR (#3194)
* Show sidebar when opening normal 3mf file

* Retain sidebar size when switching between tabs
2023-12-20 11:21:48 +08:00
Lee Jong Mun
53ccff6ad0 kor translation update (#3199) 2023-12-20 08:38:13 +08:00
Olcay ÖREN
d9241dca74 Turkish translation update (#3197)
* Update OrcaSlicer_tr.po

New English terms were translated into Turkish.

* Update OrcaSlicer_tr.po

* Turkish language sentences were added.

* Turkish words were edited.

* Turkish words were edited.

* Turkish words were edited.

* Turkish words were edited.

* Turkish words were edited.

* Turkish translation update
2023-12-20 08:37:51 +08:00
Fabio Forcina
e7651fe2ed Italian translation update (#3185)
* Italian translation update

updating of new terminologies

* fix errors

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-20 08:36:08 +08:00
SoftFever
8dd9c11241 Revert "update user agent" for now as it cause trouble to login
This reverts commit ae8995fec2.

(cherry picked from commit cd35171fd18d47839faa3ea119f3cbfc356c0a65)
2023-12-19 23:50:51 +08:00
SoftFever
bba367cde8 Feature/merge 1.8.2 (#3193)
* FIX: user preset sync token

Change-Id: Id2aa865b778ee9ac4cfddb68ceef0374507b519b
Jira: none

* FIX: Bitmap cache not take effect

Change-Id: I972098fdbda0b4542c6c759a8f5e1f0f2a30852b
Jira: STUDIO-4991

* NEW: Open HotModel Link With GetParam-From bambustudio

JIRA: NO JIRA

Change-Id: I4ac49bac5ee0c50988c76a38b00b7ba7dc3201f5

* NEW:AmsMaterialsSetting Support for user-preset

JIRA: STUDIO-5135
Change-Id: If848047cd5dbd059d440de30989c505c361305a7

* FIX: upload custom root preset fail

Change-Id: I621c8d542dd604b07cc5df63d97d7a31558d3aba
Jira: none

* FIX: show custom filament in AMS filament list

Change-Id: I79b9f8f2f08db8c52bbed76f1ea133baff383c00
Jira: none

* FIX: dailytips window and gcodeviwer legend window size issue

reset to original logic of dailytips and legend window size

jira: new

Change-Id: Iacb016bb222ba3f87317cfbe1f2b003802d773a5

* ENH: add text translation

jira: new

Change-Id: I780cfb8a0a64d806b5e0a414b6598e3b7bdf52dc

* FIX: Delete and search object outside the plate

JIRA:
1. STUDIO-5132 Deleting object outside the plate will crash
2. STUDIO-5146 The search function cannot search for object outside the plate

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

* FIX: [5149 5142 5141 5140 5136] create printer and filament issue

Jira: 5149 5142 5141 5140 5136
5149 process preset name can not show all
5142 improt configs combobox not update
5141 disable modify filament_vendor
5140 disable input Bambu and Generic vendor
5136 preset list window adjust

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

* ci: update build version to 01.08.00.54

Change-Id: Ifd69c01a82f627a9c6cf4fe0d48a759563ee90e7

* FIX: print model from sdcard with p1p

Change-Id: If85383ba762022ead3dd754ae02a08817b891114
Jira: none

* FIX: dailytips text translation

jira: STUDIO-2556

Change-Id: If44e503615b09ee1692f42ba1f998918ec5bd691

* FIX: clone shortcut key conflict with quit in macos

jira: STUDIO-5166

Change-Id: I548f275bb68d3b0e6bb3cfad6fe93df09d507da3

* FIX:User preset material settings dependent on firmware

JIRA: 5167
Change-Id: I82cf26848594b01155883ad0aa2e9ee77d371fb2

* ENH:update the description of nozzle detection

Change-Id: Id27b25c69dc11fcf66fc82053af705906ae8c370

* FIX: [5159 5165 5171 5172] create printer and filament issue

Jira: 5159 5165 5171 5172
5159 create printer dialog no refresh
5165 create printer 2 step dialog no refersh
5171 change font
5172 edit filament dialog darkUI issue
input special character is prohibited
'/' in preset name translate to '-'
update printer combobox

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

* ci: update build version to 01.08.00.55

Change-Id: If1865d561cf274719204662314de163497759e89

* FIX:fix GLmodel deconstruction causing section not to be rendered

Jira: STUDIO-5156
Change-Id: Ibb2f459920989ee54f7b827352dc8893424b4de6

* FIX: missing unlock cause device or resource busy

Change-Id: I87563312ea9c6ce4e4e471da7ce7a02b53b64762

* FIX: some translation

Change-Id: I9758cbc758030b5a3945697a50ca4898af9fcb1b

* ci: update build version to 01.08.00.56

Change-Id: Id5ee53dd2ebb0b37b6927dc58b3cca94a1f66a83

* ENH: remove PLA GLOW in A1 mini

jira:[NEW]

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

* ci: update build version to 01.08.00.57

Change-Id: Ib4dfa60f097128b76b95bb14ca04978619021b56

* Allow line width of nozzle diameter * 2.5

As it were, 1 mm would be disallowed but 0.99 would be allowed for 0.4
nozzle.  1 mm is the sane maximum and 0.99 is unnecessary tedious to write.

* Russian translation update

Russian translation Bambu Studio_v1.8.0 Beta

* FIX: scale problem in needs_retraction

jira:[NEW]

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Idfbe954b22fa6aa5769c55e46874fa6a80ecbf45
(cherry picked from commit 4e853f50b748e3af11e2d64862b6ee557fda361b)

* ENH: CLI: support load_assemble_list

JIRA: STUDIO-4848
Change-Id: Ife11533740988331ea71eac86c370e625970cb8b

* FIX: align to Y not working

This is a bug introduced in 7fbb650 when solving jira STUDIO-4695.
Now we use a more decent way to solve it.

Change-Id: I92deffcb9fe53e8a24c93fe973446ae37df07375
(cherry picked from commit bd98430dbd15eb6c9bb4b447990e0dcf8a50eef0)

* ENH: Add buried points for cut and meshboolean

JIRA: NONE

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

* FIX: 5092 edit filament add scrolled window

Jira: 5092

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

* FIX: can not select user preset when create filament

Jira: XXXX
github: 1936
and fix add preset for printer dialog can not show selected printer

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

* ENH: template filament don't be show in filament list and sort

Jira: 5160 5179

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

* FIX: [5174] export configs dialog issue

filament name too long to can not show all

Jira: 5174

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

* ENH: add filament Bambu TPU 95A HF

1.As title

jira:[NEW]

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

* ENH: modify some params with filaments

1.Modify the PEI bed temperature of PLA Basic, Matte, and Tough to 65 in
 A1 mini. Set the bed temperature for the first layer of Bambu PETG-CF
 to 65 and 70 for the other layers

jira:[NEW]

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

* ENH: add more status during printing

JIRA: STUDIO-5195

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

* FIX:cut imgui has overlapping rendering on Apple

Jira: STUDIO-5150
Change-Id: I7969e19dc189cd617026a183067dad628208955c

* FIX:not TakeSnapshot for m_start_dragging_m

Jira: STUDIO-5176

Change-Id: Ia03e3e2c2664dbdcffa19ec8d0fa97dfd95e6d35

* FIX: rendered color changes

Jira: STUDIO-4956
during the drag processin connectors editing state

Change-Id: I3027176ea9f93a9ba9d6a2052f41aaa4adef79f1

* FIX: merge the patch from Prusa

Thanks for PrusaSlicer and YuSanka
Jira:STUDIO-5175
commit 510d59687b3b19c4a0f4e6540620d0694dd1b7ac
Author: YuSanka <yusanka@gmail.com>
Date:   Thu Oct 5 14:13:14 2023 +0200
    Follow-up 1b451cdf: Fixed #11415 - Connectors disappear when slicing => only when using multiple cut planes AND excluding parts

Change-Id: I9ccd5b85f482d723d21fccf5e104c9e0a9cc4849

* FIX:Press ESC directly to exit after entering the profile rendering

rendering is not normal,Code from PrusaSlicer,thanks for PrusaSlicer and enricoturri1966
commit a078627552f54497ed0518dc7bc349d243576d19
Author: enricoturri1966 <enricoturri@seznam.cz>
Date:   Mon Jan 30 14:00:02 2023 +0100

    Follow-up of 1218103fd620b319c56fd08116f81b581c537188 - Fixed gizmo missbehavior when closing a gizmo by resetting the selection clicking on the scene

Jira: STUDIO-5164
Change-Id: I261da9dba2a5ac37f3e263c175fbccd80d8045bd

* FIX: correct the strings and move create printer dialog center

Jira: 5221 5183

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

* ENH: CLI: skip layer height limit validate when slicing for existing models

JIRA: no jira
Change-Id: I1444a28b500ca7d08ed2606eecfa5cfaf261105e

* ENH:update the translation of auto refill

jira:[for translation]

Change-Id: Iaa7b4f3d7cd88c8b4f69a3db721ebd8ca8986eea

* FIX: icon issue for copying

Jira: STUDIO-4168

Icon issue when filling bed with copies

Change-Id: I61a03ecae02b75602c236ed2810e9c9cfe5a19f9
(cherry picked from commit b5079f8a2e79f19f65803f23ef4fd83aff17c84a)

* ENH: update some filament params

1. Modify texture bed temp to 65
2. Modify max-v-speed for ABS
3. Modify some params in Generic PA
4. Modify PLA,PVA params

jira:[NEW]

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

* FIX: 3770 printable checkbox incorrect display in darkUI

Jira: 3770

Change-Id: I97f67d7a0ffc41f6ee625abeecc52ee4e73cf318

* FIX:Display garbled code in AmsMaterialsSetting pop-up

Change-Id: I50531e939afa7715ae376bac47172ccf7b248114

* ENH:Modifying the Line Color of Transparent Materials

JIRA: STUDIO-4311,5088,4983
Change-Id: I9e63413dc9cd7d523f0f7f1a2e32c4537a84467a

* FIX: crash when async delete printer file

Change-Id: I92c5e812d04da263338fb0eea2fd7583cf9ecde0
Jira: STUDIO-5222

* FIX: 3733 backup time not effective

Jira: 3733

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

* FIX: enable edit and delete preset btn and fix issue

Jira: XXXX

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

* FIX:send print job,file name displays error

JIRA:3137
Change-Id: I1c113025d274a13fba1b845a58aada14058fadd4

* FIX: skip hold user preset from sync

Change-Id: I2252246e19bd80903ad82170782ea49535d30d05
Jira: STUDIO-5185

* FIX: 5115 translations

Jira: 5115

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

* FIX: add link for ironing parameter

Change-Id: I451f5549db3ac2205aa5703a2e5edc831e946af8

* FIX: scale problem in lift type decide

1. Scale the travel threshhold

jira:[NEW]

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

* ENH: add small perimeter speed and threshold

The original param is added by Prusa. Thanks orca for adding threshold.

1. Re add small perimeter speed and threhold.

github: #2221

Change-Id: I35b269b26f085d80f0edca28650bb21fc04898d7

* FIX: modify the picture of pa manual cali

Jira: STUDIO-5102
Change-Id: Id87898959ad4461b7bd2505b159271f2aa589c36

* FIX: Filament preset is the same with the first one

Jira: STUDIO-4519

Filament preset is the same wit the first one, it should align with the
last one.

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

* FIX: scoreDailog dark mode issue

Jira: 4570

Change-Id: I8be97b306a1494f73e3bba678ecc864e7ff88ca3

* FIX: CLI: fix the slicing issue while only one object with multicolor using seq-print

JIRA: no-jira
Change-Id: Iea2d23ff8e484bf2fd58aa2f596a8e4e4292fe39

* ENH: open support wall count for normal support

1. open support wall count for normal support
  Enabling this option makes normal support stronger and gives
  better overhang quality, but also more difficult to removal.
  Jira: STUDIO-5192
2. fix a bug where tree support (hybrid style) may get overlapped
  extrusions near the walls.
3. fix a bug where raft layers can't be 1 in tree support
  Jira: STUDIO-5261

Change-Id: Iadc0c67a9b50b5b221c8e83d5aa22ed282018cf8
(cherry picked from commit c0bb0084e386cb70ed6e16edf93190e4b38f5b90)

* FIX: compiling error on linux

jira: none
Change-Id: I1a4563503b5ddf74a1979cc0cee7a15b8aced904
(cherry picked from commit de52c6ca62c9f3a6314ddf5a856c1d8534329886)

* ENH: add translation for small perimeter

jira:[NEW]

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

* FIX: clone shortcut key issue on macos

jira: STUDIO-5166

Change-Id: I1967da1d443ed43bd750dad8e11560688d7bd533

* FIX: custom gcode window cannot paste/ navigate

jira: STUDIO-5208、STUDIO-5070

Change-Id: I4ecb9d06cf5db0ae53a4678181aae9298bac106b

* ENH: modify dailytips collapse & expand interaction

jira: STUDIO-5209、STUDIO-5210

Change-Id: Ifb0b998e5004d4b49390ba5a250eaf4743bf3471

* ENH:Add shortcut keys and lists for objects search

JIRA: STUDIO-5157 STUDIO-5158 STUDIO-5240

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

* FIX:Re-calculate button with White Box displayed in dark mode

JIRA: STUDIO-5098

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

* NEW: display plate index when printing a task

JIRA: STUDIO-2689

display on the thumbnail of the current task

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

* ENH:fixed incorrect path prefix

jira:[for file path prefix]

Change-Id: Ie9e3999f02b78272e528ceceb479e746d46a7e6c

* FIX: thumbnail is not clear in dark mode

JIRA: STUDIO-5087

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

* FIX: translation

Jira: XXXX

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

* ENH: first nozzle change to 0.4 and nozzle change to mm

Jira: XXXX

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

* ENH:editing_window_width's value is small on the laptop

Jira: STUDIO-5238 STUDIO-5265
apply_selected_connectors should check_and_update_connectors_state

Change-Id: I8c2c1c920cc4d197d1908815a3e62f4962335451

* FIX: fix new_bed_shape's calculation process

Jira: STUDIO-5122
Change-Id: I5f3e6a301a297123af28692c90bef6759f425b06

* ENH:update some translations

jira:[STUDIO-5262]

Change-Id: Idb1d3586888043ac325f272bc7a2b788adb3e9e5

* FIX: edit text command resets object settings

Jira: STUDIO-4655

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

* ci: update build version to 01.08.00.58

Change-Id: Iacfec02aa50c617e4c9fe566319b07b30d47dce1

* FIX: remove GetUserAgent

Change-Id: I92886e1f0dcb091109231a10da8c19d51178e13b
Jira: STUDIO-5205

* FIX: nozzle_diameter_map data structure adjustment

Change-Id: Ifb724afc0fcf974e6d331e73ecac723107a102cf

* ENH:add _A and _B for perform_with_groove

Jira: STUDIO-5267
Change-Id: Iee3310dfa1cd8e6680310f0af0eff5c817490813

* ENH:is_equal for min_z and max_z

Jira: STUDIO-5267
Change-Id: I9493883d8be9d44e26ddc9afe62b7e9eb09c5052

* ci: update build version to 01.08.00.59

Change-Id: Ie8ed29ccf5d6c94594eb2ab8b717416fbeace3bd

* FIX:Image display unclear in light mode

JIRA:5161
Change-Id: I134cc64a2af0dfff60c47d0ff09d78d9c0f86b3f

* FIX:fix bugs of non manifold edge

Jira: STUDIO-5267

Change-Id: I8ac9a2cf96da0bc07ee00b309e65611b92fd174d

* ENH:nozzle type detection

jira:[STUDIO-5246]

Change-Id: Ic41a2161a0e41d23f56af93ad8ec34cc83ada0e3

* ENH: upadte P1S start gcode

1.turn on MC board fan by default on P1S

jira:[NEW]

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

* ENH: improve support style's tooltip

jira: none
Change-Id: I8ee858d7052f04ce7ea6b226a500c7d1bf8a482f
(cherry picked from commit 665f31c4fcde22bd894cbb4a5fb160635947f2a4)

* ENH: set layer range error to warning

1. If layer range exceeds maximum/minimum layer range in printer
settings,pop up a window to warn

jira:[NEW]

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

* ENH: CLI: remove the warning of layer height

JIRA: no jira
Change-Id: Idaceee4f52611479fc3f4238d016d891b4dc8cd1

* FIX: the word search is not translated

Jira: STUDIO-5224

The world search in the device panel is not translated.

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

* FIX: Bitmap will flash when sending printing task

Jira: STUDIO-5278

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

* ENH:display the euler angle of rotation plane

Jira: STUDIO-5268
Change-Id: I6b7b431931d60f1a9a832908400417781798c472

* ci: update build version to 01.08.00.60

Change-Id: I1c15b5c6437554c43327cd6b537f7a5860dba5a0

* ENH:cancel EnterReturnsTrue for imgui in cut

Jira: STUDIO-5269
Change-Id: I2832e1dccaf9755448debe7b2bd56426f90dfe0d

* ci: update build version to 01.08.00.61

Change-Id: Ib03e664a20990322c788686550c491d0139d8237

* FIX: some translation problems

jira:[NEW]

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

* add: Ukrainian lang support for 1.8

* FIX: calibration selected preset is null in some case

jira: STUDIO-5258

Change-Id: Iee63593c5f833c5a43e3b1d1c9ddb82f8c69569a

* FIX: create filament issue

Jira: 5296 5297 5295 5302 5311 5276

5296 create filament: list has same printer
5297 create filament: filament combobox has blank options
5298 edit filament: delete last preset prompt users
5302 create filament: filament combox has cili preset
5311 create filament: printer name too long to can not show all
5276 edit filament: PLA Aero filament type filter issue
add prusa vendor
Revised copy

Change-Id: I5dcc615ce0951b1a9953fa12283f6090f5069045

* FIX: some translation

Change-Id: Icb8614a0af18f96d15f3b97c17e0f6f708296847

* FIX:cancel is_equal for slicing function

Jira: STUDIO-5267
Change-Id: I66d759aa2c968f8a28a6a5d8378929754f2db689

* FIX:UI stuck due to pop-up window with wrong chamber temperature

JIRA: 5304
Change-Id: I1a49a7219b7a6f5700243704c348724e7930ce1a

* FIX: allow input '+' and hide edit preset btn

Change-Id: I97aec7c3ac4cc8b9d6c535f0126aaa1926553d86

* ENH: handle printer direct close and not retry

Change-Id: I5dd55f8085cf6383a8420ab41e614ea6ae210c78
Jira: STUDIO-5305

* ci: update build version to 01.08.00.62

Change-Id: I09716bf79354b503197c751272fd3171e0abc8fd

* add: new translation to ukr for AirFlow and Prusa

* add: Texture Plate name fix

* FIX:add slice_facet_for_cut_mesh api for cut tool

and modify section_vertices_map 's traverse
Jira: STUDIO-5267
Change-Id: Ifc4b183a4e4c4fdb4f47742f14f70a1ed93fa056

Change-Id: I52bfaef8926ef967b78a6cb712a1731a1b528a24

* FIX: Make the front smaller for Czech in device panel

Jira: STUDIO-5151

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

* FIX: there is no object can be jumped to in notification

jira: new

Change-Id: Ib81bf49236952ede24a2de126051572d63916e01

* FIX: add height range, modifier in Preview pane will crash

jira: STUDIO-5340

1. fix crash at add height range, modifiers in Preview from objectList
2. fix an assert hit when slicing
3. fix an assert hit when enter AssembleView
4. forbidden popup menu by right-click objectList in Preview

Change-Id: I444bc76b1a4307999b387e4f60386b2d272bd308

* FIX: Black spot in the sending printing task page

Jira: STUDIO-5307

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

* FIX: reset_cut_by_contours should update_buffer_data

Jira: STUDIO-5376
Change-Id: I5aacb1f7b65822031d7138abd61a45b09c743531

* ENH:editing_window_width's value is small on the laptop

Jira: STUDIO-5238 STUDIO-5265
Change-Id: Ia958772bcb081817da621115f99328bb62770cd5

* ENH: bumped version to 1.8.1

Change-Id: I9d25403daa5b7b8ca415c0b364670da9e0f932b0

* FIX: create filament dialog: create btn can not show all

Jira: 5310 5331

Change-Id: I185272c90d9ff1c3d6b47abbefbf488d0d965cca

* FIX:update custom_texture when new_shape=false

Jira: STUDIO-5287
Change-Id: I3add95f9f9345c14a48cc7467513d1b3ce95f4c9

* ENH:editing_window_width's value is small on the laptop

Jira: STUDIO-5238
Change-Id: I9044129f4e0c8ca7469db05b3e547fca4754342a

* FIX:add slash_to_back_slash for saving file path

Jira: STUDIO-5287
Change-Id: I9f3c176cd0831c793958f08601c63efac98176a4

* FIX: a button color didn't response to dark mode change

jira: STUDIO-5315

Change-Id: I95489f01ccd1f77b9e95b0d0f69e5398d2e88487

* FIX: height range layers displayed in wrong position

jira: STUDIO-5341

Change-Id: I83918b4624f367efa54321f1898e1176cdb04ea9

* FIX: auto arranging issues with locked plates

1. global auto arranging may put items overlap with wipe tower if some plates are locked
jira: STUDIO-5329
2. items outside bed may overlap with plate boundary if it's rotated
jira: STUDIO-5329
3. plate-wise auto arranging uses wrong min_obj_distance if the
plate is by-layer printing but global setting is by-object printing
jira: STUDIO-5330

Change-Id: I5dba2f1317e183c9aeec1cb2bd227fbddf4316e6
(cherry picked from commit db1eac41efff5f1e8d5ac0af74c6fc7ab59fc253)

* FIX:  a mistake in upward machine

jira:[NEW]

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

* FIX:a blank pop-up appears

JIRA:XXXX
Change-Id: Ice92b55204e4897fec024a6d99412eb810bddd4a

* FIX:fixed failure in updating nozzle type

jira:[STUDIO-5248]

Change-Id: Iad37b5d5b76d37cb1723ef21d7c39b1e3fcaf8d7

* FIX:fixed issue with AI monitoring settings

jira:[STUDIO-5082]

Change-Id: I967fe3c1e9da61a55bcbfaa2a8e067dd5af18f72

* FIX:fixed issue with lan mode

jira:[STUDIO-5189]

Change-Id: I1d0a05f19dcea154cf3ef2b61ed0546d3581905e

* FIX:update text for loading or unloading filaments

jira:[STUDIO-5231]

Change-Id: Ic7729c3ec012485b3d87e3d01f11e87502c67895

* FIX: Revert "ENH: do not leave a gap for top...

Revert "ENH: do not leave a gap for top interface if the top z distance is 0"

This reverts commit 79ea32c7cbbdb7e689637980af7c36caf42284c9.

Revert reason: the supports are impossible to remove in some cases.
jira: STUDIO-5385

Change-Id: I376a6f4dfd78da6dfea68b9ac3d552cddd0b4272
(cherry picked from commit 34e38b705fde7f5d7f9a3a89c96a3627ce0c998e)

* ENH: improve normal support's quality

1. Add a base_interface_layer when using Supp.W
2. Fix a bug where base_angle and interface_angle are wong

jira: STUDIO-5386
Change-Id: I52ab32c63b3cd1e6e2ba6463b01ae26699cf13d3
(cherry picked from commit 92ddd4a10b793572a1fa009da5b9e44fcdf81de2)

* NEW:tracking stl model files

jira:[STUDIO-5372]

Change-Id: Idb1275b07441f0cd06c24588d5f7c20f81f1556c

* FIX: edit filament dialog: preset name too long to del btn nan't show

Jira: 5336 5174
and verify string normalization

Change-Id: I380c3bed2bf43d01094b68979a8b67f4187c0b93

* FIX: some translation

Jira: 5232 5300 5334

Change-Id: Ie474ca823011e81aab82a9809af3d6e42980496b

* FIX: some translation

Change-Id: Iaabe6087bed3b7d47d911cf4fb51c770804e72fb

* ENH: change default tree_support_wall_count to 0

Now normal support also uses this option, so we can't default it to 1, otherwise normal supports will be too hard to remove.

jira: none
Change-Id: Ic5700af5c17e3a7b265c8915f28b0db35c6e06e6
(cherry picked from commit 6b84a9826da108b76569e686bd9def0b23ae29fd)

* FIX:The name of the material in the error prompt is empty

JIRA:STUDIO-4907
Change-Id: I3cf44f099256a51f21a44a89c89c000f734d1f36

* ci: update build version to 01.08.01.51

Change-Id: Ib20f5a12b65472102befec0a2adf82744fc29c46

* FIX: imgui textinput cannot paste on macos

jira: STUDIO-5070、STUDIO-5365

Change-Id: Iea8f41e12744ecda0fbb95c1a8f2e014a7cdc384

* FIX: not cache printer file list on error

Change-Id: I99843aedbf14d3d1d553ccac9b0bd26403274a82
Jira: none

* FIX: thread of close BBLUserPresetExceedLimit notify

Change-Id: I9698134ba1cc91fc83eac441f900d68c4c4b556a

* ENH: Resolve non manifold edges by fixing model interfaces

Jira: STUDIO-5124
Change-Id: I7ea86be44acb80b6c4762a76208b4a031acd0b27

* FIX:nozzle type sync

jira:[STUDIO-5248]

Change-Id: I63d48628832473d8d371ed643dc8528b00382531

* FIX: array bound happen in TriangleSelector::deserialize

Jira: STUDIO-5170
Change-Id: I92b72a887845b462fad208f13607293b44d3d333

* FIX:cropping rendering without considering assembly views

Jira: STUDIO-5260
Change-Id: Ia56cf80b305ae05f25f06ec277f85b3c5430a6df

* FIX: PA for custom filament not available in BL Studio

github: 2971
Change-Id: I6ccd36a183e7367d69557300f7242f5403f4bb33

* FIX: Bitmap is way too small on Mac

Jira: STUDIO-5393

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

* FIX: move shutdown wait to OnExit

Change-Id: I70d9a2bb686525ae5273aa9d63e25691da4ab65c
Jira: STUDIO-2884

* FIX: calibration manage result dialog issue on macos

jira: STUDIO-4949 STUDIO-5378

Change-Id: I00abefd45a0d274a4b68bb1ab18debe8f91d169e

* FIX: adjust bed shape dialog button UI style

fix that button text is hard to see in dark mode
jira: STUDIO-5247

Change-Id: I2cf5b3cdd2eff9b821bdf5525bec4f329fc58dd1

* FIX: 5331 rescale btn

Jira: STUDIO-5331

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

* FIX: support do not generate

jira:[NEW]

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

* FIX: remove not match printer config ota cache

Change-Id: Ib73fc2ea31fa2186061cfcb5a170bc59b9db84ca
Jira: none

* FIX:cancel the variable of "checkbox_size"  as a fixed value

Jira: STUDIO-5150
Change-Id: I30d876d141b8b35ab4a3fee4889993d87b7c1741

* ENH:add reset_cut_by_contours in on_load function

Jira:STUDIO-5269
m_connector_size_tolerance default value is 0.1f

Change-Id: I6c67fff3cb0c1190e9141ed6f68fbfa848679f35

* ENH:cancel EnterReturnsTrue for imgui in cut

Jira: STUDIO-5269
Change-Id: Ifc4b183a4e4c4fdb4f47742f14f70a1ed93fa056
Signed-off-by: zhou.xu <zhou.xu@bambulab.com>

* FIX: dailytips should not change content frequently when slicing all

jira: STUDIO-5234

Change-Id: Icb7e9c28404d9db8ebed58d937e13f89c5403b5c

* FIX: objectList clone shortcut key issue

jira: new

Change-Id: Ia75bf58a7d53f962e1af6c2fd97497270b7eea84

* ENH:handling cases without msgs

jira:[STUDIO-5401 STUDIO-5399]

Change-Id: Iae651d5a19a45b0138a6aa621326a8b4a9649824

* ENH: optimize param description

jira:[NEW]

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

* ENH: add translation

jira:[NEW]

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

* FIX: close edit preset paramsDialog, mac unresponsive

Jira: 5298

Change-Id: I021e00567354cfb1f2f5f1f2bf6ba1fc35b164c5

* ENH:disable AI monitoring on the p1p series

Change-Id: I514bb1fb1ced6c03dd619230a9adac3be63f2de2

* ci: update build version to 01.08.01.52

Change-Id: I9f5e30d3fc4b7ef9321c522d3c18fce98f03742f

* FIX: close edit preset paramsDialog, mac unresponsive

Change-Id: Ic816754a20b7f6a5cdb46475750eb301fec3ad3a

* FIX: organic support not work with raft only

There is no raft generated when only raft enabled but no support needed.
jira: none

Change-Id: Ic0c9269e2f98038d85c9bc54e4a85f892dc5d764

* FIX: CLI: add object config when assemble

JIRA: no jira
Change-Id: I945f820fb58f2f643170b4b0b66742f6bbbdfd29

* FIX: delete preset prompt

Jira: XXXX

Change-Id: I6511c806c56393d4f6bd72d1c506da59675d49ff

* FIX:Reorganize the assignment of variables of "m_editing_window_width"

Jira: STUDIO-5238
Change-Id: If369916f3f5c21510f5f297bfd05c1230bdda7a4

* ENH: CLI: re-compute flush_volumes_matrix when it is missed

Change-Id: Ie8f53c6bef003b1434de02ea14de5787b376484f

* FIX: some translation for delete filament

Change-Id: Ib46a8eba33f2e21016476aaab4a57a740e86b1b8

* FIX: scrolled window / del preset / edit filament issue

Jira: 5092
GitHub: 1936
edit filament: just one preset, the scroll bar obscures the preset name
edit filament: delete selected preset, click no, but preset be deleted
from UI
edit filament: serial sometimes displays incorrectly

Change-Id: Ibc91609e252179de0c05ca065099756da6631165

* ci: update build version to 01.08.01.53

Change-Id: I5563a2c0812ab9a0d7727df27e17e681066ffa08

* FIX: mistake in filament vendor

jira:[NEW]

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

* NEW:set customized materials for the A1 P1 series

Change-Id: I9c34f62867c074bf9ebb315013e5e40526e0eac7

* ci: update build version to 01.08.01.54

Change-Id: I579dcee428417ae7e7f7a96bd315a7066d72d974

* FIX: the flow rate ratio crashes after load model

for third party printer
Jira: 5244

Change-Id: Idd829c9d99eeba9d180653ac8de4e51b9a0d6370

* FIX: The maximum value is not printed in PA line mode

Jira: 5046  4951
Change-Id: Ic81f9a75ce7f088fe950fdde283ff5c942cd6e83

* ENH:add preset check for sending files

Change-Id: Ia3313d281b5ce91e277b380498014ffdac5debd3

* ci: update build version to 01.08.01.55

Change-Id: Ia839344d01a43f7159f376d4147337575c4edbe1

* FIX: locale loading user preset

Change-Id: I88521e4b10cb802d9253eb79a6b78b3286f15a33
Jira: STUDIO-5436

* FIX: sync user preset notify crash on exit

Change-Id: I88f5dbcbd487293ea847ea6092efb61744399541
Jira: STUDIO-5413

* ci: update build version to 01.08.01.56

Change-Id: Id7a9718d5f920da50d52fd2ef220acf5d3270d3c

* GUI/Field: Fix crash in color picker init (#2220)

wxButton->GetBitmap() may return an invalid wxBitmap.
Guard against this.

* FIX: custom filament preset display in cali history issue

jira: new

Change-Id: I4145450a231adff542ab1a7428b3479f4074e06a

* FIX: meshboolean transform result issue

jira: STUDIO-5425

Change-Id: If66fe909ce4458c1b3192e4fd8a3d758fe7c7eaa

* FIX: fix combobox and delete btn in filament setting enabled

Jira: XXXX

Change-Id: I8b659bd77ceb97c8cea9d3e5e931f4ea50822721

* ci: update build version to 01.08.01.57

Change-Id: I7a6f5439863ca81275ae8b80f1b5cf0bb36c4c0f

* unix: Use canonical mime-type for 3MF files

model/3mf is the canonical mime-type, but keep the
application/vnd.ms-3mfdocument alias.

See for details:
https://gitlab.freedesktop.org/xdg/shared-mime-info/-/merge_requests/179

* FIX: fix the compiling issue under windows

github: https://github.com/bambulab/BambuStudio/issues/3028
Change-Id: Iafde9d2086c0cd31aa12e39cef7ded1e19e9d3e7

* add: K1 and K1Max Support

* fix: Optimized STL and PNG for plates K1 & K1Max

* fix: simple version of models

* FIX: Close scan_first_layer when PA line cali

Jira: XXXX
Change-Id: Ide5c0038f4028b8f1d445a6b2d09b705d7872fb8

* FIX: CLI: fix the wipe tower disappear issue

JIRA: no jira
Change-Id: I547a8468b0bea06912d5d9ceee1c8deead85e28f

* FIX: the preset is the same with the first one when switching printers

Jira: STUDIO-5433

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

* FIX: [5504] Optimization description

Jira: 5540

Change-Id: I9379f2c69b6724ec1ef5294dd3c404b0e3189486

* FIX: [5451]Directly crash when memory is low

Jira: 5451

Change-Id: I5c75994e2bd556bec7ce8de6be44888e6924ff56

* ci: update build version to 01.08.01.58

Change-Id: I12b1e3ca6b07ed13f3ad42ab2f40b825cb84a8dc

* ENH: CLI: refine some logic

1. set wipe tower position to default when duplicate object
2. add cli_safe check logic when switch printers

JIRA: no jira
Change-Id: Iebe62f8be6acd6f44743abf3b0fe92ec04c94197

* ENH: CLI: allow height shrink when printer switch

to let the error generated at validate
JIRA: no jira

Change-Id: I94db90db858659a9254dfdc0a6eed04fd40d3768

* ENH: add support for A1

jira:[NEW]

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

* ENH: refine description of interface not for base

jira:[NEW]

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

* ENH: version: bumped to 1.8.2

Change-Id: Ic9acb5607ec94188112999afa41f2052281a08f1

* ENH: update some machine settings

1. Update A1 mini start  gcode
2. Update A1 load/unload filament time

jira:[NEW]

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

* ENH: support for head wrap detect

1.Add "in_head_wrap_detect_zone".Detect if the model projection enters
a specified area.

jira:[NEW]

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

* ENH: modify default head detect zone

1. Set default head detect to empty

jira:[NEW]

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

* ENH: change head wrap detect zone

Change to (156,156)-(180,180)

jira:[new]

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

* FIX:backup iterator location

Jira: STUDIO-5267
Change-Id: Id035c9225a858bb551aa4f09870fc4c6bb30b255

* NEW:compatible with p1p (plus)

jira:[p1p]

Change-Id: I7b30903dc0a728604c4f33c325aa79fd3bd08f68

* NEW:installed & supported p1p(plus)

jira:[pip plus]

Change-Id: I0a69f8629749e3076465b85f28aa39d5e7ae6277

* ENH: modify default head wrap detect zone

jira:[NEW]

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

* FIX: excpetion when plate center is negative

jira:[NEW]

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

* FIX: big window's scaling causes incomplete display

Jira: STUDIO-5530
Change-Id: I1d69e60658e49e43d4b3de718f2fd6739bab73ce

* ENH: update: remove the comment which is not used when updating preset

JIRA: no jira
Change-Id: Ic930eea50a7beb78aa6dc7c53fbb5c366857e825
(cherry picked from commit e0225fc147702cf73e6eda4830a2592c7598901c)

* FIX: wrong initial layer height in profile

jira:[NEW]

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

* NEW:add N2S picture and printers

JIRA: XXXX
Change-Id: Id8eddd9fafd07c967abfb1543c1b01ad8c0e1b0c

* ENH: rearrange machine pos on printer selection page

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

* ci: update build version to 01.08.02.51

Change-Id: I1985730c4ea29528a6f9b03f56c73131a07779b0

* ENH: some translations

Jira: STUDIO-5434

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

* ENH: do not cancel printing job when timeout

JIRA: STUDIO-5009

Change-Id: I067470173acc26d7ecd8ceb6f0e04ac7f03e3a4d
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit 7ab5817c7229c5179adca026ffacb97c2affd292)

* ENH: udpate A1 series gcode

1. Update A1 mini change layer gcode
2. Update A1 start gcode

jira:[NEW]

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

* ENH:After cutting,fix non manifold edges needed confirmed by user

Jira: STUDIO-5217
Change-Id: I52ba0db27ebe0b7b763c49311c7aa305bc4dcd5a

* ENH: linux: refine the d-bus name

github: #3075
Change-Id: Icf997f4f9203f4d429e3b6058d6d6e5f23bf29ac
(cherry picked from commit 5c766bff445cefee488ba9d057121b04c8e1445d)

* NEW:add "bed type to follow machine preset" function

Jira: STUDIO-5535
Change-Id: I2ef99a0a783a074d9379685adde11fddfd6f8cec

* NEW:add "default_bed_type"

Jira: STUDIO-5535
Change-Id: Ice1262937923b62854b0196229d5fb99392470af

* ENH:comment out two line code

Jira: STUDIO-5535
Change-Id: I5475e4f9ec6fb7e4abdb3d950da34fadead3b606

* ENH:translate three texts

Jira: STUDIO-5535
Change-Id: I00938567f0ae30bb354042769021451364bef308

* FIX: incorrect flag in A1 mini gcode

jira:[NEW]

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

* ci: update build version to 01.08.02.52

Change-Id: I2d8310b7321fefcb742d4cdbe5e4bc9a035ec45a

* FIX: Allow vendors that are not entirely numerical

github: #3082

Change-Id: I318f4df7f65c934ab6703e0970d775b754b24276

* ENH: update A1 series first layer speed

jira:[NEW]

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

* FIX: CLI: fix the wipe tower issue while mapping to one filament

JIRA: STUDIO-5550
Change-Id: I0b8d3af09d16bdfc45cdc5951d182f7e33dc9b93

* FIX: crash when support type and style are inconsistent

jira: STUDIO-5428
Change-Id: Ib1e79c71736810099e15282c30524e55e8f60f34
(cherry picked from commit aefb7fbaf25146c03bd2eb336f58ed2eb0e83ea6)

* NEW:display beta version

JIRA: XXXX
Change-Id: I78d748e53b266c3397b1c038c3425a52c573cc88

* FIX: slice error: WipeTowerIntegration::append_tcr

when print by object with multi-color
Jira: XXXX

Change-Id: Ic9ee2f6de45abb4a118fdb4cf89dea9ca7335094

* ci: update build version to 01.08.02.53

Change-Id: I980bff783b59fc6e9d6fd12a016c2daa2840991f

* FIX: remove duplicated profiles

jira:[NEW]

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

* FIX: translation: vendor can not be number

Jira: XXXX

Change-Id: I7bd45de944e8b25b30c88ab742b35d996c933966

* ci: update build version to 01.08.02.54

Change-Id: Ib83b131c533a03d6e48e9ded5e6f9ba574819756

* ENH: update A1 extruder clearance radius

jira:[NEW]

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

* ci: update build version to 01.08.02.55

Change-Id: I8d7016d27166b457e4cdc198b61e6aa36a72b8c1

* FIX: bed_type not follow machine preset

Jira: STUDIO-5578
when direct open project from https://makerworld.com/

Change-Id: I3281cf45e3057d766008487975b4585d2e277110

* ci: update build version to 01.08.02.56

Change-Id: I43cadeeb1a2fa150fa9396a63b9bc471da1500d5

* update strings

* autofix mesh after cut

---------

Signed-off-by: Kunlong Ma <kunlong.ma@bambulab.com>
Signed-off-by: maosheng.wei <maosheng.wei@bambulab.com>
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Signed-off-by: Stone Li <stone.li@bambulab.com>
Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Signed-off-by: zhou.xu <zhou.xu@bambulab.com>
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Signed-off-by: XunZhangBambu <xun.zhang@bambulab.com>
Co-authored-by: chunmao.guo <chunmao.guo@bambulab.com>
Co-authored-by: zorro.zhang <zorro.zhang@bambulab.com>
Co-authored-by: hu.wang <hu.wang@bambulab.com>
Co-authored-by: liz.li <liz.li@bambulab.com>
Co-authored-by: Kunlong Ma <kunlong.ma@bambulab.com>
Co-authored-by: maosheng.wei <maosheng.wei@bambulab.com>
Co-authored-by: gerrit <gerrit@bambulab.com>
Co-authored-by: tao wang <tao.wang@bambulab.com>
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
Co-authored-by: xun.zhang <xun.zhang@bambulab.com>
Co-authored-by: the Raz <rasmus@abc.se>
Co-authored-by: Andy <andylg@yandex.ru>
Co-authored-by: lane.wei <lane.wei@bambulab.com>
Co-authored-by: Arthur <arthur.tang@bambulab.com>
Co-authored-by: Stone Li <stone.li@bambulab.com>
Co-authored-by: enricoturri1966 <enricoturri@seznam.cz>
Co-authored-by: wenjie.guo <wenjie.guo@bambulab.com>
Co-authored-by: zhimin.zeng <zhimin.zeng@bambulab.com>
Co-authored-by: Dmytro Chystiakov <dlchistyakov@gmail.com>
Co-authored-by: mia <652892+mia-0@users.noreply.github.com>
Co-authored-by: Bastien Nocera <hadess@hadess.net>
Co-authored-by: qing.zhang <qing.zhang@bambulab.com>
2023-12-19 23:46:19 +08:00
Ocraftyone
75b1a30293 fix pwsh variable in CICD (#3188) 2023-12-19 16:07:30 +08:00
SoftFever
1a1760ffd9 Fix unicode path for nanosvg (#3179) 2023-12-19 11:15:44 +08:00
Noisyfox
cc06a2e83b Fix sidebar not shown when open 3mf file from command line arg (#3172)
* Show sidebar when open file from cmd

* Fix issue that sidebar collapse button is not enabled when load 3mf file with gcode
2023-12-19 11:15:26 +08:00
Olcay ÖREN
60a9b38404 Turkish words were edited. (#3184)
* Update OrcaSlicer_tr.po

New English terms were translated into Turkish.

* Update OrcaSlicer_tr.po

* Turkish language sentences were added.

* Turkish words were edited.

* Turkish words were edited.

* Turkish words were edited.

* Turkish words were edited.

* Turkish words were edited.
2023-12-19 11:09:05 +08:00
Noisyfox
871f163a32 Fix regression that shell is not rendered unless slice is completed (#3181)
* Fix issue that `is_update_alpha` doesn't work

* Fix regression that shell is not rendered unless slice is completed

* Format
2023-12-19 11:07:21 +08:00
Thomas
3ee42f42da Update OrcaSlicer_fr.po (#3177)
* Update OrcaSlicer_fr.po

Translated all remaining text that were not yet translated in French.

* Update OrcaSlicer_fr.po

Reverted slicer name.
2023-12-18 22:48:18 +08:00
SoftFever
0ab5601add Add "Cancel Objects" support for Prusa/Marlin/RRF firmware (#3164)
object cancel support for Prusa/Marlin/RRF
2023-12-18 04:21:55 +00:00
SoftFever
9c76cefde0 add hints to locale 2023-12-18 12:21:35 +08:00
Heiko Liebscher
5c9f7e24e5 fix Bamabu to Bambu (#3166)
* fix Bamabu to Bambu

* fix dup typo
2023-12-18 04:17:26 +00:00
SoftFever
9e3c393665 Move downloaded deps into DL_CACHE subfolder 2023-12-18 12:16:40 +08:00
Heiko Liebscher
9d5959c353 fix de and other localization files (#3159)
* fix de and other localization files

* Turkish words were edited. (#3161)

* Update OrcaSlicer_tr.po

New English terms were translated into Turkish.

* Update OrcaSlicer_tr.po

* Turkish language sentences were added.

* Turkish words were edited.

* Turkish words were edited.

* kor translation update (#3163)

* fix pot and de

* fix hints de
2023-12-17 22:39:14 +08:00
Lee Jong Mun
b2832270b3 kor translation update (#3163) 2023-12-17 22:05:03 +08:00
Olcay ÖREN
78090aa02a Turkish words were edited. (#3161)
* Update OrcaSlicer_tr.po

New English terms were translated into Turkish.

* Update OrcaSlicer_tr.po

* Turkish language sentences were added.

* Turkish words were edited.

* Turkish words were edited.
2023-12-17 22:04:09 +08:00
SoftFever
522b8485aa Fixed a regression that non spiral vase mode was broken. #3091 2023-12-17 20:27:46 +08:00
andrewboktor
9acd550a9c Full re-write of spiral vase (#3091)
* Practically full re-write of spiral vase
- Adds transition out to prevent sharp edge at the top of spiral vase.
- Adds XY interpolation
- Adds option to turn XY interpolation on/off

* - Increasing E to 5 decimal digits (I observed uneven flow with less than that)
- Excluding all travel moves (I saw a bug where somehow we ended up with travel moves within the print so excluding all travel moves)

* - max_xy_smoothing is now configurable, default is 200% of nozzle_diameter
- fixed no-op travel moves in the middle of spiral that now show up as defects when Smooth Spiral is enabled!

* - Avoiding namespace pollution
- Fixing dist_XY == 0 bug

---------

Co-authored-by: Andrew Boktor <aboktor@microsoft.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-17 13:48:21 +08:00
SoftFever
995ed049cb Revert "Do not limit the max window size (#2889) (#3142)"
This reverts commit fe80dc6ca6.
2023-12-17 09:01:59 +08:00
SoftFever
dea7f419cf Revert "Fix window maximize when task bar is on the left. (#3148)"
This reverts commit 0f87fdb98b.
2023-12-17 09:01:52 +08:00
Noisyfox
0f87fdb98b Fix window maximize when task bar is on the left. (#3148)
Partially revert fe80dc6
2023-12-16 15:31:10 +00:00
SoftFever
183f8fb012 update locale 2023-12-16 22:41:45 +08:00
SoftFever
1929fb0e18 Tweak dailytip: remove images/added a few new tips 2023-12-16 22:41:36 +08:00
Noisyfox
fe80dc6ca6 Do not limit the max window size (#2889) (#3142) 2023-12-16 14:25:28 +00:00
Ioannis Giannakas
712c28251c Updated wipe logic to respect retraction speed during wiping (#3094)
* Wipe retraction adjusted based on available wipe distance and retraction speed

* Wipe Improvements: Removed debug code, removed retract before wipe and made the respect retract speed an option.

* Wipe improvements: Spelling & grammar

* Revert "Wipe improvements: Spelling & grammar"

This reverts commit c8f8612b3f.

* Revert "Wipe Improvements: Removed debug code, removed retract before wipe and made the respect retract speed an option."

This reverts commit ba515ffb62.

* Wipe improvements: Using retraction before wipe parameter to judge when to do excess retraction

* Wipe Improvements: Floating point comparison check

* Wipe Improvements: Refactoring the code

* Wipe Improvements: Updated Wipe Distance tool tip

* Wipe Improvements: Removed redundant code

* Wipe Improvements: Use unscale_
2023-12-16 13:54:03 +00:00
Noisyfox
7b6dbfdbcc Fix checking is volume svg (#3129)
(cherry picked from commit prusa3d/PrusaSlicer@f31d7f1d8c)

Co-authored-by: Filip Sykala - NTB T15p <Filip.Sykala@Prusa3D.cz>
2023-12-15 22:59:17 +08:00
SoftFever
1e7300a476 Update M106 macro for auxiliary fan. fix is by @IntenseWiggling from PR #3133 2023-12-15 22:57:27 +08:00
IntenseWiggling
de0f5c9d1e Fix value passed to SPEED in air-filteration.md macro. (#3133)
Fix value passed to SPEED

The SPEED parameter of SET_FAN_SPEED needs to be between 0.0  and 1.0. Since the S param, which is between 0 and 255, was being passed as is to SPEED, it effectively resulted in the target fan running at 100% if any value > 0 was passed to M106.
2023-12-15 22:54:16 +08:00
Seth LaForge
3ca290d503 Improve ExtrusionLine::simplify, eliminating many very-short extrusion segments which led to blemishes in thin-wall models sliced with Arachne (#3014)
Improve toolpath simplification to avoid blemishes when using Arachne on thin walls.

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-15 02:46:33 +00:00
Alex Khalilieh
41f0e4d1ce Adds rotate on stl import (#3116)
* Adds rotate on stl import

* Fixed comma placement

* update location of rotate variables

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-15 00:59:35 +00:00
SoftFever
dc840ea451 update some profiles 2023-12-14 19:46:17 +08:00
Ioannis Giannakas
0a31b33b2b Fix #2662 - "Extra length on restart" setting is ignored when wipe is enabled (#3065)
Fix #2662
2023-12-13 22:16:39 +08:00
SoftFever
fa9148670c Update dependencies for compiling Orca on Mac 2023-12-13 20:59:34 +08:00
SoftFever
7393d61e8d Neptune4 profile updates, support preview image and some setting changes 2023-12-13 20:55:19 +08:00
SoftFever
dad0f348ab Update QIDI profile to display preview images on printer's monitor. 2023-12-13 18:27:02 +08:00
SoftFever
58e43ccb39 Fix a regression that thumbnails were not zoomed properly 2023-12-13 18:13:25 +08:00
Ev
d75bac2f01 make fan percentages a float (#3087)
makes fan percentages an int.

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-12 21:56:20 +08:00
SoftFever
103d778e63 Fix false "The 3mf has following modified G-codes in filament or printer presets" warning when loading a project 2023-12-12 19:24:31 +08:00
SoftFever
057926f957 Reuse bed model across Voron 2.4 and Trident 2023-12-11 22:52:41 +08:00
SoftFever
dd5fd06356 Add ColPic encoding for thumbnails(;gimage/;simage) as metadata.
This will enable showing preview images on QIDI/Elegoo machines
2023-12-11 22:27:40 +08:00
SoftFever
ae8995fec2 update user agent 2023-12-11 22:20:42 +08:00
Dylan
62bd10a27c Disable the cooling moves for snapmaker printers (#3081)
disable the cooling moves for snapmaker printers
2023-12-11 22:04:24 +08:00
StdVectorBool
2174cd6999 FIX: K1/Max profiles use consistently higher accelerations (#3052)
* FIX: K1/Max consistently increase Default accel to match Creality.

* FIX: K1/Max consistently decrease initial_layer_acceleration.

* FIX: K1/Max consistently increase Top accel to match Outer Wall quality.

* FIX: K1/Max consistently increase Travel accel instead of inherited slow default.

* More tweaks

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-11 22:03:09 +08:00
Nevax
fdd42eccd2 add bed models for voron 2.4 variants (#3075)
Credits to ldo for 3d models.
https://github.com/MotorDynamicsLab/LDOVoron2/tree/main/Slicer/PlateModels
2023-12-11 22:01:43 +08:00
SoftFever
e70da30753 Fixed a regression issue that wrong accel was used for PA Line 2023-12-10 21:21:12 +08:00
Ioannis Giannakas
9e10266646 Updated PA test to address crash when default line width was zero (#3055)
Updated PA test address "bug" #3043
2023-12-10 09:57:50 +08:00
SoftFever
b218d81d38 Fix btt tft thumbnail regression (#3056)
fix btt tft thumbnail regression
2023-12-10 09:56:40 +08:00
Noisyfox
933aa3050b Port Emboss & SVG gizmo from PrusaSlicer (#2819)
* Rework UI jobs to make them more understandable and flexible.

* Update Orca specific jobs

* Fix progress issue

* Fix dark mode and window radius

* Update cereal version from 1.2.2 to 1.3.0

(cherry picked from commit prusa3d/PrusaSlicer@057232a275)

* Initial port of Emboss gizmo

* Bump up CGAL version to 5.4

(cherry picked from commit prusa3d/PrusaSlicer@1bf9dee3e7)

* Fix text rotation

* Fix test dragging

* Add text gizmo to right click menu

* Initial port of SVG gizmo

* Fix text rotation

* Fix Linux build

* Fix "from surface"

* Fix -90 rotation

* Fix icon path

* Fix loading font with non-ascii name

* Fix storing non-utf8 font descriptor in 3mf file

* Fix filtering with non-utf8 characters

* Emboss: Use Orca style input dialog

* Fix build on macOS

* Fix tooltip color in light mode

* InputText: fixed incorrect padding when FrameBorder > 0. (ocornut/imgui#4794, ocornut/imgui#3781)
InputTextMultiline: fixed vertical tracking with large values of FramePadding.y. (ocornut/imgui#3781, ocornut/imgui#4794)

(cherry picked from commit ocornut/imgui@072caa4a90)
(cherry picked from commit ocornut/imgui@bdd2a94315)

* SVG: Use Orca style input dialog

* Fix job progress update

* Fix crash when select editing text in preview screen

* Use Orca checkbox style

* Fix issue that toolbar icons are kept regenerated

* Emboss: Fix text & icon alignment

* SVG: Fix text & icon alignment

* Emboss: fix toolbar icon mouse hover state

* Add a simple subtle outline effect by drawing back faces using wireframe mode

* Disable selection outlines

* Show outline in white if the model color is too dark

* Make the outline algorithm more reliable

* Enable cull face, which fix render on Linux

* Fix `disable_cullface`

* Post merge fix

* Optimize selection rendering

* Fix scale gizmo

* Emboss: Fix text rotation if base object is scaled

* Fix volume synchronize

* Fix emboss rotation

* Emboss: Fix advance toggle

* Fix text position after reopened the project

* Make font style preview darker

* Make font style preview selector height shorter

---------

Co-authored-by: tamasmeszaros <meszaros.q@gmail.com>
Co-authored-by: ocornut <omarcornut@gmail.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-09 22:46:18 +08:00
Ioannis Giannakas
7a8e1929ee Fixed a bug that caused curled edge detection not to work as expected for left facing edges when using Arachne. Enabled fan speed control for curled overhangs (#3034)
* Update malformation distance factors (curled edge detection)

* Updated curled detection logic from latest prusa 2.7 release, including updated estimate_points_properties algorithm

Updated curled detection logic from latest prusa 2.7 release, including updated estimate_points_properties algorithm

* Curled distance expansion const introduction

* Enable overhang fan speed logic for curled edges slow downs

* Reverted erroneous change
2023-12-09 09:17:49 +00:00
Jim Broadus
325009bc48 Fix build error with CGAL 5.6 with -std=gnu++17 on Fedora (#3045)
Fix build with CGAL 5.6

Surface_mesh iterators no longer return references, so it's necessary to
use const references or copies when iterating.
2023-12-09 09:14:20 +00:00
Olcay ÖREN
a8f69377df Turkish language sentences were added for web wizard. (#3047)
* Update OrcaSlicer_tr.po

New English terms were translated into Turkish.

* Update OrcaSlicer_tr.po

* Turkish language sentences were added.
2023-12-09 08:42:05 +00:00
Noisyfox
59164bff88 Various fix & improvements to collapse sidebar (#3044)
* Fix sidebar collapse button color in dark mode

* Make collapse button half the size

* Add tooltip to sidebar collapse button

* Don't trigger sidebar collapse hotkey twice

* Fix sidebar disable on gcode-only mode
2023-12-09 08:41:09 +00:00
Noisyfox
f598a1209a Only regenerate bed triangles if actually changed (#3039)
* Remove unused bed texture

* Only regenerate bed triangles if actually changed
2023-12-09 08:40:04 +00:00
SoftFever
d24aef36ae set osx deployment target for openssl 2023-12-09 14:08:19 +08:00
SoftFever
ccd3c44fab fix mac build pack error 2023-12-09 00:34:54 +08:00
Ioannis Giannakas
1c6f2c6817 Merge upstream BBL changes up to 5th Dec (01.08.01.57) & fix issues with 1.8 BBL merge (#2994)
* FIX: mistake in filament vendor

jira:[NEW]

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

* NEW:set customized materials for the A1 P1 series

Change-Id: I9c34f62867c074bf9ebb315013e5e40526e0eac7

* FIX: the flow rate ratio crashes after load model

for third party printer
Jira: 5244

Change-Id: Idd829c9d99eeba9d180653ac8de4e51b9a0d6370

* FIX: The maximum value is not printed in PA line mode

Jira: 5046  4951
Change-Id: Ic81f9a75ce7f088fe950fdde283ff5c942cd6e83

* ENH:add preset check for sending files

Change-Id: Ia3313d281b5ce91e277b380498014ffdac5debd3

* FIX: locale loading user preset

Change-Id: I88521e4b10cb802d9253eb79a6b78b3286f15a33
Jira: STUDIO-5436

* FIX: sync user preset notify crash on exit

Change-Id: I88f5dbcbd487293ea847ea6092efb61744399541
Jira: STUDIO-5413

* ci: update build version to 01.08.01.56

Change-Id: Id7a9718d5f920da50d52fd2ef220acf5d3270d3c

* GUI/Field: Fix crash in color picker init (#2220)

wxButton->GetBitmap() may return an invalid wxBitmap.
Guard against this.

* FIX: custom filament preset display in cali history issue

jira: new

Change-Id: I4145450a231adff542ab1a7428b3479f4074e06a

* FIX: meshboolean transform result issue

jira: STUDIO-5425

Change-Id: If66fe909ce4458c1b3192e4fd8a3d758fe7c7eaa

* FIX: fix combobox and delete btn in filament setting enabled

Jira: XXXX

Change-Id: I8b659bd77ceb97c8cea9d3e5e931f4ea50822721

* ci: update build version to 01.08.01.57

Change-Id: I7a6f5439863ca81275ae8b80f1b5cf0bb36c4c0f

* Fix crashing of flow rate calibration post BS 1.8 merge

* Revert Staggered Inner Seam logic from Prusa slicer that was overwritten by the BS1.8 update

---------

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Co-authored-by: xun.zhang <xun.zhang@bambulab.com>
Co-authored-by: hu.wang <hu.wang@bambulab.com>
Co-authored-by: zhimin.zeng <zhimin.zeng@bambulab.com>
Co-authored-by: tao wang <tao.wang@bambulab.com>
Co-authored-by: chunmao.guo <chunmao.guo@bambulab.com>
Co-authored-by: gerrit <gerrit@bambulab.com>
Co-authored-by: mia <652892+mia-0@users.noreply.github.com>
Co-authored-by: liz.li <liz.li@bambulab.com>
Co-authored-by: maosheng.wei <maosheng.wei@bambulab.com>
2023-12-08 10:27:24 +00:00
Noisyfox
7cfa4f3bcd QoL: Make sidebar collapsible, resizable, movable, floatable and dockable (#2972)
* Add sidebar docking

* Fix sidebar initial size

* Fix sidebar collapse

* Hide floating sidebar when switch away from model view

* Add option to reset window layout

* Save & load window layout

* Fix a small issue with gcode toggle

* Properly save & restore sidebar state

* Show collapse icon based on sidebar docking state

* Adjust toolbar position based on docking position

* Fix return toolbar position

* Fix plate list position
2023-12-08 09:16:16 +00:00
Thomas
3d2ab8e2e2 French language update (#3019)
* French language update

Imported FR strings from Bambustudio to keep same strings.
Fixed a syntax error.
Added missing translations.

* Update OrcaSlicer_fr.po

Changed mention to Bambu Studio, updated name to OrcaSlicer (1 word instead of 2 like before)
2023-12-07 11:34:11 +00:00
Dylan
63d46c5c83 Update snapmaker files (#3009) 2023-12-06 22:40:15 +08:00
Olcay ÖREN
77e0c164e8 Update OrcaSlicer_tr.po (#3017)
* Update OrcaSlicer_tr.po

New English terms were translated into Turkish.

* Update OrcaSlicer_tr.po
2023-12-06 22:02:52 +08:00
Lee Jong Mun
ca4c75f577 kor translation update (#2991)
fix

remove c-format

fix typo

fix
2023-12-06 22:02:28 +08:00
Fabio Forcina
7030ec55cf Italian translation update (#3006)
Some corrections and updating to version 1.8.1
2023-12-05 22:47:48 +08:00
SoftFever
685de31088 Revert "Add a simple subtle outline effect by drawing back faces using wireframe mode (#2934)"
This reverts commit 0cee513416.
2023-12-05 22:05:11 +08:00
Armael
f0e35839fb Update OrcaSlicer_ru.po (#3007)
Misprint in translation
2023-12-05 21:56:43 +08:00
Trist0ne
a850cd9f3f HOTFIX: Fixed T500 broken fdm_process file and added new build plate texture (#2999)
Fixed broken fdm_process file and added new build plate texture
2023-12-05 21:56:13 +08:00
Kalooth
dae9d62be5 Initial add of Neptune 4 Plus profile (#2980)
* Initial add of N4Plus profile

Still some tuning to get it "right" but way better than nothing or just copying the Max profile.

* Fixing machine_start and manual filament change

Adding PRINT_START to the machine_start_gcode
Adding manual_filament_change override to True since this printer doesn't have automatic filament change.

* Adjusting accelerations and removing Z-Hop

Bumping accelerations to stock levels for all sizes and removing Z-Hop by default.

* Adding Z-Hop back in to be safe

Getting more stringing with Z-hop on but also rubbing prints during some moves.

* Removing print_start and lower accels a little

PRINT_START is automatically called on this printer so removing it from machine start gcode
Lowering accelerations a tiny bit. May bump it back up later but wanted a safer value.
2023-12-05 21:35:34 +08:00
Ioannis Giannakas
82cb9e3565 QOL: Dev 1.9 - Regroup Advanced Quality Options (#2962)
* Dev 1.9 - Regroup Advanced Quality Options

* Regroup Advanced Quality Options

* Regroup advanced quality options and flow rate labels

* Updates labels for consistency. Renamed Order of walls to Walls printing order. Updated walls printing order and print infill first tooltip

* Another option spelling mistake

* Another spelling mistake part 2

* Updated localisation files

* Updated de localisation file post upstream merge to resolve conflicts

* Fix merge error when transferring change to branch.

* update locale file for one more message

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-05 21:23:31 +08:00
Dylan
1998ec41c5 Update Snapmaker profiles (#2939)
* fix printing parameters for Snapmaker printers

* update

* Update Snapmaker profiles

* update end gcode
2023-12-05 21:08:48 +08:00
SoftFever
d45ac9201d create debug folder automatically 2023-12-05 20:55:42 +08:00
SoftFever
7699dbb272 fix an issue that image is not showen in precise wall wiki 2023-12-05 20:55:42 +08:00
SoftFever
9e63d42444 Sign app and notary Mac build for Release branches 2023-12-05 20:55:42 +08:00
Ocraftyone
25a055491e Update wxWidgets to v3.2.1 (#2905)
* Upgrade wxWidgets to 3.2.1
Based on prusa3d/PrusaSlicer@9a7e024

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

* Implement BitmapCache

* update wxExtensions while keeping legacy items

* update dc.DrawBitmap calls to use get_bitmap

* Fix GetSize/Width/Height calls

* update BitmapComboBox

* fix ifndef in wxExtensions.hpp

* update my todos to OcraftyoneTODO

* Get to a compilable state
Everything seems to be working (including the plater). I am not seeing any graphical issues

* fix extruder color icons

* fix crash on opening support tab

* remove GetBmpSize method from DropDown.cpp

* Update TextInput to use bitmap bundles

* update a TODO after testing

* fix the rendering of the icons on combobox

* fix a few todos

* fix WipeTowerDialog.cpp

* Overhaul WipeTowerDialog

Removed simple version of the dialog since BBS removed the functionality but left the code.
Center the table (only seen when the table is smaller than the minimum size of the dialog)
Fix issue where editing a value causes the m_min_flush_label to change colors slightly
Fix an issue where changing a value or running an auto calc changes the disabled value from "-" to "0"

* update a few todos

* Update some todos

* Show dropdown when editing is started

* Update NanoSVG.cmake

Update NanoSVG to work with PR #2780

* Dim the icon on ComboBox when disabled

* solve ObjectDataViewModel todos

leaving colPrint and colEditing cases alone as it does not seem to impact anything

* Update names in wxExtensions

-Rename msw_rescale to sys_color_changed
-Replace GetBmpSize, GetBmpWidth, GetBmpHeight with renamed version (same name without "Bmp")

Both of these changes were also made by PrusaSlicer.

Original Commit: Prusa3D/PrusaSlicer@066b567
Co-authored-by: YuSanka <yusanka@gmail.com>

* update BitmapCache::from_svg

disable finding bundle in the cache to match load_svg
update to match values used in load_svg

* Update ScalableButton

change the signature and remove functions/vars pertaining to a default bmp
fix TODOs in ScalableButton

Original Commit: Prusa3D/PrusaSlicer@066b567
Co-authored-by: YuSanka <yusanka@gmail.com>

* fix up some more todos in wxExtensions

* update ScalableBitmap to use bmp bundles

use wxBitmapBundle by default
add flag to use old scaled bitmap function (specifically to solve issue with advanced toggle)

* attempt to fix macos deps build

* fix ubuntu build

* Revert "attempt to fix macos deps build"

Mistakenly made change to wrong file

This reverts commit d9c20b5121.

* update wxWidgets patch

an attempt to fix macOS build

* Remove duplicate variable from OrcaSlicer.cpp

* Fix macOS build issue

* Fix blank DataViewItem being added to objects list

* Filament ComboBox editor updates

-Add show drop down feature to ObjectTable
-Call finish editing when ComboBox is closed in ObjectList

* remove Apple specific declarations missed during refactor

* delete old wxWidgets patch

* fix ubuntu seg fault

* include patch from #2926

* update patch to include wxWidgets/wxWidgets@991a74c

* fix deps not compiling on Windows

* update WipeTowerDialog

relocates the recalculate button back to its previous position
changes the wording of the tip message label
add spacing below the matrix

* finish patching wxWidgets

from prusa3d/PrusaSlicer@f8477d1 and prusa3d/PrusaSlicer@066b567

Co-authored-by: YuSanka <yusanka@gmail.com>

* fix combobox crash

* revert outside plate changes

---------

Co-authored-by: tamasmeszaros <meszaros.q@gmail.com>
Co-authored-by: YuSanka <yusanka@gmail.com>
2023-12-04 15:21:49 +00:00
Paul
0bf65aa217 Additional Nozzles for the Creality Ender-5 Pro (2019) (#2964)
* Add 0.6mm Nozzle Configurations for CE5Pro

* Add 0.5mm Nozzle Configurations for CE5Pro

* Add Nozzle Size Printer Variants 0.2-1.0mm

* Add 0.3mm Printer Variant

* Add 0.5mm Printer Variant

* Fix: 0.6mm Printer Variant

* Add Remaining Printer Variants

* Add CE5Pro Nozzles to list of Compatible Filament

* Add Generic FDM Process for Creality 0.3 Nozzle

* Update Generic FDM Process for Creality 0.6 Nozzle

* Add FDM Process for Remaining Creality Nozzle

* Add Processes For CE5Pro 0.8mm Nozzle

* Add Processes For CE5Pro 1.0mm Nozzle

* Add Processes For CE5Pro 0.2mm Nozzle

* Fix Initial Layer Settings

* Add Processes For CE5Pro 0.25mm Nozzle

* Add Processes For CE5Pro 0.3mm Nozzle

* Remove Profiles Outside their Min/Max Layer Height

* Update CE5Pro 0.4 Nozzle Naming Scheme to PR1100

* Update CE5Pro 0.2 Nozzle Naming Scheme to PR1100

* Update CE5Pro 0.25 Nozzle Naming Scheme to PR1100

* Update CE5Pro 0.3 Nozzle Naming Scheme to PR1100

* Update CE5Pro 0.5 Nozzle Naming Scheme to PR1100

* Update CE5Pro 0.6 Nozzle Naming Scheme to PR1100

* Update CE5Pro 0.8 Nozzle Naming Scheme to PR1100

* Update CE5Pro 1.0 Nozzle Naming Scheme to PR1100

* Incl. Remaining Base Config That Diff Is Based On

* Remove whitespace

* Revert from Nozzle Naming Scheme in PR1100

* Update Nozzle Names

* Revert "Incl. Remaining Base Config That Diff Is Based On"

This reverts commit 87e15d621b.
These settings were already captured by fdm_process_creality_common.json

* Fix Indentations
2023-12-03 12:02:03 +08:00
SoftFever
d22a7254c4 Fix precise wall for Arachne wall generator (#2966)
Update WIKI for it
2023-12-03 09:43:18 +08:00
Heiko Liebscher
8f660f5b6a fix typo "Improt Preset" and add new de for 1.9dev (#2968)
Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-12-03 09:42:58 +08:00
Ioannis Giannakas
b86b077075 Dev 1.9 - Fix Spelling Mistake on Create Printer dialog box (#2961)
* Fix Spelling Mistake on Create Printer dialog box

* Dev 1.9 - Regroup Advanced Quality Options

* Revert "Dev 1.9 - Regroup Advanced Quality Options"

This reverts commit 6ffae875f0.
2023-12-03 09:38:17 +08:00
stew675
ab2a2d5725 Add zhop to PA pattern (#2952)
The current PA pattern implementation does not lift the nozzle
when moving.  The way the pattern is drawn means that the nozzle
is often dragged over already printed lines, which can pull the
pattern off the bed, or damage the lines already drawn. As a
result I often see failed prints with the PA pattern, or moderate
damage to already drawn lines.
This change adds a 1 layer hop between each move to eliminate
nozzle drag.
2023-12-03 09:37:33 +08:00
Noisyfox
a6c927d87f Add option to disable emitting M73 gcode (#2114) (#2940) 2023-12-03 09:36:27 +08:00
Noisyfox
0cee513416 Add a simple subtle outline effect by drawing back faces using wireframe mode (#2934)
* Add a simple subtle outline effect by drawing back faces using wireframe mode

* Show outline in white if the model color is too dark

* Make the outline algorithm more reliable

* Enable cull face, which fix render on Linux

* Fix `disable_cullface`
2023-12-03 09:27:03 +08:00
SoftFever
2745575dd2 bump version to 1.9.0-dev 2023-12-02 13:03:47 +08:00
SoftFever
c6bf6ec15c update locale 2023-12-02 13:03:09 +08:00
SoftFever
bfd8ac6e40 Improve PA calibration Line method so it works for bed origin not in (0,0)
(cherry picked from commit f0522065d8)
2023-12-02 12:53:43 +08:00
SoftFever
cd1be11458 thick internal bridges (#2954)
(cherry picked from commit f2f2ede5d5)
2023-12-02 12:53:34 +08:00
SoftFever
be91ae6ebe disable misleading 3mf version warning
(cherry picked from commit b4b9805383)
2023-12-02 12:53:11 +08:00
Ioannis Giannakas
643476084a Feature Merge: Fix missing options on print window (#2951)
Fix missing options on print window - Feature merge
2023-12-02 04:51:28 +00:00
Ioannis Giannakas
205bf5db3f Feature Merge: Fix for inner-outer-inner mode post BBS feature merge (#2949)
Fix for inner-outer-inner mode post BBS feature merge
2023-12-02 04:51:14 +00:00
SoftFever
f899025363 Revert "Adding new nozzle profiles for the Creality Ender-5 Pro (2019) (#2817)"
This reverts commit eab8139d3c.
2023-12-02 10:24:12 +08:00
Ioannis Giannakas
ae9a2d5929 Updated internal bridging flow change and reverted bridge PR (#2943)
Updated internal bridging flow change & reverted bridge PR
2023-12-01 15:50:58 +00:00
Ocraftyone
6ba1e6d6ae Set PointerAlignment to Left (#2948)
A lot of the codebase that I have seen typically uses a left justified pointer character. This would update the formatter to also follow that.
2023-12-01 15:32:48 +00:00
SoftFever
3923b9c846 Improve arc fitting when new overhang slowdown is used (#2942) 2023-12-01 15:13:26 +00:00
SoftFever
d8dd8fa634 Feature/bs1.8beta (#2844)
* ENH: Show Recent File Image Keep Scale

Change-Id: Ib8a6cf916eaee8e353bf858bc4f2ea503705809e

* FIX: wipetower position problem

jira: STUDIO-4914

Change-Id: I7b05d3c53931ed8ce3d4603ff21ee6ef675611e5

* FIX: dailytips adapts screen scale

jira: STUDIO-5019 STUDIO-5026 STUDIO-5027 STUDIO-5028 STUDIO-5025

Change-Id: I63d3af1870218ba8e0f048a6ef03fb29fabe27cb

* FIX: generate process preset based on template

Jira: XXXX

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

* FIX: object list plate name edit

Change-Id: I61d3dcd7d9598d759a3a0b44cc77d2af2adca25a
Jira: STUDIO-4937

* ENH:no longer checking nozzle type

jira:[for nozzle type check]

Change-Id: I0e88445a264f21b0c11519e9a22a165d05611d14

* ENH: improve first layer tree support

First layer support can't be top interface, and
min brim width of auto mode should be larger
than 0.

Jira: STUDIO-5010
Change-Id: I02f8b017b535f8a47965387e8679f692b1966e04
(cherry picked from commit 3e7d54abe352e8ab5f9d6492b5a86a96f9067f94)

* ENH: version: bumped to 1.8

JIRA: no jira
Change-Id: I50903098b59f1dd9a6b6cf7656cec7d388f3ff17

* ENH:try again after subscription failure

jira:[Try again after subscription failure]

Change-Id: Ibfb1e8e26eb166d786a372632a86ef98030db034

* ENH:display msg dialog once

jira:[for http error msg]

Change-Id: I12e9c155fdb567cac99c35b6feeef650269ba75d

* ENH:remove config.json file

Change-Id: Idfcf3a63fefe968e88153c26fb691fd05cd83dc4

* ENH:add protection in threads

jira:[for random crash]

Change-Id: I6286012dd77abccba461f7cd72a6fc531a84c95f

* FIX: add protection for get_model_task_thread thread

Jira: XXXX

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

* FIX: delete all compatible presets when delete third printer

Jira: XXXX

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

* ci: update build version to 01.08.00.51

Change-Id: I20a01adacbdb5fe69c106b9efd029f7308136e10

* ENH: default open support_interface_not_for_body

jira:[NEW]

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

* ENH:modified text with too low version

jira:[for low version]

Change-Id: I862a0defda976a35f326a8805e002330f2ed7fdf

* NEW:update printer config file version

Change-Id: I9a46b29b03beb67a3da0b8f76d8b5c4b3c482928

* FIX:The plane should rotate around the world coordinate system

Jira: STUDIO-5054
Change-Id: I16e484b38d79cabd9473acf1abf3c5c6b0adc4c6

* ENH:translate for limit file size and so on

Jira: STUDIO-5007
Change-Id: I2c279eb690841aa51cd8128f8028266cbc17e977

* ENH:use on_render_rotate_gizmos() replace GLGizmoRotate3D::on_render()

Jira: STUDIO-4227
Change-Id: If9b9ea5596e59472d5fa87ac56aeb7f6ecc65643

* FIX: some mistakes in filament profiles

jira:[NEW]

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

* FIX: fix shard_ptr is null

Change-Id: I0187cf64ffbb08a2265a11900b5c865e9ac9678f

* FIX:N1 printer image in dark mode

JIRA:STUDIO-4057
Change-Id: I22c001d96839daf213d5096f6ff6e3d6398fa8c4

* FIX: create printer issue

Jira: 5034 5059 5053
5034 create printer but filament is repeat
5039 create successful dialog remove to center
5053 create existing printer copywriting adjustments and preset updates
Delete printer secondary confirmation dialog

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

* ENH:just don't check the nozzle diameter

jira:[for nozzle check]

Change-Id: I678e7d62832eaa14b9be47d6dce70f29ebd601f6

* NEW:p1 and x1 series added motor noise calibration

JIRA: 5085
Change-Id: Id73cc2d34b6130f215d81ffcdc39ba6b241445bf

* ci: update build version to 01.08.00.52

Change-Id: I93d800b413f2751d132fac53fbd9b191603d0352

* FIX: ObjectSetting changed when search plate

JIRA: STUDIO-5095

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

* FIX: invalid support params in 3rd party profiles

Many params are not right.Just use default

jira:[NEW]

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

* ENH: update A1 mini start gcode

Change x-axis freq sweep amp 5->10

jira:[NEW]

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

* FIX: [STUDIO-4946] use utf8 path to create sub process

Change-Id: I5873c114e8cd36978a7d50bf13c3aa7bf8b740ca
Jira: STUDIO-4946

* FIX: fix a plate state not correct issue

JIRA: no-jira
the object and instance states lost after undo

Change-Id: I527df9a7d426d994501a4ed5bbb198c7bbac810b

* FIX: some translation

Jira: 5096 5089 5036 5004

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

* FIX: [STUDIO-4935] plate name edit in object list

Change-Id: I271fa217281d0c7ceca61166497136628a66681e
Jira: STUDIO-4935

* FIX: take custom root as AMS sync candicate

Change-Id: I9c71babcd74238d1533b15d77a978b19997c70c0
Jira: none

* FIX: modify some default support params in code

1. Modify default values of some supports params, so 3rd party profiles are easier to setup.
3. Fix a bug that organic support may cause crash.

Jira: none

Change-Id: Icae348d8fe5985f4287404e96089198a499283f2
(cherry picked from commit 8889cfc703b72e142f288e525b89c87619f2213c)

* FIX: do not generate sheath for normal support

Jira: none
Change-Id: I8f3f3e39171055f8d18c06ceee8e245594273238
(cherry picked from commit 93bc7ecf4346f179f502bebc3cf47b0030b56e2c)

* FIX: push_notification on GUI thread

Change-Id: Iaec347f5684fe0f65d6418759518189b67033c42
Jira: STUDIO-5106

* ENH: CLI: add some params to support more functions

1. uptodate_filaments to support update the original filaments to newest config
2. allow_rotations/avoid_extrusion_cali_region for auto-arrange
3. skip_modified_gcodes to support skip modified gcodes

JIRA: STUDIO-5112
Change-Id: I95c09af1b5462cce3bf27aea32228d6d1d1d201d

* FIX: missed manually entered values for secondary processing

Jira: STUDIO-4964
Change-Id: I5cf0da1ae77cccd34de05b4a0318a751ac9f6753

* FIX: Z hop is still enabled when upper boundary is zero.

Jira: STUDIO-4893

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

* ENH: update default filaments for Bambu printers

jira:[NEW]

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

* ENH: dailytips modification

1. modify closing behavior
2. dailytips can adjust self size according to the canvas size. And also adjust
   GodeViewer legend window size
3. fix a button text encoding bug
4. support vertical/horizontal layout(horizontal layout currently not used)

jira: new

Change-Id: I8e0b6e85c455d0608d7388fb441829c1991ad01f

* FIX: [4857 5097] export list and del preset two confirm issue

Jira: 4857 5097

Change-Id: If7cc4967a663f575527a227e9c4ac31e0491930c

* FIX: UUID conflict issue when referencing volume

Jira: XXXX
3mf file standard

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

* FIX: [4483 5003 5109] create printer and edit filament issue

Jira: 4483 5003 5109
4483 dialog blink
5003 preset list too long
5109 encode

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

* FIX: cloud use presets limit notify

Change-Id: I6cc7b4e560cb83db0fc30921633b10531957128e
Jira: STUDIO-5091, STUDIO-5104

* FIX: do user preset sync later on startup

Change-Id: I0653a0438477b1c803ce1cddc66ef47f95616dae
Jira: STUDIO-5106

* FIX: linux: pressing enter in height range will crash

jira: STUDIO-4391
Change-Id: I6bf990951d1456f5b2605b8d62a05bceb3cc4c10

* FIX: failed to limit the max width of DropDown

Jira: STUDIO-4503

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

* FIX: not jump to preview after first wizard

Change-Id: I8c94d66a91aa15a7874441a300b40438638bd33b
Jira: STUDIO-5018

* ENH: CLI: clear custom gcodes when skip_modified_gcodes

JIRA: STUDIO-5112
Change-Id: I2e7346d2ac57519029a4e80e5492c34d3d91ed77

* FIX: [4492 4851 4883 5121] create printer issue

Jira: 4492 4851 4883 5121

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

* ENH: add 'edit preset' and 'delete preset' btn for each preset

Jira: 5200 5113

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

* FIX: add skip label before tool change

Jira: 5074
github: 2776

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

* FIX:Network test dark mode adaptation

JIRA:STUDIO-2468
Change-Id: I20cb7f1fd8eca3ce852acb563c1cc87978e216dc

* FIX:n1 external feed prompt pop-up without retry button

JIRA: STUDIO-4696
Change-Id: I31069c72e29d3398469d71cdbc2a344a5430fc2c

* FIX: not show device page when switch printer preset

Change-Id: I00d8524625a4682b6a39876ddb66bf8bd928dbef
Jira: none

* ENH: Check the nozzle diameter when sending calibration

Jira: 4977
Change-Id: Iabbba44583bbd9fbaaa889ca546ee0ccbb2aa77f

* FIX: Generate UUID from objectID and volumeIndex

Jira: XXXX

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

* FIX: disable filament_typep

Jira: XXXX

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

* ci: update build version to 01.08.00.53

Change-Id: I1d574fa2cf2a4d0eb63a38eb8ced7587d06a4272

* ENH: refine display logic of param

1. Refine the display logic of "support_interface_not_for_body".Only
toggle if support_filament is default and support_interface_filament
is specified

jira:[NEW]

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

* FIX: user preset sync token

Change-Id: Id2aa865b778ee9ac4cfddb68ceef0374507b519b
Jira: none

* FIX: Bitmap cache not take effect

Change-Id: I972098fdbda0b4542c6c759a8f5e1f0f2a30852b
Jira: STUDIO-4991

* NEW: Open HotModel Link With GetParam-From bambustudio

JIRA: NO JIRA

Change-Id: I4ac49bac5ee0c50988c76a38b00b7ba7dc3201f5

* NEW:AmsMaterialsSetting Support for user-preset

JIRA: STUDIO-5135
Change-Id: If848047cd5dbd059d440de30989c505c361305a7

* FIX: upload custom root preset fail

Change-Id: I621c8d542dd604b07cc5df63d97d7a31558d3aba
Jira: none

* FIX: show custom filament in AMS filament list

Change-Id: I79b9f8f2f08db8c52bbed76f1ea133baff383c00
Jira: none

* FIX: dailytips window and gcodeviwer legend window size issue

reset to original logic of dailytips and legend window size

jira: new

Change-Id: Iacb016bb222ba3f87317cfbe1f2b003802d773a5

* ENH: add text translation

jira: new

Change-Id: I780cfb8a0a64d806b5e0a414b6598e3b7bdf52dc

* FIX: Delete and search object outside the plate

JIRA:
1. STUDIO-5132 Deleting object outside the plate will crash
2. STUDIO-5146 The search function cannot search for object outside the plate

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

* FIX: [5149 5142 5141 5140 5136] create printer and filament issue

Jira: 5149 5142 5141 5140 5136
5149 process preset name can not show all
5142 improt configs combobox not update
5141 disable modify filament_vendor
5140 disable input Bambu and Generic vendor
5136 preset list window adjust

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

* ci: update build version to 01.08.00.54

Change-Id: Ifd69c01a82f627a9c6cf4fe0d48a759563ee90e7

* FIX: print model from sdcard with p1p

Change-Id: If85383ba762022ead3dd754ae02a08817b891114
Jira: none

* FIX: dailytips text translation

jira: STUDIO-2556

Change-Id: If44e503615b09ee1692f42ba1f998918ec5bd691

* FIX: clone shortcut key conflict with quit in macos

jira: STUDIO-5166

Change-Id: I548f275bb68d3b0e6bb3cfad6fe93df09d507da3

* FIX:User preset material settings dependent on firmware

JIRA: 5167
Change-Id: I82cf26848594b01155883ad0aa2e9ee77d371fb2

* ENH:update the description of nozzle detection

Change-Id: Id27b25c69dc11fcf66fc82053af705906ae8c370

* FIX: [5159 5165 5171 5172] create printer and filament issue

Jira: 5159 5165 5171 5172
5159 create printer dialog no refresh
5165 create printer 2 step dialog no refersh
5171 change font
5172 edit filament dialog darkUI issue
input special character is prohibited
'/' in preset name translate to '-'
update printer combobox

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

* ci: update build version to 01.08.00.55

Change-Id: If1865d561cf274719204662314de163497759e89

* FIX:fix GLmodel deconstruction causing section not to be rendered

Jira: STUDIO-5156
Change-Id: Ibb2f459920989ee54f7b827352dc8893424b4de6

* FIX: missing unlock cause device or resource busy

Change-Id: I87563312ea9c6ce4e4e471da7ce7a02b53b64762

* FIX: some translation

Change-Id: I9758cbc758030b5a3945697a50ca4898af9fcb1b

* ci: update build version to 01.08.00.56

Change-Id: Id5ee53dd2ebb0b37b6927dc58b3cca94a1f66a83

* ENH: remove PLA GLOW in A1 mini

jira:[NEW]

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

* ci: update build version to 01.08.00.57

Change-Id: Ib4dfa60f097128b76b95bb14ca04978619021b56

* Allow line width of nozzle diameter * 2.5

As it were, 1 mm would be disallowed but 0.99 would be allowed for 0.4
nozzle.  1 mm is the sane maximum and 0.99 is unnecessary tedious to write.

* Russian translation update

Russian translation Bambu Studio_v1.8.0 Beta

* FIX: scale problem in needs_retraction

jira:[NEW]

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Idfbe954b22fa6aa5769c55e46874fa6a80ecbf45
(cherry picked from commit 4e853f50b748e3af11e2d64862b6ee557fda361b)

* ENH: CLI: support load_assemble_list

JIRA: STUDIO-4848
Change-Id: Ife11533740988331ea71eac86c370e625970cb8b

* FIX: align to Y not working

This is a bug introduced in 7fbb650 when solving jira STUDIO-4695.
Now we use a more decent way to solve it.

Change-Id: I92deffcb9fe53e8a24c93fe973446ae37df07375
(cherry picked from commit bd98430dbd15eb6c9bb4b447990e0dcf8a50eef0)

* ENH: Add buried points for cut and meshboolean

JIRA: NONE

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

* FIX: 5092 edit filament add scrolled window

Jira: 5092

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

* FIX: can not select user preset when create filament

Jira: XXXX
github: 1936
and fix add preset for printer dialog can not show selected printer

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

* ENH: template filament don't be show in filament list and sort

Jira: 5160 5179

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

* FIX: [5174] export configs dialog issue

filament name too long to can not show all

Jira: 5174

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

* ENH: add filament Bambu TPU 95A HF

1.As title

jira:[NEW]

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

* ENH: modify some params with filaments

1.Modify the PEI bed temperature of PLA Basic, Matte, and Tough to 65 in
 A1 mini. Set the bed temperature for the first layer of Bambu PETG-CF
 to 65 and 70 for the other layers

jira:[NEW]

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

* ENH: add more status during printing

JIRA: STUDIO-5195

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

* FIX:cut imgui has overlapping rendering on Apple

Jira: STUDIO-5150
Change-Id: I7969e19dc189cd617026a183067dad628208955c

* FIX:not TakeSnapshot for m_start_dragging_m

Jira: STUDIO-5176

Change-Id: Ia03e3e2c2664dbdcffa19ec8d0fa97dfd95e6d35

* FIX: rendered color changes

Jira: STUDIO-4956
during the drag processin connectors editing state

Change-Id: I3027176ea9f93a9ba9d6a2052f41aaa4adef79f1

* FIX: merge the patch from Prusa

Thanks for PrusaSlicer and YuSanka
Jira:STUDIO-5175
commit 510d59687b3b19c4a0f4e6540620d0694dd1b7ac
Author: YuSanka <yusanka@gmail.com>
Date:   Thu Oct 5 14:13:14 2023 +0200
    Follow-up 1b451cdf: Fixed #11415 - Connectors disappear when slicing => only when using multiple cut planes AND excluding parts

Change-Id: I9ccd5b85f482d723d21fccf5e104c9e0a9cc4849

* FIX:Press ESC directly to exit after entering the profile rendering

rendering is not normal,Code from PrusaSlicer,thanks for PrusaSlicer and enricoturri1966
commit a078627552f54497ed0518dc7bc349d243576d19
Author: enricoturri1966 <enricoturri@seznam.cz>
Date:   Mon Jan 30 14:00:02 2023 +0100

    Follow-up of 1218103fd620b319c56fd08116f81b581c537188 - Fixed gizmo missbehavior when closing a gizmo by resetting the selection clicking on the scene

Jira: STUDIO-5164
Change-Id: I261da9dba2a5ac37f3e263c175fbccd80d8045bd

* FIX: correct the strings and move create printer dialog center

Jira: 5221 5183

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

* ENH: CLI: skip layer height limit validate when slicing for existing models

JIRA: no jira
Change-Id: I1444a28b500ca7d08ed2606eecfa5cfaf261105e

* ENH:update the translation of auto refill

jira:[for translation]

Change-Id: Iaa7b4f3d7cd88c8b4f69a3db721ebd8ca8986eea

* FIX: icon issue for copying

Jira: STUDIO-4168

Icon issue when filling bed with copies

Change-Id: I61a03ecae02b75602c236ed2810e9c9cfe5a19f9
(cherry picked from commit b5079f8a2e79f19f65803f23ef4fd83aff17c84a)

* ENH: update some filament params

1. Modify texture bed temp to 65
2. Modify max-v-speed for ABS
3. Modify some params in Generic PA
4. Modify PLA,PVA params

jira:[NEW]

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

* FIX: 3770 printable checkbox incorrect display in darkUI

Jira: 3770

Change-Id: I97f67d7a0ffc41f6ee625abeecc52ee4e73cf318

* FIX:Display garbled code in AmsMaterialsSetting pop-up

Change-Id: I50531e939afa7715ae376bac47172ccf7b248114

* ENH:Modifying the Line Color of Transparent Materials

JIRA: STUDIO-4311,5088,4983
Change-Id: I9e63413dc9cd7d523f0f7f1a2e32c4537a84467a

* FIX: crash when async delete printer file

Change-Id: I92c5e812d04da263338fb0eea2fd7583cf9ecde0
Jira: STUDIO-5222

* FIX: 3733 backup time not effective

Jira: 3733

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

* FIX: enable edit and delete preset btn and fix issue

Jira: XXXX

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

* FIX:send print job,file name displays error

JIRA:3137
Change-Id: I1c113025d274a13fba1b845a58aada14058fadd4

* FIX: skip hold user preset from sync

Change-Id: I2252246e19bd80903ad82170782ea49535d30d05
Jira: STUDIO-5185

* FIX: 5115 translations

Jira: 5115

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

* FIX: add link for ironing parameter

Change-Id: I451f5549db3ac2205aa5703a2e5edc831e946af8

* FIX: scale problem in lift type decide

1. Scale the travel threshhold

jira:[NEW]

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

* ENH: add small perimeter speed and threshold

The original param is added by Prusa. Thanks orca for adding threshold.

1. Re add small perimeter speed and threhold.

github: #2221

Change-Id: I35b269b26f085d80f0edca28650bb21fc04898d7

* FIX: modify the picture of pa manual cali

Jira: STUDIO-5102
Change-Id: Id87898959ad4461b7bd2505b159271f2aa589c36

* FIX: Filament preset is the same with the first one

Jira: STUDIO-4519

Filament preset is the same wit the first one, it should align with the
last one.

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

* FIX: scoreDailog dark mode issue

Jira: 4570

Change-Id: I8be97b306a1494f73e3bba678ecc864e7ff88ca3

* FIX: CLI: fix the slicing issue while only one object with multicolor using seq-print

JIRA: no-jira
Change-Id: Iea2d23ff8e484bf2fd58aa2f596a8e4e4292fe39

* ENH: open support wall count for normal support

1. open support wall count for normal support
  Enabling this option makes normal support stronger and gives
  better overhang quality, but also more difficult to removal.
  Jira: STUDIO-5192
2. fix a bug where tree support (hybrid style) may get overlapped
  extrusions near the walls.
3. fix a bug where raft layers can't be 1 in tree support
  Jira: STUDIO-5261

Change-Id: Iadc0c67a9b50b5b221c8e83d5aa22ed282018cf8
(cherry picked from commit c0bb0084e386cb70ed6e16edf93190e4b38f5b90)

* FIX: compiling error on linux

jira: none
Change-Id: I1a4563503b5ddf74a1979cc0cee7a15b8aced904
(cherry picked from commit de52c6ca62c9f3a6314ddf5a856c1d8534329886)

* ENH: add translation for small perimeter

jira:[NEW]

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

* FIX: clone shortcut key issue on macos

jira: STUDIO-5166

Change-Id: I1967da1d443ed43bd750dad8e11560688d7bd533

* FIX: custom gcode window cannot paste/ navigate

jira: STUDIO-5208、STUDIO-5070

Change-Id: I4ecb9d06cf5db0ae53a4678181aae9298bac106b

* ENH: modify dailytips collapse & expand interaction

jira: STUDIO-5209、STUDIO-5210

Change-Id: Ifb0b998e5004d4b49390ba5a250eaf4743bf3471

* ENH:Add shortcut keys and lists for objects search

JIRA: STUDIO-5157 STUDIO-5158 STUDIO-5240

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

* FIX:Re-calculate button with White Box displayed in dark mode

JIRA: STUDIO-5098

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

* NEW: display plate index when printing a task

JIRA: STUDIO-2689

display on the thumbnail of the current task

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

* ENH:fixed incorrect path prefix

jira:[for file path prefix]

Change-Id: Ie9e3999f02b78272e528ceceb479e746d46a7e6c

* FIX: thumbnail is not clear in dark mode

JIRA: STUDIO-5087

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

* FIX: translation

Jira: XXXX

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

* ENH: first nozzle change to 0.4 and nozzle change to mm

Jira: XXXX

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

* ENH:editing_window_width's value is small on the laptop

Jira: STUDIO-5238 STUDIO-5265
apply_selected_connectors should check_and_update_connectors_state

Change-Id: I8c2c1c920cc4d197d1908815a3e62f4962335451

* FIX: fix new_bed_shape's calculation process

Jira: STUDIO-5122
Change-Id: I5f3e6a301a297123af28692c90bef6759f425b06

* ENH:update some translations

jira:[STUDIO-5262]

Change-Id: Idb1d3586888043ac325f272bc7a2b788adb3e9e5

* FIX: edit text command resets object settings

Jira: STUDIO-4655

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

* ci: update build version to 01.08.00.58

Change-Id: Iacfec02aa50c617e4c9fe566319b07b30d47dce1

* FIX: remove GetUserAgent

Change-Id: I92886e1f0dcb091109231a10da8c19d51178e13b
Jira: STUDIO-5205

* FIX: nozzle_diameter_map data structure adjustment

Change-Id: Ifb724afc0fcf974e6d331e73ecac723107a102cf

* ENH:add _A and _B for perform_with_groove

Jira: STUDIO-5267
Change-Id: Iee3310dfa1cd8e6680310f0af0eff5c817490813

* ENH:is_equal for min_z and max_z

Jira: STUDIO-5267
Change-Id: I9493883d8be9d44e26ddc9afe62b7e9eb09c5052

* ci: update build version to 01.08.00.59

Change-Id: Ie8ed29ccf5d6c94594eb2ab8b717416fbeace3bd

* FIX:Image display unclear in light mode

JIRA:5161
Change-Id: I134cc64a2af0dfff60c47d0ff09d78d9c0f86b3f

* FIX:fix bugs of non manifold edge

Jira: STUDIO-5267

Change-Id: I8ac9a2cf96da0bc07ee00b309e65611b92fd174d

* ENH:nozzle type detection

jira:[STUDIO-5246]

Change-Id: Ic41a2161a0e41d23f56af93ad8ec34cc83ada0e3

* ENH: upadte P1S start gcode

1.turn on MC board fan by default on P1S

jira:[NEW]

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

* ENH: improve support style's tooltip

jira: none
Change-Id: I8ee858d7052f04ce7ea6b226a500c7d1bf8a482f
(cherry picked from commit 665f31c4fcde22bd894cbb4a5fb160635947f2a4)

* ENH: set layer range error to warning

1. If layer range exceeds maximum/minimum layer range in printer
settings,pop up a window to warn

jira:[NEW]

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

* ENH: CLI: remove the warning of layer height

JIRA: no jira
Change-Id: Idaceee4f52611479fc3f4238d016d891b4dc8cd1

* FIX: the word search is not translated

Jira: STUDIO-5224

The world search in the device panel is not translated.

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

* FIX: Bitmap will flash when sending printing task

Jira: STUDIO-5278

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

* ENH:display the euler angle of rotation plane

Jira: STUDIO-5268
Change-Id: I6b7b431931d60f1a9a832908400417781798c472

* ci: update build version to 01.08.00.60

Change-Id: I1c15b5c6437554c43327cd6b537f7a5860dba5a0

* ENH:cancel EnterReturnsTrue for imgui in cut

Jira: STUDIO-5269
Change-Id: I2832e1dccaf9755448debe7b2bd56426f90dfe0d

* ci: update build version to 01.08.00.61

Change-Id: Ib03e664a20990322c788686550c491d0139d8237

* FIX: some translation problems

jira:[NEW]

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

* add: Ukrainian lang support for 1.8

* fix linux

* fix some string and colors

* fix linux build error 2

* fix .gitignore

* FIX: calibration selected preset is null in some case

jira: STUDIO-5258

Change-Id: Iee63593c5f833c5a43e3b1d1c9ddb82f8c69569a

* FIX: create filament issue

Jira: 5296 5297 5295 5302 5311 5276

5296 create filament: list has same printer
5297 create filament: filament combobox has blank options
5298 edit filament: delete last preset prompt users
5302 create filament: filament combox has cili preset
5311 create filament: printer name too long to can not show all
5276 edit filament: PLA Aero filament type filter issue
add prusa vendor
Revised copy

Change-Id: I5dcc615ce0951b1a9953fa12283f6090f5069045

* FIX: some translation

Change-Id: Icb8614a0af18f96d15f3b97c17e0f6f708296847

* FIX:cancel is_equal for slicing function

Jira: STUDIO-5267
Change-Id: I66d759aa2c968f8a28a6a5d8378929754f2db689

* FIX:UI stuck due to pop-up window with wrong chamber temperature

JIRA: 5304
Change-Id: I1a49a7219b7a6f5700243704c348724e7930ce1a

* FIX: allow input '+' and hide edit preset btn

Change-Id: I97aec7c3ac4cc8b9d6c535f0126aaa1926553d86

* ENH: handle printer direct close and not retry

Change-Id: I5dd55f8085cf6383a8420ab41e614ea6ae210c78
Jira: STUDIO-5305

* ci: update build version to 01.08.00.62

Change-Id: I09716bf79354b503197c751272fd3171e0abc8fd

* add: new translation to ukr for AirFlow and Prusa

* add: Texture Plate name fix

* add new feature to localization .de, fix .it (#2876)

* FIX:add slice_facet_for_cut_mesh api for cut tool

and modify section_vertices_map 's traverse
Jira: STUDIO-5267
Change-Id: Ifc4b183a4e4c4fdb4f47742f14f70a1ed93fa056

Change-Id: I52bfaef8926ef967b78a6cb712a1731a1b528a24

* FIX: Make the front smaller for Czech in device panel

Jira: STUDIO-5151

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

* FIX: there is no object can be jumped to in notification

jira: new

Change-Id: Ib81bf49236952ede24a2de126051572d63916e01

* FIX: add height range, modifier in Preview pane will crash

jira: STUDIO-5340

1. fix crash at add height range, modifiers in Preview from objectList
2. fix an assert hit when slicing
3. fix an assert hit when enter AssembleView
4. forbidden popup menu by right-click objectList in Preview

Change-Id: I444bc76b1a4307999b387e4f60386b2d272bd308

* FIX: Black spot in the sending printing task page

Jira: STUDIO-5307

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

* FIX: reset_cut_by_contours should update_buffer_data

Jira: STUDIO-5376
Change-Id: I5aacb1f7b65822031d7138abd61a45b09c743531

* ENH:editing_window_width's value is small on the laptop

Jira: STUDIO-5238 STUDIO-5265
Change-Id: Ia958772bcb081817da621115f99328bb62770cd5

* ENH: bumped version to 1.8.1

Change-Id: I9d25403daa5b7b8ca415c0b364670da9e0f932b0

* FIX: create filament dialog: create btn can not show all

Jira: 5310 5331

Change-Id: I185272c90d9ff1c3d6b47abbefbf488d0d965cca

* FIX:update custom_texture when new_shape=false

Jira: STUDIO-5287
Change-Id: I3add95f9f9345c14a48cc7467513d1b3ce95f4c9

* ENH:editing_window_width's value is small on the laptop

Jira: STUDIO-5238
Change-Id: I9044129f4e0c8ca7469db05b3e547fca4754342a

* FIX:add slash_to_back_slash for saving file path

Jira: STUDIO-5287
Change-Id: I9f3c176cd0831c793958f08601c63efac98176a4

* FIX: a button color didn't response to dark mode change

jira: STUDIO-5315

Change-Id: I95489f01ccd1f77b9e95b0d0f69e5398d2e88487

* FIX: height range layers displayed in wrong position

jira: STUDIO-5341

Change-Id: I83918b4624f367efa54321f1898e1176cdb04ea9

* FIX: auto arranging issues with locked plates

1. global auto arranging may put items overlap with wipe tower if some plates are locked
jira: STUDIO-5329
2. items outside bed may overlap with plate boundary if it's rotated
jira: STUDIO-5329
3. plate-wise auto arranging uses wrong min_obj_distance if the
plate is by-layer printing but global setting is by-object printing
jira: STUDIO-5330

Change-Id: I5dba2f1317e183c9aeec1cb2bd227fbddf4316e6
(cherry picked from commit db1eac41efff5f1e8d5ac0af74c6fc7ab59fc253)

* FIX:  a mistake in upward machine

jira:[NEW]

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

* FIX:a blank pop-up appears

JIRA:XXXX
Change-Id: Ice92b55204e4897fec024a6d99412eb810bddd4a

* FIX:fixed failure in updating nozzle type

jira:[STUDIO-5248]

Change-Id: Iad37b5d5b76d37cb1723ef21d7c39b1e3fcaf8d7

* FIX:fixed issue with AI monitoring settings

jira:[STUDIO-5082]

Change-Id: I967fe3c1e9da61a55bcbfaa2a8e067dd5af18f72

* FIX:fixed issue with lan mode

jira:[STUDIO-5189]

Change-Id: I1d0a05f19dcea154cf3ef2b61ed0546d3581905e

* FIX:update text for loading or unloading filaments

jira:[STUDIO-5231]

Change-Id: Ic7729c3ec012485b3d87e3d01f11e87502c67895

* FIX: Revert "ENH: do not leave a gap for top...

Revert "ENH: do not leave a gap for top interface if the top z distance is 0"

This reverts commit 79ea32c7cbbdb7e689637980af7c36caf42284c9.

Revert reason: the supports are impossible to remove in some cases.
jira: STUDIO-5385

Change-Id: I376a6f4dfd78da6dfea68b9ac3d552cddd0b4272
(cherry picked from commit 34e38b705fde7f5d7f9a3a89c96a3627ce0c998e)

* ENH: improve normal support's quality

1. Add a base_interface_layer when using Supp.W
2. Fix a bug where base_angle and interface_angle are wong

jira: STUDIO-5386
Change-Id: I52ab32c63b3cd1e6e2ba6463b01ae26699cf13d3
(cherry picked from commit 92ddd4a10b793572a1fa009da5b9e44fcdf81de2)

* NEW:tracking stl model files

jira:[STUDIO-5372]

Change-Id: Idb1275b07441f0cd06c24588d5f7c20f81f1556c

* FIX: edit filament dialog: preset name too long to del btn nan't show

Jira: 5336 5174
and verify string normalization

Change-Id: I380c3bed2bf43d01094b68979a8b67f4187c0b93

* FIX: some translation

Jira: 5232 5300 5334

Change-Id: Ie474ca823011e81aab82a9809af3d6e42980496b

* FIX: some translation

Change-Id: Iaabe6087bed3b7d47d911cf4fb51c770804e72fb

* ENH: change default tree_support_wall_count to 0

Now normal support also uses this option, so we can't default it to 1, otherwise normal supports will be too hard to remove.

jira: none
Change-Id: Ic5700af5c17e3a7b265c8915f28b0db35c6e06e6
(cherry picked from commit 6b84a9826da108b76569e686bd9def0b23ae29fd)

* FIX:The name of the material in the error prompt is empty

JIRA:STUDIO-4907
Change-Id: I3cf44f099256a51f21a44a89c89c000f734d1f36

* ci: update build version to 01.08.01.51

Change-Id: Ib20f5a12b65472102befec0a2adf82744fc29c46

* FIX: imgui textinput cannot paste on macos

jira: STUDIO-5070、STUDIO-5365

Change-Id: Iea8f41e12744ecda0fbb95c1a8f2e014a7cdc384

* FIX: not cache printer file list on error

Change-Id: I99843aedbf14d3d1d553ccac9b0bd26403274a82
Jira: none

* FIX: thread of close BBLUserPresetExceedLimit notify

Change-Id: I9698134ba1cc91fc83eac441f900d68c4c4b556a

* ENH: Resolve non manifold edges by fixing model interfaces

Jira: STUDIO-5124
Change-Id: I7ea86be44acb80b6c4762a76208b4a031acd0b27

* FIX:nozzle type sync

jira:[STUDIO-5248]

Change-Id: I63d48628832473d8d371ed643dc8528b00382531

* FIX: array bound happen in TriangleSelector::deserialize

Jira: STUDIO-5170
Change-Id: I92b72a887845b462fad208f13607293b44d3d333

* FIX:cropping rendering without considering assembly views

Jira: STUDIO-5260
Change-Id: Ia56cf80b305ae05f25f06ec277f85b3c5430a6df

* FIX: PA for custom filament not available in BL Studio

github: 2971
Change-Id: I6ccd36a183e7367d69557300f7242f5403f4bb33

* FIX: Bitmap is way too small on Mac

Jira: STUDIO-5393

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

* FIX: move shutdown wait to OnExit

Change-Id: I70d9a2bb686525ae5273aa9d63e25691da4ab65c
Jira: STUDIO-2884

* FIX: calibration manage result dialog issue on macos

jira: STUDIO-4949 STUDIO-5378

Change-Id: I00abefd45a0d274a4b68bb1ab18debe8f91d169e

* FIX: adjust bed shape dialog button UI style

fix that button text is hard to see in dark mode
jira: STUDIO-5247

Change-Id: I2cf5b3cdd2eff9b821bdf5525bec4f329fc58dd1

* FIX: 5331 rescale btn

Jira: STUDIO-5331

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

* FIX: support do not generate

jira:[NEW]

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

* FIX: remove not match printer config ota cache

Change-Id: Ib73fc2ea31fa2186061cfcb5a170bc59b9db84ca
Jira: none

* FIX:cancel the variable of "checkbox_size"  as a fixed value

Jira: STUDIO-5150
Change-Id: I30d876d141b8b35ab4a3fee4889993d87b7c1741

* ENH:add reset_cut_by_contours in on_load function

Jira:STUDIO-5269
m_connector_size_tolerance default value is 0.1f

Change-Id: I6c67fff3cb0c1190e9141ed6f68fbfa848679f35

* ENH:cancel EnterReturnsTrue for imgui in cut

Jira: STUDIO-5269
Change-Id: Ifc4b183a4e4c4fdb4f47742f14f70a1ed93fa056
Signed-off-by: zhou.xu <zhou.xu@bambulab.com>

* FIX: dailytips should not change content frequently when slicing all

jira: STUDIO-5234

Change-Id: Icb7e9c28404d9db8ebed58d937e13f89c5403b5c

* FIX: objectList clone shortcut key issue

jira: new

Change-Id: Ia75bf58a7d53f962e1af6c2fd97497270b7eea84

* ENH:handling cases without msgs

jira:[STUDIO-5401 STUDIO-5399]

Change-Id: Iae651d5a19a45b0138a6aa621326a8b4a9649824

* ENH: optimize param description

jira:[NEW]

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

* ENH: add translation

jira:[NEW]

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

* FIX: close edit preset paramsDialog, mac unresponsive

Jira: 5298

Change-Id: I021e00567354cfb1f2f5f1f2bf6ba1fc35b164c5

* ENH:disable AI monitoring on the p1p series

Change-Id: I514bb1fb1ced6c03dd619230a9adac3be63f2de2

* ci: update build version to 01.08.01.52

Change-Id: I9f5e30d3fc4b7ef9321c522d3c18fce98f03742f

* FIX: close edit preset paramsDialog, mac unresponsive

Change-Id: Ic816754a20b7f6a5cdb46475750eb301fec3ad3a

* FIX: organic support not work with raft only

There is no raft generated when only raft enabled but no support needed.
jira: none

Change-Id: Ic0c9269e2f98038d85c9bc54e4a85f892dc5d764

* FIX: CLI: add object config when assemble

JIRA: no jira
Change-Id: I945f820fb58f2f643170b4b0b66742f6bbbdfd29

* FIX: delete preset prompt

Jira: XXXX

Change-Id: I6511c806c56393d4f6bd72d1c506da59675d49ff

* FIX:Reorganize the assignment of variables of "m_editing_window_width"

Jira: STUDIO-5238
Change-Id: If369916f3f5c21510f5f297bfd05c1230bdda7a4

* ENH: CLI: re-compute flush_volumes_matrix when it is missed

Change-Id: Ie8f53c6bef003b1434de02ea14de5787b376484f

* FIX: some translation for delete filament

Change-Id: Ib46a8eba33f2e21016476aaab4a57a740e86b1b8

* FIX: scrolled window / del preset / edit filament issue

Jira: 5092
GitHub: 1936
edit filament: just one preset, the scroll bar obscures the preset name
edit filament: delete selected preset, click no, but preset be deleted
from UI
edit filament: serial sometimes displays incorrectly

Change-Id: Ibc91609e252179de0c05ca065099756da6631165

* ci: update build version to 01.08.01.53

Change-Id: I5563a2c0812ab9a0d7727df27e17e681066ffa08

---------

Signed-off-by: maosheng.wei <maosheng.wei@bambulab.com>
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Signed-off-by: Kunlong Ma <kunlong.ma@bambulab.com>
Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Signed-off-by: Stone Li <stone.li@bambulab.com>
Signed-off-by: zhou.xu <zhou.xu@bambulab.com>
Co-authored-by: zorro.zhang <zorro.zhang@bambulab.com>
Co-authored-by: liz.li <liz.li@bambulab.com>
Co-authored-by: maosheng.wei <maosheng.wei@bambulab.com>
Co-authored-by: chunmao.guo <chunmao.guo@bambulab.com>
Co-authored-by: tao wang <tao.wang@bambulab.com>
Co-authored-by: Arthur <arthur.tang@bambulab.com>
Co-authored-by: lane.wei <lane.wei@bambulab.com>
Co-authored-by: gerrit <gerrit@bambulab.com>
Co-authored-by: xun.zhang <xun.zhang@bambulab.com>
Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
Co-authored-by: hu.wang <hu.wang@bambulab.com>
Co-authored-by: Kunlong Ma <kunlong.ma@bambulab.com>
Co-authored-by: wenjie.guo <wenjie.guo@bambulab.com>
Co-authored-by: qing.zhang <qing.zhang@bambulab.com>
Co-authored-by: zhimin.zeng <zhimin.zeng@bambulab.com>
Co-authored-by: the Raz <rasmus@abc.se>
Co-authored-by: Andy <andylg@yandex.ru>
Co-authored-by: Stone Li <stone.li@bambulab.com>
Co-authored-by: enricoturri1966 <enricoturri@seznam.cz>
Co-authored-by: Dmytro Chystiakov <dlchistyakov@gmail.com>
Co-authored-by: Heiko Liebscher <hliebscher@idn.de>
2023-12-01 10:42:45 +00:00
SoftFever
2f3ec2ab7d Build release branches (#2941)
update cicd to build release branches
2023-11-30 23:58:52 +08:00
SoftFever
82fe9beb57 Update status badge 2023-11-30 13:36:52 +00:00
Noisyfox
e8a053e248 Use windows API to copy files (#2923) 2023-11-29 22:43:37 +08:00
FlashforgeOfficial
930eac0abb Flashforge: Machine G-code Fix (#2922)
Machine G-code Fix
2023-11-29 22:36:09 +08:00
Trist0ne
10a0f58a61 T500 profile fixes and optimizations (#2848)
Corrected corrupted buildplate texture, corrected too high accelerations that made printing 0.4mm impossible, optimized T500 print and filament profiles with testing
2023-11-29 22:35:30 +08:00
Andy
48c9143769 Russian translation update OrcaSlicer V1.8.0 Release. (#2873)
* Russian translation update

Russian translation update

* Russian translation update

Russian translation update
2023-11-29 22:33:52 +08:00
Paul
eab8139d3c Adding new nozzle profiles for the Creality Ender-5 Pro (2019) (#2817)
* Add 0.6mm Nozzle Configurations for CE5Pro

* Add 0.5mm Nozzle Configurations for CE5Pro

* Add Nozzle Size Printer Variants 0.2-1.0mm

* Add 0.3mm Printer Variant

* Add 0.5mm Printer Variant

* Fix: 0.6mm Printer Variant

* Add Remaining Printer Variants

* Add CE5Pro Nozzles to list of Compatible Filament

* Add Generic FDM Process for Creality 0.3 Nozzle

* Update Generic FDM Process for Creality 0.6 Nozzle

* Add FDM Process for Remaining Creality Nozzle

* Add Processes For CE5Pro 0.8mm Nozzle

* Add Processes For CE5Pro 1.0mm Nozzle

* Add Processes For CE5Pro 0.2mm Nozzle

* Fix Initial Layer Settings

* Add Processes For CE5Pro 0.25mm Nozzle

* Add Processes For CE5Pro 0.3mm Nozzle

* Remove Profiles Outside their Min/Max Layer Height

* Update CE5Pro 0.4 Nozzle Naming Scheme to PR1100

* Update CE5Pro 0.2 Nozzle Naming Scheme to PR1100

* Update CE5Pro 0.25 Nozzle Naming Scheme to PR1100

* Update CE5Pro 0.3 Nozzle Naming Scheme to PR1100

* Update CE5Pro 0.5 Nozzle Naming Scheme to PR1100

* Update CE5Pro 0.6 Nozzle Naming Scheme to PR1100

* Update CE5Pro 0.8 Nozzle Naming Scheme to PR1100

* Update CE5Pro 1.0 Nozzle Naming Scheme to PR1100

* Incl. Remaining Base Config That Diff Is Based On

* Remove whitespace
2023-11-29 22:32:58 +08:00
Noisyfox
0fa884d9ca Various infill improvements (#2716)
* Fix issue that sparse infill threshold no longer working

* Turn all internal sparse infill into solid infill if infill density is 100%

* Allow combining solid infill when sparse infill density is 100%
2023-11-29 21:28:23 +08:00
discip
d48c279762 Update OrcaSlicer_fr.po (#2874)
Fixes #2866
2023-11-29 21:25:47 +08:00
Noisyfox
284c3e71eb Some changes to gcode window toggles (#2704)
* Show gcode window automatically (#2572)

* Move the show gcode toggle to view menu, and remember if gcode window is shown last time

* fix an issue when merging main branch

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-11-29 21:19:56 +08:00
Ocraftyone
b86b8ea810 Update BuildLinux.sh (#2919)
getting the value for FOUND_GTK* variables seems to cause an error which prevents using the -u option to install the needed packages. This is fixed by moving the "exit on first error" flag to after setting these vars.
2023-11-29 10:25:00 +08:00
Ioannis Giannakas
4985cc7e67 Fix purging not working for BBL printers (#2912) 2023-11-28 20:44:29 +08:00
andrewboktor
7c3d97c287 Fuzzy skin fixes + on/off for first layer (#2903)
* Fixing fuzzy skin so it doesn't exit the desired geometry at line ends
Adding option to enable/disable fuzzy skin on first layer

* Whitespace + removing extra file
2023-11-28 15:40:26 +08:00
Ioannis Giannakas
d71eaf958e Fix crash when closing application (#2904)
* Update GUI_ObjectList.cpp

* Update GUI_ObjectList.cpp
2023-11-27 21:39:16 +08:00
Ioannis Giannakas
ce9a8d7b20 Internal Bridge Flow rate parameter introduction (#2859)
* Internal Bridge Flow rate parameter introduction

* updated incorrect capitalisation

* Updated parameter ordering
2023-11-26 21:43:47 +08:00
Jim Broadus
cd35995402 Fix cmake error (#2871)
Use the correct target name when setting properties on cereal.
2023-11-26 13:17:29 +08:00
Noisyfox
a6163a1550 Another fix to the preview shell (#2821) 2023-11-22 23:21:34 +08:00
Ikko Eltociear Ashimine
a085ac6e32 Update README.md (#2815)
oppened -> opened
2023-11-21 17:17:53 +08:00
Noisyfox
03a9014d3a Show wireframe in MMU painter gizmo (#2808)
* Remove unused shader files

* Port wireframe shader from BBS

* Enable wireframe in MMU painter

Co-Authored-By: zhou.xu <zhou.xu@bambulab.com>

---------

Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
2023-11-21 17:17:22 +08:00
Noisyfox
70d86af253 Fix color blending of preview shells (#2799) 2023-11-19 22:20:42 +08:00
Lee Jong Mun
50a9345ddd kor_translation update (#2794) 2023-11-19 19:10:30 +08:00
SoftFever
5c64a0587a Fix toolbar rendering on Windows (#2784)
Currently on windows, when you resize the window relatively small, the
end of the toolbar will be clipped like so:

![d95d24afdc47eef04df4a2c755d13494](https://github.com/SoftFever/OrcaSlicer/assets/1537155/5f060966-3613-4bd7-8036-e9b27c12ffd3)

This is what it look like on Linux/macOS:

![image](https://github.com/SoftFever/OrcaSlicer/assets/1537155/167ab075-1c48-4531-a2ef-3f225874cfbd)

This PR fixes this issue so it behaves like on Linux/macOS:

![60cb540f198c5d680fceaa387302c475](https://github.com/SoftFever/OrcaSlicer/assets/1537155/7e1b404b-bdf7-4c3b-bee7-5d2f0a11f91e)
2023-11-19 19:10:01 +08:00
SoftFever
93f62a47f5 Merge pull request #2780 from Noisyfox:bugfix/amd-png
Fix PNG build plate texture not rendering on AMD GPUs
2023-11-19 19:08:04 +08:00
Ioannis Giannakas
cd475f0f94 Add option to "Reverse only internal perimeters" under the reverse on odd feature to reduce part warping (#2722) 2023-11-19 19:02:47 +08:00
SoftFever
e9f519d092 Port PrusaSlicer's Measure & Cut gizmos (#2603)
Build on top of #2520 and replaces it.

This PR includes:
- Rewrite the opengl rendering code, which now renders (almost)
everything using shaders instead of legacy opengl function calls
- Rewriting the gizmo mouse handling code that moves the mouse handling
coding into each gizmo themselves
- Rewriting the mouse picking code, now it uses ray casting to figure
out what's under the mouse cursor
- Porting of the PrusaSlicer's measure tool
- Replacing existing cuting tool with the better one PrusaSlicer has
- Updating of other gizmos using PrusaSlicer's latest code base

There was a plan to also port PrusaSlicer's emboss & svg tools, but this
PR is already very big and the changes needed for emboss will be even
bigger and might take forever to finish. So I decided to separate them
so we can get something out and start rolling out testing builds for
people to play with as soon as possible.

This was developed mainly using Windows, be prepared it could have
graphic issue under Linux & macOS.

Huge credit to Prusa for their amazing job!


![image](https://github.com/SoftFever/OrcaSlicer/assets/1537155/b7ec85d7-1013-4d8e-9914-c2b4d8cb5360)

![image](https://github.com/SoftFever/OrcaSlicer/assets/1537155/1e97d744-99c0-402d-9b23-456d95e07bba)

![image](https://github.com/SoftFever/OrcaSlicer/assets/1537155/f0a5dbea-677a-43f5-918b-c6817ff659c8)


Fixes #717
Fixes #1150
Fixes #1590
2023-11-19 16:50:32 +08:00
SoftFever
0e6197f0a7 Set openssl osx target properly 2023-11-19 16:45:36 +08:00
SoftFever
df48b05f73 Merge branch 'main' into dev/gizmo 2023-11-19 15:47:47 +08:00
SoftFever
ebbe5a4d80 fix secrets were not passed from build_check_cache to build_deps 2023-11-19 12:12:01 +08:00
SoftFever
d7453aa20f Fix CICD: failed to sign Mac build 1. upload PDB 2023-11-19 11:23:36 +08:00
niklasb
8ca0d79b05 Adds overview for custom gcodes like pause, change filament, custom #2191 (#2728)
* Adds overview for custom gcodes like pause, change filament, custom

* Fix: incorrect time display of inserted pauses
2023-11-19 00:04:30 +08:00
SoftFever
07d5a06794 fix windows CICD error 2023-11-18 23:51:55 +08:00
Noisyfox
a590d4cead Fix toolbar rendering on Windows 2023-11-18 17:24:08 +08:00
SoftFever
cc55957070 Zip Windows portable build and PDB before upload artifacts 2023-11-18 16:23:40 +08:00
Ocraftyone
cbb7c3381c Rework Github Build Actions (#2566)
update workflows from dev branch

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-11-18 15:30:06 +08:00
Noisyfox
5045642de0 Merge branch 'main' into dev/gizmo 2023-11-18 14:51:32 +08:00
Noisyfox
67fe5ee7f5 Bring back anti-aliasing to toolbar icons (#2739) 2023-11-18 14:51:22 +08:00
Jason Pell
b3db0a560a the layer height should be 0.24 not 0.2 (#2779) 2023-11-18 13:43:57 +08:00
enricoturri1966
8c0cf34a6c Fixed generation of texture mipmap using glGenerateMipMap (added also for png)
Fix mipmap of compressed textures on AMD Radeon graphics cards by forcing the use of squared power of two textures

(cherry picked from commit prusa3d/PrusaSlicer@971f2a08e2)
(cherry picked from commit prusa3d/PrusaSlicer@eee4453993)
2023-11-18 10:21:41 +08:00
Ocraftyone
c0386d786c Fix macOS deps build issues (#2541)
update deps/CMakeLists.txt and MPFR.cmake
2023-11-17 21:59:18 +08:00
SoftFever
f5ec607b6a update WIKI 2023-11-17 20:00:12 +08:00
SoftFever
cb038d0469 fix Prusa MK3S and Mini profile issues
Fixed #2768
2023-11-17 20:00:05 +08:00
mariuske
698440d5a4 Removed print_flow_ratio from Flashforge process (#2769)
For some reason this value stayed in this profile file after a recent merge and it's now been removed again.
2023-11-17 19:40:03 +08:00
Noisyfox
b2642039c7 Fix creality k1/max default materials (#2609) (#2767) 2023-11-17 14:28:48 +08:00
Lukas Matena
67c1f40eae Fixed a crash when deleting the last object with autocenter enabled (prusa3d/PrusaSlicer#11186).
(cherry picked from commit prusa3d/PrusaSlicer@926af1ab8d)
2023-11-17 09:32:45 +08:00
Noisyfox
f6e4c48fe7 Merge branch 'main' into dev/gizmo 2023-11-17 09:18:31 +08:00
SVNMLR
4dcfd97181 [Multi Material] Fix first layers of prime tower when using "no sparse layers" (#2764)
* MM - Add check for first layer

* Change: If no sparse layer is on -> Respect the toolchange in the first-layer checkup, to use a brim and slow down printspeed if using a primetower

* Fix comment
2023-11-17 08:01:52 +08:00
SoftFever
9505f93717 fix thumbnails regression 2023-11-17 07:54:59 +08:00
SoftFever
bc05653a72 orca bot: processing issues in ascending order 2023-11-16 23:25:28 +08:00
SoftFever
9af22da7d1 bump version to 1.8 2023-11-16 23:17:59 +08:00
SoftFever
09c77c45da update profile version to 1.08.00.00 2023-11-16 23:02:10 +08:00
mariuske
6c957d40d0 Restructured Flashforge process profiles (#2718)
* Restructured Flashforge process profiles

* Fixed typo in machine profiles

* Changed skirt loops to 2

Based on best practise (other profiles), I have changed the number of skirt loops from 1 to 2
2023-11-16 22:07:02 +08:00
Andy
75c019a1a9 Russian translation update (#2760)
Russian translation update
2023-11-16 22:02:13 +08:00
SoftFever
7566df566d fix snapmaker J1 not displaying bug
fixed #2750
2023-11-16 19:42:40 +08:00
Noisyfox
2fc5a7d01e Fix layer height modifier layout (#2708) (#2756) 2023-11-16 19:15:37 +08:00
SoftFever
565732a027 remove print_flow_ratio from profiles and hide it from process setting. It should be only displayed for parts 2023-11-16 19:07:40 +08:00
FlyingbearOfficial
e8ac1575e7 Flyingbear official patch 9 (#2746)
* Add a new brand named Flyingbear

Add a new brand named Flyingbear
Model name: Flyingbear Reborn3

* Update fdm_machine_common.json

fix
z_hop 0,2(2)

* make bed model smaller and set default internal_solid_infill_pattern to monotonic

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-11-16 18:46:32 +08:00
Fabio Forcina
24ae038e0e Italian translation (#2706)
* Update OrcaSlicer_it.po

* Italian translation

Italian translation

* fix errors

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-11-16 18:18:50 +08:00
Exerqtor
f61c504696 Fix for QOI thumbnails not working (#2755)
Fix for QOI not working

Should remidy the issues in https://github.com/SoftFever/OrcaSlicer/issues/2741
2023-11-16 18:13:08 +08:00
SoftFever
bbdd580bb1 fix wipe tower bug: filament end inserted twice 2023-11-16 01:00:59 +08:00
SoftFever
930e1b3bdf limit max wipe tower speed to 90 mm/s 2023-11-16 00:59:45 +08:00
SoftFever
cf4aceec79 remove filament_max_volumetric_speed cap 2023-11-15 19:03:16 +08:00
Noisyfox
016d3a74eb Improve Windows crash log (#2736)
* Show RVA of each call stack so we can locate the symbol with pdb file

* CI upload pdb file
2023-11-15 19:00:55 +08:00
Olcay ÖREN
3f3bd08a70 Update OrcaSlicer_tr.po (#2742)
* Update OrcaSlicer_tr.po

Missing fields in Turkish are filled in and word errors are improved.

* Update OrcaSlicer_tr.po

Editing the missing and incorrect parts in the Turkish language file.

* Update OrcaSlicer_tr.po

Editing the missing and incorrect parts in the Turkish language file.

* Update OrcaSlicer_tr.po

The bug on line 6082 has been fixed.

* Update OrcaSlicer_tr.po

character fixes
2023-11-15 18:56:21 +08:00
Hotsolidinfill
dcddf9974a Update translation Korean (#2731)
update translation korean
2023-11-14 17:16:00 +08:00
Noisyfox
b1a164b67f Fix scaling of min_width_top_surface when using abs value (#2725) 2023-11-14 17:15:29 +08:00
SoftFever
4754b38afa diable activate_air_filtration by default for ABS/ASA 2023-11-13 22:31:06 +08:00
SoftFever
5213fbfa86 Support initial_tool variable for filename format 2023-11-13 22:25:32 +08:00
Hukete
c03d58318a Update fdm_process_qidi_x3_common.json 11/13 (#2717)
* 10-25

Add TPU-95A HF

* 1030

Adding Introduction of Chamber Temperature Control Macros(M191) to Notes

* 1102

Add ABS-GF10 profile,
Remove a extra "s" from the "0.36mm Standard @Qidi XPlus3 0.6 nozzle.json" file

* 1106

Add the PA value to some genetic filament profiles

* Update fdm_filament_pla.json

Change the fan rate of begin layers

* Update fdm_process_qidi_x3_common.json

Reduction of top surface particles

* Update fdm_process_qidi_x3_common.json

Add  M140 S90 to M191 macro, Preventing slow chamber warming in cold winter environments
2023-11-13 22:22:21 +08:00
SoftFever
60424baac0 Fix draft_shield error for MK3S profile
Fixed #2660
2023-11-12 23:31:18 +08:00
SoftFever
9731ea3277 update chamber temperature WIKI 2023-11-12 22:10:10 +08:00
Noisyfox
d6c2192fe2 Merge branch 'main' into dev/gizmo 2023-11-12 11:03:05 +08:00
SoftFever
b1c325a419 bump version to 1.8.0-rc2 2023-11-12 10:28:32 +08:00
SoftFever
50f776fe6b fixed an issue when purge_in_prime_tower is disabled for non bbl printers 2023-11-12 09:52:07 +08:00
SoftFever
15358b211d Fix a regression issue that retraction is not correct when wipe is off
Fix #2697
2023-11-12 09:52:07 +08:00
mariuske
da4e7817a8 Enable skirt for Flashforge process profiles (#2695)
Activate skirt for Flashforge profiles
2023-11-12 09:51:32 +08:00
Carlos Caruncho
153cba58e5 Update Spanish translation (#2696)
* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

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

This reverts commit 694a900845, reversing
changes made to 4f53ce4f88.

* Revert "Update OrcaSlicer_es.po"

This reverts commit 4f53ce4f88.

* Revert "Revert "Update OrcaSlicer_es.po""

This reverts commit 53bd15617c.

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Revert "Update OrcaSlicer_es.po"

This reverts commit b21aad079f.

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_en.po

* Update OrcaSlicer_es.po

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-11-12 09:49:05 +08:00
SoftFever
4f48afd6fe update WIKI for exhuast/auxiliar fan and active chamber temperature features 2023-11-11 23:30:54 +08:00
Noisyfox
5669b4fef0 Merge branch 'main' into dev/gizmo 2023-11-11 16:28:17 +08:00
Noisyfox
6510fd4054 Hide raycast debug window 2023-11-11 16:27:44 +08:00
Noisyfox
4e5e5a7ae8 Fix min brush size when using scroll wheel (#2534) (#2693) 2023-11-11 15:15:57 +08:00
Noisyfox
714667ee1c Add search printer model in Setup wizard (#2692)
Add search printer model in Setup wizard (#2563)
Adopted from #2464

Co-authored-by: ZdDroid <601865048@qq.com>
2023-11-11 15:13:24 +08:00
YuSanka
799b0965f5 Fix for prusa3d/PrusaSlicer#11487 - Cut Connectors Broken when assigning part to other side
+ Added check objects after cut
+ CutUtils: Ensuring that volumes start with solid parts after solid parts merging for proper slicing

(cherry picked from commit prusa3d/PrusaSlicer@a9410edc2c)
2023-11-11 12:51:29 +08:00
renemosner
de35ff9a6c Update CZ (#2688) 2023-11-11 08:58:32 +08:00
Noisyfox
66d4b4d59a Merge branch 'main' into dev/gizmo 2023-11-10 23:32:14 +08:00
Noisyfox
ee8ea0df04 Rewrite bed raycaster registering that fixes crash when creating new project 2023-11-10 23:02:11 +08:00
SoftFever
1e040f2fc3 bump version to 1.8.0-rc 2023-11-10 21:13:27 +08:00
Heiko Liebscher
09b84a0850 fix de language new feature (#2686)
fix de
2023-11-10 20:52:21 +08:00
Hukete
4645943360 Update fdm_process_qidi_x3_common.json (#2683)
* 10-25

Add TPU-95A HF

* 1030

Adding Introduction of Chamber Temperature Control Macros(M191) to Notes

* 1102

Add ABS-GF10 profile,
Remove a extra "s" from the "0.36mm Standard @Qidi XPlus3 0.6 nozzle.json" file

* 1106

Add the PA value to some genetic filament profiles

* Update fdm_filament_pla.json

Change the fan rate of begin layers

* Update fdm_process_qidi_x3_common.json

Reduction of top surface particles
2023-11-10 20:51:44 +08:00
SoftFever
c860680b21 Fixed a issue that support_bottom_z_distance was not working as expected.
Fixed #2667
2023-11-10 19:46:01 +08:00
SoftFever
edb5676dd1 Fixed a bug that filament start gcode was inserted twice when wipe tower is enabled
fixed #2673
2023-11-10 18:00:56 +08:00
SoftFever
109176864e Update locale 2023-11-10 18:00:29 +08:00
SoftFever
c5a10b302a fix Voron profiles 2023-11-10 18:00:09 +08:00
Noisyfox
7984b4dc48 Fix complie error after merge 2023-11-10 10:54:02 +08:00
Jeff Papiez
466a17b8b4 Adding additional configurations for Voron Trident, V0, and Switchwiare (#2672)
* Updating voron profiles

* Add missing V0 configs and add default print profiles

* Update nozzle_diameter for v0, switchwire, and triedent

* Correcting names, nozzle diameters, and adding missing min and max layer heights
2023-11-10 10:19:48 +08:00
Noisyfox
cf5c19fa24 Merge remote-tracking branch 'origin/main' into dev/gizmo 2023-11-10 09:57:11 +08:00
Ocraftyone
120a3576a0 SS port - Change extrusion role gcode (#2459)
implement custom gcode for when the extrusion role is changed

Co-authored-by: supermerill <merill@free.fr>
2023-11-09 22:30:30 +08:00
renemosner
1b53d1b72d Update OrcaSlicer_cs.po (#2670) 2023-11-09 22:24:49 +08:00
niklasb
2203131211 Fix: Height range Modifier translation in German #2613 (#2668)
Update OrcaSlicer_de.po
2023-11-09 22:23:43 +08:00
Noisyfox
97502df924 Fix cli segfault (#2661) (#2665) 2023-11-09 22:22:43 +08:00
Noisyfox
f16feff2a4 Fixes scars on thing walls when "avoid crossing wall" is turned on (#2659)
* Travel very close to the inner holes, could cross external perimeter when the avoid crossing perimeters was enabled.

(cherry picked from commit prusa3d/PrusaSlicer@6c51e5148c)

* Modified variable offset in the avoid crossing perimeters to not cause scars on thin objects (#7699).

Previously, the minimum contour width was chosen too conservative and, on some thin objects, only allowed minimal (or non) offset. This could result in travels being planned along the outer perimeter.

Now, the minimum contour width is chosen much smaller at the start and tested if the variable offset wasn't failed (the outer contour broke up into more parts, more or fewer holes, etc.).
If any problem is detected, the variable offset is recalculated with a larger minimum contour width.

(cherry picked from commit prusa3d/PrusaSlicer@dc00f0bf98)

---------

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
2023-11-09 22:21:44 +08:00
Hukete
333287535b Update fdm_filament_pla.json (#2657)
* 10-25

Add TPU-95A HF

* 1030

Adding Introduction of Chamber Temperature Control Macros(M191) to Notes

* 1102

Add ABS-GF10 profile,
Remove a extra "s" from the "0.36mm Standard @Qidi XPlus3 0.6 nozzle.json" file

* 1106

Add the PA value to some genetic filament profiles

* Update fdm_filament_pla.json

Change the fan rate of begin layers
2023-11-09 22:20:14 +08:00
Noisyfox
cd8f555714 Fix some gui issues (#2653)
* Fix text gizmo input dialog caption alignment

* Fix issue that layer slider top/bottom label left edge been cut by draw region (#2603)
2023-11-09 22:19:40 +08:00
SoftFever
22abe8cc9d Automatically recover from corrupted config file 2023-11-09 22:09:41 +08:00
SoftFever
df0a49a73d Fix retraction issues 2023-11-09 20:54:33 +08:00
Noisyfox
5f001c89fd Merge remote-tracking branch 'origin/main' into dev/gizmo 2023-11-08 09:14:28 +08:00
Noisyfox
483475ff48 Fix canvas background in dark mode 2023-11-08 09:14:16 +08:00
SoftFever
2d849fec6c update locale 2023-11-07 21:37:07 +08:00
SoftFever
42f8efc0d8 Fixed a regression that checking new version didn't work
Fixed #2622
2023-11-07 21:32:36 +08:00
SoftFever
e001b66192 Fixed a regression that bed type was not remembered and switched when switching bed types 2023-11-07 18:36:20 +08:00
SoftFever
132e531fb8 Misc profiles fixes
fixed #2636
2023-11-07 18:34:44 +08:00
Geoffrey Ward
94e35737e6 Update the retraction defaults to account for the M5c (#2640)
* Remove retraction_length from common

M5c should never retract more then 0.8mm or it will clog

* Preserve M5 retraction length

Moved previous retraction length from core to M5

* Update Anker M5C retraction length to prevent clogs

Anything beyond a 0.8mm retraction length will clog the printer over time.
2023-11-07 18:14:21 +08:00
Geoffrey Ward
472821922a Update AnkerMake printers to make use of Marlin 2 gcode (#2639) 2023-11-07 18:13:38 +08:00
ablegods
9c34a8c082 Update OrcaSlicer_zh_TW.po (#2630)
* Update OrcaSlicer_zh_TW.po

* update locale for 1.8 beta2

Following the version update of 1.8 beta2, new localizations will be added

* Update OrcaSlicer_zh_TW.po

* Update OrcaSlicer_zh_TW.po

fixed some conflict
2023-11-07 18:13:07 +08:00
mariuske
70f28ba3c1 Adjusted Flashforge machine profiles (#2632)
* Added correct machine pause code for FlashForge printers

Added machine pause code for Flashforge printers to support pause action in firmware 2.3.6-2.1.9-20231101

* Removed redundant gcodes for Flashforge profiles

Removed redundant gcodes for Flashforge profiles as they are already added by Orca Slicer
2023-11-07 13:10:16 +08:00
FlashforgeOfficial
5788fd30e7 1106 Flashforge: Update TPU, classic mode change etc. (#2627)
Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-11-07 13:09:30 +08:00
Noisyfox
c0a8f430f8 Add back the option to disable ensure vertical shell thickness and detect narrow internal solid infill (#2626)
* Add back the option to disable `ensure vertical shell thickness` (#2602)

* Add back the option to disable `detect narrow internal solid infill` (#2623)
2023-11-06 23:21:07 +08:00
SoftFever
9f599cd51f Fixed #2537: pa pattern issues on delta printers 2023-11-06 23:02:40 +08:00
Hukete
bea9b54689 Update profiles for Qidi printers (#2629)
* 10-25

Add TPU-95A HF

* 1030

Adding Introduction of Chamber Temperature Control Macros(M191) to Notes

* 1102

Add ABS-GF10 profile,
Remove a extra "s" from the "0.36mm Standard @Qidi XPlus3 0.6 nozzle.json" file

* 1106

Add the PA value to some genetic filament profiles

* Update fdm_process_qidi_x3_common.json

The macro code cant add to the bottom of the printer.cfg
2023-11-06 21:57:24 +08:00
Noisyfox
e57f68a266 Fix painter gizmos crash on macOS 2023-11-06 20:42:02 +08:00
SoftFever
4eae93080f Fix vector too long issues 2023-11-06 18:32:19 +08:00
SoftFever
fcc4b03054 small_perimeter_speed shouldn't be 0 2023-11-06 18:31:31 +08:00
SoftFever
c24648d470 Update orca_bot.yml 2023-11-06 14:20:04 +08:00
SoftFever
129547f2ce Update orca_bot.yml 2023-11-06 14:19:13 +08:00
SoftFever
e018e0ade0 Update orca_bot.yml (#2625)
increase operations-per-run to 3000
2023-11-06 13:36:16 +08:00
SoftFever
7510eb6f72 Update orca_bot.yml 2023-11-06 13:07:30 +08:00
SoftFever
efaf2f8e34 Add orca bot 2023-11-05 21:42:50 +08:00
Noisyfox
28e2995a01 Cut: Fix crashing in programming cut. Also fixes the cut z offset. 2023-11-05 16:03:10 +08:00
ablegods
35f65893f8 Update OrcaSlicer_zh_TW.po (#2607) 2023-11-05 13:32:21 +08:00
SoftFever
e0aae93c0a update locale for 1.8 beta2 2023-11-04 14:19:17 +08:00
Noisyfox
018b2744db Text: Fix text moving grabber 2023-11-04 11:41:11 +08:00
Noisyfox
090a9247cb Cut: Fix model rendering 2023-11-04 11:41:11 +08:00
Noisyfox
3ec927a841 Cut: Use Orca color schema and dialog layout 2023-11-04 11:41:11 +08:00
enricoturri1966
18406c31c0 Cut: Initial porting of Cut Gizmo 2023-11-04 11:41:11 +08:00
Noisyfox
ce2836a7f9 Measure: Fix copy to clipboard encoding 2023-11-04 11:41:11 +08:00
Noisyfox
1bfd9f63b6 Measure: Update measure dialog layout 2023-11-04 11:41:11 +08:00
Noisyfox
4843cda535 Measure: Use Orca color schema 2023-11-04 11:41:11 +08:00
Noisyfox
2c00408d08 Measure: Update measure gizmo tooltip 2023-11-04 11:41:11 +08:00
Noisyfox
d25780ae4a Fix-position tooltip should also be clamped inside render area 2023-11-04 11:41:10 +08:00
Noisyfox
c31e1f5229 Measure: Fix measure window position 2023-11-04 11:41:10 +08:00
enricoturri1966
f72d42f920 Measure: Initial porting of Measure Gizmo 2023-11-04 11:41:10 +08:00
enricoturri1966
1561d65712 Sync most of the gizmos with latest PrusaSlicer 2023-11-04 11:41:10 +08:00
enricoturri1966
049dfd3e08 Added method const GLVolume* Selection::get_first_volume() const to simplify client code
(cherry picked from commit prusa3d/PrusaSlicer@0e3490620e)
2023-11-04 11:41:10 +08:00
Filip Sykala
9dbb2dfe0d Various gizmos refactoring 2023-11-04 11:41:10 +08:00
Filip Sykala
30af274d44 Separate GizmoManager on_move into gizmo itself
(cherry picked from commit prusa3d/PrusaSlicer@c751d6327d)
2023-11-04 11:41:10 +08:00
Noisyfox
005b83912d Do not compile sla related gizmos 2023-11-04 11:41:10 +08:00
Filip Sykala
8e2ab660c5 Add virtual function to process mouse_event
(cherry picked from commit prusa3d/PrusaSlicer@2ab44546bd)
2023-11-04 11:41:10 +08:00
Filip Sykala
158bb47af3 Suggestion to detect volume modification instead of check some gizmos during dragging
(cherry picked from commit prusa3d/PrusaSlicer@96610ecea9)
2023-11-04 11:41:10 +08:00
Filip Sykala
da4a70785d remove unnecessary getting of raw pointer from unique pointer
(cherry picked from commit prusa3d/PrusaSlicer@209eda75a0)
2023-11-04 11:41:10 +08:00
enricoturri1966
094acdb645 Tech ENABLE_RAYCAST_PICKING - Gizmo flatten: fixed update of raycasters transformations
(cherry picked from commit prusa3d/PrusaSlicer@2a2d442b28)
2023-11-04 11:41:10 +08:00
enricoturri1966
e4ec0cfc2e Tech ENABLE_RAYCAST_PICKING - Method GLCanvas3D::_mouse_to_3d() modified to use the new scene raycaster instead of reading data from the depth buffer
(cherry picked from commit prusa3d/PrusaSlicer@a7af73795d)
2023-11-04 11:41:09 +08:00
enricoturri1966
d2d77456ac Tech ENABLE_RAYCAST_PICKING - Rendering for rectangle selection made only inside the rectangle, on systems supporting framebuffers
Various other refactorings & fixes

(cherry picked from commit prusa3d/PrusaSlicer@39b1222b22)
2023-11-04 11:41:09 +08:00
enricoturri1966
f0199159e7 Removed tech ENABLE_RENDER_PICKING_PASS
(cherry picked from commit prusa3d/PrusaSlicer@f45711e7e5)
2023-11-04 11:41:09 +08:00
enricoturri1966
1e7a91e2d5 Tech ENABLE_RAYCAST_PICKING - Raytraced picking of Gizmo Flatten
(cherry picked from commit prusa3d/PrusaSlicer@f5e68a6ac6)
2023-11-04 11:41:09 +08:00
enricoturri1966
ab090bf20d Tech ENABLE_RAYCAST_PICKING - Refactoring to allow for easier update of raycasters transform
(cherry picked from commit prusa3d/PrusaSlicer@9ac5ab857b)
2023-11-04 11:41:09 +08:00
enricoturri1966
29be4cc9a3 Tech ENABLE_RAYCAST_PICKING - Raytraced picking of Move, Rotate and Scale Gizmo 2023-11-04 11:41:09 +08:00
Noisyfox
6a40d3af16 Fix volume picking in cut gizmo 2023-11-04 11:41:09 +08:00
enricoturri1966
1cd421c4b1 Tech ENABLE_RAYCAST_PICKING - Raytraced picking of gizmos - Move Gizmo
(cherry picked from commit prusa3d/PrusaSlicer@df47ba7122)
2023-11-04 11:41:09 +08:00
Noisyfox
cd1705e6eb Implement plate picking 2023-11-04 11:41:06 +08:00
enricoturri1966
3577a259d5 Tech ENABLE_RAYCAST_PICKING - Raytraced picking of volumes 2023-11-04 11:41:06 +08:00
enricoturri1966
02f83f29c7 Tech ENABLE_GIZMO_GRABBER_REFACTOR - Refactoring of GLGizmoBase::Grabber to have a single static instance of the cube and cone models to be shared by all grabbers
(cherry picked from commit prusa3d/PrusaSlicer@f504236734)
2023-11-04 11:41:06 +08:00
Noisyfox
b2f94e16aa Fix variable init 2023-11-04 11:41:06 +08:00
Noisyfox
65b6856262 Fix macos build 2023-11-04 11:41:06 +08:00
Noisyfox
467223b8b0 Fix move gizmo grabber rendering 2023-11-04 11:41:06 +08:00
enricoturri1966
461fa63cbf Tech ENABLE_LEGACY_OPENGL_REMOVAL - Fixed rendering of layer editing background on older OpenGL compatibility profile
(cherry picked from commit prusa3d/PrusaSlicer@642f64cb41)
2023-11-04 11:41:06 +08:00
enricoturri1966
19ad0ca4d9 Tech ENABLE_LEGACY_OPENGL_REMOVAL - Fixed calculation of normal matrices sent to shaders
(cherry picked from commit prusa3d/PrusaSlicer@c468dcbed7)
2023-11-04 11:41:06 +08:00
enricoturri1966
4fb5b1f904 Cherry-picked a few changes from Tech ENABLE_GL_CORE_PROFILE 2023-11-04 11:41:06 +08:00
Noisyfox
5ce3ec716e Fix draw cut line 2023-11-04 11:41:06 +08:00
enricoturri1966
fe78e40cb4 Various fixes 2023-11-04 11:41:06 +08:00
Noisyfox
a50c5a2b7a Fix preview shell transparency 2023-11-04 11:41:05 +08:00
Noisyfox
0d27e084f3 Fix thumbnail shader 2023-11-04 11:41:05 +08:00
enricoturri1966
eb2b6af0d7 Tech ENABLE_LEGACY_OPENGL_REMOVAL - Fix into GLModel::send_to_gpu()
(cherry picked from commit prusa3d/PrusaSlicer@4b4ed423ef)
2023-11-04 11:41:05 +08:00
enricoturri1966
59b7c52862 Tech ENABLE_LEGACY_OPENGL_REMOVAL - Calculation of camera projection matrix
(cherry picked from commit prusa3d/PrusaSlicer@a0630420d9)
2023-11-04 11:41:05 +08:00
enricoturri1966
1e4f16bd39 Tech ENABLE_GL_SHADERS_ATTRIBUTES - Added shaders for glsl version 140
(cherry picked from commit prusa3d/PrusaSlicer@76d1d4949b)
2023-11-04 11:41:05 +08:00
enricoturri1966
bb044754af ENABLE_GL_IMGUI_SHADERS - Fixes in ImGuiWrapper::render_draw_data()
(cherry picked from commit prusa3d/PrusaSlicer@4964d6ecd5)
2023-11-04 11:41:05 +08:00
enricoturri1966
7081ebddfa Follow-up of 6b2fea5f8bb67a38bdcb7e3fb43c06a12a6d7798 - Fixed warnings
(cherry picked from commit prusa3d/PrusaSlicer@9701d3b01d)
2023-11-04 11:41:05 +08:00
enricoturri1966
cabb8fcf6e Tech ENABLE_GL_SHADERS_ATTRIBUTES - Fixed rendering of default bed in thumbnails
(cherry picked from commit prusa3d/PrusaSlicer@568bd39c5a)
2023-11-04 11:41:05 +08:00
enricoturri1966
96c8c11030 Removed obsolete code from GCodeViewer
(cherry picked from commit prusa3d/PrusaSlicer@033bee6431)
2023-11-04 11:41:05 +08:00
enricoturri1966
63272a9df8 Tech ENABLE_GL_SHADERS_ATTRIBUTES - Use shader's vertex attributes and matrices in GLMmSegmentationGizmo3DScene
(cherry picked from commit prusa3d/PrusaSlicer@4eee0d05f3)
2023-11-04 11:41:05 +08:00
enricoturri1966
15bad7fc19 Tech ENABLE_GL_IMGUI_SHADERS - Render imgui using shaders
(cherry picked from commit prusa3d/PrusaSlicer@d0d89a4d5b)
2023-11-04 11:41:05 +08:00
enricoturri1966
8dc82e7a8d Few small fixes 2023-11-04 11:41:05 +08:00
Noisyfox
ac001f8816 Fix pick rendering depth issue 2023-11-04 11:41:05 +08:00
Noisyfox
e211e7d144 Fix mm rendering 2023-11-04 11:41:05 +08:00
Noisyfox
511bfa71b6 Fix plate texture rendering depth issue 2023-11-04 11:41:05 +08:00
Noisyfox
8f49be40b7 Fix preview shell rendering 2023-11-04 11:41:04 +08:00
Noisyfox
03daf61862 Fix outline rendering 2023-11-04 11:41:04 +08:00
enricoturri1966
71fd4084c2 Tech ENABLE_LEGACY_OPENGL_REMOVAL - porting remaining changes
(cherry picked from commit prusa3d/PrusaSlicer@2f572d3cf0 )
2023-11-04 11:41:04 +08:00
enricoturri1966
9f4713eee8 Tech ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES - Use vertex attributes and matrices in shaders. 1st installment.
Shader: flat - Default bed

(cherry picked from commit prusa3d/PrusaSlicer@a5ff37013b)
2023-11-04 11:41:04 +08:00
enricoturri1966
5fc056edfb Some refactoring into GLGizmoSlaSupports::render_points()
(cherry picked from commit prusa3d/PrusaSlicer@5621f00ee6)
2023-11-04 11:41:04 +08:00
enricoturri1966
d8551d7a7d Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Use 2D vertices to render GLGizmoPainterBase circle
(cherry picked from commit prusa3d/PrusaSlicer@5193a15852)
2023-11-04 11:41:04 +08:00
enricoturri1966
61ed6143e6 Removed unneeded pairs glPushMatrix()/glPopMatrix()
(cherry picked from commit prusa3d/PrusaSlicer@5f9aeb1e38)
2023-11-04 11:41:04 +08:00
Noisyfox
e6443b5b27 Removed empty IMSlider_Utils.hpp 2023-11-04 11:41:04 +08:00
Noisyfox
c5b209270c Fix a few issues in cut gizmo 2023-11-04 11:41:04 +08:00
enricoturri1966
1fedcb61b7 Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Fix in GLGizmoRotate::render_angle_arc():
Tech ENABLE_GLINDEXEDVERTEXARRAY_REMOVAL - Fix in GLModel::render()

(cherry picked from commit prusa3d/PrusaSlicer@2379588196)
2023-11-04 11:41:04 +08:00
enricoturri1966
d09dc36ff1 Tech ENABLE_GLINDEXEDVERTEXARRAY_REMOVAL - Replace GLIndexedVertexArray with GLModel: GLVolume geometry + removed class GLIndexedVertexArray from codebase
(cherry picked from commit prusa3d/PrusaSlicer@1eac357739)
2023-11-04 11:41:04 +08:00
enricoturri1966
d85bbcba50 Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Fixed bug in rendering gizmo rotate
(cherry picked from commit prusa3d/PrusaSlicer@5fcb618f96)
2023-11-04 11:41:04 +08:00
enricoturri1966
d1b0743735 Removed obsolete member variable GLCanvas3D::m_color_by
(cherry picked from commit prusa3d/PrusaSlicer@5089d1460d)
2023-11-04 11:41:04 +08:00
enricoturri1966
dd51ce3b90 Follow-up of fdf8b11d4cfa793d1e45d82560d4bd97d0466d40 - Fixed GLGizmoSlaSupports::render_points()
(cherry picked from commit prusa3d/PrusaSlicer@0c74081f7d)
2023-11-04 11:41:03 +08:00
enricoturri1966
dde64acf72 Tech ENABLE_GLBEGIN_GLEND_REMOVAL - SLA caps rendered using GLModel
(cherry picked from commit prusa3d/PrusaSlicer@c9ff260d13)
2023-11-04 11:41:03 +08:00
enricoturri1966
10243b3a8c Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Removed OpenGL legacy calls from GLCanvas3D::init()
(cherry picked from commit prusa3d/PrusaSlicer@aa4714a239)
2023-11-04 11:41:03 +08:00
enricoturri1966
12dbbf2d1c Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Another refactoring to simplify client code of GLModel::Geometry
(cherry picked from commit prusa3d/PrusaSlicer@fa1ff1c357)
2023-11-04 11:41:03 +08:00
enricoturri1966
8107057e17 Tech ENABLE_GLINDEXEDVERTEXARRAY_REMOVAL - Replace GLIndexedVertexArray with GLModel: MeshClipper::m_vertex_array
(cherry picked from commit prusa3d/PrusaSlicer@be6922795d)
2023-11-04 11:41:03 +08:00
enricoturri1966
fc1c8c2565 Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Removed Slic3r::GUI::GLPaintContour from GLGizmoPainterBase.hpp/.cpp and replaced with GLModel
(cherry picked from commit prusa3d/PrusaSlicer@df3d670357)
2023-11-04 11:41:03 +08:00
enricoturri1966
baa575b5aa Tech ENABLE_GLINDEXEDVERTEXARRAY_REMOVAL - Replace GLIndexedVertexArray with GLModel:
TriangleSelectorGUI::m_iva_enforcers

TriangleSelectorGUI::m_iva_blockers

TriangleSelectorGUI::m_iva_seed_fills

TriangleSelectorGUI::m_varrays

GLGizmoPainterBase::s_sphere

(cherry picked from commit prusa3d/PrusaSlicer@8916a00821)
2023-11-04 11:41:03 +08:00
enricoturri1966
b7989e3b2f Gizmos refactoring - Removed GLModels defined into GLGizmoBase, and mostly unused, to avoid wasting GPU memory. Use a shared GLModel for Gizmos inheriting from GLGizmoPainterBase. Initialization of GLModels moved from constructor to render methods
(cherry picked from commit prusa3d/PrusaSlicer@e3d5cd445c)
2023-11-04 11:41:03 +08:00
enricoturri1966
874f39aac1 Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Adapt GLModel::Geometry index format in dependence of data size, where possible
(cherry picked from commit prusa3d/PrusaSlicer@4d2d77e99c)
2023-11-04 11:41:03 +08:00
Noisyfox
6d4e0840bc Fix move gizmo grabber connection render 2023-11-04 11:41:03 +08:00
enricoturri1966
269fbaa60c Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Refactoring to simplify client code of GLModel::Geometry
(cherry picked from commit prusa3d/PrusaSlicer@be6b6590be)
2023-11-04 11:41:03 +08:00
enricoturri1966
6eed22015a Tech ENABLE_GLINDEXEDVERTEXARRAY_REMOVAL - Replace GLIndexedVertexArray with GLModel - GLGizmoFlatten::PlaneData::vbo
(cherry picked from commit prusa3d/PrusaSlicer@ffa3a1d8fc)
2023-11-04 11:41:03 +08:00
enricoturri1966
f9de4ec399 Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Removed Slic3r::GUI::GeometryBuffer from 3DBed.hpp and replaced with GLModel
(cherry picked from commit prusa3d/PrusaSlicer@6b041429f6)
2023-11-04 11:41:03 +08:00
Lukáš Hejl
499b9d1be8 Fix various memory leaks
(cherry picked from commit prusa3d/PrusaSlicer@deb17c5920)
2023-11-04 11:41:03 +08:00
enricoturri1966
7907426d00 Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Textures rendering
(cherry picked from commit prusa3d/PrusaSlicer@1a47211bfc)
2023-11-04 11:41:03 +08:00
enricoturri1966
04ad26f611 Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Background rendering
(cherry picked from commit prusa3d/PrusaSlicer@eda55701a2)
2023-11-04 11:41:01 +08:00
enricoturri1966
35899b96ba Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Layers editing profile's background texture rendering
Tech ENABLE_GLBEGIN_GLEND_REMOVAL - A few fixes in layers editing profile rendering

(cherry picked from commit prusa3d/PrusaSlicer@a939d8e4c0)
(cherry picked from commit prusa3d/PrusaSlicer@8c807dbcc4)
2023-11-04 11:41:01 +08:00
enricoturri1966
354f8e20fb Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Refactoring of GLModel to:
1) allow for custom vertex data layout

2) allow for custom index data format

3) allow for any OpenGL primitive type

(cherry picked from commit prusa3d/PrusaSlicer@afcac6e2ea)
2023-11-04 11:41:00 +08:00
enricoturri1966
7e04448b7a Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Various Gizmos updates and fixes
prusa3d/PrusaSlicer@35dd03e8cb
prusa3d/PrusaSlicer@bcaa0d38bd
prusa3d/PrusaSlicer@2673994471
prusa3d/PrusaSlicer@0e3a3aa522
prusa3d/PrusaSlicer@08a2711034
prusa3d/PrusaSlicer@f6f95808cc
prusa3d/PrusaSlicer@81edc7d752
prusa3d/PrusaSlicer@0b6e2b4aec
prusa3d/PrusaSlicer@71f08841f9
2023-11-04 11:41:00 +08:00
Filip Sykala
f6a3421e2a remove GLModel from base class
- only 2 gizmo use cone

(cherry picked from commit prusa3d/PrusaSlicer@3c7390e34e)
(cherry picked from commit 4647fc49ef5b925432e087252f32a6601d0410da)
2023-11-04 11:41:00 +08:00
enricoturri1966
356405adf6 Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Selection layers hints
(cherry picked from commit prusa3d/PrusaSlicer@bebb5505a3)
2023-11-04 11:41:00 +08:00
enricoturri1966
7f0c095446 Tech ENABLE_GLBEGIN_GLEND_REMOVAL - 1st installment - Selection bounding box
(cherry picked from commit prusa3d/PrusaSlicer@22f38235ea)
2023-11-04 11:41:00 +08:00
enricoturri1966
28d0147d09 Introduction of classes ColorRGB and ColorRGBA to unify color data definition and manipulation
(cherry picked from commit prusa3d/PrusaSlicer@d0bff2d996 )
2023-11-04 11:41:00 +08:00
SoftFever
36ffb18059 make folder name more consistent 2023-11-04 10:37:53 +08:00
Noisyfox
528fb630bc Organic: Fix support blocker (#2595)
Expand blockers a little bit to compensate the error in facet projection
2023-11-04 02:42:30 +08:00
Rob Trame
f1345d276b Fix typos and style inconsistencies related to configuration (#2580)
* Fix 'min' accidentally defined as 'max'

* Remove duplicate retract_lift_above/below definitions

* Add correct unit for jerk

* Make speed tooltip consistent with others

* Remove accidental 's' in Qidi XPlus config

* Remove trailing comma in RatRig config

* Add 'type' field to KP3S PRO configs

* Revert "Make speed tooltip consistent with others"

This reverts commit 16c0575181.

* Revert "Remove duplicate retract_lift_above/below definitions"

This reverts commit 54ca51f3de.

* Remove non-translated retract_lift_above/below definitions

* Update PrintConfig.cpp

Revert jerk unit
2023-11-04 02:41:13 +08:00
ablegods
905d104ded Update localization (#2597)
* Update localization

Update existing strings and some newly added strings

* Update localization

Update existing strings and some newly added strings
2023-11-03 21:34:51 +08:00
InfimechOfficial
915c112ee5 20231103 Add "InfiMech" printer profiles (#2596)
* 20231103 Add "InfiMech" printer profiles 

A new brand named "InfiMech" submits printer profiles for the first time.

* 20231103 Add "InfiMech" printer profiles 

A new brand named "InfiMech" submits printer profiles for the first time.

* fix issues that prevent the profiles being loaded.

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-11-03 19:23:20 +08:00
SoftFever
8fcaef53f7 skip only one wall top checking for bridges 2023-11-03 18:35:46 +08:00
SoftFever
01ff70197b set default internal_solid_infill_pattern to monotonic for Qidi machines 2023-11-03 18:35:46 +08:00
SoftFever
e7507e1af5 Revert "Increase uploading timeout for Klipper"
This reverts commit e32e717a75.
2023-11-03 18:35:46 +08:00
SoftFever
4fe80bcbc5 remove staff_pick_switch 2023-11-03 18:35:46 +08:00
Heiko Liebscher
70c5178e50 Fix de for 1.8.0 beta2 (#2589)
* fix german for 1.8.0 beta2

* fix more
2023-11-03 18:24:46 +08:00
SoftFever
aba3c8ab31 bump version to 1.8 beta2 2023-11-02 22:13:00 +08:00
Carlos Caruncho
1c9c1d69ad Spanish translation (#2577)
* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

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

This reverts commit 694a900845, reversing
changes made to 4f53ce4f88.

* Revert "Update OrcaSlicer_es.po"

This reverts commit 4f53ce4f88.

* Revert "Revert "Update OrcaSlicer_es.po""

This reverts commit 53bd15617c.

* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-11-02 18:52:00 +08:00
Hukete
cfcba09d9d Update QIDI profiles (#2586)
* 10-25

Add TPU-95A HF

* 1030

Adding Introduction of Chamber Temperature Control Macros(M191) to Notes

* 1102

Add ABS-GF10 profile,
Remove a extra "s" from the "0.36mm Standard @Qidi XPlus3 0.6 nozzle.json" file
2023-11-02 18:41:03 +08:00
Noisyfox
fcb289124e fix deadlock condition varaible use in netfabb wrapper (#2583)
(cherry picked from commit prusa3d/PrusaSlicer@04ac99a54e)

Co-authored-by: PavelMikus <pavel.mikus.mail@seznam.cz>
2023-11-02 18:40:19 +08:00
Ocraftyone
d574816aef Add default page selection (#2569)
Add option to change default page
2023-11-02 18:28:13 +08:00
SoftFever
61e05f9bd1 Fixed #2562: disable extra perimeters over overhangs for spiral vase 2023-11-01 23:12:22 +08:00
Ocraftyone
06f966e43a Add splash screen toggle (#2568)
Add preferences option to toggle splash screen
2023-11-01 16:47:14 +08:00
Carlos Caruncho
261393b649 Update Spanish Translation (#2545)
* Update OrcaSlicer_es.po

* Update OrcaSlicer_es.po
2023-11-01 11:57:37 +08:00
lukicsl
86701d2c87 some wrong max/min layer height corrected and 0.15 nozzle added for Voron 2.4 (#2546)
* some wrong max/min layer height corrected and 0.15 nozzle added vor Voron 2.4

* typo 0.0

* Some correction in previouse commits + added missing nozzles for Revo

* yet another type
2023-11-01 11:56:59 +08:00
Ioannis Giannakas
46b31a41bf Fix duplicate entry of Only Lift Z above and below in the extruder tab (#2561)
Update Tab.cpp
2023-11-01 11:56:14 +08:00
Andy
b7d9899ef3 Russian translation update (#2551)
Russian translation update
2023-10-31 20:41:53 +08:00
SoftFever
2da64eb1b3 Improve max vol test model to support large diameter nozzles 2023-10-31 20:13:20 +08:00
SoftFever
9bc030e486 Fixed a bug that gcode was reprocessed when uploading to printhost 2023-10-31 19:15:19 +08:00
SoftFever
ac67387c7d Fixed #2527: missing THUMBNAIL_BLOCK_START 2023-10-30 23:00:43 +08:00
lukicsl
ca3a62fba8 Added 0.2mm, 0.6mm, 0.8mm nozzle support for Voron 2.4 (#2543) 2023-10-30 21:26:49 +08:00
renemosner
48fc21d59a (Update Czech translation)Aktualizace českého překladu (#2544)
* Czech translation update

* Czech translation update
2023-10-30 19:58:38 +08:00
Hukete
95dc4b7c6d Update Chamber Temperature Control (#2542)
* 10-25

Add TPU-95A HF

* 1030

Adding Introduction of Chamber Temperature Control Macros(M191) to Notes
2023-10-30 19:56:56 +08:00
SoftFever
7e91d68493 add overall_chamber_temperature variable 2023-10-30 19:53:22 +08:00
SoftFever
3fca10d7f8 Fixed #2245: change min value of *_speed parameters from 0 to 1 2023-10-30 19:49:30 +08:00
SoftFever
79c36c8d27 fix typo 2023-10-30 18:34:13 +08:00
Barry Lowrance
9c1c582464 Neptune 4 Max Profile initial commit (#2531)
Added printer profile for Elegoo Neptune 4 Max
2023-10-30 01:15:19 +08:00
SoftFever
e32e717a75 Increase uploading timeout for Klipper 2023-10-30 01:12:31 +08:00
SoftFever
6fe5abc8cc Fix Process_T 2023-10-30 00:09:01 +08:00
SoftFever
338f4609f3 skip relative e distance check for BBL 2023-10-29 17:54:35 +08:00
SoftFever
7ff4005c22 Fix errors when slicing A1 mini 2023-10-29 12:16:16 +08:00
SoftFever
363c256668 Fix some strings and update locale files 2023-10-29 10:47:23 +08:00
SoftFever
457b847aee Remove BambuStudio-SoftFever migration code 2023-10-29 10:31:26 +08:00
SoftFever
99012660c9 Don't show not consistent g-code warning for P1P machine when P1S profiles are used. 2023-10-28 22:52:16 +08:00
SoftFever
db97f91abc Enable cancel object for multi color printing(BBL) 2023-10-28 22:50:37 +08:00
Ioannis Giannakas
cee0cbe49a Updated tool tip and removed min print speed disabling when slowdown for layer cooling is de-selected (#2524)
* Updated tool tip and removed min print speed disabling when slowdown for layer cooling is de-selected

* Updated tool tip to make it explicit when this setting is used.
2023-10-28 21:55:48 +08:00
SoftFever
937f5b44e2 Update README.md 2023-10-28 17:18:15 +08:00
SoftFever
2021c2bf97 update sponsor 2023-10-28 15:49:58 +08:00
SoftFever
9d7f10c176 update wiki placeholder links 2023-10-28 10:05:49 +08:00
mariuske
7a71db1df0 Fixed minor typo (#2519) 2023-10-27 21:31:38 +08:00
Microdog
d6c9463a31 fix: fix cooling overhang threshold (#2508) 2023-10-27 21:30:23 +08:00
SoftFever
eed0c28bd8 fix some small issues of machine_max_acceleration_travel 2023-10-27 21:09:31 +08:00
mariuske
bfdaa1c51b Adjusted values to match other profiles and corrected typo for 0,2mm AD5M Pro 0,4 Nozzle profile (#2514)
* Adjusted values to match other profiles and corrected typo for 0,2mm AD5M Pro 0,4 Nozzle profile

* Aligned remaining values for 0,2mm AD5M Pro 0,4 Nozzle profile

* Updated the "initial layer acceleration" to match best practise

Updated the "initial layer acceleration" for all profiles to match best practise. This will help on the adhesive for the first layer. The value is also aligned with the common profiles now.

* Updated bridge speed

Updated bridge speed for all profiles to 25 as suggested by @SoftFever
2023-10-27 19:58:27 +08:00
Hotsolidinfill
17258c882d update Korean translation (#2513)
update last strings Korean
fix add printer "all/clear all" button
2023-10-27 16:26:17 +08:00
SoftFever
cbca9ffb81 check locale improve (#2511)
* check locale improve

* 1

* 3
2023-10-26 13:36:09 +08:00
SoftFever
b99bd94a22 Fix fr errors 2023-10-26 13:18:17 +08:00
SoftFever
9e93b51777 timelapse gcode 2023-10-26 13:16:54 +08:00
Thomas
a6003cb20a Updated FR translations (#2510)
* Rename Creality HF Generic Speed PLA.cfg to Creality HF Generic Speed PLA.json

* Update Creality K1.json

* Create Creality Generic TPU.json

* Update Creality Generic ASA.json

CS

* Update Creality.json

* Update Creality K1 Max.json

* Update OrcaSlicer_fr.po
2023-10-26 13:15:07 +08:00
SoftFever
fc7a47ecb1 return error when msgfmt failed 2023-10-26 13:08:53 +08:00
FlashforgeOfficial
a106625f84 1025 Add Flashforge printers profile (#2505)
* Added Flashforge printer profiles

The uploaded OrcaSlicer profiles include support for Flashforge Adventurer 5M and Flashforge Adventurer 5M Pro.

* Hi,

This is a pull request for adding Flashforge printer profiles to help expand OrcaSlicer's stock profiles for the community. The uploaded printers profiles support Flashforge Adventurer 5M and Flashforge Adventurer 5M Pro.
Let me know if there are any mistakes or adjustments of the files. Thank you!

Regards,
Xiaolong Bai

* Add Flashforge printer profile for Adventurer 5M and Adventurer 5M Pro

* 20230927 Add profiles for Flashforge printers

* 20231018 Flashforge Printer Profiles for AD5M and AD5M Pro

* 1024 Update: Flashforge Printer

* 1025 Add Flashforge AD5M series profiles

* 1025 Update nozzle type

"nozzle_type": "stainless_steel"

* Update 

"nozzle_type": "stainless_steel"

* Update  

"nozzle_type": "stainless_steel"

* Update  

"nozzle_type": "stainless_steel"
2023-10-25 21:47:04 +08:00
SoftFever
8ab1d8dd36 update Chinese translation 2023-10-25 20:41:01 +08:00
Hukete
fdb73b2e2a Qidi: profiles updates (#2506)
Add TPU-95A HF
2023-10-25 17:11:24 +08:00
SoftFever
5e0102e8ca update wiki links(to place holders) 2023-10-24 23:02:41 +08:00
SoftFever
ccf5c117ce update wiki 2023-10-24 22:11:17 +08:00
SoftFever
a037fd63df update WIKI test 2023-10-24 21:58:46 +08:00
SoftFever
dcb23abb8a update locale for new strings 2023-10-24 19:50:04 +08:00
enricoturri1966
f1c884acf8 Tech ENABLE_Z_OFFSET_CORRECTION - Correction of toolpaths zs when z offset is set
(cherry picked from commit 537ae6bec3bb5347665e294d02cba4a889221445)
2023-10-24 18:50:04 +08:00
SoftFever
6023f79be3 add z offset option 2023-10-24 18:49:53 +08:00
SoftFever
0851e0934b bump version to 1.8.0-beta1 2023-10-24 00:20:04 +08:00
SoftFever
1b3ad9f3d3 update locale 2023-10-24 00:18:33 +08:00
SoftFever
7a2229cae9 Optimize g-code generation for Klipper: combine accel and jerk command 2023-10-24 00:11:33 +08:00
SoftFever
d6146ecc84 Add accel and jerk to object config 2023-10-24 00:05:50 +08:00
SoftFever
f3dade623b Fixed an issue that Motion ability page is not displayed for RRF 2023-10-24 00:05:50 +08:00
Heiko Liebscher
1224759ecd fix german and for zh_tw typos (#2498)
* fix german and for  zh_tw typos

* fix de
2023-10-24 00:04:40 +08:00
Hotsolidinfill
c341bef735 update korean translation (#2496)
* update last strings

* translate web strings into Korean

* fix

* update last strings korean
2023-10-23 19:36:47 +08:00
SoftFever
12eafd5491 optimize some models 2023-10-22 21:19:46 +08:00
SoftFever
da47d0f79e Fix some issues that some option changes won't tirgger slice status 2023-10-22 20:54:48 +08:00
Noisyfox
e641903b16 Fix crash when referencing an invalid variable name (#2486)
Fix crash when referencing an invalid variable name using the old placeholder parser syntax
2023-10-22 19:35:53 +08:00
astrolemonade
66fe13f403 Fix name of bambu lab a1 mini cover (#2478) 2023-10-22 19:33:54 +08:00
Ocraftyone
f84e94faf7 Add "Manual filament change" option and logic (#2379)
* Add "Manual filament change" option and logic

* make suggested changes

* make suggested changes

* change tag from "CHANGE_TOOL" to "MANUAL_TOOL_CHANGE"

* some tweaks

* More fixes

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
Co-authored-by: SoftFever <103989404+SoftFever@users.noreply.github.com>
2023-10-22 19:31:09 +08:00
SoftFever
90601c098a Feat: chamber temp control and chamber fan (#2483)
* init

* tweak
2023-10-22 16:38:20 +08:00
SoftFever
809e6d1cc7 Check latest releases only 2023-10-21 19:43:07 +08:00
SoftFever
a7729ca83f Merge BS 1.7.7.89
# Conflicts:
#	bbl/i18n/ko/BambuStudio_ko.po
#	localization/i18n/OrcaSlicer.pot
#	localization/i18n/de/OrcaSlicer_de.po
#	localization/i18n/en/OrcaSlicer_en.po
#	localization/i18n/es/OrcaSlicer_es.po
#	localization/i18n/fr/OrcaSlicer_fr.po
#	localization/i18n/hu/OrcaSlicer_hu.po
#	localization/i18n/it/OrcaSlicer_it.po
#	localization/i18n/ja/OrcaSlicer_ja.po
#	localization/i18n/nl/OrcaSlicer_nl.po
#	localization/i18n/sv/OrcaSlicer_sv.po
#	localization/i18n/zh_cn/OrcaSlicer_zh_CN.po
#	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/BambuStudio.mo
#	resources/i18n/ko/BambuStudio.mo
#	resources/i18n/nl/BambuStudio.mo
#	resources/i18n/sv/BambuStudio.mo
#	resources/i18n/zh_cn/BambuStudio.mo
#	resources/profiles/Anycubic/machine/Anycubic Kobra Max 0.4 nozzle.json
#	src/OrcaSlicer.cpp
#	src/libnest2d/include/libnest2d/selections/firstfit.hpp
#	src/libslic3r/GCode/GCodeProcessor.cpp
#	src/libslic3r/Print.cpp
#	src/libslic3r/Print.hpp
#	src/libslic3r/PrintConfig.cpp
#	src/slic3r/GUI/CalibrationWizardPresetPage.cpp
#	src/slic3r/GUI/GLCanvas3D.cpp
#	src/slic3r/GUI/PartPlate.cpp
#	src/slic3r/GUI/PartPlate.hpp
#	src/slic3r/GUI/ReleaseNote.cpp
#	src/slic3r/GUI/Tab.cpp
#	version.inc
2023-10-21 19:41:49 +08:00
SoftFever
156c35e1da handle more legacy configs 2023-10-21 18:18:52 +08:00
Noisyfox
951252c597 Change direction for perimeter extrusion at odd layers. (#2413)
* Change direction for perimeter extrusion at odd layers.

Initial test code based on supermerill/SuperSlicer@87245ae3c1

* Perimeters for both contours and holes can have alternating direction, to support overhangs on both side.
Also fixes wipe on loop.

* Only reverse order if the loops have steep overhang

* Support a special case that treat every layer as steep overhang

* Add options

* Disable overhang reverse if vase mode is enabled

* Allow extrusion reversal and skip overhang detection if fuzzy skin

---------

Co-authored-by: supermerill <merill@free.fr>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-10-21 17:23:05 +08:00
SoftFever
bbfb9d77fa More camera tweaks (#2473)
* fix camera regressions

* Handle multiple plates
2023-10-21 12:20:30 +08:00
ZdDroid
0037a5cc2d Search printer model in add/remove printer dialog 选择打印机增加关键字搜索#3 (#2464)
* 选择打印机增加关键字搜索#3

* allow dismiss window by pressing ESC key

---------

Co-authored-by: ZdDroid <601865048@qq.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-10-20 07:57:34 +08:00
Trist0ne
acbf27036c Merged optimized print profiles from Comgrow Official (#2454)
* Merged optimized print profiles from Comgrow Official

* Corrected profile naming convention
2023-10-19 22:49:22 +08:00
Noisyfox
56fdbf5310 Fix layer path order when multi-layer elephant compensation is used (#2443) 2023-10-19 19:57:53 +08:00
Noisyfox
075a08bca8 Initial port of the new ensure vertical thickness algorithm from PrusaSlicer (#2382)
* Initial port of the new ensure vertical thickness algorithm from PrusaSlicer.

Based on prusa3d/PrusaSlicer@1a0d8f5130

* Remove code related to "Detect narrow internal solid infill" as it's handled by the new ensuring code

* Support different internal solid infill pattern

* Ignore removed options

---------

Co-authored-by: Pavel Mikuš <pavel.mikus.mail@seznam.cz>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-10-19 19:55:05 +08:00
Evan Felix
ef831ab8b1 add plate origin when looking for wipe tower (#2441)
* add plate origin when looking for wipe tower

* fix build errors and handle more plate offset cases

---------

Co-authored-by: SoftFever <103989404+SoftFever@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-10-18 17:45:54 +08:00
ablegods
d0ccc5ee96 Updated TW translation (#2433)
Changed some localization strings to be more appropriate
2023-10-17 20:03:11 +08:00
Ocraftyone
4d14ee15ce Thumbnail Formats Option Ported from PrusaSlicer and add BIQU/BTT format (#2405)
* Add needed src files and update CMake files

* Implementation of GCodeThumbnailsFormat for PNG, JPG, and QOI complete

* Implement BIQU (Big Tree Tech) Thumbnail Format

* have GCodeProcessor.post_process pass through original line end characters

* fix biqu thumbnail output
use \r\n for new lines in the biqu thumbnail portion. the firmware requires these end characters to function properly.
update names of variables and add comments to be more descriptive
replace modified Qt pixel algorithm with much simpler algorithm from BTT TFT firmware

* rename BiQU to BTT_TFT for better clarity

* remove underscore from GUI option

---------

Co-authored-by: SoftFever <103989404+SoftFever@users.noreply.github.com>
2023-10-17 20:00:38 +08:00
SoftFever
25c9b43d62 Revert "选择打印机增加关键字搜索 (#2376) (#2392)"
This reverts commit caaa969ba1.
Revert "选择打印机增加关键字搜索 (#2392)"

This reverts commit a178b967dc.
2023-10-15 18:08:56 +08:00
SoftFever
1c26ec9e23 Increase painting resolution 2023-10-15 18:08:56 +08:00
SoftFever
388b483774 Feat: 1. Vertical and horizontal mode for painting 2. Optimize Camera behavior (#2424)
* fix camera and update locale

* Paint horizontally or vertically
2023-10-15 16:43:52 +08:00
SoftFever
53c416b819 Fixed a regression of Hostname #2372 2023-10-14 23:16:27 +08:00
Hotsolidinfill
a3200ad285 Translate web strings into Korean (#2410)
* update last strings

* translate web strings into Korean

* fix
2023-10-14 20:16:51 +08:00
Thomas
2077c98bcc K1/K1 Max : Added TPU, ASA and fixed filaments missing from previous PR (#2412)
* Rename Creality HF Generic Speed PLA.cfg to Creality HF Generic Speed PLA.json

* Update Creality K1.json

* Create Creality Generic TPU.json

* Update Creality Generic ASA.json

CS

* Update Creality.json

* Update Creality K1 Max.json
2023-10-14 20:16:16 +08:00
Thomas
25447877c6 Config changes for Creality K1/K1 Max (#2380)
* Update 0.16mm Optimal @Creality K1 (0.4 nozzle).json

Improved K1 0.16mm profile

* Improved 0.20mm Standard @Creality K1 (0.4 nozzle).json

* Improved 0.24mm Draft @Creality K1 (0.4 nozzle).json

* Create Creality High Flow Hotend PLA.json

* Create fdm_filament_tpu.json

* Create fdm_filament_asa.json

* Create Creality Generic ASA.json

* Update Creality Generic PLA.json

* Create Creality Generic Speed PLA.cfg

* Rename Creality High Flow Hotend PLA.json to Creality High Flow Hotend Generic PLA.json

* Rename Creality Generic Speed PLA.cfg to Creality High Flow Hotend Generic Speed PLA.cfg

* Update Creality Generic ASA.json

* Update Creality K1 (0.4 nozzle).json

* Update Creality K1 (0.6 nozzle).json

* Update Creality K1 (0.8 nozzle).json

* Update Creality Generic ASA.json

* Rename Creality High Flow Hotend Generic PLA.json to Creality HF Generic PLA.json

* Rename Creality High Flow Hotend Generic Speed PLA.cfg to Creality HF Generic Speed PLA.cfg

* Update Creality Generic PLA.json

* Update 0.24mm Draft @Creality K1 (0.4 nozzle).json

* Update Creality HF Generic PLA.json

* Update Creality HF Generic Speed PLA.cfg
2023-10-14 10:59:51 +08:00
Thomas
2c6b024dae Added a lot of missing strings and fixed some in FR localization (#2397)
* Update OrcaSlicer_fr.po

Add missing translation and removes some references to Bambu that are not in original strings.

* Update OrcaSlicer_fr.po
2023-10-14 09:55:31 +08:00
曹政
b3866afb9e update zh_CN local (#2393)
Co-authored-by: smile.caozheng <smile.caozheng@outlook.com>
2023-10-14 09:51:33 +08:00
Hotsolidinfill
3631a0fee6 update Korean translation (#2401)
update last strings
2023-10-14 09:48:52 +08:00
Noisyfox
f39f5effa1 Fix crash on BBL's calibration tab (#2403) 2023-10-13 22:55:07 +08:00
liz.li
1d07869519 ENH: add a text translation of a dailytip
jira: new

Change-Id: I2d9ed92011cfc6aa69b96fa27ad11d856114403d
2023-10-13 14:43:42 +08:00
liz.li
760987660f ENH: add a dailytip
jira: STUDIO-4773

Change-Id: I97a15de5356a5275e648d9eb42f733479803561c
2023-10-13 14:43:42 +08:00
gerrit
1ce06fa320 ci: update build version to 01.07.07.89
Change-Id: I0b2aad10c8f697ad0cf74744b71ec1e2fef1c843
2023-10-13 14:43:42 +08:00
xun.zhang
c29a38d91b ENH: do not pop up open door tip
1. Do not pop up open door tip. Write the info to slicer info

jira: [NEW]
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I1f611ee18faa5820a26443a13614f68f3e6ba780
2023-10-13 14:43:42 +08:00
xun.zhang
b946308f03 ENH: update A1 mini gcode
1.improve wipe mouth temp 140-150
2.delete the last flush start

jira:[NEW]

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie3db3b89c61b18bdff79fe2dbf61398c428da733
2023-10-13 14:43:42 +08:00
zhimin.zeng
f52c49c371 FIX: PA Profile Factor K not shown in German language
github: 2689
Change-Id: I8d5b874e1304e2ecd984f14fad8ae32f94ea4602
2023-10-13 14:43:42 +08:00
xun.zhang
96abc3209a ENH: use json to store filament & nozzle info
1.Use json to store nozzle hrc
2.Use json to store filament temp type

jira: STUDIO-3488

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8eb226e26352a41418f4e46d8cda403dc22ecff4
(cherry picked from commit 62a71d5b1947474d3d86be9015551c1007c89702)
2023-10-13 14:43:42 +08:00
chunmao.guo
9ce3487b20 FIX: [STUDIO-4125] null crash in ImageGrid
Change-Id: Ibe2fcf6d3fe7ae901a2e594d782566a04aa19c39
Jira: STUDIO-4125
(cherry picked from commit aef8e23fdbead22c9e0585cb33cb72f183d8c057)
2023-10-13 14:43:42 +08:00
Arthur
d64031a054 ENH: auto-arranging allows more filaments together
Auto-arranging allows more filaments to be printed on the same plate

Only HighTemp and LowTemp filaments are not allowed on the same plate.

Jira: https://jira.bambooolab.com/browse/STUDIO-4682
Change-Id: I1bd4966e6aaa55a6dd9dff05f0bd94f2795a62b0
(cherry picked from commit 965040912af0555ca190702e7c7ac92e177a2922)
2023-10-13 14:43:42 +08:00
lane.wei
7b93986dfa ENH: CLI: retry pipes no matter which error found
JIRA: no jira
Change-Id: Ic49dd1a55e83485eb72b5be97ba9509261f6c133
2023-10-13 14:43:42 +08:00
Arthur
d54f488160 FIX: exclusion region may be too close
Auto arranging may put exclusion region may be too close.
Jira: none

Change-Id: I613a2525620cf58cd9da7d27e8bb6d9d0a52d807
(cherry picked from commit a8ed3929d3596b8ee5400c9376ca040c75025524)
(cherry picked from commit 97e6f5aadb4623f07837f8a4845c29752b09f88e)
2023-10-13 14:43:42 +08:00
Noisyfox
fc0067ccba Remove fix_slicing_errors because it makes no sense (#2370)
this also fixes #2344
2023-10-12 23:02:27 +08:00
ZdDroid
a178b967dc 选择打印机增加关键字搜索 (#2392)
* 选择打印机增加关键字搜索

* revert more format changes

---------

Co-authored-by: ZdDroid <601865048@qq.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-10-12 22:49:39 +08:00
SoftFever
3f9db6064b update loacale 2023-10-11 22:29:03 +08:00
Heiko Liebscher
4854572b7f fix de for 1.8 new features (#2378)
fix
2023-10-11 22:21:34 +08:00
Hotsolidinfill
b013c97376 update korean (#2368) 2023-10-11 22:18:39 +08:00
Anna
3afe87652e Update OrcaSlicer_nl.po (#2387)
Did what I could for now!
2023-10-11 22:15:39 +08:00
Noisyfox
b5ee7a0e44 Show as much information as possible in crash log (#2386) 2023-10-11 22:14:21 +08:00
ZdDroid
caaa969ba1 选择打印机增加关键字搜索 (#2376)
Co-authored-by: ZdDroid <601865048@qq.com>
2023-10-11 21:54:55 +08:00
gerrit
700a840d2f ci: update build version to 01.07.07.88
Change-Id: I3540eab6552b682f678bdc7966741348f58aa2bd
2023-10-10 14:19:23 +08:00
lane.wei
59f71cfc67 ENH: translation: refine translation for hot bed temperature
JIRA: no jira
Change-Id: I367d1a2e4aa8478b8892e41f9a41dac2fc8141bb
2023-10-10 14:19:23 +08:00
lane.wei
9f31a1ff7b ENH: GUI: refine the text spacing for some warning
JIRA: no jira

Change-Id: I6d6a6e1e103a3c67ed6c93847877753bbe7c4691
2023-10-10 14:19:23 +08:00
xun.zhang
c27165a0d7 ENH: update PPA-GF max v speed
1.Modify generic PPA-GF max v speed to 6

jira: [NEW]
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I18cfdcb9037b9d9fda6ec60d12c6057a5f9e9bd0
2023-10-10 14:19:23 +08:00
maosheng.wei
a709ac2694 FIX: Some Translation
Jira: STUDIO-4557
Signed-off-by: maosheng.wei <maosheng.wei@bambulab.com>
Change-Id: I561ca49a49222e1c9c4456f061e649dd8ed129bb
2023-10-10 14:19:23 +08:00
gerrit
d9e50b183a ci: update build version to 01.07.07.87
Change-Id: Ic7361992003ca200e11fed84251219a13e4a605d
2023-10-10 14:19:23 +08:00
tao wang
440185f12d ENH:update Chinese translations related to auto refill
Change-Id: I13efdea9032a99c17159db5815526dc850767f2d
2023-10-10 14:19:23 +08:00
tao wang
fa71b9600b ENH:update text in auto refill
jira:[STUDIO-4344]

Change-Id: Ieb1f40e03fd4a266b768f8b97e28328858fe63cc
(cherry picked from commit 621d4319760cea15e224a9927768bb643b852139)
2023-10-10 14:19:23 +08:00
gerrit
6e646878e5 ci: update build version to 01.07.07.86
Change-Id: I449b349672a26a190a7b36addc9015cceae14b1b
2023-10-10 14:19:23 +08:00
zhimin.zeng
b293346272 FIX: The warning is not translated
that nozzle diameter is not supported in old firmware
Jira: 4675

Change-Id: I6045dd33f4821ee7dd11bd8782f8c6f9b2a4010e
2023-10-10 14:19:23 +08:00
xun.zhang
ce40bb2ecf ENH: add translation
jira:[NEW]

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I241470bbe5e080173419715caabaa624d045ea56
2023-10-10 14:19:23 +08:00
xun.zhang
1c0e3e2e96 ENH: refine open door printing tip
jira:STUDIO-4532

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I887e6b2bec90facbe9722622be4d7e7d0ee35796
2023-10-10 14:19:23 +08:00
xun.zhang
241d10c637 ENH: refine enclosed printing logic
1.Display a pop-up window based on whether is enclosed

jira: STUDIO-4532

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I5e7c85f6590ebe1c65f957c6bcc57a969e804964
2023-10-10 14:19:23 +08:00
gerrit
882e4ff114 ci: update build version to 01.07.07.85
Change-Id: I08ab209f6bbf6aff155afed5e9a8fe007212a730
2023-10-10 14:19:23 +08:00
xun.zhang
a3e94f42a0 ENH: add translations
jira:[NEW]

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I121adb40fb4eb68a62b52b8eda4270ef1b1d38f5
2023-10-10 14:19:23 +08:00
xun.zhang
463716dd55 ENH: refine some tip with softening temperature
1. refine some tip
2. alert when bed temperture greq than softening temperature

jira: STUDIO-4532
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ib9623553a40825015744783f30c6e439827a49c6
2023-10-10 14:19:23 +08:00
xun.zhang
c9445dd707 ENH: modify pla,pva temperature vitrification
jira:STUDIO-3518

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ibbaa8d6fba0d724ebe9e90b9c0357c7d68c063de
2023-10-10 14:19:23 +08:00
xun.zhang
6487b2d0e8 ENH: refine tl temp check logic and tip
1. refine warning tips

jira:STUDIO-4532

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ida6f8a8a4fca5cf8cf04e622bd2f3af1baf82d52
2023-10-10 14:19:23 +08:00
tao wang
01f13afa56 FIX:fixed failure to open AMS mapping window
jira:[STUDIO-4669]

Change-Id: Ia9c9ca0b8833903443c173b97e61ba4e88e5d2bb
2023-10-10 14:19:23 +08:00
tao wang
1ed54b1d5d FIX:add protection if task information is empty
jira:[for new]

Change-Id: Icfdf254eca23022ea3f861168d3894ef866fe792
2023-10-10 14:19:23 +08:00
gerrit
b484fb1406 ci: update build version to 01.07.07.84
Change-Id: I1c34df762c329ab81c04cbd2a79d1259f04cb7bb
2023-10-10 14:19:23 +08:00
salt.wei
e209c5de09 ENH: save overhang polygons in cache data
JIRA: none

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I6887774f986843b094c05da48de3e2d6234a2c9e
2023-10-10 14:19:23 +08:00
lane.wei
df0f3ea72c ENH: CLI: return error when the printable size exceeds the default one
also refine some logs

JIRA: XXXX
Change-Id: Ibec090e98b8d93b1396e691ecff97ced13b1d8c8
2023-10-10 14:19:23 +08:00
maosheng.wei
01968ce29f FIX: [4670] Cloud disabled rating interface, displaying error prompt
Jira: STUDIO-4670

Change-Id: Ie571fd042010d5972aaef76063a52b67ef7ccb6a
2023-10-10 14:19:23 +08:00
tao wang
1c705d85e9 ENH:fixed display the wrong tray type in AMS
1. no longer using track_type
2. type using tray_info_idx query

Change-Id: I3ad08dc92e90c86041232d57b80331c563fe24c5
(cherry picked from commit aaebb55ac55c0d11dbc72ff17fce9b96854aec5e)
2023-10-10 14:19:23 +08:00
zorro.zhang
2164da1cc0 ENH: Reduce ImageSize of HotModel from Mekarworld
Change-Id: Icc370b57591345b372314587f71d04323d71c746
2023-10-10 14:19:23 +08:00
tao wang
b27dc119d7 FIX:fixed incomplete operation buttons
jira:[STUDIO-4119]

Change-Id: I73dd64fae9a42bfe248e6535d9cedb1343a2cc08
(cherry picked from commit f3176c419506a337ebb2801c66dffa4a4c8ae788)
2023-10-10 14:19:23 +08:00
lane.wei
165bb96e35 ENH: CLI: add time estimation for non-cache slicing
JIRA: XXXX
Change-Id: Ifed2d70e8d6355087694df96e413cdbcf792d6d9
2023-10-10 14:19:23 +08:00
Arthur
04552e4c9b FIX: cli arrange failed in some cases
1. set different bed_shrink for seq_print and layered print
2. fix the bug that seq_print arranging may get collision with exclusion
   area.
3. remove unused functions.

Jira: STUDIO-4663

Change-Id: I8b726704cca33fe37bb3cb7c4502963a9ad8d16b
(cherry picked from commit f27d00f81315fe4675bbc55ef932403e31a9264f)
2023-10-10 14:19:23 +08:00
Stone Li
c35ece24fe FIX: fix a crash issue of mac os
GITHUB: https://github.com/bambulab/BambuStudio/issues/2573

Change-Id: Ic365bc411dd829701ce4ffd0090b09367cb6eddc
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-10-10 14:19:23 +08:00
chunmao.guo
92ba240173 FIX: PrinterFileSystem crash when switch file type
Change-Id: I25b0659d7a33bda5bb1157c967dac300b41696a9
Github: 2633
2023-10-10 14:19:23 +08:00
maosheng.wei
a004356fdc ENH: [STUDIO-4579] limit request rating result count
Jira: 4579

Change-Id: Ifae6f50b46fc39254ce7c59d0deb1cf1e1940579
Signed-off-by: Stone Li <stone.li@bambulab.com>
Signed-off-by: maosheng.wei <maosheng.wei@bambulab.com>
2023-10-10 14:19:23 +08:00
zhimin.zeng
a5e5237b22 FIX: Unhandled unknown exception terminating the application when cali
Jira: 4386
Change-Id: I80ab306882176cfe2453f791992911fb4de19d83
2023-10-10 14:19:23 +08:00
xun.zhang
390c295a63 ENH: update max v speed for PolyLite PETG
1. Set max volumertic speed to 11.5 for PolyLite PETG

jira:STUDIO-3518

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I5ee019d07124870893df9ab636851adc0f2a6425
2023-10-10 14:19:23 +08:00
tao wang
84524e7685 FIX:set print mode before print all plate
jira:[STUDIO-4649,STUDIO-4650]

Change-Id: Ib4ddda6f1461a31a7d7407786bcb0d1859b3fb82
2023-10-10 14:19:23 +08:00
salt.wei
b8fb221813 ENH: fix 0 space exception when slicing
JIRA: none. found by cli slicing

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I47a754e99e193394b0d34cd05e27304910af521f
2023-10-10 14:19:23 +08:00
xun.zhang
5196bcdee0 ENH: update X1E start gcode
1.Optimize the heating sequence for the X1E chamber

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I22650b71961218b32247a84eefb9bf8dc5dceeb7
2023-10-10 14:19:23 +08:00
gerrit
3b0490ae35 ci: update build version to 01.07.07.83
Change-Id: Ied7f76866cb4d70c8eeeec0aaa41ea1702408782
2023-10-10 14:19:23 +08:00
七喜
740384a55d Revert "Revert "ENH: add X1E as upward printers""
This reverts commit f3102c5ea759047389e140d14d6297dc82341e60.

Reason for revert: add x1e back

Change-Id: I6c6f21bb67811d10915ad8b7508022d888b4aee0
2023-10-10 14:19:23 +08:00
七喜
7595252504 Revert "Revert "ENH: update X1E start gcode""
This reverts commit ae66ad25419b2a3762dfbf4e95b33b1fe944f09b.

Reason for revert: add x1e back

Change-Id: I90b771c5155c286299c2a48e673785150c69c709
2023-10-10 14:19:23 +08:00
七喜
081941b530 Revert "Revert "ENH: add profiles for X1E""
This reverts commit 68cfc58e87e25bb7292eabac161b6db5a71bb89c.

Reason for revert: add x1e back

Change-Id: Ie4152de548b30912a2a6ba96f8ebc3d25dbcd8cf
2023-10-10 14:19:23 +08:00
xun.zhang
c661e0257e ENH: update A1 mini start gcode
1.shorten prime line and change x axis freq sweep

jira: [NEW]
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I3582f7fb17dfa173f33ad74f49d7d2b70036df5f
2023-10-10 14:19:23 +08:00
gerrit
ce37440162 ci: update build version to 01.07.07.82
Change-Id: I01dda519ae9acc3785d3d0107ba5e38d65b43410
2023-10-10 14:19:23 +08:00
maosheng.wei
5b0a5b81e2 ENH: [STUDIO-4579] limit request rating result count
Jira: 4579
Change-Id: I1d546c33a58247f22c346fb17580927c282655d5
2023-10-10 14:19:23 +08:00
lane.wei
28c33d21b4 ENH: translation: update some translation for plate
Change-Id: Id0e3f7d93726b40f437202602a0527f99df20f44
2023-10-10 14:19:23 +08:00
zhimin.zeng
9cbf3a4a1e FIX:(cali) should not save preset when the select block is empty
Jira: 4644
Change-Id: I18b690a983d34521ca7ef6f0a6707e2df9bb1d3d
2023-10-10 14:19:23 +08:00
Arthur
87bee0c6ec FIX: auto-arranging crash for single plate arranging
Jira: STUDIO-4651

Change-Id: I8e4be997292d7f7dbd741368e20db5a0d2e693cb
(cherry picked from commit 7d75f5903f67fb332eaff4563308d5f196e45d1f)
2023-10-10 14:19:23 +08:00
七喜
250e3bb019 Revert "ENH: add profiles for X1E"
This reverts commit 8e2e709bb7037d28f1b32fdeb80eadcfafdc57f2.

Reason for revert: remove X1E related

Change-Id: I9a7b395dcbfa19adeef6891a59ed1074dee1fb18
2023-10-10 14:19:23 +08:00
七喜
dbd24e76f2 Revert "ENH: update X1E start gcode"
This reverts commit c047bd3a0776f061b4d532008b40db55ab83118f.

Reason for revert: remove X1E related

Change-Id: If5922b012c42a38f80f70fdee387388fccc7e656
2023-10-10 14:19:23 +08:00
七喜
2ffadb72f0 Revert "ENH: add X1E as upward printers"
This reverts commit 1e8d981b3c368775112b6f4a7496f14849d4c8d9.

Reason for revert: need to hide X1E in current stage

Change-Id: Ida1b57fd68a6a993aa148b12a46ff8a52092dc69
2023-10-10 14:19:23 +08:00
zorro.zhang
dc0193076a FIX: fix the model name display issue under project page
JIRA STUDIO-4625

Change-Id: I9d9627967dcec845f66422e06eadfd2bfe964bb9
2023-10-10 14:19:23 +08:00
tao wang
faf2a85311 ENH:add check for flow cali
Change-Id: Ic3c808b16a1a07e459323604f5db175e26dc41e1
2023-10-10 14:19:23 +08:00
tao wang
537e0ae31c ENH:removed tips for flow calibration of N1
jira:[for a1 mini]

Change-Id: Ibf069524964dfeb861db277d58efd8eaad079355
2023-10-10 14:19:23 +08:00
lane.wei
e8257103b7 FIX: CLI: fix the wipe tower depth not correct issue
estimate the wipe tower depth using more logic
JIRA: MAK-XXXX

Change-Id: Ieb66ebb7e75b20e61b7c0cb8e60496287434d31b
2023-10-10 14:19:23 +08:00
zhimin.zeng
7ada04ff1a FIX: Add protection for cali (for crash)
Jira: 4434
Change-Id: I2b82c68b81dd0c65fe2188ad6824f5f2dda4c8a6
2023-10-10 14:19:23 +08:00
maosheng.wei
907ffb95eb ENH: add link
Jira: XXXX

Change-Id: Icd1417f10253d804a3098822fa377be2b1d42a17
2023-10-10 14:19:23 +08:00
gerrit
9499ce1efa ci: update build version to 01.07.07.81
Change-Id: I495a275a63cc1ccf121e670a94c5cf76c870777f
2023-10-10 14:19:23 +08:00
maosheng.wei
1c1f33bc0b FIX: [STUDIO-4559 4557] translation
Change-Id: I54370aed677b6620c3b9b030a4e5d5ababe34569
2023-10-10 14:19:23 +08:00
xun.zhang
24d0b522a8 ENH: add param link for chamber temp
jira:STUDIO-3518

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I275d1006f7478a4d5b5d6854513a50025f46d670
2023-10-10 14:19:23 +08:00
xun.zhang
85fd225e48 ENH: add X1E as upward printers
1. P1P,P1S add X1E to upward printers
2. X1 ,X1C add X1E to upward printers
3. A1 mini add X1E to upward printers

jira:STUDIO-3518

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I574854b3303a879b738e6841bacd30959b5005a7
2023-10-10 14:19:23 +08:00
xun.zhang
f6838d8fec ENH: update PETG-CF filament params
1. update params with cooling

jira: STUDIO-3518

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iea8cdb055c60e980ef18dff2cf64d848d9b83747
2023-10-10 14:19:23 +08:00
liz.li
999ceddea1 FIX: bedshape dialog dark mode issue
Jira: STUDIO-4572

refine UI of the dialog under dark mode

Change-Id: I188a50bd8909c2ab090fbb1a095c4c45da150071
2023-10-10 14:19:23 +08:00
tao wang
d3e2f011e4 FIX:fixed German not displaying error messages
jira:STUDIO-3722

Change-Id: I12883b4f494c1344a7b694ce627e95e4e14a3e1d
(cherry picked from commit 3ed194f1f08272f077d9e668e5cb8a1be6cc8919)
2023-10-10 14:19:23 +08:00
tao wang
36b8abf24e ENH:optimized display of German and Swedish
jira:[STUDIO-3722]

Change-Id: I4562b1d55c709a6aac56f91601b12ae3f3459fd1
(cherry picked from commit e4cd09589685bdb1f7bdefada5f2ae28fb1e9552)
2023-10-10 14:19:23 +08:00
maosheng.wei
e591e898af ENH: limit network request times
Jira: STUDIO-4615

Change-Id: If365de54d3028f98cf3a720873378ba6fcfa5589
2023-10-10 14:19:23 +08:00
liz.li
4c2cbe4c15 FIX: cali: sync history window flickering
Jira: STUDIO-4469

Change-Id: I1b88fa4d1a35f83de821c69da11c01701c3d3658
2023-10-10 14:19:23 +08:00
liz.li
638a961e32 FIX: message dialog line wrap issue
Jira: STUDIO-4553

Change-Id: I89a69488803d493b12a7a1b94b9afa7c60429186
2023-10-10 14:19:23 +08:00
hu.wang
110079f77e FIX:translation of chamber temperature
JIRA:STUDIO-4624
Change-Id: Ifacd32a901705b1ffc359657afb6de5356e60400
2023-10-10 14:19:23 +08:00
qing.zhang
634347319d FIX: change M600 to M601 to prevent kobra crash
Jira: 4606
Github: #2607

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ifeaac0c4f744ea82496f36ebea90e56647c14704
2023-10-10 14:19:23 +08:00
lane.wei
bdaabf614b FIX: CLI: fix a 3mf saving issue
some model returns -122 which is caused by the picture size not aligned
JIRA: no jira

Change-Id: I6501403262dfd271e3022ef70ee11b1ac4d6651b
2023-10-10 14:19:23 +08:00
zhimin.zeng
2e2fe7506c FIX: add cali translate
Jira: XXXX
Change-Id: I39bb2be58bea7c3fc631f20464ffcebc3ecde171
2023-10-10 14:19:23 +08:00
zhimin.zeng
9639f77bab FIX: Manual flowcalibration reports invalid k value
Github: 2589
Change-Id: I7870ca89f9c92168c37d2d40e9a3820eb8f24b1b
2023-10-10 14:19:23 +08:00
Stone Li
47d65de12e ENH: update version to 01.07.07.80
Change-Id: Ic33c4a6566b4820dca7f36100a58551e8c9feb65
2023-10-10 14:19:23 +08:00
zhimin.zeng
64ed5c86a5 FIX: crash when switch device page to cali page
Jira: 4358
Change-Id: Ic4d23bd7e31c7419516a3ab55a4d9a2e2072cd47
(cherry picked from commit c74bb0f33870e19f3ae3ea98be06d584c02abe4e)
2023-10-10 14:19:23 +08:00
zhou.xu
76a9c62ad0 FIX: missed to delete texture
Jira: STUDIO-4574
Change-Id: I8884380158d3d20ce76a07cbcaa8531ab039357b
(cherry picked from commit 44f93d083f542d6151f727e98933131cf0fa4463)
2023-10-10 14:19:23 +08:00
xun.zhang
80a4a5f2c6 ENH: update X1E start gcode
1. Add clog protect for more low temp filament

jira: STUDIO-3518

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I82abd6f84b6c106ecf65c78e87a5e3d65ef30294
2023-10-10 14:19:23 +08:00
xun.zhang
4c431b1a42 ENH: add profiles for X1E
1.Add fillament,process,machine profiles for X1E

jira: STUDIO-3518
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I7cd82540602699035099dbfcaf541aab5c6276fe
2023-10-10 14:19:23 +08:00
lane.wei
980b1bf38e ENH: CLI: refine some logs
JIRA: STUDIO-XXXX
Change-Id: Ic61f7fbffabc28a76ac186c33182b9284c1c2da1
2023-10-10 14:19:23 +08:00
lane.wei
59061f912b ENH: CLI: add more logic to improve slicing
1. only report slicing error when no-check not set
2. skip duplicate when under spiral_mode with by-layer print

JIRA: STUDIO-XXX
Change-Id: I03bf7f45b4cc43dcc1fd2ffb6b53321fe3324dad
2023-10-10 14:19:23 +08:00
zhou.xu
ec35d210ce FIX: reload bed_texture should reset before
Jira: STUDIO-4574
Change-Id: I0bfe8a936347438d06dcdf3faca83a00b02a8677
(cherry picked from commit e03bfc830141a53acbabde3992edc14595bcef9a)
2023-10-10 14:19:23 +08:00
lane.wei
3b9d61cfc0 ENH: config: add local logic into config.load
JIRA: github-2569
Change-Id: If593b9faee324dda096a27873587db27aa22129e
2023-10-10 14:19:23 +08:00
ZeroG
a24a1323dd Update OrcaSlicer_nl.po (#2364)
Fixes/Updates:

1. Shift typo fixed
2. "Pengrootte" is supposed to be one word.
3. "Gebied" doesn't sound right for a shape, "Bol" is better.
4. "Sectie weergave" is two words
2023-10-10 07:53:32 +08:00
Michal Dziekonski (mdz)
d54e5bd9d2 Fix object's list text color on Linux (GH-2086) (#2346)
Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-10-09 00:20:27 +08:00
SoftFever
6962cd6577 upgrade deps (#2349)
* upgrade deps
2023-10-09 00:19:26 +08:00
SoftFever
9dd3fb60b7 Use calibration tutorial gitee mirror for China users (#2363) 2023-10-08 23:06:22 +08:00
Noisyfox
0694863fb9 Use calibration tutorial gitee mirror for China users 2023-10-08 22:30:33 +08:00
SoftFever
8adb044670 Add Wanhao D12-300 profile (#2261) 2023-10-08 22:12:26 +08:00
SoftFever
ec762b5b7a kor translation update (#2360) 2023-10-08 22:10:36 +08:00
SoftFever
598f7fda32 Show tooltips for plate buttons (#2176) (#2351)
![image](https://github.com/SoftFever/OrcaSlicer/assets/1537155/f88a555c-32ee-4bcd-a5e4-36c871f97da7)

Fixes #2176
2023-10-08 22:08:53 +08:00
crwusiz
1da3c58823 kor_translation update 2023-10-08 20:38:56 +09:00
crwusiz
5a689169d8 kor_translation update 2023-10-08 20:24:20 +09:00
crwusiz
ce1e48df68 kor_translation update 2023-10-08 20:04:37 +09:00
Noisyfox
712de9255f Show tooltips for plate buttons (#2176) 2023-10-07 23:11:41 +08:00
Musicdad
d90a0df330 Merge branch 'main' into main 2023-10-07 07:55:57 -05:00
SoftFever
1332f47050 Update Turkish translation for dev 1.8 version (#2348)
fix Turkish for dev 1.8 version
2023-10-07 20:55:13 +08:00
SoftFever
449405f2b6 CICD for deps (#2342) 2023-10-07 20:38:53 +08:00
Sadri ERCAN
b8c899f4e4 fix Turkish for dev 1.8 version
fix Turkish for dev 1.8 version
2023-10-07 12:59:29 +03:00
SoftFever
95311f9875 fix linux
Signed-off-by: SoftFever <softfeverever@gmail.com>
2023-10-07 12:51:22 +08:00
SoftFever
cd17209516 Ported automatic hole to polyhole conversion from superslicer (#2336)
I've ported automatic polyhole conversion from super slicer.

I'm happy to change the PR as required.

Closes #626
2023-10-07 10:03:02 +08:00
Musicdad12
384a3c2703 Wanhao D12/300 Fixed 2023-10-06 20:53:23 -05:00
Musicdad
4b94a148e8 Merge branch 'SoftFever:main' into main 2023-10-06 20:31:19 -05:00
Musicdad12
7eec58c36f Profile ported for Voron Switchwire
Ported Voron Switchwire profile from Prusa Slicer 2.6.1
2023-10-06 20:26:07 -05:00
LovelyTwo
3359dadd32 Port automatic hole to polyhole conversion from SuperSlicer
Co-authored-by: supermerill <merill@free.fr>
2023-10-07 10:15:21 +11:00
SoftFever
37519b76d8 fix GMP downloading issues 2023-10-07 00:40:03 +08:00
SoftFever
2e0ae6d82c build on all platforms 2023-10-07 00:08:17 +08:00
SoftFever
8d0bb25261 Update README.md
update discord link
2023-10-06 23:43:09 +08:00
SoftFever
2d0c7f220f Fix crash when switching between different infill patterns (#2341)
The error was introduced as part of the "Extend sparse infill" porting.

Reproduce:
1. Add a cube
2. Set infill pattern to cubic
3. Slice
4. Then change the pattern to adaptive cubic
5. Slice
6. Crash

This PR fixes this issue.


1a0d8f5130 (diff-3ec83cd4f72e61c92f69178305a0298e90e2d8b43a3d88ca2f8edccde4e02c7aL709-R736)

Not sure why I missed this part during the initial port :P
2023-10-06 23:39:24 +08:00
Noisyfox
993e653c54 Fix crash when switching infill pattern between cubic & adaptive cubic
Cheery picked from prusa3d/PrusaSlicer@2b0a7ccb2c
2023-10-06 23:09:01 +08:00
SoftFever
5d75a95dc3 Fix issue with overhang-extra-perimeter on complicated multi-part models (#2326) (#2338)
This fixes #2326 and potentially other performance issues when overhang
extra perimeter is turned on for complicated multi-part models.
2023-10-06 22:50:49 +08:00
Noisyfox
b41fdcdc50 Fix issue with overhang-extra-perimeter on complicated multi-part models (#2326) 2023-10-06 22:12:11 +08:00
SoftFever
071ee664b0 Add default Prusa i3 MK3 profiles (#2331)
Add a set of Prusa i3 MK3 default profiles. These are lifted directly
from Prusa Slicer and are the default profiles for the MK3, MK3S AND
MK3S+ in that piece of software.

These defaults are little bit more comprehesive than the single default
profile currently provided by Orca Slicer and should work well out the
box considering they are indeed the offical Prusa profiles.

Please let me know if you have any feedback.
2023-10-06 18:36:02 +08:00
SoftFever
27f2817020 Fix issues 2023-10-06 18:33:27 +08:00
Arran Hobson Sayers
cb59fec7d9 Add default Prusa i3 MK3 profiles 2023-10-05 20:18:18 +01:00
Ocraftyone
ee9f651511 Fix M141 S0 at end of gcode (#2328)
* remove hardcoded set chamber temp gcode

* Revert "remove hardcoded set chamber temp gcode"

This reverts commit 8fc1f4a38113087a8fb11901981ca8c9cfdf7777.

* disable heated chamber only if chamber is used/defined
2023-10-05 22:02:15 +08:00
Ocraftyone
709504a2d1 toggle visibility of ironing_pattern on selection of ironing type (#2321)
* toggle visibility of ironing_pattern on selection of ironing type

* add a tooltip to ironing_pattern
2023-10-05 20:14:53 +08:00
Noisyfox
cf8052cbfd Fix crash when use adaptive cubic sparse infill (#2315) (#2318) 2023-10-05 20:13:22 +08:00
Ocraftyone
a523979ac3 add ironing angle (#2320) 2023-10-04 22:48:35 +08:00
Noisyfox
d31ca04720 Show both layer time and tick info when tick is highlighted (#2312)
* Show both layer time and tick info when tick is highlighted

* Use previous layer's complete time as current layer's tick time
2023-10-04 22:45:40 +08:00
Noisyfox
8e70081879 Fix issue that the slice button is still disabled after a tick is deleted (#2308)
Fix an UAF which causes the slice button being disabled after a tick is deleted
2023-10-04 00:03:19 +08:00
Noisyfox
85e24e62fa Show estimated print time in the ruler (#2305)
* Calculate tick by mouse hover position

* Draw hover tick

* Show hover layer time

* Make sure hovered tick get updated immediately
2023-10-04 00:02:26 +08:00
Heiko Liebscher
328543c49f fix german for dev 1.8 version (#2307)
fix german for new version
2023-10-04 00:00:17 +08:00
Noisyfox
03fec0841b Fix macos deps build (#2291) 2023-10-03 23:27:33 +08:00
Ioannis Giannakas
466538e44e Inner-Outer-Inner mode - additional fix where an external perimeter is shared between multiple islands in the same ordered_extrusions perimeter list (#2276)
* Updated inner outer inner algorithm

* debug msg

* Revert "debug msg"

This reverts commit 32ce6f2096.

* Update PerimeterGenerator.cpp

* Revert "Update PerimeterGenerator.cpp"

This reverts commit 26c56912f8.
2023-10-03 23:22:33 +08:00
renemosner
782d8c5186 Czech translation update (#2274)
* Czech translation update

* Czech translation update

* Update OrcaSlicer_cs.po
2023-10-03 23:13:34 +08:00
SoftFever
4cb84b6c73 Fix during_print_exhaust_fan_speed_num error 2023-10-03 23:05:55 +08:00
SoftFever
df931bd467 Hide elefant_foot_compensation_layers if elefant_foot_compensation is not enabled. 2023-09-30 18:48:55 +08:00
Ian Bassi
232194d749 Fixed some wrong Ender 3 parameters (#2264)
* Correct Ender3 values

Maximun Height real is 250mm
Ender 3  screen is not capable to display Thumnails added "" thumnail to avoid large gcodes files.

* Adjusted height to rod / lid

Ender 3 = 25
2023-09-30 18:15:02 +08:00
bitingsock
bda8249e06 Add elephant foot compensation over multiple layers (#2254)
#https://github.com/prusa3d/PrusaSlicer/pull/10976

Co-authored-by: Roberto Mozzicato <bitblasters@gmail.com>
2023-09-30 18:12:12 +08:00
SoftFever
3b5f42cf49 Fix XCode 15 build errors and bump version to 1.8.0 2023-09-30 10:32:15 +08:00
SoftFever
bef3c75458 Update and fix locales 2023-09-30 10:28:36 +08:00
Noisyfox
d4e6b4fe47 Hide bambu-specific calibration tab for non-bambu printers (#2197) (#2259)
* Hide bambu-specific calibration tab for non-bambu printers (#2197)

* Hide Calibration tab only

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-09-30 10:03:13 +08:00
SoftFever
d6c4c4b46b fix crashes
Signed-off-by: SoftFever <softfeverever@gmail.com>
2023-09-30 09:52:20 +08:00
SoftFever
59bab91da9 Merge branch 'merge-upstream'
Signed-off-by: SoftFever <softfeverever@gmail.com>

# Conflicts:
#	src/libslic3r/Preset.cpp
#	src/libslic3r/PrintConfig.cpp
#	src/libslic3r/PrintConfig.hpp
2023-09-30 09:51:56 +08:00
Musicdad12
62036c411a Merge branch 'main' of https://github.com/Musicdad12/OrcaSlicer 2023-09-29 11:04:30 -05:00
niklasb
7a7187f9ed Add: option to setup a cost per hour per printer #571 (#2247) 2023-09-29 23:44:05 +08:00
ablegods
ca138794d9 Add TW localization in text.js (#2251)
add TW string in  text.js
2023-09-29 23:40:29 +08:00
Noisyfox
761db8537e Update error message to make it a bit more informative (#2249) 2023-09-29 23:39:58 +08:00
Noisyfox
ee0e6a7227 Port "Extend sparse infill" from Prusa (#2134)
* Remove BambuLab's implementation of solid infill bridging enhancement
, will use Prusa's instead

* Port "Extend sparse infill" from Prusa

* Improve anchoring by shifting the lines half-spacing

* Add missing fill patterns

* Improve anchoring by keeping fine details

* Make sure the opposite directions do not cancel each other

---------

Co-authored-by: Pavel Mikus <pavel.mikus.mail@seznam.cz>
2023-09-29 23:39:12 +08:00
SoftFever
4fd2177625 fix errors
Signed-off-by: SoftFever <softfeverever@gmail.com>
2023-09-29 19:47:13 +08:00
SoftFever
b8172316b8 Merge branch 'v1.7.2-remote'
Signed-off-by: SoftFever <softfeverever@gmail.com>

# Conflicts:
#	deps/ZLIB/ZLIB.cmake
#	localization/i18n/OrcaSlicer.pot
#	localization/i18n/de/OrcaSlicer_de.po
#	localization/i18n/en/OrcaSlicer_en.po
#	localization/i18n/es/OrcaSlicer_es.po
#	localization/i18n/fr/OrcaSlicer_fr.po
#	localization/i18n/hu/OrcaSlicer_hu.po
#	localization/i18n/it/OrcaSlicer_it.po
#	localization/i18n/ja/OrcaSlicer_ja.po
#	localization/i18n/ko/OrcaSlicer_ko.po
#	localization/i18n/list.txt
#	localization/i18n/nl/OrcaSlicer_nl.po
#	localization/i18n/sv/OrcaSlicer_sv.po
#	localization/i18n/zh_cn/OrcaSlicer_zh_CN.po
#	resources/calib/PressureAdvance/pa_pattern.3mf
#	resources/handy_models/Disc.stl
#	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/BambuStudio.mo
#	resources/i18n/ko/BambuStudio.mo
#	resources/i18n/nl/BambuStudio.mo
#	resources/i18n/sv/BambuStudio.mo
#	resources/i18n/zh_cn/BambuStudio.mo
#	resources/profiles/Anycubic.json
#	resources/profiles/Anycubic/machine/Anycubic Kobra 2 0.4 nozzle.json
#	resources/profiles/BBL.json
#	resources/profiles/BBL/filament/Bambu ASA @BBL X1C 0.2 nozzle.json
#	resources/profiles/BBL/filament/Bambu ASA @BBL X1C 0.4 nozzle.json
#	resources/profiles/BBL/filament/Bambu ASA @BBL X1C.json
#	resources/profiles/BBL/filament/Bambu PA-CF @base.json
#	resources/profiles/BBL/filament/Bambu PA6-CF @BBL X1C.json
#	resources/profiles/BBL/filament/Bambu PA6-CF @base.json
#	resources/profiles/BBL/filament/Bambu PETG-CF @BBL X1C.json
#	resources/profiles/BBL/filament/Bambu Support W @BBL X1.json
#	resources/profiles/BBL/filament/Bambu TPU 95A @BBL X1.json
#	resources/profiles/BBL/filament/Generic HIPS @BBL X1C 0.2 nozzle.json
#	resources/profiles/BBL/filament/Generic HIPS @BBL X1C.json
#	resources/profiles/BBL/filament/Generic PA-CF.json
#	resources/profiles/BBL/filament/Generic PC.json
#	resources/profiles/BBL/filament/Generic PETG-CF @BBL X1C.json
#	resources/profiles/BBL/filament/Generic PLA @0.2 nozzle.json
#	resources/profiles/BBL/filament/Generic PLA High Speed @BBL P1P 0.2 nozzle.json
#	resources/profiles/BBL/filament/Generic PLA High Speed @BBL P1P.json
#	resources/profiles/BBL/filament/Generic PLA High Speed @BBL X1C 0.2 nozzle.json
#	resources/profiles/BBL/filament/Generic PLA High Speed @BBL X1C.json
#	resources/profiles/BBL/filament/Generic PLA-CF.json
#	resources/profiles/BBL/filament/Generic PLA.json
#	resources/profiles/BBL/filament/Generic TPU.json
#	resources/profiles/BBL/filament/Overture Matte PLA @BBL P1P 0.2 nozzle.json
#	resources/profiles/BBL/filament/Overture Matte PLA @BBL P1P.json
#	resources/profiles/BBL/filament/Overture Matte PLA @BBL X1.json
#	resources/profiles/BBL/filament/Overture Matte PLA @BBL X1C 0.2 nozzle.json
#	resources/profiles/BBL/filament/Overture Matte PLA @BBL X1C.json
#	resources/profiles/BBL/filament/Overture Matte PLA @base.json
#	resources/profiles/BBL/filament/Overture PLA @BBL P1P 0.2 nozzle.json
#	resources/profiles/BBL/filament/Overture PLA @BBL P1P.json
#	resources/profiles/BBL/filament/Overture PLA @BBL X1.json
#	resources/profiles/BBL/filament/Overture PLA @BBL X1C 0.2 nozzle.json
#	resources/profiles/BBL/filament/Overture PLA @BBL X1C.json
#	resources/profiles/BBL/filament/Overture PLA @base.json
#	resources/profiles/BBL/filament/P1P/Bambu TPU 95A @BBL P1P.json
#	resources/profiles/BBL/filament/P1P/Generic PLA @BBL P1P 0.2 nozzle.json
#	resources/profiles/BBL/filament/P1P/Generic TPU @BBL P1P.json
#	resources/profiles/BBL/filament/P1P/eSUN PLA+ @BBL P1P 0.2 nozzle.json
#	resources/profiles/BBL/filament/P1P/eSUN PLA+ @BBL P1P.json
#	resources/profiles/BBL/filament/PolyLite ABS @BBL P1P 0.2 nozzle.json
#	resources/profiles/BBL/filament/PolyLite ABS @BBL P1P.json
#	resources/profiles/BBL/filament/PolyLite ABS @BBL X1C 0.2 nozzle.json
#	resources/profiles/BBL/filament/PolyLite ABS @BBL X1C.json
#	resources/profiles/BBL/filament/PolyLite ABS @base.json
#	resources/profiles/BBL/filament/PolyLite ASA @BBL P1P 0.2 nozzle.json
#	resources/profiles/BBL/filament/PolyLite ASA @BBL P1P.json
#	resources/profiles/BBL/filament/PolyLite ASA @BBL X1C 0.2 nozzle.json
#	resources/profiles/BBL/filament/PolyLite ASA @BBL X1C.json
#	resources/profiles/BBL/filament/PolyLite ASA @base.json
#	resources/profiles/BBL/filament/PolyLite PETG @BBL P1P 0.2 nozzle.json
#	resources/profiles/BBL/filament/PolyLite PETG @BBL P1P.json
#	resources/profiles/BBL/filament/PolyLite PETG @BBL X1C 0.2 nozzle.json
#	resources/profiles/BBL/filament/PolyLite PETG @BBL X1C.json
#	resources/profiles/BBL/filament/PolyLite PETG @base.json
#	resources/profiles/BBL/filament/PolyLite PLA @BBL X1.json
#	resources/profiles/BBL/filament/PolyTerra PLA @BBL X1.json
#	resources/profiles/BBL/filament/eSUN PLA+ @BBL X1.json
#	resources/profiles/BBL/filament/eSUN PLA+ @BBL X1C 0.2 nozzle.json
#	resources/profiles/BBL/filament/eSUN PLA+ @BBL X1C.json
#	resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle.json
#	resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json
#	resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle.json
#	resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle.json
#	resources/profiles/BBL/machine/Bambu Lab P1S 0.2 nozzle.json
#	resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle.json
#	resources/profiles/BBL/machine/Bambu Lab P1S 0.6 nozzle.json
#	resources/profiles/BBL/machine/Bambu Lab P1S 0.8 nozzle.json
#	resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle.json
#	resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle.json
#	resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle.json
#	resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle.json
#	resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle.json
#	resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json
#	resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle.json
#	resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle.json
#	resources/profiles/BBL/machine/fdm_bbl_3dp_001_common.json
#	resources/profiles/BBL/process/0.06mm Standard @BBL X1C 0.2 nozzle.json
#	resources/profiles/BBL/process/0.08mm Extra Fine @BBL P1P.json
#	resources/profiles/BBL/process/0.08mm Extra Fine @BBL X1C.json
#	resources/profiles/BBL/process/0.08mm Standard @BBL X1C 0.2 nozzle.json
#	resources/profiles/BBL/process/0.10mm Standard @BBL P1P 0.2 nozzle.json
#	resources/profiles/BBL/process/0.10mm Standard @BBL X1C 0.2 nozzle.json
#	resources/profiles/BBL/process/0.12mm Fine @BBL P1P.json
#	resources/profiles/BBL/process/0.12mm Fine @BBL X1C.json
#	resources/profiles/BBL/process/0.12mm Standard @BBL X1C 0.2 nozzle.json
#	resources/profiles/BBL/process/0.14mm Standard @BBL X1C 0.2 nozzle.json
#	resources/profiles/BBL/process/0.16mm Optimal @BBL P1P.json
#	resources/profiles/BBL/process/0.16mm Optimal @BBL X1C.json
#	resources/profiles/BBL/process/0.18mm Standard @BBL X1C 0.6 nozzle.json
#	resources/profiles/BBL/process/0.20mm Standard @BBL P1P.json
#	resources/profiles/BBL/process/0.20mm Standard @BBL X1C.json
#	resources/profiles/BBL/process/0.20mm Strength @BBL P1P.json
#	resources/profiles/BBL/process/0.20mm Strength @BBL X1C.json
#	resources/profiles/BBL/process/0.24mm Draft @BBL P1P.json
#	resources/profiles/BBL/process/0.24mm Draft @BBL X1C.json
#	resources/profiles/BBL/process/0.24mm Standard @BBL X1C 0.6 nozzle.json
#	resources/profiles/BBL/process/0.24mm Standard @BBL X1C 0.8 nozzle.json
#	resources/profiles/BBL/process/0.28mm Extra Draft @BBL P1P.json
#	resources/profiles/BBL/process/0.28mm Extra Draft @BBL X1C.json
#	resources/profiles/BBL/process/0.30mm Standard @BBL P1P 0.6 nozzle.json
#	resources/profiles/BBL/process/0.30mm Standard @BBL X1 0.6 nozzle.json
#	resources/profiles/BBL/process/0.30mm Standard @BBL X1C 0.6 nozzle.json
#	resources/profiles/BBL/process/0.30mm Strength @BBL X1C 0.6 nozzle.json
#	resources/profiles/BBL/process/0.32mm Standard @BBL X1C 0.8 nozzle.json
#	resources/profiles/BBL/process/0.36mm Standard @BBL X1C 0.6 nozzle.json
#	resources/profiles/BBL/process/0.40mm Standard @BBL P1P 0.8 nozzle.json
#	resources/profiles/BBL/process/0.40mm Standard @BBL X1 0.8 nozzle.json
#	resources/profiles/BBL/process/0.40mm Standard @BBL X1C 0.8 nozzle.json
#	resources/profiles/BBL/process/0.42mm Standard @BBL X1C 0.6 nozzle.json
#	resources/profiles/BBL/process/0.48mm Standard @BBL X1C 0.8 nozzle.json
#	resources/profiles/BBL/process/0.56mm Standard @BBL X1C 0.8 nozzle.json
#	resources/profiles/BBL/process/fdm_process_bbl_common.json
#	resources/profiles/Creality.json
#	resources/profiles/Creality/machine/Creality CR-10 Max 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality CR-10 V2 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality CR-6 Max 0.2 nozzle.json
#	resources/profiles/Creality/machine/Creality CR-6 Max 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality CR-6 Max 0.6 nozzle.json
#	resources/profiles/Creality/machine/Creality CR-6 Max 0.8 nozzle.json
#	resources/profiles/Creality/machine/Creality CR-6 SE 0.2 nozzle.json
#	resources/profiles/Creality/machine/Creality CR-6 SE 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality CR-6 SE 0.6 nozzle.json
#	resources/profiles/Creality/machine/Creality CR-6 SE 0.8 nozzle.json
#	resources/profiles/Creality/machine/Creality Ender-3 S1 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality Ender-3 S1 Pro 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality Ender-5 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality Ender-5 Plus 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality Ender-5 S1 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality Ender-5S 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality Ender-6 0.4 nozzle.json
#	resources/profiles/Elegoo.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 0.4 nozzle.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 2 0.4 nozzle.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 2D 0.4 nozzle.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 2S 0.4 nozzle.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 3 0.4 nozzle.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 3 Max 0.4 nozzle.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 3 Plus 0.4 nozzle.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 3 Pro 0.4 nozzle.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune X 0.4 nozzle.json
#	resources/profiles/Prusa.json
#	resources/profiles/Prusa/machine/Prusa MINI 0.4 nozzle.json
#	resources/profiles/Prusa/machine/Prusa MK3S 0.4 nozzle.json
#	resources/profiles/Qidi/machine/Qidi X-CF Pro 0.4 nozzle.json
#	resources/profiles/Qidi/machine/Qidi X-Max 0.4 nozzle.json
#	resources/profiles/Qidi/machine/Qidi X-Max 3 0.4 nozzle.json
#	resources/profiles/Qidi/machine/Qidi X-Plus 0.4 nozzle.json
#	resources/profiles/Qidi/machine/Qidi X-Plus 3 0.4 nozzle.json
#	resources/profiles/Qidi/machine/Qidi X-Smart 3 0.4 nozzle.json
#	resources/profiles/Tronxy.json
#	resources/profiles/Tronxy/machine/Tronxy X5SA 400 0.4 nozzle.json
#	resources/profiles/Tronxy/process/0.08mm Extra Fine @Tronxy.json
#	resources/profiles/Tronxy/process/0.12mm Fine @Tronxy.json
#	resources/profiles/Tronxy/process/0.15mm Optimal @Tronxy.json
#	resources/profiles/Tronxy/process/0.20mm Standard @Tronxy.json
#	resources/profiles/Tronxy/process/0.24mm Draft @Tronxy.json
#	resources/profiles/Tronxy/process/0.28mm Extra Draft @Tronxy.json
#	resources/profiles/Voxelab/machine/Voxelab Aquila X2 0.4 nozzle.json
#	resources/web/data/text.js
#	src/OrcaSlicer.cpp
#	src/libslic3r/GCode.cpp
#	src/libslic3r/GCode/SeamPlacer.cpp
#	src/libslic3r/GCode/SeamPlacer.hpp
#	src/libslic3r/GCodeWriter.cpp
#	src/libslic3r/GCodeWriter.hpp
#	src/libslic3r/Preset.cpp
#	src/libslic3r/PresetBundle.cpp
#	src/libslic3r/Print.cpp
#	src/libslic3r/PrintConfig.cpp
#	src/libslic3r/PrintConfig.hpp
#	src/libslic3r/TreeSupport.cpp
#	src/libslic3r/calib.cpp
#	src/libslic3r/calib.hpp
#	src/slic3r/GUI/BackgroundSlicingProcess.cpp
#	src/slic3r/GUI/BedShapeDialog.cpp
#	src/slic3r/GUI/ConfigManipulation.cpp
#	src/slic3r/GUI/GUI.cpp
#	src/slic3r/GUI/GUI_App.cpp
#	src/slic3r/GUI/GUI_Factories.cpp
#	src/slic3r/GUI/GUI_ObjectList.cpp
#	src/slic3r/GUI/Jobs/ArrangeJob.cpp
#	src/slic3r/GUI/OptionsGroup.cpp
#	src/slic3r/GUI/PartPlate.cpp
#	src/slic3r/GUI/PartPlate.hpp
#	src/slic3r/GUI/Plater.cpp
#	src/slic3r/GUI/StatusPanel.cpp
#	src/slic3r/GUI/Tab.cpp
#	src/slic3r/GUI/Widgets/AMSControl.hpp
#	version.inc
2023-09-29 19:46:49 +08:00
niklasb
0e785c05e5 Added All Plates Stats Total Cost #1781 (#2238)
Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-09-28 00:13:47 +08:00
Scott Mudge
3433e7bfa0 Fix build warnings on windows, fix various bugs/logic errors/missing returns/etc, update boost::bind (#2229)
Fix build warnings on windows, fix various bugs/logic errors/missing returns/etc, update boost::bind.
2023-09-27 23:55:23 +08:00
ablegods
cba9e79e06 Updated TW translation (#2242) 2023-09-27 21:49:29 +08:00
Ioannis Giannakas
cf846195cc Porting of Pressure Equalizer feature from Prusa Slicer 2.6.x (#2161)
* Overhang perimeter handling

Updated code to handle overhang perimeters as an overhang and not as a bridge.

* Preparing to add curled extrusions identification

* Porting curling calculations from Prusa Slier 2.6.1

* Prototype 1 - slowdown extended to detect curled edges and further reduce speed

First prototype of the code submitted.

* Working prototype - 2

Code is now finally working - external perimeters are slowed down as needed when there is likelyhood of curling up.

ToDo:
1. Reslicing the model causes the algorithm not to run - need to find where this fails to trigger the call for this.
2. Slowdown of internal perimeters not working yet.

* Updated to use overhang wall speed instead of bridging speed for this algorithm

* Fixed bug in speed calculation and tweaked parameters for high speed printer

Fixed bug in speed calculation and tweaked parameters for high speed printer

* Attempting to fix "set started" not being set

* Parameter tweak after print tests

* Fixed estimation not running when model is re-sliced.

* Removing debug printf statements and fixed threading flag.

* Fixed threading

* Parameter tweaks following print tests

* Made this as an option in the GUI

* Reintroduced handling of bridges as per original design

* UI line toggling when option makes sense to be visible.

* Fixed bug in field visibility & made it default to off

* Code optimisation

* Initial commit of code from Prusa Slicer 2.6.1

* Ported ExtrusionRole from Prusa Slicer 2.6.1

* fix compile errors

* Update GCode.hpp

* code changes to invoke pressure equalizer

* attempting to trigger pressure equalizer

(Not compiling)

* Update Fill.cpp

* Update Fill.cpp

* Pressure equaliser layer result update

* Further commits

* Merged PR https://github.com/prusa3d/PrusaSlicer/pull/9622

* First complete working version

* Update PressureEqualizer.cpp

* Implemented parameter in GUI

* Toggle fields according to compatibility

* Updated UI toggles between extrusion rate slope and arc fitting.

* Updated tooltip

* Introduced parameter smoothing segment length

This parameter influences the number of division a line will undergo in response to the requirement to adhere to the extrusion rate flow adjustment.

* Internal parameter and tool tip tweaking

* Parameter and tool tip tweaking

* Updated parameters and tooltip following testing.

* Sync PressureEq with latest PrusaSlicer

* Revert "Sync PressureEq with latest PrusaSlicer"

This reverts commit 131fb94c6b.

---------

Co-authored-by: MGunlogson <MGunlogson@users.noreply.github.com>
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
2023-09-27 21:44:45 +08:00
StdVectorBool
78a8bad6f4 Fix filament diameter for Voxelab Aquila to match Creality Ender 3 (#2241) 2023-09-27 20:32:53 +08:00
mia
ec90d7f3e4 GUI/Field: Fix crash in color picker init (#2220)
wxButton->GetBitmap() may return an invalid wxBitmap.
Guard against this.
2023-09-25 23:38:13 +08:00
mia
3b864e562a GUI: Fix calls to PrintingTaskPanel::show_profile_info (#2219)
These will not compile on STL builds of wxWidgets. I assume that on
the non-STL variants, the first argument is cast to a boolean,
which might be a bug…
2023-09-25 23:37:25 +08:00
mia
ca534b5b96 Fix compatibility with STL builds of wxWidgets (#2218)
This removes the dependency on legacy wxWidgets configurations,
and makes OrcaSlicer compile on STL builds.

Also, the wxStringList class has been obsolete for at least 20
years, and disappeared from the documentation.
Replace with wxArrayString.
2023-09-25 23:35:30 +08:00
Trist0ne
ff992aa650 Comgrow T500 (#2222)
* Initial commit to add the upcoming Comgrow T500

* UPDATE DANG IT

* Added Comgrow machine file

* Updated profiles to be more inline with their Cura profiles

* Corrected Errors in comgrow_common and uploaded a new cover.png

* fixes

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-09-25 23:31:04 +08:00
SoftFever
33f91c026a Hide purge tower preview in case of no tool changes 2023-09-25 23:17:56 +08:00
SoftFever
f06b7cb526 QoL: improve PA Line method
Signed-off-by: SoftFever <softfeverever@gmail.com>
2023-09-25 20:39:02 +08:00
Noisyfox
7ef43f6849 Various support improvements and bugfixes (#2202)
* Organic supports: Added check for variable layer height, with which
Organic supports are not compatible.
Fixes prusa3d/PrusaSlicer#9528 and similar.
Check the object max Z against build volume Z in Print::validate().

Cherry-picked from prusa3d/PrusaSlicer@5b94971

* Fix crash with default tree support

* Show "support_critical_regions_only" only when using auto normal tree supports (#2195)

* Fix organic tree check

---------

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
2023-09-24 22:58:04 +08:00
Andy
e93e517561 Update Russian translation (#2190)
* Updated translation

Updated translation

* update

Russian translation update
2023-09-24 10:10:33 +08:00
Hotsolidinfill
70195b0a76 Update Korean translation (#2187)
update last string
2023-09-24 10:06:43 +08:00
Musicdad12
2b5f7cae49 Wanhao D12/300 Profile
Added Wanhao D12/300 Single Extruder
2023-09-23 15:52:56 -05:00
xun.zhang
5250dc6fa6 ENH:fix travel speed error
jira: STUDIO-3518

Change-Id: I85a2c59ee179b648cc78b088a1d6f6a1a8f821ff
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
2023-09-23 00:48:53 +08:00
lane.wei
269f252b7b ENH: mall: improve the score logic
don't refresh the ratings periodly
JIRA: STUDIO-XXXX

Change-Id: I9023c73a89302e780b2e486d6b96f306fa604c45
2023-09-23 00:48:53 +08:00
xun.zhang
5a4d30a51c ENH: sync A1M speed params to X1
jira:STUDIO-3518

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I1eea0bf579e95b9dc71e19aa3cb76d650e12e460
2023-09-23 00:48:53 +08:00
lane.wei
b8834c59cb FIX: fix the config parse error for some language
JIRA: github-2568
Change-Id: Idd1ccb118dde4d0fe663ee4d1e4426c0e504ff1e
2023-09-23 00:48:53 +08:00
lane.wei
90044523f2 ENH: homepage: refine some text on homepage
JIRA: STUDIO-XXXX
Change-Id: I5dcafb0adb5e33a18fdd0126ece93c87a7e29c8a
2023-09-23 00:48:53 +08:00
gerrit
8f8ce34e2c ci: update build version to 01.07.06.92
Change-Id: I7b909a6147755622300cf4b67ee2cffa847334ee
2023-09-23 00:48:53 +08:00
lane.wei
03f7bcec51 FIX: CLI: refine some logic
1. sometimes the pipe open failed,
add some retry logic;
2. return the reason when no-check=1 while validate fail;
3. return an error when duplicate object under spiral-mode when not using
   by-object print sequence

JIRA: MAK-xxxx
Change-Id: I3792d89dbbe560a8febe0f0154bccb8f573959a5
2023-09-23 00:48:53 +08:00
salt.wei
4d6f012a6d ENH: add more clear limitation in timelapse gcode
This has no any influence on function. Just make
the limitation more clear and easily maintained.

So people can easily see timelapse function is not
supported in i3 printer

JIRA: none

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I0c88a5a0ce4b7e42117842c9673e1df022fdf618
2023-09-23 00:48:53 +08:00
zhimin.zeng
8eb006c7bf FIX: translate for error message when send calib
Jira: XXXX
Change-Id: Id4d7dc5adc8e070d161acd2440dc51b6fbb41324
2023-09-22 16:21:26 +08:00
gerrit
ffe0cfd876 ci: update build version to 01.07.06.91
Change-Id: Iff54f3fa05b57fda79507915238d6de9fe8a73cd
2023-09-22 16:21:26 +08:00
lane.wei
805248f38a ENH: 3mf: improve some logic
1. skip file including /../
2. use snprintf instead of sprintf

JIRA: jira-xxxx
Change-Id: I6695dc11f9f4af4318038e6db5c219fd14e73aef
2023-09-22 16:21:26 +08:00
xun.zhang
9d12c73aee ENH: update A1 mini start gcode
1.Add extrude calibration compare line

jira: STUDIO-3518

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I81a06627473328e3b7b7e2c5fc508d46a3202373
2023-09-22 16:21:26 +08:00
tao wang
ee9ddbf834 FIX:fixed issue of import french files failing
jira:[model mall]

Change-Id: I4cb9bfc0b75484ed6f1a39845c677260c5616019
2023-09-22 16:21:26 +08:00
zhimin.zeng
3e19a483cb FIX: cali - The progress bar should not be displayed
Jira: XXXX
Change-Id: Ifcd8255bb03141b34bfa420126005955e2f14b32
2023-09-22 16:21:26 +08:00
gerrit
e4ddf0cec1 ci: update build version to 01.07.06.90
Change-Id: I1ac0402b42fee2f60b6237d88fe101a3684b30f3
2023-09-22 16:21:26 +08:00
hu.wang
b4b5128659 FIX:fixed too many times requests for get_subtask
JIRA: STUDIO-4283
Change-Id: Ic15c782b8304d5fefbc78cc76fb32fa5ccf9335b
(cherry picked from commit 957688167f22456c6212cb20f16f4028690869f4)
2023-09-22 16:21:26 +08:00
Arthur
2293b33e73 ENH: do not include brim_max in bed shrink
Including brim_max in bed shrink will make available area of bed be
small when an object has tree support, because this object will have
a brim_width as large as 24mm now.

Jira: MAK-2048
Change-Id: I309c0ec14e4acd75dcfc2fff0e7ea3558b43cc4c
2023-09-22 16:21:26 +08:00
hu.wang
ddc052749c ENH:Don't call the interface when task id is incorrect
JIRA:STUDIO-4322
Change-Id: I6fc1dc7379cba0702927e30cab0aa271074c59da
(cherry picked from commit 109e3570a898706f449ccac7878c50aef2df9f75)
2023-09-22 16:21:26 +08:00
xun.zhang
dfe851c6ba ENH: update A1 mini best object pos
1.Remove duplicate best_object_pos key

jira:STUDIO-3518

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I047f333adfdd65d9ed1920cf5b182226b116fcb9
2023-09-22 16:21:26 +08:00
zhimin.zeng
a1d3823521 FIX: the wipe tower is not generated with a multi-color 3mf
open a multi-color 3mf after another one, the wipe tower is not generated
Jira: 4528

Change-Id: I3b9b67e6a19f6d1b620b5aeca25e32710193574c
2023-09-22 16:21:26 +08:00
chunmao.guo
39da9bab56 FIX: [STUDIO-4522] hide camera url from log
Change-Id: Icfc7e0ce2cbe339fd1973b0b65688da39c05ec76
Jira: STUDIO-4522
2023-09-22 16:21:26 +08:00
xun.zhang
0f4d5d40c7 ENH: update filament&process&machine profiles
jira:STUDIO-3518

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I74ec718c9c40baf8f26df2f593960adf3984ddf1
2023-09-22 16:21:26 +08:00
maosheng.wei
f8fc67c379 FIX: Some translation
Jira: STUDIO-4460

Change-Id: I1fe43a028c86c1008cbae3f0d8908590aaa3cafa
2023-09-22 16:21:26 +08:00
tao wang
89d9e785de ENH:add protection when update task data
jira:[STUDIO-4517]

Change-Id: I183d18a0d9a547328f48a9086548b80bab375b06
2023-09-22 16:21:26 +08:00
tao wang
db26174b47 NEW:the chamber temperature setting cannot be lower than 40
jira:[new]

Change-Id: I1387deb42c60cd9c7bedf115d99f36b0de6f2807
2023-09-22 16:21:26 +08:00
zhimin.zeng
abca2007ab FIX: add log for cali
Jira: XXXX
Change-Id: I4ba755e4700122bd331f8d95ec4b1a09f4b7b5f9
(cherry picked from commit ce2786ffe53aec1a6df1a33e50ec07572da5ad44)
2023-09-22 16:21:26 +08:00
zhimin.zeng
5010994d88 FIX: add log for cali
Jira: XXXX
Change-Id: Ifce2d57d2694c5b39fec93529e6efffa036b8e68
(cherry picked from commit e9ffe4de41096b01f6918eafec5b365360b9cff0)
2023-09-22 16:21:26 +08:00
zhimin.zeng
2870ed90c4 FIX: modify the combo box selection value
Jira: 4529
Change-Id: Icdd3dc86fd3d08de5919edf7b3dfbdf1d8777962
2023-09-22 16:21:26 +08:00
xun.zhang
0120387f26 ENH: optimize A1 mini print estimation time
Update filament load,unload time

jira:STUDIO-3931

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I2b2d85e8b3c352fb036198a31af759ad8fe68439
2023-09-22 16:21:26 +08:00
tao wang
7aba8e5e88 ENH:importing to studio will retry three times
jira:[STUDIO-4223]

Change-Id: If66faa4a21a414d43860ef8aa657562f5ee617b8
(cherry picked from commit 59ca516ba5b8ada15cbb087a814f59f8e3683a51)
2023-09-22 16:21:26 +08:00
gerrit
fab4045723 ci: update build version to 01.07.06.89
Change-Id: I51c8109efea893b98b551d0e4ddefdb673e5d4a7
2023-09-22 16:21:26 +08:00
hu.wang
12c515a5df ENH:N1,send printing pop_up,printing options displayed incorrectly
Sending the printing window, several printing options are displayed in the wrong position

Jira: STUDIO-4045
Change-Id: I5bf5b4295b015020eb38273ed13193d74f43c65d
2023-09-22 16:21:26 +08:00
hu.wang
7b90704d4b ENH:Improving the AMS display of empty disks
It is difficult to distinguish between blank and empty thumbnails, so adding a diagonal line on the empty disk indicates empty

JIRA:STUDIO-4515

Change-Id: I46038c9256fc43927976b82f29ea895ce907d247
2023-09-22 16:21:26 +08:00
gerrit
d2499461f7 ci: update build version to 01.07.06.88
Change-Id: I64d18cf614b495a4fbad6cdd5fbd57e2f41c5433
2023-09-22 16:21:26 +08:00
Arthur
0b4b6cde4f ENH: sync master with auto-arranging and brim
auto-arranging considers wipe tower from smooth timelapse

Change-Id: I5dd72260c777abfd2894776b2588bb3ff4224416
2023-09-22 16:21:26 +08:00
zhimin.zeng
52a52ffc08 FIX: some info is not translated
Change-Id: I6065a478138426c0695e66d15ce8d4bb18a1aa97
2023-09-22 16:21:26 +08:00
maosheng.wei
cb45ffc73a FIX: [MAK-2011 MAK-1988] Fix synchronization issues
Jira: MAK-2011 MAK-1988

Change-Id: I411bd185c8cb9f314b74ca91ad5fa303562ed4e3
2023-09-22 16:21:26 +08:00
Arthur
f2396b839c FIX: cmd line auto arrage for sequential printing not working
min_obj_disance was not set for sequential printing of cmd line.

Jira: None

Change-Id: Idce14aedf8448a0917533efb93f7c78fff34587d
2023-09-22 16:21:26 +08:00
gerrit
6bb51d1cd7 ci: update build version to 01.07.06.87
Change-Id: I5ba9ad4b94e1f4805e88003e7e06303c11811eff
2023-09-22 16:21:26 +08:00
Arthur
d8ba43d979 ENH: improve auto-arranging objects with tree support
We decide to set brim width of all objects to MAX_BRANCH_RADIUS_FIRST_LAYER if there is an object with tree support after discussion.

Jira: MAK-2009
Change-Id: I4c4940800632c433235966b01c44ac910e33a51c
2023-09-22 16:21:26 +08:00
Arthur
37e7b0e234 ENH: translation
Change-Id: I5eaa666073b868637ef6ee4302540375902efa5a
2023-09-22 16:21:26 +08:00
Arthur
793a642bd7 ENH: improve auto-arranging of A1 mini
1. the best object pos of A1 mini is [0.7,0.5] of bed.
2. dominant direction is more accurate (solve the problem that cubes are
not arranged neatly).

Jira: STUDIO-4356

Change-Id: I8931f51a97bee96d5d9e75306481eae2e0cdc059
2023-09-22 16:21:26 +08:00
Arthur
c7e78511f5 FIX: coPoint type couldn't display
This causes the printer setting page unable to display becase I added a
coPoint type option best_object_pos.

Add reading and writing coPoint type configs solves the problem.

Jira: STUDIO-4303

Change-Id: I34e40e567236d28ab1a7be265128275191fcc935
2023-09-22 16:21:26 +08:00
manch1n
7beed5d6dd NEW: add align_to_y_axis option for auto-arrange
1. Add align_to_y_axis option for auto-arrange.
   This is useful for auto-arranging of i3 type printers.
2. Change default value of align_to_origin to true when switching
   from non-i3 printers to i3 printers.

JIRA: STUDIO-2583

Change-Id: I7dabab846022a0da030a9fec060a60a4207537a0
2023-09-22 16:21:26 +08:00
chunmao.guo
e789489ed9 NEW: add best_object_pos for auto-arranging
For i3 printers, best object position may not be the bed center,
we need to align objects to the specified best_object_pos.

Jira: STUDIO-4133

Change-Id: I06e31e597d2dd8288eb24a52d836cc8a134a4111
2023-09-22 16:21:26 +08:00
maosheng.wei
763cff046c FIX: [github #2209 #2246] reload from disk not work
Github: #2209 #2246

Change-Id: I12ab1e08eaeff334315136914f0c20cc2c78fd98
(cherry picked from commit 52add084e65bbbbd4e8b8a6f585632b6afda7d6a)
2023-09-22 16:21:26 +08:00
zhimin.zeng
264f02e8d8 FIX: Adjust error information storage method
Jira: XXXX
Change-Id: If6564f6425678faa2df9b08d9c7642afb7ffbe50
2023-09-22 16:21:26 +08:00
Arthur
cd7437946c FIX: auto arrange may put objects with tree supports too close
Increase the brim width to the max full diameter of tree supports.

Jira: MAK-2009
Change-Id: If44da7107f79eddccca42a54484806269e3fee5c
(cherry picked from commit 8a60e8787d7be1ad147edb78eca7f2259a27927b)
2023-09-22 16:21:26 +08:00
tao wang
fd8672f063 ENH:update chamber temperature display rules
jira:[STUDIO-4485]

Change-Id: Id50faad48a488ab6e31fef0ab0448708356867f7
2023-09-22 16:21:26 +08:00
gerrit
1d761c4a03 ci: update build version to 01.07.06.86
Change-Id: I77254e1c1f9000f10d374efcfbed115652e83395
2023-09-22 16:21:26 +08:00
xun.zhang
b44692cca9 ENH: update X1E start gcode
1.Set extrude temp to 290

jira:STUDIO-3518

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ib2e941aab83a1f36c2361f24c6e940ac4d48cb73
2023-09-22 16:21:26 +08:00
tao wang
cb8dbb912f ENH:display help image when connecting to lan printer
Change-Id: I9a34f998229d5f160623603382f0d43ef1699e27
2023-09-22 16:21:26 +08:00
tao wang
23ee6bc4cd ENH:modify the chamber temperature to float
jira:[new]

Change-Id: Ibd7e71e8d6e7f43767ca754481ac864c73b98057
2023-09-22 16:21:26 +08:00
tao wang
6999b4447e FIX:display vt tray unload steps
jira:[STUDIO-4490]

Change-Id: I8c6037c760b116a99929b0fbaf63fbde5f9bf5ee
2023-09-22 16:21:26 +08:00
Stone Li
268b49f75b NEW: sync translations with localazy
JIRA: STUDIO-3997

Change-Id: I1eea2b67418ceeb0773008154e61cbc2a47ba5a0
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-09-22 16:21:26 +08:00
Stone Li
623a4b3635 ENH: modify some words for translation
Change-Id: I912b0b13e3603abe483d0cb27f7ff6eea3ee7a3a
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-09-22 16:21:26 +08:00
maosheng.wei
81f7818a83 ENH: [MAK-1984] show error message when upload failed
Jira: MAK-1984

Change-Id: I89293d3a1136e1764faca3bb9b78412dfb427bd9
2023-09-22 16:21:26 +08:00
gerrit
902d282332 ci: update build version to 01.07.06.85
Change-Id: I0112de0fc56c2599af70171165fc8e08c46d582d
2023-09-22 16:21:26 +08:00
shuai.liu
1e1125b785 FIX: [STUDIO-3921] orientation bug
JIRA: STUDIO-3921
fix the orientation bug that multiple objects does not perform the same
increase num of hull faces to iterate

Change-Id: I9c662e1e7858521585de612d7f1e9cd213e183bb
(cherry picked from commit 7ce0ba3e037f9b2a6d420ab302913753f9ea7544)
2023-09-22 16:21:26 +08:00
zhimin.zeng
cdbbdafc59 FIX: print by object not support timelapse for I3
Jira: XXXX
Change-Id: I8354971843f1e020db0f6407348cfa220ad514f2
2023-09-22 16:21:26 +08:00
gerrit
66d0f8ff71 ci: update build version to 01.07.06.84
Change-Id: I7dea089b580bcae766d8350ddcf07b6161b27342
2023-09-22 16:21:26 +08:00
gerrit
acc574f798 ci: update build version to 01.07.06.83
Change-Id: Iee753fb65c0aaca05096071337f28d3e1092e0a8
2023-09-22 16:21:26 +08:00
lane.wei
85ea716961 FIX: CLI: fix the png decoding error
JIRA: MAK-xxxx(no jira currently)

Change-Id: Id99511355cec7a51cafd5254f308c60a7ac1f57d
2023-09-22 16:21:26 +08:00
liz.li
1b12dae4c7 ENH: increase the warning level of which blocking cloud slice
Jira: STUDIO-4457

Change-Id: I9a3be983cd5c585ed498829482e6b2202f4d5717
2023-09-22 16:21:26 +08:00
xun.zhang
50051b82d1 ENH: modify tooltip in chamber temp
Also remove bed_temperature_difference in config

jira: STUDIO-4197
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Id992bf0a6b5496038d513a6243b54c5232113515
(cherry picked from commit bda89606a36f3629ad1e1721e005242911635cbd)
2023-09-22 16:21:26 +08:00
xun.zhang
e1cc765f6e ENH: change bbl machines hot end model
jira: STUDIO-3518

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ib5a0dad8fdd77f4063329a37b8f0c61932c66308
2023-09-22 16:21:26 +08:00
hu.wang
f9aa9d02a7 FIX:Translation of calibration and print options
Change-Id: Ifd9b64a793ae5033b6ee411089bbf5428870e7fd
2023-09-22 16:21:26 +08:00
tao wang
861d757ba4 NEW:Add config for C13
Change-Id: Ic5e034349a78d7e2aca28416a0c3334ca9385f20
2023-09-22 16:21:26 +08:00
tao wang
b31b7c7727 FIX:fixed the issue of IP changes
jira:[fix]

Change-Id: Iff87825ae92effa5a4e473d7282c172c6871c0cf
(cherry picked from commit 6ba6637b34233c3bcc97e218ca8b426d66f989b0)
2023-09-22 16:21:26 +08:00
tao wang
ecf1ff52b5 FIX:fixed some C13 features that are not supported
jira:STUDIO-4302 STUDIO-4301 STUDIO-4299

Change-Id: Icbf771e49341291e10b3a2465f92eddefd758598
(cherry picked from commit 1010b56eeeb30b78db17ee20d1682b2d56271f5b)
2023-09-22 16:21:26 +08:00
tao wang
685624a1ef ENH:updaite the target temperature for chamber
jira:[new]

Change-Id: Ifb16608b1de807bcecd58fbff9f64dea905c0b26
(cherry picked from commit ac0c2400349f4551aa6c913d30b4c750e68f781f)
2023-09-22 16:21:26 +08:00
tao wang
5ec0a28d05 NEW:Use new command for chamber temperature settings
jira:[STUDIO-4296]

Change-Id: Ic70a6f6dc412cde7f6d9d6361f8646df59df56b9
(cherry picked from commit c504fefc684bdd29f3ef28d75393a73a0170b075)
2023-09-22 16:21:26 +08:00
tao wang
3e6234284c FIX:support C13 to open AMS mapping popup window
Change-Id: I8b1028068dd93f241eae05a57a685021963d7b1f
(cherry picked from commit 2fe58689a43718c7f086ab40dbc22a8d590d96a3)
2023-09-22 16:21:26 +08:00
zhimin.zeng
527c11067f FIX: support cali for X1E printer type
Change-Id: I977af6804bbe5667c1534d50c880c216ac05accf
(cherry picked from commit 7a8e3a14a1998023639ddbb2ebde3c40559c50ea)
2023-09-22 16:21:26 +08:00
shuai.liu
b9cc020fea ENH: auto adapt distance in arrangement
JIRA: STUDIO-4408
1. if min_obj_distance is 0, use auto mode
2. normal support, 5mm gap, tree support, 22mm gap, no support, 0.1mm
   gap

Change-Id: I906ccf267bef1f33a946572614d658fd50cfcda3
(cherry picked from commit 3c65150434c9938442b0c8d7995f21bb5e50db89)
2023-09-22 16:21:26 +08:00
xun.zhang
6574a0fec4 ENH: fix full_label problem in chamber temp
STUIDO:3518

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Id714e518fdc8fb15dfd64046afb4806ea95a31ba
2023-09-22 16:21:26 +08:00
xun.zhang
58658ebcb5 ENH: optimize exhaust fan param display
1.Optimize exhaust fan param display
2.Set max chamber temp to 60

jira:STUDIO-3518

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I0663803381f38f717554da4aefc61e02a8c1f37e
2023-09-22 16:21:26 +08:00
xun.zhang
60bb7309ac ENH: disable edit support chamber temp
jira:STUDIO-4230

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I4873badacc5d3947f56df1ea367481ddae748fff
2023-09-22 16:21:26 +08:00
xun.zhang
5a39eca04b FIX: optimize exhaust fan ui logic
1. Enable open support_activate_air_filtration
2. Fix display exhaust fan params when support_activate_air_filtration is closed

jira:STUDIO-4230

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ieddba4bb104b6068b5afb4c109ea6b90d7c4045b
2023-09-22 16:21:26 +08:00
xun.zhang
13bb1552aa ENH: add protection for chamber temperature
As title. Also add time for waiting chamber temp in printing time

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8054080d2e8821e421a6d03222b8b25365b5977f
2023-09-22 16:21:26 +08:00
xun.zhang
b16fc2a38b ENH: update X1E upward machines
1.Add X1C to X1E upward_compatible_machine

jira: STUDIO-3518

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ib358f6102809a3baf9f23a677a2c5746848f933e
2023-09-22 16:21:26 +08:00
xun.zhang
2403ed3221 ENH: update default exhaust fan speed
Also update BBL profile version

jira:STUDIO-3518

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie527758a2507c4b8a36f2663116eb406041550e7
2023-09-22 16:21:26 +08:00
xun.zhang
6eb3dcfd7b ENH: update X1E start gcode
jira:STUDIO-3518

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iecf60753d05bb1ee79a01d1dd69f4a0755a0634d
2023-09-22 16:21:26 +08:00
xun.zhang
2d40511488 ENH: add filament PPA-GF
1.Add filament Generic PPA-GF
2.Set Generic PPA-CF filament type to PPA-CF

jira: STUDIO-3518

Change-Id: I1b81bca3774944aebdf15f88213fcb9b36b93e41
2023-09-22 16:21:26 +08:00
xun.zhang
596fcb0f69 ENH: add filement type pps-cf
jira: STUDIO-3518

Change-Id: Ifebaa96ca2e8336bf5449d7c9bd053ab00ab8041
2023-09-22 16:21:26 +08:00
xun.zhang
7d834e459c ENH: set default chamber temp for missing filaments
jira: STUDIO-3518

Change-Id: Iaf947fe5a145884812eb15037458df3b83a338ab
2023-09-22 16:21:26 +08:00
wenjie.guo
4d93034c93 FIX: Change z hop height from 0.2mm to 0.4mm
Models with overhanging areas are easily knocked down with Z hop height
at 0.2mm
Github: None
Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: I65fa14fe5f217c2d1384569efa8c2233c14dde83
2023-09-22 16:21:26 +08:00
xun.zhang
e0c3722c74 ENH: update X1E machine cover
jira:STUDIO-4189

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I9819adfd3a7bf7809299e7c3d99c4daca0fd34e0
2023-09-22 16:21:26 +08:00
xun.zhang
2ad89cf8c8 ENH:update profiles
jira:STUDIO-4037

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: If6863a91d3c82ca70eb584b7db025a2ba3f09434
2023-09-22 16:21:26 +08:00
xun.zhang
eef4d95e9c ENH: add more process profiles for X1E
jira:STUDIO-4232

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I5674ea5bb7e667a19a01e78db6b55bac72983781
2023-09-22 16:21:26 +08:00
xun.zhang
a37c6647cc FIX: add compatible printers in PolyLite PETG
jira:STUDIO-4222

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I21b58f21680676e3c5e43a6de8b137db2447fd0a
2023-09-22 16:21:26 +08:00
xun.zhang
c3c6cc5e45 ENH: re add Generic PLA High Speed
jira:STUDIO-4205

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ib5d17e2126a883151afd8e7a6172414c331435a8
2023-09-22 16:21:26 +08:00
xun.zhang
43486bd4b2 ENH: fix placeholder error in X1E start gcode
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ifbdaba7d5897a44bda1c7ac69ebaf6ef4654814b
2023-09-22 16:21:26 +08:00
xun.zhang
802865a92c ENH: update chamber temp settings for X1E
1. Dont open chamber temp for ASA,ABS

jira:STUDIO-4184

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I774708e8f4685dee2c3a4e8ada163d320f2bd3d3
2023-09-22 16:21:26 +08:00
xun.zhang
6e2abd69f1 ENH: add basic cover for X1E
jira:STUDIO-4189

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ic170ac5d609d169d849ccb3067383f5aed1bf0a1
2023-09-22 16:21:26 +08:00
xun.zhang
9fc0e74008 ENH: add printer structure in config
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I78969725c8b9984872e57fd2da476b9417cc1df7
2023-09-22 16:21:26 +08:00
xun.zhang
24cb5a21e4 FIX: use extruder list to decide chamber temp
As title.Use the same way to decide exhaust fan.
Removes end print exhaust fan control.

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I4353be3a1a9cbdfc3c1943ee447bac349b5177e9
2023-09-22 16:21:26 +08:00
xun.zhang
08d8d2ba74 ENH: lower filament max volumetric speed for petg
Lower max volumetric speed for polyLite petg

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I4fe29c227e027132085fc67431a14f6b8ad07fd8
2023-09-22 16:21:26 +08:00
xun.zhang
7840f5d858 ENH: Sync X1E presets from the master branch.
Also sort the filaments and remove duplicated keys

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I31678c42d55ba3d77c743eaeff071849a8f3d0e7
2023-09-22 16:21:26 +08:00
tao wang
b048992715 ENH:synced some N1 codes
jira:[sync]

Change-Id: I94aed7f068e76cb28459ec77448c89f922134414
2023-09-22 16:21:26 +08:00
wenjie.guo
95a235ee8a FIX: Different default Z hop upper boundary for different machines.
Github: #77
Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: I8065a2ea57496b5f415e591225877ba773fdb9f6
(cherry picked from commit 6fb7e1084caf9006d504c24ce1f026e475bcb348)
2023-09-22 16:21:26 +08:00
七喜
3ae2a6f176 Revert "FIX: korean font display issue"
This reverts commit 9c54bb7897352376b90da1e44d93a665746b8a2d.

Reason for revert: the korean translation is not supported on this branch

Change-Id: I8a35760f623ec8f9b3143675a3b041e7b6b05d40
2023-09-22 16:21:26 +08:00
liz.li
3cc423c191 NEW: re-add printable_area config
Jira: STUDIO-4052

Change-Id: I31d1bbeba3adaf612bbef5e90d1be182c629e212
2023-09-22 16:21:26 +08:00
xun.zhang
05a9eba217 ENH: add more process profiles for A1 mini
1.Add different profiles for different layer height to A1 mini

jira:STUDIO-3518

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I7bc2a13b36a8beb576a739db8170edb23f068d81
2023-09-22 16:21:26 +08:00
tao wang
d631a672ab ENH:update base64 conversion method
jira:[for model mall]

Change-Id: Ia609ae4a559e0e2711e37db32738c057e8a8a33a
2023-09-22 16:21:26 +08:00
tao wang
01f4948e88 NEW:add a prompt after importing
jira:[for model mall import]

Change-Id: Ie9b418242f5e30dbd034c10aea0fd9735fb0717e
2023-09-22 16:21:26 +08:00
liz.li
5927b5f87a FIX: korean font display issue
Jira: STUDIO-3995

Change-Id: If92b05c1a38041f976fc5a5823feb674549c4993
2023-09-22 16:21:26 +08:00
zhimin.zeng
f964842d8f FIX: filament override is not correct
Multiple filament slots does not change the actual filament settings
Jira: 3797

Change-Id: Ib377b4c79aae731caa97b408e84a87a33b3bb155
(cherry picked from commit 7d704d8f0bae14f16087c77c1bd90946632330a6)
(cherry picked from commit 43e8956a1ffc9e2afbc82fdb77565f0543ac8a68)
2023-09-22 16:21:26 +08:00
zhimin.zeng
4c2754f4ee FIX: revert "Disable i3 traditional timelapse"
Jira: XXXX
Change-Id: I5ab7ce8e39787149c16983607e2bd1330f4d6ea0
2023-09-22 16:21:26 +08:00
Michael Birkler
d9a3d9d7d8 ENH: add the Tronxy profiles from community
this patch is cherry-picked from OrcaSlicer
Thanks Michael Birkler for adding Tronxy profiles

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I3aab8d5e9c03f6632bdde292f91232392eaf7cf7
2023-09-22 16:21:26 +08:00
zhimin.zeng
05d7283c6a FIX: translate for cali
Jira: XXXX
Change-Id: I4da68f0ae03cbb126f51c96dab8af622b5b9a985
2023-09-22 16:21:26 +08:00
zhimin.zeng
7572bd9804 FIX: crash when import svg
Jira: 4084
Change-Id: Ib81631615208b0c884c5ce36211841292c2e3ea3
2023-09-22 16:21:26 +08:00
xun.zhang
e0ec57eb16 ENH: update A1 mini gcode
1.G39.2 G392
2.update change filament gcode

jira:STUDIO-3518

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I2bb8ccf5ae92e229e4b36bf0a50ae8cd642d14fd
2023-09-22 16:21:26 +08:00
zhimin.zeng
aa1c8c8fe2 ENH: Add Ellis' pattern method for flow dynamic calibration
Github: #2356

Change-Id: I05068bd47fa8381429064ea0e5ba0f38e5da17c1
(cherry picked from commit c5d54d26e32909e1785cef9ba6a07d801419fa98)
2023-09-22 16:21:26 +08:00
gerrit
2f8f2642f6 ci: update build version to 01.07.06.82
Change-Id: Ie781fb87cfba6a34f142772245b0e0577955ad4a
2023-09-22 16:21:26 +08:00
战马
30bc6fbb9a FIX: Revert "[STUDIO-3361] hide model mall"
This reverts commit a6dfd79ea40e16a4942971ee8c5a0000a0b749d7.

Reason for revert: not master

Change-Id: If3e14e6f42bc05cdce610a1beb65c592fbb998fd
(cherry picked from commit 6fe189b233491b3700cdcc9a3c1d54d30754d06e)
2023-09-22 16:21:26 +08:00
lane.wei
f20a1932ee ENH: Params: set the value of P1P/P1S to the same value of X1C
JIRA: no jira
Change-Id: I51f0dce20b128319478176c5dce3d47aacf5ab35
2023-09-22 16:21:26 +08:00
zhimin.zeng
72ed42869b FIX: translate for timelapse
Change-Id: I786b3ed8613430f13c70f8acb0ca2c14c28cdd35
2023-09-22 16:21:26 +08:00
gerrit
df8f6826c3 ci: update build version to 01.07.06.81
Change-Id: I4febd49f806c17df4acf93acadefd6762f156a75
2023-09-22 16:21:26 +08:00
wenjie.guo
1bb0feda44 FIX: The Chinese translation of Z hop boundaries.
The Chinese translation of Z hop lower boundary and Z hop upper
boundary for github/01.01.00.08 branch.
Github: #77

Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: I308daa5d348c9d34e26914d56a489687357b7172
2023-09-22 16:21:26 +08:00
zhimin.zeng
ee1ea1c1b9 FIX: spiral vase not support timelapse for i3 structure
Jira: XXXX
Change-Id: I2dd5c285c4d687d72a2dfcf94d0ff75a4d5dd498
2023-09-22 16:21:26 +08:00
zhimin.zeng
af241d4c5a FIX: report warning when uncheck timelapse for i3
Jira: 4338
Change-Id: Ia66676c25f2fa6a111e3e864a7b25989beaaf59b
2023-09-22 16:21:26 +08:00
salt.wei
3119fa03c0 ENH: fix collision of timelaps gcode when by object
Z height after timelaps gcode is changed. Should get
the new z height and save into gcode writer.

Jira: none, bug is found by self-test

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I25516def507782600f0f270a339c88ea01a472a3
2023-09-22 16:21:26 +08:00
zhimin.zeng
1b281bfb9f ENH: modify A1 structure config for traditional timelapse
Jira: 3935

Change-Id: I833c8a48e81364ce35a2685694fd3d92868fdb84
2023-09-22 16:21:26 +08:00
zhimin.zeng
433a48cd00 ENH: support traditional timelapse for i3 structure
Jira: 3935
Change-Id: I38a270f7d9060ea1b271c69fd0d427205817e705
(cherry picked from commit 3f50b94adef5e48b169ad72e777135389d0e4ebf)
2023-09-22 16:21:26 +08:00
Stone Li
dcf3e736fe ENH: add anti-Aliasing when generating small thumbnail
JIRA: STUDIO-4374

Change-Id: I9bd9cadd1b3b226d1679a00d5a129c4ed9cb1828
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-09-22 16:21:26 +08:00
xun.zhang
f968c152c2 ENH: sync to A1 mini profiles
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Idf0414a43bedcd970811d87b40ee3e2063e4e5c6
2023-09-22 16:21:26 +08:00
xun.zhang
fe545e3b36 ENH: set skirt_distance maximum value to 50
Github:2318

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I538d48321552b110d6fe2949c3202077f788da41
2023-09-22 16:21:26 +08:00
slynn1324
105eda5238 ENH: support thumbnail in gcode for 3rd printers
Thanks @slynn1324
1. Add thumbnail size in printer params page
2. Optimize writing thumbnail data in gcode

jira:STUDIO-3942
Github: #2166
Github pull request: #2333

Change-Id: I6897cfddfa6a1b0c95decf67329a486d40ec0cc2
2023-09-22 16:21:26 +08:00
xun.zhang
d01a94c9f7 ENH: add printer structure in code
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I57c24a0ea977b510932970817d67570ab3fe7bc4
2023-09-22 16:21:26 +08:00
Arthur
d9101bc104 ENH: add placeholder first_layer_center_no_wipe_tower
This placeholder can be used for smooth timelapse of i3 type printers.

Change-Id: I953a437a7733835d850812565ff5f31b83292912
(cherry picked from commit 5d5b528541490a9ef762fdad6590b6cddeee2a5b)
2023-09-22 16:21:26 +08:00
zhimin.zeng
489fb85927 FIX: The calibration temp of the temp tower is incorrect
Jira: 4382
Change-Id: Ib44f4e0e9309b89a3e6364541d775b30ca4c6d70
2023-09-22 16:21:26 +08:00
chunmao.guo
48d96e8e89 FIX: [STUDIO-4347] fix local liveview test condition
Change-Id: I524a4f5a7762c390aa5097f1ef8b6a95a2687c83
Jira: STUDIO-4347
(cherry picked from commit 7624c1f04d92019e8f62b61ab0430ebb7a8570f8)
2023-09-22 16:21:26 +08:00
Stone Li
1f50a2a421 NEW: support wait function in print job
JIRA: STUDIO-4175

Change-Id: I15bdd07dcd2bd153cc94ad411f180c8ab2022ceb
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-09-22 16:21:26 +08:00
Stone Li
c09252ce11 NEW: update bambu network header and version
Change-Id: I10c40cf579dd7d400c14103d2ac6f0ac338edf6e
2023-09-22 16:21:26 +08:00
lane.wei
0a064e980b ENH: deps: update some import libraries
1. update openssl to 3.1
2. update zlib to 1.2.13
3. update expat to 2.5

Change-Id: I46ac38f8e5acab4abae42645a56eec7d9381865e
(cherry picked from commit 34013820d325c41e1514d0f334f3c2be53145852)
2023-09-22 16:21:26 +08:00
tao wang
50f9edec5c FIX:fixed studio crash caused by HTTP request blocking
jira:[STUDIO-3849]

Change-Id: I6348af96014e80da6b720da48239fed262f0f3c5
(cherry picked from commit 87c996c15db0bd7b1ce075004605490fdeb1f979)
2023-09-22 16:21:26 +08:00
Stone Li
061a2cdb7e ENH: do not change ip when connection name is different
JIRA: STUDIO-4072

Change-Id: I6e72f894fa5eca91d5bbbfaca3e897be95c305e0
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit 15075195334a2e42097f3542402e1f889f480d3b)
2023-09-22 16:21:26 +08:00
Stone Li
be53cf4c7a NEW: support to display wired network for printer
JIRA: STUDIO-3519

Change-Id: I1c32254e249a3c0010973b17953121f4aa718f76
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-09-22 16:21:26 +08:00
lane.wei
29bdbf891c FIX: CLI: disable wipe tower under sequent-print mode
JIRA: STUDIO-4409
Change-Id: I7a3552180a31613244afeebdfcd9bc6b4d8b13b5
2023-09-22 16:21:26 +08:00
lane.wei
e76be77cfc ENH: 3mf: refine the rels to correct link
JIRA: STUDIO-4231
Change-Id: I02ff6343124ef2ea3642e5799469249538a4b97f
(cherry picked from commit 781793a4c84b3e8a01f38d990d34bee9add8850a)
2023-09-22 16:21:26 +08:00
maosheng.wei
bf8afa9889 FIX: [STUDIO-3743] 3mf consistence correction
Jira: 3743

Change-Id: I65d868753c380d5399c743d101668ef013549a38
(cherry picked from commit 0b87e3257a0c2806680768e152e2d35b322099a3)
2023-09-22 16:21:26 +08:00
zhou.xu
754085734e FIX: calculation error in overhang area
bug: There is a part of the overhang area in the model that cannot be applied

Change-Id: Ia1045225776ccb0e8730912aae1d4c7509f40c5b
(cherry picked from commit daa3e131564690e9e169313d147fd84537b898ca)
2023-09-22 16:21:26 +08:00
zhou.xu
a20ae7ec5b FIX: normal_matrix calculation lack transpose in overhang
Jira: STUDIO-4244
Change-Id: If706f098c43f15aa407dde68e8a914bd53ab7188
(cherry picked from commit ea78555dada3d7bb0d3ad87f09ed371f5b327352)
2023-09-22 16:21:26 +08:00
maosheng.wei
95625bb9d0 ENH: [STUDIO-3151] Optimize scoring entry 2
Jira: 3151

Change-Id: I3a3a9d53f9557a93f02c44af3906b2e9f0761baf
2023-09-22 16:21:26 +08:00
zhou.xu
2d9451e545 FIX: Upgrade the texture image
align texture image  to the grid of the x1 machine
Jira:STUDIO-4206

Change-Id: I7dcc5061017f355f30b3f584180751ec7a3f391b
(cherry picked from commit 7ec89042246162edc04e32abe2b609f5f561d810)
2023-09-22 16:21:26 +08:00
lane.wei
ac988a5c53 ENH: add the smooth pei bed type
smooth pei plate uses the same parameters as high temp plate
JIRA: STUDIO-4181

Change-Id: I9db8ca7440b5b205902fd4b35af6c24440e1104d
(cherry picked from commit 97e803f62e7d02ff171c2c63e261d319d49ce398)
2023-09-22 16:21:26 +08:00
zhou.xu
c40f37feec FIX: cancel grid undo/redo function
Jira: STUDIO-4150
Change-Id: I854a1ef2a5fade8e5702fc6e2e31c98ff2207eea
(cherry picked from commit 72777d6b1420472a99b590a4452246af9955ee53)
2023-09-22 16:21:26 +08:00
zhimin.zeng
144abfca27 ENH: Allow machines that do not support timelapse
STUDIO-3935

Change-Id: I8b65c1d24fdee744af10d4112b0f8bee7554ad3c
(cherry picked from commit 1802c2e8c4fc68fce3dc5b025814aec84e7653a3)
2023-09-22 16:21:26 +08:00
tao wang
7a7dcb1de2 NEW:N1 supports auto leveling
Change-Id: I7a1279317f6f28e9fa0bff1017e6257925e0b0bc
(cherry picked from commit af3ee7dbadd5c78d6c8404c49829a794138511e8)
2023-09-22 16:21:26 +08:00
hu.wang
2cf9ee1dc5 NEW:[STUDIO-4016] Support motor noise cali for N1
Calibrated motor noise option, N1 supported.
And when none of the calibration options are selected, the start calibration button turns gray

Change-Id: I991034a13001f840016475171c33218ddc812d35
(cherry picked from commit 7224ccd2a114d553b6234a7d8616d253bef0ced4)
2023-09-22 16:21:26 +08:00
Kunlong Ma
09b6f4d8fd ENH:Supplement to printing status supplement
Change-Id: I116e84705b390b99f8646b64eb7e96ae4c35c7d3
(cherry picked from commit 3f5381ff55a501bf95d01e31b4cbdabdab48c44a)
2023-09-22 16:21:26 +08:00
tao wang
eec2335466 FIX:fixed N1 and was unable to obtain all materials
Change-Id: I05cca90f1197ec04f45c630348ada17746238444
(cherry picked from commit 453b76e7af2f19d261071c2cf1c1bcefef420043)
2023-09-22 16:21:26 +08:00
Kunlong Ma
fc3891d6a4 ENH: [STUDIO-4062] print status supplement
Change-Id: I298d4fcfda51b48c90c62936185efc1a6bf459f0
2023-09-22 16:21:26 +08:00
liz.li
d3d5751814 ENH: replace n1 & f1 image and name Jira: [STUDIO-4008]
1. replace n1 image at LAN access code dialog
2. replace f1 text with AMS Lite
Change-Id: I1385ff5b8b6ca849ed330d49f803e4632732510f

Change-Id: I9e053c4123073c5bf152689e7f34ef1667c04d1d
(cherry picked from commit 2ca116de0c83c17a8c994c32fa4c41a315628f86)
2023-09-22 16:21:26 +08:00
xun.zhang
aa9ace3e39 ENH: update profiles for N1
Adjust the print acceleration from 10000 to 6000.
Retain only PLA-type filaments, including support types for PLA,PETG,TPU.
Delete all other high-temperature filament types.

jira: STUDIO-4038
Change-Id: Iba56bfe94aee0235a629b98a29cdcac323490e34
2023-09-22 16:21:26 +08:00
xun.zhang
e360f8d3c4 ENH: update N1 start& end gcode
Modify the motor beep G-code to support changing the volume for each beat

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
(cherry picked from commit 5dac263e17a39d5ab0a432cf6e2a04ee6bb74f22)

Change-Id: I0aabba8cf7d0d9db1d84a9151b7659d045d790ca
2023-09-22 16:21:26 +08:00
tao wang
d815a90f9b FIX:fixed that the road control was not hidden in MacOS
Change-Id: I83d6755e260fac95440bab0e8db7830a934d6249
(cherry picked from commit 3ab7efe6a7cb3ccd11a2eb1a74a1e0cdff5f5bc5)
2023-09-22 16:21:26 +08:00
hu.wang
b7b875a62a NEW:[STUDIO-4012] support prompt sound
support modifying whether to turn on prompt sound from the print option pop-up window

Change-Id: I3206bfcefc9292dd2a7acb7294addc901ad21d4d
(cherry picked from commit 77594f1aba7db2948dd9b8627d74f37ff8dbf07a)
2023-09-22 16:21:26 +08:00
tao wang
3992c14ad6 ENH:increase N1 camera busy status
jira:STUDIO-3982

Change-Id: I0272bbc28359b2e15d6c1f81ef9da825b3764b1a
(cherry picked from commit 357ecdcc1444cbc98d2fcd11faea519d53ad52b8)
2023-09-22 16:21:26 +08:00
tao wang
0bba850e59 FIX:check if the printer and preset are the same
jira:[STUDIO-4018]

Change-Id: I69ea1e3f8e8214ae68464665e1e7260fcc41dd82
(cherry picked from commit 12592ef1d9daf9471aad40a907f8c88bfc39bf30)
2023-09-22 16:21:26 +08:00
tao wang
971e5dfe67 ENH:update config file
Change-Id: I23d25f24a54454188249e069044c7a51eddfaf89
(cherry picked from commit 8deb03620a06df005734997c469387ab6b5c3b2c)
2023-09-22 16:21:26 +08:00
liz.li
366e71688d FIX: f1 display problem at upgrade panel
Change-Id: I4ea68d9c8d31d20c39a699537a40dafe4788f4aa
(cherry picked from commit 6738088b585df1e20cc1c0685d81834779abc5d1)
2023-09-22 16:21:26 +08:00
tao wang
6024f149c8 ENH:optimize the status display of the extruder
Change-Id: Ib35a31e46fe1c6b84d2e17d50c04a146e82f0270
(cherry picked from commit c79ee70d34f8628a50f6aaa73d256f5444094b62)
2023-09-22 16:21:26 +08:00
tao wang
60701cbc8e FIX:fixed UI flashing when playing liveview
Change-Id: I604620059556b74a7be5b472e2408aaea18625f6
(cherry picked from commit d17238694857a308b4f4aa5e48f91cade8f4c065)
2023-09-22 16:21:26 +08:00
tao wang
18c7f9bd4d FIX:fixed some unsupported HMS messages that cannot be displayed
Change-Id: Ib5acffb1e2c94bae56aed89fbb71a7a15a660485
(cherry picked from commit f736b576bb809e15f9d90ea49f343c43f2fc7367)
2023-09-22 16:21:26 +08:00
tao wang
ce7c28b134 ENH:dynamic display of AUX fan
Change-Id: Ib2b5578567eaa6fde15fdb54bdf24063b627d2d7
(cherry picked from commit 38f3fb6bf6b67c527dab313c1282ff97edf85efc)
2023-09-22 16:21:26 +08:00
xun.zhang
394196eef0 ENH: add upward machine for N1
Also fix a bug in default print profiles

Change-Id: I515e8762870968acce8fe17bdf33c7d380b3c29b
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
(cherry picked from commit 33c0a597c8b5390790772da06d880f6c03259817)
2023-09-22 16:21:26 +08:00
xun.zhang
0f57aa2b91 ENH: update N1 start gcode
Reduce the wiping speed of the mouth.

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I23bda42affc173a4d88ccfb1f4b79943d0bbecdc
(cherry picked from commit 12971f00f8918ce30634ef7467753fde0a562d82)
2023-09-22 16:21:26 +08:00
zhou.xu
9c834a9721 FIX: remove N1 setting and auto match textures based on printing area
Change-Id: Ia208c7436901a722c8c4e2caa3d7573fd0714432
(cherry picked from commit acf3a2ba8594e07039da2320a573c5ae12d6260f)
2023-09-22 16:21:26 +08:00
Stone Li
073ab53fa1 ENH: add N1 config
Change-Id: Iefca6b814368553d51b13e71a6851c12eeee8f4c
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit 4b8623cce58baf0e94e84a521a3a847459e86bb4)
2023-09-22 16:21:26 +08:00
tao wang
8177453d22 ENH:support setting chamber temperature
Change-Id: Icacd3f248a8f4dbff6c928e666f986c62801eebd
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit 6074340b1c3bd49b7e767384116fa73e96cd4ba9)
2023-09-22 16:21:26 +08:00
Stone Li
3595310b09 ENH: support to config printer arch
Change-Id: Ib3e0cdfa10ae19c3f5543328e211bce7ff20693a
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit 24e513a89f2346e9187853cd02f8e5d73eeb8075)
2023-09-22 16:21:26 +08:00
xun.zhang
957159d383 ENH: update N1 start gcode
Flow rate calibration checkbox in.

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie51ca6e7e1d96569fc22cbcea261f662fd3dbf84
(cherry picked from commit 890ee755449fe6a4ca7d0d0b41558b43d97eed0b)
2023-09-22 16:21:26 +08:00
Stone Li
b7a0499abc ENH: modify config for N1
Change-Id: I151eb7ecabb1e5a8a2af95294cc03ffe92f6b660
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit 6d02a722798302c8648a62d86bcddc2650a47ea4)
2023-09-22 16:21:26 +08:00
liz.li
68d40d3c14 NEW: add N1/F1 related item at device upgrade page
Change-Id: Icc85088709ccb9b11ba7bd8387b7b57c02cf81a1
(cherry picked from commit cf1b456e0a43775bfa857524b5d5c1676f34f4d4)
2023-09-22 16:21:26 +08:00
tao wang
46dced098a NEW:supports f1 display
Change-Id: I886c4dbcaf5bf7451a6c24c867bd3c6286cc0b3e
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit 9f442418783c5559f7e8dd40bf800e88ebfdcf52)
2023-09-22 16:21:26 +08:00
liz.li
e8fa82cde9 ENH: modify device upgrade page
Change-Id: I16c91c6e7b9c4c44307425e343b260ed873a695d
(cherry picked from commit 01efa8bcc05ef7fa50968fd36d1f3a592d35cccf)
(cherry picked from commit 63ce7de0879517c5dd5a7aac6e01425dc74638de)
2023-09-22 16:21:26 +08:00
Stone Li
aca41cd20d FIX: fix a bug of n1
Change-Id: I859c8b55ff62f0d1052b29d781602991b636dc50
(cherry picked from commit f1a01da168efd770aab6a11db531c6429fc6f74d)
2023-09-22 16:21:26 +08:00
tao wang
ca17231c98 NEW:support for displaying extra styles
Change-Id: I5c468218c865d93f5813cc3f53f3b9a74de44312
(cherry picked from commit 36e12f142c2bfc26dca89262f6367457a29a326c)
(cherry picked from commit 88b58898a749156e291dbe90d286115af6e69855)
2023-09-22 16:21:26 +08:00
zhou.xu
32541741ed FIX: temporarily not show textures not used in N1 machine
Change-Id: I177b081ed602777e97c4cc9a8011e4aacd6bacaa
(cherry picked from commit 284fa5e767543527c5476e84553cc84dc24083b5)
(cherry picked from commit 3a67e4458168c65baf014561950de281ab900aca)
2023-09-22 16:21:26 +08:00
xun.zhang
46ec5ea930 ENH: add profiles for N1
Add filament,process,machine profiles.

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iea89d42090fa7bf6ee66c84189b7425b8acffc27
(cherry picked from commit c9f6284d882b5df9fa8e34ab62a16813d198788c)
2023-09-22 16:21:26 +08:00
chunmao.guo
e3ca9af7e9 ENH: [STUDIO-3892] different app config dirs for internal/beta
Change-Id: Ibd771b948f9a0b8e95b87c8d7244ab5728b6f4a8
(cherry picked from commit cfbb31fa28e66d780e6305c840ad46091c6f5a8d)
2023-09-22 16:21:26 +08:00
maosheng.wei
db038d88fa ENH: [STUDIO-3151] Optimize scoring entry
Jira: STUDIO-3151

Change-Id: I6ffd236faea7de9f1e35b77f818f926f2477939a
(cherry picked from commit 5591f9d472bc7de45cc73acdd79e09bfc2549d89)
2023-09-22 16:21:26 +08:00
liz.li
d3166fda13 ENH: update slice status after insert all custom gcode
Jira: STUDIO-4155

Change-Id: Ia088a471477895c92eaeac6f26052e7ec0f060a9
2023-09-22 16:21:26 +08:00
Merikesh Dev
1fe94590bd Fix: fix the formatting on _L
Github pull request: #2439
2023-09-22 16:21:26 +08:00
Merikesh Dev
570a98fd45 ENH: Format: Add ModelIO support on macOS
Github pull request: #2439

Change-Id: I4464a735a0a20b3e8103a344a64500b3d14b70e6
2023-09-22 16:21:26 +08:00
tao wang
607f4ca526 ENH:update text that cannot connect to the printer
Change-Id: Id408fc0b9dd2e71d8928f842e1c34caad9469a68
2023-09-22 16:21:26 +08:00
gerrit
048ff596c9 ci: update build version to 01.07.04.54
Change-Id: Ia78cc31809b92d0feaa9fee3d288a62c91ab00b4
2023-09-22 16:21:26 +08:00
lane.wei
4bb913bcc8 ENH: Support: set the float air warning also to non-critical
JIRA: STUDIO-4217
Change-Id: Ic587acde0a566e4ea5217a5dc4f1ab8b6b155f5c
2023-09-22 16:21:26 +08:00
liz.li
18a3b8b757 FIX: slider show custom gcode issue
Jira: STUDIO-4316

Change-Id: I576e35861cd6306b67a0b5bd098eb2a739faf75b
(cherry picked from commit 59f80dad826ac81cf66a22a7e35fee87d94f0287)
2023-09-22 16:21:26 +08:00
gerrit
1da049921c ci: update build version to 01.07.04.53
Change-Id: Ief5f21d2dd449125ecdbd2cc786d9669731488b2
2023-09-22 16:21:26 +08:00
xun.zhang
caf30b21ea ENH: rename chamber_temperatures in placeholder
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Id4d853d479cfb9b6c3fda177891f11a34f7d29e8
2023-09-22 16:21:26 +08:00
xun.zhang
8d2a5dedc1 FIX: use extruder list to decide chamber temp
As title.Use the same way to decide exhaust fan.
Removes end print exhaust fan control.

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Id14f3d91171b81239b336ef879061c6de7d68edf
2023-09-22 16:21:26 +08:00
xun.zhang
9b20cad55e ENH: add support for chamber_temp and exhaust_fan
Support controlling chamebr temperature and exhaust fan for air filtration

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I31627ce4f8acce99e132b0436ab7dcd0bcebf81d
2023-09-22 16:21:26 +08:00
Stone Li
be19c137fe NEW: generate small thumbnail size in 3mf
JIRA: STUDIO-4282

Change-Id: I2f6e35bd643e950d15dcfacb9f6ecae8f8bd80fa
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-09-22 16:21:26 +08:00
chunmao.guo
f66cb2bb69 FIX: [STUDIO-3891] check config update after sync
Change-Id: I82e409f0d3649a371cbe0f8ee9a5f9ad1a267fc8
(cherry picked from commit a5bb7694cf874f125ee9d1169d20710fd4a27443)
2023-09-22 16:21:26 +08:00
chunmao.guo
2b1712bb9d FIX: [STUDIO-3891] move printer image to profiles path
Change-Id: I40755109fcab4532cfe7d2314accc7d9f61c249c
(cherry picked from commit 0398a5c5d842629b7aedfc989602d78324a64934)
2023-09-22 16:21:26 +08:00
chunmao.guo
c5882a1827 FIX: prefer local tunnel for P1P liveview
Change-Id: Ia4f52a8bd2b8bcf20740b2c7043e437d56a4a5b1
2023-09-22 16:21:26 +08:00
zhimin.zeng
1426913752 FIX: No progress bar is displayed during manual calibration
Jira: 3789
Change-Id: I4d56839136f4590b6df384f2287e9565e5e61afa
(cherry picked from commit ddb0c38fc0ed4b42bc5a132c2b2d907084576d41)
2023-09-22 16:21:26 +08:00
zhimin.zeng
50226b8b23 FIX: Incorrect exploded view after split to objects
and modify the incorrect assemble view after cut
Jira: 4182

Change-Id: I813a9179c54d544e745153186e09a4d82fc50dbc
(cherry picked from commit f60762ddefcaa9ba6bd9d61fb328fc42f1a2c5d0)
2023-09-22 16:21:26 +08:00
zhimin.zeng
f78b067525 FIX: Text dragging of special file doesn't work
Jira: 4271
Change-Id: I0b2e33ac0cf4919bea93732151529deac3b7e9ed
(cherry picked from commit f1534363d63c5f8b8ddb00edb8edef6b0376b54d)
2023-09-22 16:21:26 +08:00
zhimin.zeng
b0e20ad68e FIX: crash when multi-select connectors with different shape
Jira: 3916
Change-Id: Ic011827e5d301f91f684039a85b228196be1ba98
(cherry picked from commit 53705d8541a6d97ada278ea9310ac6e5e1ac45c7)
2023-09-22 16:21:26 +08:00
Arthur
ef2cc4b65c ENH: add load_model_objects_and_custom_gcodes
Add cmd line option to pass layer change gcode.
This is useful for lithophane auto change colors.
Cmd: --custom-gcode custom_gcode_toolchange.json

Examples of the input json file can be found in the jira.

Jira: STUDIO-4070

Change-Id: I5beb5ff7d6d81028e95013e79f955e498cd3ba30
(cherry picked from commit bed6152b95c965ea87958d94ec069d8c883a8037)
2023-09-22 16:21:26 +08:00
lane.wei
f250d6f5c7 FIX: CLI: fix the thumbnail color not correct issue
JIRA: MAK-1812
Change-Id: I61832ffeea75b9423d85ccd81d5602a3e7d288b8
2023-09-22 16:21:26 +08:00
zhimin.zeng
caac160c7f FIX: Crash when switch to the calibration page
after binding the printer in device page
jira: 4080

Change-Id: I8e712389bf619b177255111766c271cb9f1bf66e
(cherry picked from commit a012b3641713d7f1e3ae60688c2db8054d3cd731)
2023-09-22 16:21:26 +08:00
zhimin.zeng
e7fcd330ba FIX: the default value of flow rate calibration is the last value set
Jira: 4147
Change-Id: If587d92aea872e8cfadb556b2912db402e0a6a86
(cherry picked from commit 2530a94827231181ac30fb6ade1eb99021be5f2a)
2023-09-22 16:21:26 +08:00
lane.wei
c00caad244 ENH: CLI: add support of rotate
JIRA: STUDIO-4183
Change-Id: I091cc3142ce867d2ac75ba27b3cb2e4e569c9681
(cherry picked from commit 7eab9ba9f22dc8f00e13caf27c7cf72b8675562a)
2023-09-22 16:21:26 +08:00
lane.wei
4eea84f24a FIX: CLI: fix the compiling issue under windows
JIRA: STUDIO-4217
Change-Id: Id937f921aa6d1f5cbc2300ba7395df71c3cd147a
(cherry picked from commit 799faa7bbd270050bc8b04afba27021ebaf88933)
2023-09-22 16:21:26 +08:00
lane.wei
bf8ac4c436 ENH: CLI: optimize the logic for message
1. treat the critical slicing warnings as error
2. save more information into result
including the triangle counts and the non-critical warnings

JIRA: STUDIO-4217

Change-Id: I25b746d06c9a1ef2d642c67852577982a2986322
(cherry picked from commit 1d9707ed04cbb6dc12b440b70f3581c619136ac3)
2023-09-22 16:21:26 +08:00
xun.zhang
82791b0320 ENH: update fan speed for Generic high speed
jira:STUDIO-4205

Change-Id: I301b1995befaac5b2ae1af0dd383c4107e280c59
2023-09-22 16:21:26 +08:00
xun.zhang
0b1c2cbe3a ENH: Add Generic PLA High Speed
jira:STUDIO-4205

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I6132ad07968850c2136bc24b0702d0bf525a0b8f
2023-09-22 16:21:26 +08:00
xun.zhang
17621eb3e8 ENH: change PA6-CF filament type to PA6-CF
PA6-CF is disabled in AMS

jira:STUDIO-4196

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iff32388a15f32da6b28034130d5ddadd107a3185
2023-09-22 16:21:26 +08:00
xun.zhang
507addcd4c FIX: invalid filament vendor in PA6-CF
jira:STUDIO-4212

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie940cfb7ca3568e0fee04fa8a2bbcfad17040a15
2023-09-22 16:21:26 +08:00
xun.zhang
132e98c9c8 ENH: lower filament max volumetric speed for petg
Lower max volumetric speed for polyLite petg

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Id7a28dd8bd59e01934e60e926902deeea456c89a
2023-09-22 16:21:26 +08:00
xun.zhang
80b77a9c01 ENH: add filament PA6-CF
As title. Also modify temperature_vitrification for PA-CF

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8bc577267652be294ebe01f015b0502070c68dbe
2023-09-22 16:21:26 +08:00
xun.zhang
321f1f38e0 ENH: add more 3rd party filaments
Add Overture PLA, Matte PLA,PolyLite PETG,ABS,ASA

jira: STUDIO-4044
Change-Id: I3e1954dae20b6695383d8abdf55eb4eeba3b5a08
2023-09-22 16:21:26 +08:00
lane.wei
6d5fad236e ENH: refine the logic of extruder_clearance_radius
1. use extruder_clearance_max_radius instead
2. set the value of P1P/P1S to the same value of X1C
JIRA: STUDIO-4214

Change-Id: I1ae5e4203db0933854b4388b5505dbf34b40edae
(cherry picked from commit 19cb6a0fbad0192d39813e449baed090baa163c5)
2023-09-22 16:21:26 +08:00
gerrit
5957912eaa ci: update network module based on commit 83a385c
Change-Id: I1c5fd418646d8387dc6437157f9c609cf3019eb2
(cherry picked from commit 95442e564b2c1b238a56230322463e3213eb43d4)
2023-09-22 16:21:26 +08:00
Stone Li
f5f650eac4 ENH: get thumbnail from task info
JIRA: STUDIO-3975

Change-Id: Ic9ae120673098a4b62c4a00b515558fbef630890
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-09-22 16:21:26 +08:00
Stone Li
24cb84e78f FIX: fix translation bug in third-party connection guide
JIRA: STUDIO-4161

Change-Id: I689aa495fec87bd1a40ca74be03799acd4f2fc5e
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-09-22 16:21:26 +08:00
lane.wei
a1e4975c81 FIX: CLI: fix the wipetower wrongly generated issue
JIRA: MAK-xxx
Change-Id: I6d6af58c7106df4dacb51e98dd607ff77c058c13
(cherry picked from commit 080c6ced15bf9eb6e490fbd3616667d66ecbff86)
2023-09-22 16:21:26 +08:00
lane.wei
d5b9dcfbbe FIX: CLI: fix the brim related issues
1. move the global functions to Model
2. set brim automation paremeters before process
JIRA: STUDIO-4208

Change-Id: I3f75175ec74d214ca2a6d5f3ade56d08e0ecd4f3
(cherry picked from commit bcc88bc01ec396e8fb8af1186b47a75cd5116f3c)
2023-09-22 16:21:26 +08:00
lane.wei
7f642112d2 ENH: CLI: add the re-arrange logic when the printer type change with different extruder_clearances
JIRA: STUDIO-4214

Change-Id: I6a8862b4da9812d38522fba2235d5e02f421878b
(cherry picked from commit 0d00660feb97fa0652c7984d92150aacd2746698)
2023-09-22 16:21:26 +08:00
Stone Li
353c962c21 ENH: add a device id parameter for hms wiki
JIRA: STUDIO-4177

different printer may have different hms wiki page

Change-Id: I0f4443580466ab1afc1fe16da6f5ed924e5d201d
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-09-22 16:21:26 +08:00
wenjie.guo
c97a88069b NEW: Z hop restriction
Z hop will only come into effect when it is between retract_lift_above and retract_lift_below.
Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: If43aea7024018eb8f532c6af5d8000973f2edee3
2023-09-22 16:21:26 +08:00
PavelMikus
a15700e5de FIX: short edge collapse algortihm
so that it does not decimate all triangles on very high detailed models
Relevant issue 8834 Access Error when slicing
Github: #2283

Change-Id: I047361c88c561962ef4d3cf67bc0126402c41941
(cherry picked from commit f8aaa5c69d59c5fced4b7bb112376e4df94b5ddc)
2023-09-22 16:21:26 +08:00
lane.wei
731035b8b6 FIX: CLI: fix some issues
1. JIRA: MAK-1727, color of thumbnail not correct
2. JIRA: MAK-1723, model upload outside issue

Change-Id: I1754d730021c9df8044248e931023899d410d8de
2023-09-22 16:21:26 +08:00
lane.wei
2f51b0be97 FIX: CLI: fix a wipe tower position issue
when arrange failed and restore to original
we will compute the position of wipe tower again
we should skip this case
JIRA: STUDIO-4048

Change-Id: I19edc36dfa7ec5a9f6b5ba3a1c1e0767361b3e33
2023-09-22 16:21:26 +08:00
lane.wei
e1b3a5b6d5 ENH: CLI: add a flag to allow minimum size save
JIRA: STUDIO-3752
Change-Id: I0277c34d108185d10130630a72811122f8ee9ae2
2023-09-22 16:21:26 +08:00
Arthur
064f3ee0aa FIX: unify cli and GUI auto-arrange
Make sure cli uses same params as GUI's auto-arrange.
Previously cli uses wrong skirt_distance.

Jira: BLPIOT-255
Change-Id: Iaccfb76acf7413ec614fff006feb770dcd6783cf
2023-09-22 16:21:26 +08:00
lane.wei
f6ac8b60b7 FIX: CLI: fix serveral issues of CLI
1. duplicate id issue, MAK-1702
2. shrink issue, STUDIO-4048

Change-Id: Ie952f1ecc5267a60f0ce3220c4a5ea31cf7199ff
2023-09-22 16:21:26 +08:00
lane.wei
990b0947e7 FIX: CLI: add logic to allow use cached_data while printer size change
when print profile created on small printers
the cached data should also be used
JIRA: MAK-1658

Change-Id: I31e801bd3116838baaeaef44f4aa6d53d65aa058
2023-09-22 16:21:26 +08:00
lane.wei
fca0d5b239 FIX: CLI: fix serveral bugs
1. bed index not correct issue
2. pick thumbnail not correct when repetitions

Change-Id: Ie846432e29c596f95da30c7df199c252873504f3
2023-09-22 16:21:26 +08:00
lane.wei
34061f1fb7 ENH: CLI: add time record for prepare/slice/export
Change-Id: I4004a9af3823223c885f428f5a2f180f9d9074e5
2023-09-22 16:21:26 +08:00
lane.wei
db5ed65577 ENH: CLI: add more logic to support repetitions
1. add identify_id for those clone objects
2. ensure succuss when copy multiple objects

Change-Id: I8a92f485442577ce70b1f5c46449dae1ae07b713
2023-09-22 16:21:26 +08:00
lane.wei
468fc828d0 ENH: CLI: support system preset passed to CLI
Change-Id: I933d49e677c8610c3fe90bbe7d455f94d950ae96
2023-09-22 16:21:26 +08:00
maosheng.wei
4bffab0ef8 FIX: add small disc stl
Change-Id: I5c6c8ca1d4a15fc1462fe47d2e5e37b459f9a9a6
(cherry picked from commit b240831ee664c825e0f7df08d3181263dc135606)
2023-09-22 16:21:26 +08:00
maosheng.wei
53240ddc66 FIX: [github 2259] Maintain development mode when reopening BBS
Change-Id: I9cd6bddbc58f7841499665e21dc606b35c706afc
(cherry picked from commit b0c313dc367c978b85853bb1317fb8f36f228034)
2023-09-22 16:21:26 +08:00
qing.zhang
3a87ded0c5 FIX: no soild ironing if top or bottom shell is 0
fix the ironing be apply to the preview layer of bridge

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I53cb4e6ff80176953c2927c1d9dc5eecc590764c
2023-09-22 16:21:26 +08:00
Noisyfox
685e058c35 Parallelized PrintObject::bridge_over_infill() (#2132)
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
2023-09-17 11:22:11 +08:00
Christophe Fonteyne
bd13d83385 Added profile for Creality CR-6 SE and CR-6 Max (#2040)
* Added profile for CReality CR-6 SE and CR-6 Max

* Removed merge conflict artifacts

* Removed duplicate process_list

* Fixed many bugs. Profile now loads correctly in 1.7.0-beta

* fixed filament dependencies for CR-6
2023-09-17 11:21:07 +08:00
Heiko Liebscher
4161b6cfa5 add new german translation (#2131) 2023-09-16 22:40:52 +08:00
Sadri ERCAN
11af4b1b80 Turkish Language String Updates For v1.7 (#2130)
Turkish Language String Updates For v1.7
2023-09-16 22:33:42 +08:00
ablegods
1751a41641 Updated TW translation (#2116) 2023-09-16 22:29:27 +08:00
Noisyfox
a73e533bdb Fix gcode viewer on linux (#2110) 2023-09-16 22:26:20 +08:00
igiannakas
61437b2c76 Detection of curled edges to enhance slowdown for overhangs algorithm (#2056)
* Overhang perimeter handling

Updated code to handle overhang perimeters as an overhang and not as a bridge.

* Preparing to add curled extrusions identification

* Porting curling calculations from Prusa Slier 2.6.1

* Prototype 1 - slowdown extended to detect curled edges and further reduce speed

First prototype of the code submitted.

* Working prototype - 2

Code is now finally working - external perimeters are slowed down as needed when there is likelyhood of curling up.

ToDo:
1. Reslicing the model causes the algorithm not to run - need to find where this fails to trigger the call for this.
2. Slowdown of internal perimeters not working yet.

* Updated to use overhang wall speed instead of bridging speed for this algorithm

* Fixed bug in speed calculation and tweaked parameters for high speed printer

Fixed bug in speed calculation and tweaked parameters for high speed printer

* Attempting to fix "set started" not being set

* Parameter tweak after print tests

* Fixed estimation not running when model is re-sliced.

* Removing debug printf statements and fixed threading flag.

* Fixed threading

* Parameter tweaks following print tests

* Made this as an option in the GUI

* Reintroduced handling of bridges as per original design

* UI line toggling when option makes sense to be visible.

* Fixed bug in field visibility & made it default to off

* Code optimisation

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-09-16 22:24:18 +08:00
Musicdad
0ee4a168f9 Merge branch 'main' into main 2023-05-18 10:47:56 -05:00
Musicdad12
1c6fe03df8 Update BIQU Generic PLA Silk.json 2023-05-16 08:12:39 -05:00
Musicdad12
7e60f171ef Reset Filament IDs for Filaments 2023-05-16 08:07:32 -05:00
Musicdad12
95c56dfbe9 remove duplicate cover images 2023-05-15 09:32:30 -05:00
Musicdad12
9184b4246f Updated Filament names Resized images 2023-05-14 19:35:31 -05:00
Musicdad12
6ee90ea0f3 Profiles for Folgertech Printers
includes i3, FT-5, FT-6
2023-05-13 13:38:27 -05:00
Musicdad12
e85815f0e9 Update BIQU Generic PVA.json 2023-05-12 22:27:09 -05:00
Musicdad12
c695f54a97 Fixed typo in filament, Gave unique IDs 2023-05-12 21:56:24 -05:00
Musicdad12
529762acd5 Fixed machine definition files 2023-05-12 21:24:52 -05:00
Musicdad12
6c2af5e400 Updated cover images
Updated Cover Images
2023-05-12 19:58:19 -05:00
Musicdad12
4852e180ff Requested changes made to profiles 2023-05-10 07:31:38 -05:00
Musicdad12
0b37502035 Add support for BIQU Printers
Adds printers BIQU B1, BX, and Hurakan
2023-05-09 17:20:13 -05:00
3513 changed files with 390959 additions and 105963 deletions

View File

@@ -95,7 +95,7 @@ PenaltyBreakString: 600
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 50
PenaltyReturnTypeOnItsOwnLine: 300
PointerAlignment: Right
PointerAlignment: Left
ReflowComments: true
SortIncludes: false
SortUsingDeclarations: false

View File

@@ -0,0 +1,51 @@
{
"name": "OrcaSlicer",
"image": "mcr.microsoft.com/devcontainers/cpp:ubuntu-20.04",
"runArgs": ["--env-file", "/tmp/devcontainer.env"],
"features": {
"ghcr.io/devcontainers/features/desktop-lite:1": {
"password": "orca"
}
},
"customizations": {
"vscode": {
"settings": {
"cmake.configureArgs": [
"-DSLIC3R_GTK=3",
"-DBBL_RELEASE_TO_PUBLIC=1",
"-DBBL_INTERNAL_TESTING=0",
"-DSLIC3R_STATIC=1",
"-DCMAKE_PREFIX_PATH=${workspaceFolder}/deps/build/destdir/usr/local"
],
"cmake.buildToolArgs": [
"-l${containerEnv:CORES}"
]
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"ms-vscode.cmake-tools",
"ms-vscode.cpptools-extension-pack"
]
}
},
"forwardPorts": [6080],
"portsAttributes": {
"6080": {
"label": "VNC web client (noVNC)",
"onAutoForward": "silent"
}
},
"otherPortsAttributes": {
"onAutoForward": "ignore"
},
"initializeCommand": {
"Setup Temporary Env File": "echo \"CORES=`nproc --all`\" > /tmp/devcontainer.env"
},
"onCreateCommand": {
"Set postCreate executable flag": "chmod +x .devcontainer/postCreate.sh"
},
"postCreateCommand": "sudo .devcontainer/postCreate.sh"
}

14
.devcontainer/postCreate.sh Executable file
View File

@@ -0,0 +1,14 @@
#!/bin/bash
# Update and upgrade all system packages
apt update
apt upgrade -y
echo "-----------------------------------------"
echo "Running BuildLinux.sh with update flag..."
echo "-----------------------------------------"
./BuildLinux.sh -u
echo "------------------------------"
echo "Installing missing packages..."
echo "------------------------------"
apt install -y libgl1-mesa-dev m4 autoconf libtool

0
.gitattributes vendored Normal file
View File

View File

@@ -1,36 +1,58 @@
name: Bug Report
name: 🐞 Bug Report
description: File a bug report
labels: bug
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
**Thank you for using Orca Slicer and wanting to report a bug.**
Please note that this is not the place to make feature requests or ask for help.
For this, please use the [Feature request](https://github.com/SoftFever/OrcaSlicer/issues/new?assignees=&labels=&projects=&template=feature_request.yml) issue type or you can discuss your idea on our [Discord server](https://discord.gg/P4VE9UY9gJ) with others.
Before filing, please check if the issue already exists (either open or closed) by using the search bar on the issues page. If it does, comment there. Even if it's closed, we can reopen it based on your comment.
- type: checkboxes
attributes:
label: Is there an existing issue for this problem?
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues
required: true
- type: input
id: version
attributes:
label: OrcaSlicer Version
description: Which version of Orca Slicer are you running? You can see the full version in `Help` -> `About Orca Slicer`.
placeholder: e.g. 1.6.6
placeholder: e.g. 1.9.0
validations:
required: true
- type: dropdown
id: os_type
attributes:
label: "Operating System (OS)"
description: "What OSes are you are experiencing issues on?"
multiple: true
options:
- Linux
- macOS
- Windows
validations:
required: true
- type: input
id: os_info
id: os_version
attributes:
label: OS version
description: Which OS version are you using?
placeholder: |
OS: Windows 7/8/10/11 ... , Ubuntu 22.04/Fedora 36 ... , macOS 10.15/11.1/12.3 ...
label: "OS Version"
description: "What OS version does this relate to?"
placeholder: "i.e. OS: Windows 7/8/10/11 ..., Ubuntu 22.04/Fedora 36 ..., macOS 10.15/11.1/12.3 ..."
validations:
required: true
- type: textarea
id: system_info
attributes:
label: Additional system information
description: For the performance issue, please also show the CPUMemory information; For the 3D Rendering issue, please also show the Display Card information.
description: For the performance issue, please also show the CPU, Memory information; For the 3D Rendering issue, please also show the Display Card information.
placeholder: |
CPU: 11th gen intel r core tm i7-1185g7/amd ryzen 7 6800h/...
CPU: 11th gen Intel r core tm i7-1185g7/AMD Ryzen 7 6800h/...
Memory: 32/16 GB...
Display Card: NVIDIA Quadro P400/...
validations:
@@ -50,8 +72,8 @@ body:
description: Please described the detailed steps to reproduce this issue
placeholder: |
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
2. Click on '...'
3. Scroll down to '...'
4. See error
validations:
required: true
@@ -100,3 +122,12 @@ body:
options:
- label: Log file
- label: Project file
- type: textarea
attributes:
label: Anything else?
description: |
Screenshots? References? Anything that will give us more context about the issue you are encountering!
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false

8
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Community Support (Discord channel)
url: https://discord.gg/P4VE9UY9gJ
about: Please ask and answer support "how do I?"questions here.
- name: Discussion Forum
url: https://github.com/SoftFever/OrcaSlicer/discussions
about: Please raise ideas and feature suggestions here.

View File

@@ -1,23 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Which printers will be beneficial to this feature**
E.g. Voron/Klipper based printer/etc...
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@@ -0,0 +1,66 @@
name: 🚀 Feature Request / Enhancement
description: Suggest an improvement to make Orca Slicer even better!
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this feature request!
If your idea is still at the formulation stage, or you're not sure it would
be useful to many users, you can raise it as a discussion topic under [Ideas](https://github.com/SoftFever/OrcaSlicer/discussions/categories/ideas)
or you can raise it on the [Discord server](https://discord.gg/P4VE9UY9gJ).
- type: checkboxes
attributes:
label: Is there an existing issue for this feature request?
description: |
Please search to see if an issue already exists for a feature, or perhaps one similar.
You can then comment and react so that we know know much interest there is in the feature request.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Is your feature request related to a problem?
description: A clear and concise description of what the problem is.
placeholder: I'm always frustrated when [...]
validations:
required: true
- type: dropdown
attributes:
label: Which printers will be beneficial to this feature?
description: Select affected printer firmware type.
multiple: true
options:
- Klipper
- Marlin
- Others
- All
validations:
required: true
- type: textarea
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
placeholder: It should do [...]
validations:
required: true
- type: textarea
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.
placeholder: |
1. [...]
2. [...]
3. [...]
validations:
required: false
- type: textarea
attributes:
label: Additional context
description: |
Add any other context, diagrams, illustations or screenshots about the feature request here.
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false

58
.github/workflows/build_all.yml vendored Normal file
View File

@@ -0,0 +1,58 @@
name: Build all
on:
push:
branches:
- main
- release/*
paths:
- 'deps/**'
- 'src/**'
- '**/CMakeLists.txt'
- 'version.inc'
- 'localization/**'
- 'resources/**'
- ".github/workflows/build_*.yml"
pull_request:
branches:
- main
- release/*
paths:
- 'deps/**'
- 'src/**'
- '**/CMakeLists.txt'
- 'version.inc'
- ".github/workflows/build_*.yml"
workflow_dispatch: # allows for manual dispatch
inputs:
build-deps-only:
description: 'Only build dependencies (bypasses caching)'
type: boolean
default: false
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build_all:
name: Build All
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-20.04
- os: windows-latest
- os: macos-12
arch: x86_64
- os: macos-12
arch: arm64
uses: ./.github/workflows/build_check_cache.yml
with:
os: ${{ matrix.os }}
arch: ${{ matrix.arch }}
build-deps-only: ${{ inputs.build-deps-only || false }}
secrets: inherit

60
.github/workflows/build_check_cache.yml vendored Normal file
View File

@@ -0,0 +1,60 @@
name: Check Cache
on:
workflow_call:
inputs:
os:
required: true
type: string
arch:
required: false
type: string
build-deps-only:
required: false
type: boolean
jobs:
check_cache: # determines if there is a cache and outputs variables used in caching process
name: Check Cache
runs-on: ${{ inputs.os }}
outputs:
cache-key: ${{ steps.set_outputs.outputs.cache-key }}
cache-path: ${{ steps.set_outputs.outputs.cache-path }}
valid-cache: ${{ steps.cache_deps.outputs.cache-hit }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
lfs: 'true'
- name: set outputs
id: set_outputs
env:
underscore-arch: ${{ inputs.os == 'macos-12' && '_' || ''}}${{ inputs.os == 'macos-12' && inputs.arch || '' }} # if is macos, make a string that does "_{arch}", else output nothing
dash-arch: ${{ inputs.os == 'macos-12' && '-' || ''}}${{ inputs.os == 'macos-12' && inputs.arch || '' }} # if is macos, make a string that does "-{arch}", else output nothing
dep-folder-name: ${{ (inputs.os == 'windows-latest' || inputs.os == 'macos-12') && 'OrcaSlicer_dep' || 'destdir' }}
output-cmd: ${{ inputs.os == 'windows-latest' && '$env:GITHUB_OUTPUT' || '"$GITHUB_OUTPUT"'}}
run: |
echo cache-key=${{ runner.os }}${{ env.dash-arch }}-cache-orcaslicer_deps-build-${{ hashFiles('deps/**') }} >> ${{ env.output-cmd }}
echo cache-path=${{ github.workspace }}/deps/build${{ env.underscore-arch }}/${{ env.dep-folder-name }}${{ env.underscore-arch }} >> ${{ env.output-cmd }}
- name: load cache
id: cache_deps
uses: actions/cache@v4
with:
path: ${{ steps.set_outputs.outputs.cache-path }}
key: ${{ steps.set_outputs.outputs.cache-key }}
lookup-only: true
build_deps: # call next step
name: Build Deps
needs: [check_cache]
uses: ./.github/workflows/build_deps.yml
with:
cache-key: ${{ needs.check_cache.outputs.cache-key }}
cache-path: ${{ needs.check_cache.outputs.cache-path }}
valid-cache: ${{ needs.check_cache.outputs.valid-cache == 'true' }}
os: ${{ inputs.os }}
arch: ${{ inputs.arch }}
build-deps-only: ${{ inputs.build-deps-only }}
secrets: inherit

View File

@@ -1,88 +1,88 @@
# 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
workflow_call:
inputs:
cache-key:
required: true
type: string
cache-path:
required: true
type: string
valid-cache:
required: true
type: boolean
os:
required: true
type: string
arch:
required: false
type: string
build-deps-only:
required: false
type: boolean
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 }}
name: Build Deps
if: inputs.build-deps-only || inputs.valid-cache != true
runs-on: ${{ inputs.os }}
env:
date:
steps:
# Setup the environment
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
lfs: 'true'
- name: load cached deps
uses: actions/cache@v4
with:
path: ${{ inputs.cache-path }}
key: ${{ inputs.cache-key }}
- name: setup dev on Windows
if: matrix.os == 'Windows'
uses: microsoft/setup-msbuild@v1.1
if: inputs.os == 'windows-latest'
uses: microsoft/setup-msbuild@v2
- name: Get the date on Ubuntu and macOS
if: matrix.os != 'windows-latest'
id: get-date-unix
if: inputs.os != 'windows-latest'
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
if: inputs.os == 'windows-latest'
run: echo "date=$(Get-Date -Format 'yyyyMMdd')" | Out-File -Append -FilePath $env:GITHUB_ENV -Encoding utf8
shell: pwsh
# Build Dependencies
- name: Build on Windows
if: matrix.os == 'windows-latest'
if: inputs.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
.\build_release_vs2022.bat pack
cd ${{ github.workspace }}/deps/build
- name: Build on Mac x86_64
if: matrix.os == 'macos-12' && matrix.arch == 'x86_64'
- name: Build on Mac ${{ inputs.arch }}
if: inputs.os == 'macos-12'
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
brew install cmake git gettext automake texinfo ninja
brew list
mkdir -p ${{ github.workspace }}/deps/build_${{ inputs.arch }}
mkdir -p ${{ github.workspace }}/deps/build_${{ inputs.arch }}/OrcaSlicer_dep_${{ inputs.arch }}
brew uninstall --ignore-dependencies zstd
./build_release_macos.sh -dpx -a ${{ inputs.arch }} -t 10.15
brew install zstd
- 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'
if: inputs.os == 'ubuntu-20.04'
working-directory: ${{ github.workspace }}
run: |
sudo apt-get update
@@ -90,38 +90,47 @@ jobs:
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
gstreamer1.0-plugins-bad libosmesa6-dev wget sudo autoconf curl libunwind-dev texinfo
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
cd deps/build
tar -czvf OrcaSlicer_dep_ubuntu_$(date +"%Y%m%d").tar.gz destdir
- name: Upload Mac x86_64 artifacts
if: matrix.os == 'macos-12' && matrix.arch == 'x86_64'
uses: actions/upload-artifact@v3
# Upload Artifacts
- name: Upload Mac ${{ inputs.arch }} artifacts
if: inputs.os == 'macos-12'
uses: actions/upload-artifact@v4
with:
name: OrcaSlicer_dep_mac_x86_64_${{ env.date }}
path: ${{ github.workspace }}/deps/build_x86_64/OrcaSlicer_dep*.tar.gz
name: OrcaSlicer_dep_mac_${{ inputs.arch }}_${{ env.date }}
path: ${{ github.workspace }}/deps/build_${{ inputs.arch }}/OrcaSlicer_dep*.tar.gz
- name: Upload Windows artifacts
if: matrix.os == 'windows-latest'
uses: actions/upload-artifact@v3
if: inputs.os == 'windows-latest'
uses: actions/upload-artifact@v4
with:
name: OrcaSlicer_dep_win64_${{ env.date }}
path: ${{ github.workspace }}/deps/build/OrcaSlicer_dep
path: ${{ github.workspace }}/deps/build/OrcaSlicer_dep*.zip
- name: Upload Ubuntu artifacts
if: matrix.os == 'ubuntu-22.04'
uses: actions/upload-artifact@v3
if: inputs.os == 'ubuntu-20.04'
uses: actions/upload-artifact@v4
with:
name: OrcaSlicer_dep_ubuntu_${{ env.date }}
path: ${{ github.workspace }}/deps/build/destdir
path: ${{ github.workspace }}/deps/build/OrcaSlicer_dep_ubuntu_*.tar.gz
build_orca:
name: Build OrcaSlicer
needs: [build_deps]
if: ${{ !cancelled() && !inputs.build-deps-only && (inputs.valid-cache == true && needs.build_deps.result == 'skipped') || (inputs.valid-cache != true && success()) }}
uses: ./.github/workflows/build_orca.yml
with:
cache-key: ${{ inputs.cache-key }}
cache-path: ${{ inputs.cache-path }}
os: ${{ inputs.os }}
arch: ${{ inputs.arch }}
secrets: inherit

View File

@@ -1,114 +1,97 @@
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'
- ".github/workflows/build_orca.yml"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
on:
workflow_call:
inputs:
cache-key:
required: true
type: string
cache-path:
required: true
type: string
os:
required: true
type: string
arch:
required: false
type: string
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 }}
name: Build OrcaSlicer
runs-on: ${{ inputs.os }}
env:
date:
ver:
ver_pure:
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
lfs: 'true'
- name: load cached deps
uses: actions/cache@v4
with:
path: ${{ inputs.cache-path }}
key: ${{ inputs.cache-key }}
fail-on-cache-miss: true
- name: Get the version and date on Ubuntu and macOS
if: matrix.os != 'windows-2019'
id: get-version-unix
if: inputs.os != 'windows-latest'
run: |
ver=$(grep 'set(SoftFever_VERSION' version.inc | cut -d '"' -f2)
ver_pure=$(grep 'set(SoftFever_VERSION' version.inc | cut -d '"' -f2)
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
ver="PR-${{ github.event.number }}"
else
ver=V$ver_pure
fi
echo "ver=$ver" >> $GITHUB_ENV
echo "ver_pure=$ver_pure" >> $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
if: inputs.os == 'windows-latest'
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]
$date = Get-Date -Format 'yyyyMMdd'
$ref = "${{ github.ref }}"
$eventName = "${{ github.event_name }}"
$prNumber = "${{ github.event.number }}"
if ($eventName -eq 'pull_request') {
$ver = "PR" + $prNumber
} else {
$versionContent = Get-Content version.inc -Raw
if ($versionContent -match 'set\(SoftFever_VERSION "(.*?)"\)') {
$ver = $matches[1]
}
$ver = "V$ver"
}
echo "ver=$ver" | Out-File -Append -FilePath $env:GITHUB_ENV -Encoding utf8
echo "date: ${{ env.date }} version: $ver"
echo "date=$date" | Out-File -Append -FilePath $env:GITHUB_ENV -Encoding utf8
echo "date: ${{ env.date }} version: ${{ env.ver }}"
shell: pwsh
# Mac
- name: Install tools mac
if: matrix.os == 'macos-12'
if: inputs.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
brew install cmake git gettext tree ninja
brew list
mkdir -p ${{ github.workspace }}/deps/build_${{inputs.arch}}
mkdir -p ${{ github.workspace }}/deps/build_${{inputs.arch}}/OrcaSlicer_dep_${{inputs.arch}}
tree ${{ github.workspace }}/deps/build_${{inputs.arch}}/OrcaSlicer_dep_${{inputs.arch}}
- name: Build slicer mac
if: matrix.os == 'macos-12'
if: inputs.os == 'macos-12'
working-directory: ${{ github.workspace }}
run: |
./build_release_macos.sh -s -n -a ${{matrix.arch}}
./build_release_macos.sh -s -n -x -a ${{inputs.arch}} -t 10.15
# Thanks to RaySajuuk, it's working now
- name: Sign app and notary
if: github.ref == 'refs/heads/main' && matrix.os == 'macos-12'
if: (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release/')) && inputs.os == 'macos-12'
working-directory: ${{ github.workspace }}
env:
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
@@ -125,108 +108,119 @@ jobs:
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
codesign --deep --force --verbose --options runtime --timestamp --entitlements ${{ github.workspace }}/scripts/disable_validation.entitlements --sign "$CERTIFICATE_ID" ${{ github.workspace }}/build_${{inputs.arch}}/OrcaSlicer/OrcaSlicer.app
ln -s /Applications ${{ github.workspace }}/build_${{inputs.arch}}/OrcaSlicer/Applications
hdiutil create -volname "OrcaSlicer" -srcfolder ${{ github.workspace }}/build_${{inputs.arch}}/OrcaSlicer -ov -format UDZO OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}.dmg
codesign --deep --force --verbose --options runtime --timestamp --entitlements ${{ github.workspace }}/scripts/disable_validation.entitlements --sign "$CERTIFICATE_ID" OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}.dmg
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
xcrun notarytool submit "OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}.dmg" --keychain-profile "notarytool-profile" --wait
xcrun stapler staple OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}.dmg
- name: Create DMG without notary
if: github.ref != 'refs/heads/main' && matrix.os == 'macos-12'
if: github.ref != 'refs/heads/main' && inputs.os == 'macos-12'
working-directory: ${{ github.workspace }}
run: |
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
ln -s /Applications ${{ github.workspace }}/build_${{inputs.arch}}/OrcaSlicer/Applications
hdiutil create -volname "OrcaSlicer" -srcfolder ${{ github.workspace }}/build_${{inputs.arch}}/OrcaSlicer -ov -format UDZO OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}.dmg
- name: Upload artifacts mac
if: matrix.os == 'macos-12'
uses: actions/upload-artifact@v3
if: inputs.os == 'macos-12'
uses: actions/upload-artifact@v4
with:
name: OrcaSlicer_Mac_${{matrix.arch}}_V${{ env.ver }}
path: ${{ github.workspace }}/OrcaSlicer_Mac_${{matrix.arch}}_V${{ env.ver }}.dmg
name: OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}
path: ${{ github.workspace }}/OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}.dmg
- name: Deploy Mac release
if: github.ref == 'refs/heads/main' && inputs.os == 'macos-12'
uses: WebFreak001/deploy-nightly@v3.1.0
with:
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ${{ github.workspace }}/OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}.dmg
asset_name: OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}.dmg
asset_content_type: application/octet-stream
max_releases: 1 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted
# Windows
- name: setup MSVC
if: matrix.os == 'windows-2019'
uses: microsoft/setup-msbuild@v1.1
if: inputs.os == 'windows-latest'
uses: microsoft/setup-msbuild@v2
- name: Install nsis
if: matrix.os == 'windows-2019'
if: inputs.os == 'windows-latest'
run: |
dir "C:/Program Files (x86)/Windows Kits/10/Include"
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'
if: inputs.os == 'windows-latest'
working-directory: ${{ github.workspace }}
run: .\build_release.bat slicer
run: .\build_release_vs2022.bat slicer
- name: Create installer Win
if: matrix.os == 'windows-2019'
if: inputs.os == 'windows-latest'
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: Pack app
if: inputs.os == 'windows-latest'
working-directory: ${{ github.workspace }}/build
shell: cmd
run: '"C:/Program Files/7-Zip/7z.exe" a -tzip OrcaSlicer_Windows_${{ env.ver }}_portable.zip ${{ github.workspace }}/build/OrcaSlicer'
- name: Pack PDB
if: inputs.os == 'windows-latest'
working-directory: ${{ github.workspace }}/build/src/Release
shell: cmd
run: '"C:/Program Files/7-Zip/7z.exe" a -m0=lzma2 -mx9 Debug_PDB_${{ env.ver }}_for_developers_only.7z *.pdb'
- name: Upload artifacts Win zip
if: matrix.os == 'windows-2019'
uses: actions/upload-artifact@v3
if: inputs.os == 'windows-latest'
uses: actions/upload-artifact@v4
with:
name: OrcaSlicer_Windows_V${{ env.ver }}_portable
path: ${{ github.workspace }}/build/OrcaSlicer
name: OrcaSlicer_Windows_${{ env.ver }}_portable
path: ${{ github.workspace }}/build/OrcaSlicer_Windows_${{ env.ver }}_portable.zip
- name: Upload artifacts Win installer
if: matrix.os == 'windows-2019'
uses: actions/upload-artifact@v3
if: inputs.os == 'windows-latest'
uses: actions/upload-artifact@v4
with:
name: OrcaSlicer_Windows_V${{ env.ver }}
name: OrcaSlicer_Windows_${{ env.ver }}
path: ${{ github.workspace }}/build/OrcaSlicer*.exe
# Ubuntu
- name: Upload artifacts Win PDB
if: inputs.os == 'windows-latest'
uses: actions/upload-artifact@v4
with:
name: PDB
path: ${{ github.workspace }}/build/src/Release/Debug_PDB_${{ env.ver }}_for_developers_only.7z
- name: Deploy Windows release portable
if: github.ref == 'refs/heads/main' && inputs.os == 'windows-latest'
uses: WebFreak001/deploy-nightly@v3.1.0
with:
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ${{ github.workspace }}/build/OrcaSlicer_Windows_${{ env.ver }}_portable.zip
asset_name: OrcaSlicer_Windows_${{ env.ver }}_portable.zip
asset_content_type: application/x-zip-compressed
max_releases: 1
- name: Deploy Windows release installer
if: github.ref == 'refs/heads/main' && inputs.os == 'windows-latest'
uses: WebFreak001/deploy-nightly@v3.1.0
with:
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ${{ github.workspace }}/build/OrcaSlicer_Windows_Installer_${{ env.ver }}.exe
asset_name: OrcaSlicer_Windows_Installer_${{ env.ver }}.exe
asset_content_type: application/x-msdownload
max_releases: 1
# Ubuntu
- name: Install dependencies
if: matrix.os == 'ubuntu-20.04'
if: inputs.os == 'ubuntu-20.04'
run: |
sudo apt-get update
sudo apt-get install -y autoconf build-essential cmake curl eglexternalplatform-dev \
@@ -236,52 +230,57 @@ jobs:
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'
if: inputs.os == 'ubuntu-20.04'
shell: bash
run: sudo ./BuildLinux.sh -ur
- name: Fix permissions
if: matrix.os == 'ubuntu-20.04'
if: inputs.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'
if: inputs.os == 'ubuntu-20.04'
shell: bash
run: |
./BuildLinux.sh -isr
chmod +x ./build/OrcaSlicer_ubu64.AppImage
mv -n ./build/OrcaSlicer_Linux_V${{ env.ver_pure }}.AppImage ./build/OrcaSlicer_Linux_${{ env.ver }}.AppImage
chmod +x ./build/OrcaSlicer_Linux_${{ env.ver }}.AppImage
- name: Build orca_custom_preset_tests
if: github.ref == 'refs/heads/main' && inputs.os == 'ubuntu-20.04'
working-directory: ${{ github.workspace }}/build/src
shell: bash
run: |
./OrcaSlicer_profile_validator -p ${{ github.workspace }}/resources/profiles -g 1
cd ${{ github.workspace }}/resources/profiles
zip -r orca_custom_preset_tests.zip user/
- name: Upload artifacts Ubuntu
if: matrix.os == 'ubuntu-20.04'
uses: actions/upload-artifact@v3
if: inputs.os == 'ubuntu-20.04'
uses: actions/upload-artifact@v4
with:
name: OrcaSlicer_Linux_V${{ env.ver }}
path: './build/OrcaSlicer_ubu64.AppImage'
name: OrcaSlicer_Linux_${{ env.ver }}
path: './build/OrcaSlicer_Linux_${{ env.ver }}.AppImage'
- name: Deploy Ubuntu release
if: github.ref == 'refs/heads/main' && inputs.os == 'ubuntu-20.04'
uses: WebFreak001/deploy-nightly@v3.1.0
with:
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ./build/OrcaSlicer_Linux_${{ env.ver }}.AppImage
asset_name: OrcaSlicer_Linux_${{ env.ver }}.AppImage
asset_content_type: application/octet-stream
max_releases: 1 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted
- name: Deploy orca_custom_preset_tests
if: github.ref == 'refs/heads/main' && inputs.os == 'ubuntu-20.04'
uses: WebFreak001/deploy-nightly@v3.1.0
with:
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ${{ github.workspace }}/resources/profiles/orca_custom_preset_tests.zip
asset_name: orca_custom_preset_tests.zip
asset_content_type: application/octet-stream
max_releases: 1

View File

@@ -14,13 +14,31 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install gettext
run: |
sudo apt-get update
sudo apt-get install -y gettext
# don't call ./run_gentext.sh as most translators never sync with main branch...
- name: Check translation format
run: |
./run_gettext.sh
echo $PWD
pot_file="./localization/i18n/OrcaSlicer.pot"
for dir in ./localization/i18n/*/
do
dir=${dir%*/} # remove the trailing "/"
lang=${dir##*/} # extract the language identifier
if [ -f "$dir/OrcaSlicer_${lang}.po" ]; then
mkdir -p ./resources/i18n/${lang}/
msgfmt --check-format -o ./resources/i18n/${lang}/OrcaSlicer.mo $dir/OrcaSlicer_${lang}.po
# Check the exit status of the msgfmt command
if [ $? -ne 0 ]; then
echo "Error encountered with msgfmt command for language ${lang}."
exit 1 # Exit the script with an error status
fi
fi
done

39
.github/workflows/check_profiles.yml vendored Normal file
View File

@@ -0,0 +1,39 @@
name: Check profiles
on:
pull_request:
branches:
- main
paths:
- 'resources/profiles/**'
- ".github/workflows/check_profiles.yml"
jobs:
check_translation:
name: Check profiles
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
# download
- name: Download
working-directory: ${{ github.workspace }}
run: |
curl -LJO https://github.com/SoftFever/Orca_tools/releases/download/1/OrcaSlicer_profile_validator
chmod +x ./OrcaSlicer_profile_validator
# validate profiles
- name: validate system profiles
run: |
./OrcaSlicer_profile_validator -p ${{ github.workspace }}/resources/profiles -l 2
- name: validate custom presets
working-directory: ${{ github.workspace }}
run: |
curl -LJO https://github.com/SoftFever/OrcaSlicer/releases/download/nightly-builds/orca_custom_preset_tests.zip
unzip ./orca_custom_preset_tests.zip -d ${{ github.workspace }}/resources/profiles
./OrcaSlicer_profile_validator -p ${{ github.workspace }}/resources/profiles -l 2

65
.github/workflows/orca_bot.yml vendored Normal file
View File

@@ -0,0 +1,65 @@
name: Orca bot
on:
schedule:
- cron: "0 0 * * *"
jobs:
stale:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
contents: write # only for delete-branch option
steps:
- uses: actions/stale@v9
with:
# PAT for GitHub API authentication
repo-token: ${{ secrets.GITHUB_TOKEN }}
# Max number of operations per run
operations-per-run: 1000
# Order to get issues/PRs
ascending: true
# ISSUES
# Do not auto-close an issue if it is assigned to a milestone
exempt-all-issue-milestones: true
# Exempt all issues with assignees from stale
exempt-all-issue-assignees: true
# Idle number of days before marking issues stale
days-before-issue-stale: 90
# Idle number of days before marking issues close
days-before-issue-close: 7
# Label to apply on staled issues
stale-issue-label: "stale"
# Issue close reason
close-issue-reason: not_planned
# Remove stale label from issues on updates
remove-issue-stale-when-updated: true
# Issue stale message
stale-issue-message: "Orca bot: this issue is stale because it has been open for 90 days with no activity."
# Issue closure message
close-issue-message: "Orca bot: This issue was closed because it has been inactive for 7 days since being marked as stale."
# PRs
# Do not auto-close a PR if it is assigned to a milestone
exempt-all-pr-milestones: true
# Exempt all PRs with assignees from stale
exempt-all-pr-assignees: true
# Skip the stale action for draft PRs
exempt-draft-pr: true
# Idle number of days before marking PRs stale
days-before-pr-stale: -1
# Idle number of days before marking PRs close
days-before-pr-close: -1
# Label to apply on staled PRs
stale-pr-label: "stale"
# Label to apply on closed PRs
close-pr-label: not_planned
# Remove stale label from PRs on updates
remove-pr-stale-when-updated: true
# PR stale message
stale-pr-message: "Orca bot: this PR is stale because it has been open for XX days with no activity."
# PR closure message
close-pr-message: "Orca bot: This PR was closed because it has been inactive for X days since being marked as stale."
# Delete branch after closing a stale PR
delete-branch: true

View File

@@ -20,7 +20,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
# 1. Clone the current wiki master branch to a folder named `tmp_wiki`
- name: Pull content from wiki

10
.gitignore vendored
View File

@@ -1,7 +1,7 @@
Build
Build.bat
/build*/
deps/build
deps/build*
MYMETA.json
MYMETA.yml
_build
@@ -26,4 +26,10 @@ SVG
src/OrcaSlicer-doc/
.idea/
/.cache/
*.mo
*.mo
**/process_full/
**/machine_full/
**/filament_full/
/deps/DL_CACHE/
/deps/DL_CACHE
resources/profiles/user/default

View File

@@ -1,5 +1,4 @@
#!/bin/bash
set -e # exit on first error
export ROOT=`pwd`
export NCORES=`nproc --all`
@@ -7,6 +6,8 @@ export CMAKE_BUILD_PARALLEL_LEVEL=${NCORES}
FOUND_GTK2=$(dpkg -l libgtk* | grep gtk2)
FOUND_GTK3=$(dpkg -l libgtk* | grep gtk-3)
set -e # exit on first error
function check_available_memory_and_disk() {
FREE_MEM_GB=$(free -g -t | grep 'Mem:' | rev | cut -d" " -f1 | rev)
MIN_MEM_GB=10
@@ -77,7 +78,7 @@ then
fi
# Addtional Dev packages for OrcaSlicer
export REQUIRED_DEV_PACKAGES="libmspack-dev libgstreamerd-3-dev libsecret-1-dev libwebkit2gtk-4.0-dev libosmesa6-dev libssl-dev libcurl4-openssl-dev eglexternalplatform-dev libudev-dev libdbus-1-dev extra-cmake-modules"
export REQUIRED_DEV_PACKAGES="libmspack-dev libgstreamerd-3-dev libsecret-1-dev libwebkit2gtk-4.0-dev libosmesa6-dev libssl-dev libcurl4-openssl-dev eglexternalplatform-dev libudev-dev libdbus-1-dev extra-cmake-modules texinfo"
# libwebkit2gtk-4.1-dev ??
export DEV_PACKAGES_COUNT=$(echo ${REQUIRED_DEV_PACKAGES} | wc -w)
if [ $(dpkg --get-selections | grep -E "$(echo ${REQUIRED_DEV_PACKAGES} | tr ' ' '|')" | wc -l) -lt ${DEV_PACKAGES_COUNT} ]; then
@@ -162,9 +163,10 @@ then
fi
if [[ -n "$BUILD_DEBUG" ]]
then
# have to build deps with debug & release or the cmake won't find evrything it needs
# have to build deps with debug & release or the cmake won't find everything it needs
mkdir deps/build/release
pushd deps/build/release
echo -e "cmake ../.. -DDESTDIR=\"../destdir\" $BUILD_ARGS"
cmake ../.. -DDESTDIR="../destdir" $BUILD_ARGS
make -j$NCORES
popd
@@ -173,12 +175,13 @@ then
# cmake deps
pushd deps/build
echo "cmake .. $BUILD_ARGS"
cmake .. $BUILD_ARGS
echo "done"
# make deps
echo "[4/9] Building dependencies..."
make -j$NCORES
make deps -j$NCORES
echo "done"
# rename wxscintilla # TODO: DeftDawg: Does OrcaSlicer need this?
@@ -224,12 +227,16 @@ then
# cmake
pushd build
cmake .. -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" -DSLIC3R_STATIC=1 ${BUILD_ARGS}
echo -e "cmake .. -DCMAKE_PREFIX_PATH=\"$PWD/../deps/build/destdir/usr/local\" -DSLIC3R_STATIC=1 -DORCA_TOOLS=ON ${BUILD_ARGS}"
cmake .. -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" -DSLIC3R_STATIC=1 ${BUILD_ARGS} -DORCA_TOOLS=ON
echo "done"
# make Slic3r
echo "[8/9] Building Slic3r..."
make -j$NCORES OrcaSlicer # Slic3r
# make OrcaSlicer_profile_validator
make -j$NCORES OrcaSlicer_profile_validator
popd
./run_gettext.sh
echo "done"

View File

@@ -1,4 +1,13 @@
cmake_minimum_required(VERSION 3.13)
if (APPLE)
# if CMAKE_OSX_DEPLOYMENT_TARGET is not set, set it to 11.3
if (NOT CMAKE_OSX_DEPLOYMENT_TARGET)
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.3" CACHE STRING "Minimum OS X deployment version" FORCE)
endif ()
message(STATUS "CMAKE_OSX_DEPLOYMENT_TARGET: ${CMAKE_OSX_DEPLOYMENT_TARGET}")
endif ()
project(OrcaSlicer)
include("version.inc")
@@ -52,14 +61,15 @@ if (APPLE)
if (CMAKE_MACOSX_BUNDLE)
set(CMAKE_INSTALL_RPATH @executable_path/../Frameworks)
endif()
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.3" CACHE STRING "Minimum OS X deployment version" FORCE)
SET(CMAKE_XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "com.softfever3d.orca-slicer")
message(STATUS "Orca: IS_CROSS_COMPILE: ${IS_CROSS_COMPILE}")
endif ()
# Proposal for C++ unit tests and sandboxes
option(SLIC3R_BUILD_SANDBOXES "Build development sandboxes" OFF)
option(SLIC3R_BUILD_TESTS "Build unit tests" OFF)
option(ORCA_TOOLS "Build Orca tools" OFF)
if (IS_CROSS_COMPILE)
message("Detected cross compilation setup. Tests and encoding checks will be forcedly disabled!")
@@ -113,6 +123,10 @@ if (MSVC)
add_compile_options(/wd4244 /wd4267)
endif ()
if (${CMAKE_CXX_COMPILER_ID} STREQUAL "AppleClang" AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 15)
add_compile_definitions(BOOST_NO_CXX98_FUNCTION_BASE _HAS_AUTO_PTR_ETC=0)
endif()
if (MINGW)
add_compile_options(-Wa,-mbig-obj)
endif ()
@@ -248,6 +262,10 @@ if (NOT MSVC AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMP
add_compile_options(-Wno-deprecated-declarations)
endif()
if (${CMAKE_CXX_COMPILER_ID} STREQUAL "AppleClang" AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 15)
add_compile_options(-Wno-error=enum-constexpr-conversion)
endif()
#GCC generates loads of -Wunknown-pragmas when compiling igl. The fix is not easy due to a bug in gcc, see
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66943 or
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431
@@ -302,7 +320,7 @@ if(WIN32)
add_definitions(-D_USE_MATH_DEFINES -D_WIN32 -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS)
if(MSVC)
# BOOST_ALL_NO_LIB: Avoid the automatic linking of Boost libraries on Windows. Rather rely on explicit linking.
add_definitions(-DBOOST_ALL_NO_LIB -DBOOST_USE_WINAPI_VERSION=0x601 -DBOOST_SYSTEM_USE_UTF8 )
add_definitions(-DBOOST_ALL_NO_LIB -DBOOST_USE_WINAPI_VERSION=0x602 -DBOOST_SYSTEM_USE_UTF8 )
# Force the source code encoding to UTF-8. See OrcaSlicer GH pull request #5583
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
@@ -328,6 +346,16 @@ if(CMAKE_CXX_FLAGS_RELWITHDEBINFO MATCHES "/O2")
string(REGEX REPLACE "/O2" "/Od" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
endif()
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
if(CMAKE_C_FLAGS_RELWITHDEBINFO MATCHES "-O2")
string(REGEX REPLACE "-O2" "-O0" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
endif()
if(CMAKE_CXX_FLAGS_RELWITHDEBINFO MATCHES "-O2")
string(REGEX REPLACE "-O2" "-O0" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
endif()
endif()
if(MSVC)
if(CMAKE_C_FLAGS_RELWITHDEBINFO MATCHES "/Ob1")
string(REGEX REPLACE "/Ob1" "/Ob0" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
@@ -355,7 +383,7 @@ endif()
# boost::process was introduced first in version 1.64.0,
# boost::beast::detail::base64 was introduced first in version 1.66.0
set(MINIMUM_BOOST_VERSION "1.66.0")
set(_boost_components "system;filesystem;thread;log;locale;regex;chrono;atomic;date_time;iostreams")
set(_boost_components "system;filesystem;thread;log;locale;regex;chrono;atomic;date_time;iostreams;program_options")
find_package(Boost ${MINIMUM_BOOST_VERSION} REQUIRED COMPONENTS ${_boost_components})
add_library(boost_libs INTERFACE)
@@ -422,11 +450,8 @@ find_package(TBB REQUIRED)
# add_definitions(-DTBB_USE_CAPTURED_EXCEPTION=0)
find_package(OpenSSL REQUIRED)
if (APPLE)
find_package(CURL CONFIG REQUIRED)
else()
find_package(CURL REQUIRED)
endif()
add_library(libcurl INTERFACE)
target_link_libraries(libcurl INTERFACE CURL::libcurl)
@@ -495,6 +520,8 @@ find_package(PNG REQUIRED)
set(OpenGL_GL_PREFERENCE "LEGACY")
find_package(OpenGL REQUIRED)
set(GLEW_ROOT "${CMAKE_PREFIX_PATH}")
message("GLEW_ROOT: ${GLEW_ROOT}")
# Find glew or use bundled version
if (SLIC3R_STATIC AND NOT SLIC3R_STATIC_EXCLUDE_GLEW)
set(GLEW_USE_STATIC_LIBS ON)
@@ -507,9 +534,11 @@ 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)
set_target_properties(cereal PROPERTIES IMPORTED_GLOBAL TRUE)
add_library(cereal::cereal ALIAS cereal)
else ()
set_target_properties(cereal::cereal PROPERTIES IMPORTED_GLOBAL TRUE)
endif ()
# l10n
@@ -748,7 +777,7 @@ 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_Installer_${SoftFever_VERSION}")
set (CPACK_PACKAGE_FILE_NAME "OrcaSlicer_Windows_Installer_V${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})
@@ -770,4 +799,4 @@ set (CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/LICENSE.txt) # must also in
set(CPACK_WIX_UPGRADE_GUID "058245e8-20e0-4a95-9ab7-1acfe17ad511")
set(CPACK_GENERATOR NSIS)
include(CPack)
include(CPack)

16
DockerBuild.sh Executable file
View File

@@ -0,0 +1,16 @@
#!/bin/bash
PROJECT_ROOT=$(cd -P -- "$(dirname -- "$0")" && printf '%s\n' "$(pwd -P)")
set -x
# Wishlist hint: For developers, creating a Docker Compose
# setup with persistent volumes for the build & deps directories
# would speed up recompile times significantly. For end users,
# the simplicity of a single Docker image and a one-time compilation
# seems better.
docker build -t orcaslicer \
--build-arg USER=$USER \
--build-arg UID=$(id -u) \
--build-arg GID=$(id -g) \
--build-arg NCORES=$NCORES \
$PROJECT_ROOT

25
DockerRun.sh Executable file
View File

@@ -0,0 +1,25 @@
#!/bin/bash
set -x
# Just in case, here's some other things that might help:
# Force the container's hostname to be the same as your workstation
# -h $HOSTNAME \
# If there's problems with the X display, try this
# -v /tmp/.X11-unix:/tmp/.X11-unix \
docker run \
`# Use the hosts networking. Printer wifi and also dbus communication` \
--net=host \
`# Some X installs will not have permissions to talk to sockets for shared memory` \
--ipc host \
`# Run as your workstations username to keep permissions the same` \
-u $USER \
`# Bind mount your home directory into the container for loading/saving files` \
-v $HOME:/home/$USER \
`# Pass the X display number to the container` \
-e DISPLAY=$DISPLAY \
`# It seems that libGL and dbus things need privileged mode` \
--privileged=true \
`# Attach tty for running orca slicer with command line things` \
-ti \
`# Pass all parameters from this script to the orca slicer ENTRYPOINT binary` \
orcaslicer $*

95
Dockerfile Normal file
View File

@@ -0,0 +1,95 @@
FROM docker.io/ubuntu:22.04
LABEL maintainer "DeftDawg <DeftDawg@gmail.com>"
# Disable interactive package configuration
RUN apt-get update && \
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
# Add a deb-src
RUN echo deb-src http://archive.ubuntu.com/ubuntu \
$(cat /etc/*release | grep VERSION_CODENAME | cut -d= -f2) main universe>> /etc/apt/sources.list
RUN apt-get update && apt-get install -y \
autoconf \
build-essential \
cmake \
curl \
eglexternalplatform-dev \
extra-cmake-modules \
file \
git \
gstreamer1.0-plugins-bad \
gstreamer1.0-libav \
libcairo2-dev \
libcurl4-openssl-dev \
libdbus-1-dev \
libglew-dev \
libglu1-mesa-dev \
libglu1-mesa-dev \
libgstreamer1.0-dev \
libgstreamerd-3-dev \
libgstreamer-plugins-base1.0-dev \
libgstreamer-plugins-good1.0-dev \
libgtk-3-dev \
libgtk-3-dev \
libosmesa6-dev \
libsecret-1-dev \
libsoup2.4-dev \
libssl3 \
libssl-dev \
libudev-dev \
libwayland-dev \
libwebkit2gtk-4.0-dev \
libxkbcommon-dev \
locales \
locales-all \
m4 \
pkgconf \
sudo \
wayland-protocols \
wget
# Change your locale here if you want. See the output
# of `locale -a` to pick the correct string formatting.
ENV LC_ALL=en_US.utf8
RUN locale-gen $LC_ALL
# Set this so that Orca Slicer doesn't complain about
# the CA cert path on every startup
ENV SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
COPY ./ OrcaSlicer
WORKDIR OrcaSlicer
# These can run together, but we run them seperate for podman caching
# Update System dependencies
RUN ./BuildLinux.sh -u
# Build dependencies in ./deps
RUN ./BuildLinux.sh -d; exit 0
RUN apt-get install -y libcgal-dev
# Build slic3r
RUN ./BuildLinux.sh -s
# Build AppImage
ENV container podman
RUN ./BuildLinux.sh -i
# It's easier to run Orca Slicer as the same username,
# UID and GID as your workstation. Since we bind mount
# your home directory into the container, it's handy
# to keep permissions the same. Just in case, defaults
# are root.
SHELL ["/bin/bash", "-l", "-c"]
ARG USER=root
ARG UID=0
ARG GID=0
RUN [[ "$UID" != "0" ]] \
&& groupadd -f -g $GID $USER \
&& useradd -u $UID -g $GID $USER
# Using an entrypoint instead of CMD because the binary
# accepts several command line arguments.
ENTRYPOINT ["/OrcaSlicer/build/package/bin/orca-slicer"]

View File

@@ -1,38 +1,48 @@
[![Build OrcaSlicer](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_orca.yml/badge.svg?branch=main)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_orca.yml)
[![Build all](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_all.yml/badge.svg?branch=main)](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_all.yml)
# Orca Slicer
Orca Slicer is an open source slicer for FDM printers.
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)
![discord-mark-blue](https://github.com/SoftFever/OrcaSlicer/assets/103989404/b97d5ffc-072d-4d0a-bbda-e67ef373876f) Join community: [OrcaSlicer Official Discord Server](https://discord.gg/P4VE9UY9gJ)
# Main features
- Auto calibrations for all printers
- Sandwich(inner-outer-inner) mode - an improved version of the `External perimeters first` mode
- Precise wall
- [Precise wall](https://github.com/SoftFever/OrcaSlicer/wiki/Precise-wall)
- Polyholes conversion support [SuperSlicer Wiki: Polyholes](https://github.com/supermerill/SuperSlicer/wiki/Polyholes)
- Klipper support
- More granular controls
- More features can be found in [change notes](https://github.com/SoftFever/OrcaSlicer/releases/)
### 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)
# Download
### Stable Release
📥 **[Download the Latest Stable Release](https://github.com/SoftFever/OrcaSlicer/releases/latest)**
Visit our GitHub Releases page for the latest stable version of Orca Slicer, recommended for most users.
### Nightly Builds
🌙 **[Download the Latest Nightly Build](https://github.com/SoftFever/OrcaSlicer/releases/tag/nightly-builds)**
Explore the latest developments in Orca Slicer with our nightly builds. Feedback on these versions is highly appreciated.
# How to install
**Windows**:
1. Install and run
1. Download the installer for your preferred version from the [releases page](https://github.com/SoftFever/OrcaSlicer/releases).
- *For convenience there is also a portable build available.*
- *If you have troubles to run the build, you might need to install following runtimes:*
- [MicrosoftEdgeWebView2RuntimeInstallerX64](https://github.com/SoftFever/BambuStudio-SoftFever/releases/download/v1.0.10-sf2/MicrosoftEdgeWebView2RuntimeInstallerX64.exe)
- [vcredist2019_x64](https://github.com/SoftFever/BambuStudio-SoftFever/releases/download/v1.0.10-sf2/vcredist2019_x64.exe)
- [MicrosoftEdgeWebView2RuntimeInstallerX64](https://github.com/SoftFever/OrcaSlicer/releases/download/v1.0.10-sf2/MicrosoftEdgeWebView2RuntimeInstallerX64.exe)
- [Details of this runtime](https://aka.ms/webview2)
- [Alternative Download Link Hosted by Microsoft](https://go.microsoft.com/fwlink/p/?LinkId=2124703)
- [vcredist2019_x64](https://github.com/SoftFever/OrcaSlicer/releases/download/v1.0.10-sf2/vcredist2019_x64.exe)
- [Alternative Download Link Hosted by Microsoft](https://aka.ms/vs/17/release/vc_redist.x64.exe)
- This file may already be available on your computer if you've installed visual studio. Check the following location: `%VCINSTALLDIR%Redist\MSVC\v142`
**Mac**:
1. Download the DMG for your computer: `arm64` version for Apple Silicon and `x86_64` for Intel CPU.
2. Drag OrcaSlicer.app to Application folder.
3. *If you want to run a build from a PR, you also need following instructions bellow*
3. *If you want to run a build from a PR, you also need following instructions below*
<details quarantine>
- Option 1 (You only need to do this once. After that the app can be oppened normally.):
- Option 1 (You only need to do this once. After that the app can be opened normally.):
- Step 1: Hold _cmd_ and right click the app, from the context menu choose **Open**.
- Step 2: A warning window will pop up, click _Open_
@@ -50,17 +60,31 @@ Orca Slicer's logo is designed by community member Justin Levine(@freejstnalxndr
**Linux(Ubuntu)**:
1. If you run into trouble to execute it, try this command in terminal:
`chmod +x /path_to_appimage/OrcaSlicer_ubu64.AppImage`
`chmod +x /path_to_appimage/OrcaSlicer_Linux.AppImage`
# How to compile
- Windows 64-bit
- Tools needed: Visual Studio 2019, Cmake, git, Strawberry Perl.
- Tools needed: Visual Studio 2019, Cmake, git, git-lfs, Strawberry Perl.
- You will require cmake version 3.14 or later, which is available [on their website](https://cmake.org/download/).
- Strawberry Perl is [available on their github repository](https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/).
- Run `build_release.bat` in `x64 Native Tools Command Prompt for VS 2019`
- Note: Don't forget to run `git lfs pull` after cloning the repository to download tools on Windows
- Mac 64-bit
- Tools needed: Xcode, Cmake, git, gettext
- Tools needed: Xcode, Cmake, git, gettext, libtool, automake, autoconf, texinfo
- You can install most of them by running `brew install cmake gettext libtool automake autoconf texinfo`
- run `build_release_macos.sh`
- To build and debug in XCode:
- run `XCode.app`
- open ``build_`arch`/OrcaSlicer.xcodeproj``
- menu bar: Product => Scheme => OrcaSlicer
- menu bar: Product => Scheme => Edit Scheme...
- Run => Info tab => Build Configuration: `RelWithDebInfo`
- Run => Options tab => Document Versions: uncheck `Allow debugging when browsing versions`
- menu bar: Product => Run
- Ubuntu
- Ubuntu
- Dependencies **Will be auto installed with the shell script**: `libmspack-dev libgstreamerd-3-dev libsecret-1-dev libwebkit2gtk-4.0-dev libosmesa6-dev libssl-dev libcurl4-openssl-dev eglexternalplatform-dev libudev-dev libdbus-1-dev extra-cmake-modules libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev cmake git texinfo`
- run 'sudo ./BuildLinux.sh -u'
- run './BuildLinux.sh -dsir'
@@ -82,16 +106,40 @@ Their generous support enables me to purchase filaments and other essential 3D p
Thank you! :)
### Sponsors:
<table>
<tr>
<td>
<a href="https://peopoly.net/">
<img src="SoftFever_doc\sponsor_logos\peopoly-standard-logo.png" alt="Peopoly" width="64" height="">
</a>
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td>
<a href="https://qidi3d.com/">
<img src="SoftFever_doc\sponsor_logos\QIDI.png" alt="QIDI" width="64" height="">
</a>
</td>
</tr>
</table>
### Backers:
*todo: extract ko-fi backers list*
Ko-fi supporters: [Backers list](https://github.com/SoftFever/OrcaSlicer/wiki/OrcaSlicer-backers-%E2%80%90-28-Oct-2023)
Support me
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/G2G5IP3CP)
## Some background
OrcaSlicer is originaly forked from Bambu Studio, it was previously known as BambuStudio-SoftFever.
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)
# License
Orca Slicer is licensed under the GNU Affero General Public License, version 3. Orca Slicer is based on Bambu Studio by BambuLab.

32
SECURITY.md Normal file
View File

@@ -0,0 +1,32 @@
POLICY: Our security policy is to avoid leaving the ecosystem worse than we found it. Meaning we are not planning to introduce vulnerabilities into the ecosystem.
The OrcaSlicer team and community take all security bugs in OrcaSlicer seriously. Thank you for improving the security of OrcaSlicer. We appreciate your efforts to disclose the issue responsibly, and will make every effort to acknowledge your contributions.
Report security bugs by emailing the lead maintainer at softfeverever@gmail.com and include the word "SECURITY" in the subject line.
The lead maintainer will acknowledge your email within a week (7 days), and will send a more detailed response up to 48 hours after that indicating the next steps in handling your report. After the initial reply to your report, the security team will endeavor to keep you informed of the progress towards a fix and an announcement. We may ask for additional information or guidance.
OrcaSlicer will confirm the problem and determine the affected versions.
OrcaSlicer will audit code to find any similar problems.
OrcaSlicer will prepare fixes for all releases still under maintenance. These fixes will be released as fast as possible.
Report security bugs in third-party modules to the person or team maintaining the module.
SECURITY DISCLOSURE: Your responsibility is to report vulnerabilities to us using the guidelines outlined below.
Please give detailed steps on how to disclose the vulnerability. Keep these OWASP guidelines in mind ( https://www.owasp.org/index.php/Vulnerability_Disclosure_Cheat_Sheet ) when creating your disclosure policy.
Below are some recommendations for security disclosures:
OrcaSlicer security contact { contact: mailto:softfeverever@gmail.com] }
When disclosing vulnerabilities please do the following:
Your name and affiliation (if any).
Include scope of vulnerability. Let us know who could use this exploit.
Document steps to identify the vulnerability. It is important that we can reproduce your findings.
Show how to exploit vulnerability, give us an attack scenario.
OrcaSlicer Checklist: Security Recommendations
Follow these steps to improve security when using OrcaSlicer.
...SEE SOMETHING
...SAY SOMETHING
1)...SEE SOMETHING
We suggest you goto #2 if this happens.
Why? Through experience we have found it is best to goto #2 in this situation.

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

View File

@@ -1,26 +1,50 @@
set WP=%CD%
set debug=OFF
set debuginfo=OFF
if "%1"=="debug" set debug=ON
if "%2"=="debug" set debug=ON
if "%1"=="debuginfo" set debuginfo=ON
if "%2"=="debuginfo" set debuginfo=ON
if "%debug%"=="ON" (
set build_type=Debug
set build_dir=build-dbg
) else (
if "%debuginfo%"=="ON" (
set build_type=RelWithDebInfo
set build_dir=build-dbginfo
) else (
set build_type=Release
set build_dir=build
)
)
echo build type set to %build_type%
cd deps
mkdir build
cd build
mkdir %build_dir%
cd %build_dir%
set DEPS=%CD%/OrcaSlicer_dep
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 deps -- -m
echo cmake ../ -G "Visual Studio 16 2019" -A x64 -DDESTDIR="%CD%/OrcaSlicer_dep" -DCMAKE_BUILD_TYPE=%build_type% -DDEP_DEBUG=%debug% -DORCA_INCLUDE_DEBUG_INFO=%debuginfo%
cmake ../ -G "Visual Studio 16 2019" -A x64 -DDESTDIR="%CD%/OrcaSlicer_dep" -DCMAKE_BUILD_TYPE=%build_type% -DDEP_DEBUG=%debug% -DORCA_INCLUDE_DEBUG_INFO=%debuginfo%
cmake --build . --config %build_type% --target deps -- -m
if "%1"=="deps" exit /b 0
:slicer
echo "building Orca Slicer..."
cd %WP%
mkdir build
cd build
mkdir %build_dir%
cd %build_dir%
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 Release --target ALL_BUILD -- -m
echo cmake .. -G "Visual Studio 16 2019" -A x64 -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="%DEPS%/usr/local" -DCMAKE_INSTALL_PREFIX="./OrcaSlicer" -DCMAKE_BUILD_TYPE=%build_type%
cmake .. -G "Visual Studio 16 2019" -A x64 -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="%DEPS%/usr/local" -DCMAKE_INSTALL_PREFIX="./OrcaSlicer" -DCMAKE_BUILD_TYPE=%build_type% -DWIN10SDK_PATH="C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0"
cmake --build . --config %build_type% --target ALL_BUILD -- -m
cd ..
call run_gettext.bat
cd build
cmake --build . --target install --config Release
cd %build_dir%
cmake --build . --target install --config %build_type%

View File

@@ -1,7 +1,10 @@
#!/bin/sh
#!/bin/bash
while getopts ":a:sdphn" opt; do
case ${opt} in
set -e
set -o pipefail
while getopts ":dpa:snt:xbc:h" opt; do
case "${opt}" in
d )
export BUILD_TARGET="deps"
;;
@@ -17,87 +20,204 @@ while getopts ":a:sdphn" opt; do
n )
export NIGHTLY_BUILD="1"
;;
t )
export OSX_DEPLOYMENT_TARGET="$OPTARG"
;;
x )
export SLICER_CMAKE_GENERATOR="Ninja"
export SLICER_BUILD_TARGET="all"
export DEPS_CMAKE_GENERATOR="Ninja"
;;
b )
export BUILD_ONLY="1"
;;
c )
export BUILD_CONFIG="$OPTARG"
;;
h ) echo "Usage: ./build_release_macos.sh [-d]"
echo " -d: Build deps only"
echo " -a: Set ARCHITECTURE (arm64 or x86_64)"
echo " -s: Build slicer only"
echo " -n: Nightly build"
echo " -t: Specify minimum version of the target platform, default is 11.3"
echo " -x: Use Ninja CMake generator, default is Xcode"
echo " -b: Build without reconfiguring CMake"
echo " -c: Set CMake build configuration, default is Release"
exit 0
;;
* )
;;
esac
done
if [ -z "$ARCH" ]
then
export ARCH=$(uname -m)
# Set defaults
if [ -z "$ARCH" ]; then
ARCH="$(uname -m)"
export ARCH
fi
echo "Arch: $ARCH"
echo "BUILD_TARGET: $BUILD_TARGET"
if which -s brew; then
brew --prefix libiconv
brew --prefix zstd
export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix zstd)/lib/
elif which -s port; then
port install libiconv
port install zstd
export LIBRARY_PATH=$LIBRARY_PATH:/opt/local/lib
else
echo "Need either brew or macports to successfully build deps"
exit 1
if [ -z "$BUILD_CONFIG" ]; then
export BUILD_CONFIG="Release"
fi
WD="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd $WD/deps
mkdir -p build_$ARCH
cd build_$ARCH
DEPS=$PWD/OrcaSlicer_dep_$ARCH
mkdir -p $DEPS
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 deps
if [ "1." == "$PACK_DEPS". ];
then
tar -zcvf OrcaSlicer_dep_mac_${ARCH}_$(date +"%d-%m-%Y").tar.gz OrcaSlicer_dep_$ARCH
fi
if [ -z "$BUILD_TARGET" ]; then
export BUILD_TARGET="all"
fi
if [ "deps." == "$BUILD_TARGET". ];
then
exit 0
if [ -z "$SLICER_CMAKE_GENERATOR" ]; then
export SLICER_CMAKE_GENERATOR="Xcode"
fi
cd $WD
mkdir -p build_$ARCH
cd build_$ARCH
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
cd ..
./run_gettext.sh
cd build_$ARCH
mkdir -p OrcaSlicer
cd OrcaSlicer
rm -r ./OrcaSlicer.app
cp -pR ../src/Release/OrcaSlicer.app ./OrcaSlicer.app
resources_path=$(readlink ./OrcaSlicer.app/Contents/Resources)
rm ./OrcaSlicer.app/Contents/Resources
cp -R $resources_path ./OrcaSlicer.app/Contents/Resources
# delete .DS_Store file
find ./OrcaSlicer.app/ -name '.DS_Store' -delete
# extract version
# export ver=$(grep '^#define SoftFever_VERSION' ../src/libslic3r/libslic3r_version.h | cut -d ' ' -f3)
# ver="_V${ver//\"}"
# echo $PWD
# if [ "1." != "$NIGHTLY_BUILD". ];
# then
# ver=${ver}_dev
if [ -z "$SLICER_BUILD_TARGET" ]; then
export SLICER_BUILD_TARGET="ALL_BUILD"
fi
if [ -z "$DEPS_CMAKE_GENERATOR" ]; then
export DEPS_CMAKE_GENERATOR="Unix Makefiles"
fi
if [ -z "$OSX_DEPLOYMENT_TARGET" ]; then
export OSX_DEPLOYMENT_TARGET="11.3"
fi
echo "Build params:"
echo " - ARCH: $ARCH"
echo " - BUILD_CONFIG: $BUILD_CONFIG"
echo " - BUILD_TARGET: $BUILD_TARGET"
echo " - CMAKE_GENERATOR: $SLICER_CMAKE_GENERATOR for Slicer, $DEPS_CMAKE_GENERATOR for deps"
echo " - OSX_DEPLOYMENT_TARGET: $OSX_DEPLOYMENT_TARGET"
echo
# if which -s brew; then
# brew --prefix libiconv
# brew --prefix zstd
# export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix zstd)/lib/
# elif which -s port; then
# port install libiconv
# port install zstd
# export LIBRARY_PATH=$LIBRARY_PATH:/opt/local/lib
# else
# echo "Need either brew or macports to successfully build deps"
# exit 1
# fi
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_BUILD_DIR="$PROJECT_DIR/build_$ARCH"
DEPS_DIR="$PROJECT_DIR/deps"
DEPS_BUILD_DIR="$DEPS_DIR/build_$ARCH"
DEPS="$DEPS_BUILD_DIR/OrcaSlicer_dep_$ARCH"
# zip -FSr OrcaSlicer${ver}_Mac_${ARCH}.zip OrcaSlicer.app
# Fix for Multi-config generators
if [ "$SLICER_CMAKE_GENERATOR" == "Xcode" ]; then
export BUILD_DIR_CONFIG_SUBDIR="/$BUILD_CONFIG"
else
export BUILD_DIR_CONFIG_SUBDIR=""
fi
function build_deps() {
echo "Building deps..."
(
set -x
mkdir -p "$DEPS"
cd "$DEPS_BUILD_DIR"
if [ "1." != "$BUILD_ONLY". ]; then
cmake .. \
-G "${DEPS_CMAKE_GENERATOR}" \
-DDESTDIR="$DEPS" \
-DOPENSSL_ARCH="darwin64-${ARCH}-cc" \
-DCMAKE_BUILD_TYPE="$BUILD_CONFIG" \
-DCMAKE_OSX_ARCHITECTURES:STRING="${ARCH}" \
-DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}"
fi
cmake --build . --config "$BUILD_CONFIG" --target deps
)
}
function pack_deps() {
echo "Packing deps..."
(
set -x
mkdir -p "$DEPS"
cd "$DEPS_BUILD_DIR"
tar -zcvf "OrcaSlicer_dep_mac_${ARCH}_$(date +"%Y%m%d").tar.gz" "OrcaSlicer_dep_$ARCH"
)
}
function build_slicer() {
echo "Building slicer..."
(
set -x
mkdir -p "$PROJECT_BUILD_DIR"
cd "$PROJECT_BUILD_DIR"
if [ "1." != "$BUILD_ONLY". ]; then
cmake .. \
-G "${SLICER_CMAKE_GENERATOR}" \
-DBBL_RELEASE_TO_PUBLIC=1 \
-DCMAKE_PREFIX_PATH="$DEPS/usr/local" \
-DCMAKE_INSTALL_PREFIX="$PWD/OrcaSlicer" \
-DCMAKE_BUILD_TYPE="$BUILD_CONFIG" \
-DCMAKE_MACOSX_RPATH=ON \
-DCMAKE_INSTALL_RPATH="${DEPS}/usr/local" \
-DCMAKE_MACOSX_BUNDLE=ON \
-DCMAKE_OSX_ARCHITECTURES="${ARCH}" \
-DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}"
fi
cmake --build . --config "$BUILD_CONFIG" --target "$SLICER_BUILD_TARGET"
)
echo "Verify localization with gettext..."
(
cd "$PROJECT_DIR"
./run_gettext.sh
)
echo "Fix macOS app package..."
(
cd "$PROJECT_BUILD_DIR"
mkdir -p OrcaSlicer
cd OrcaSlicer
# remove previously built app
rm -rf ./OrcaSlicer.app
# fully copy newly built app
cp -pR "../src$BUILD_DIR_CONFIG_SUBDIR/OrcaSlicer.app" ./OrcaSlicer.app
# fix resources
resources_path=$(readlink ./OrcaSlicer.app/Contents/Resources)
rm ./OrcaSlicer.app/Contents/Resources
cp -R "$resources_path" ./OrcaSlicer.app/Contents/Resources
# delete .DS_Store file
find ./OrcaSlicer.app/ -name '.DS_Store' -delete
)
# extract version
# export ver=$(grep '^#define SoftFever_VERSION' ../src/libslic3r/libslic3r_version.h | cut -d ' ' -f3)
# ver="_V${ver//\"}"
# echo $PWD
# if [ "1." != "$NIGHTLY_BUILD". ];
# then
# ver=${ver}_dev
# fi
# zip -FSr OrcaSlicer${ver}_Mac_${ARCH}.zip OrcaSlicer.app
}
case "${BUILD_TARGET}" in
all)
build_deps
build_slicer
;;
deps)
build_deps
;;
slicer)
build_slicer
;;
*)
echo "Unknown target: $BUILD_TARGET. Available targets: deps, slicer, all."
exit 1
;;
esac
if [ "1." == "$PACK_DEPS". ]; then
pack_deps
fi

View File

@@ -1,26 +1,65 @@
@REM OcarSlicer build script for Windows
@echo off
set WP=%CD%
@REM Pack deps
if "%1"=="pack" (
setlocal ENABLEDELAYEDEXPANSION
cd %WP%/deps/build
for /f "tokens=2-4 delims=/ " %%a in ('date /t') do set build_date=%%c%%b%%a
echo packing deps: OrcaSlicer_dep_win64_!build_date!_vs2022.zip
%WP%/tools/7z.exe a OrcaSlicer_dep_win64_!build_date!_vs2022.zip OrcaSlicer_dep
exit /b 0
)
set debug=OFF
set debuginfo=OFF
if "%1"=="debug" set debug=ON
if "%2"=="debug" set debug=ON
if "%1"=="debuginfo" set debuginfo=ON
if "%2"=="debuginfo" set debuginfo=ON
if "%debug%"=="ON" (
set build_type=Debug
set build_dir=build-dbg
) else (
if "%debuginfo%"=="ON" (
set build_type=RelWithDebInfo
set build_dir=build-dbginfo
) else (
set build_type=Release
set build_dir=build
)
)
echo build type set to %build_type%
setlocal DISABLEDELAYEDEXPANSION
cd deps
mkdir build
cd build
mkdir %build_dir%
cd %build_dir%
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
echo cmake ../ -G "Visual Studio 17 2022" -A x64 -DDESTDIR="%CD%/OrcaSlicer_dep" -DCMAKE_BUILD_TYPE=%build_type% -DDEP_DEBUG=%debug% -DORCA_INCLUDE_DEBUG_INFO=%debuginfo%
cmake ../ -G "Visual Studio 17 2022" -A x64 -DDESTDIR="%CD%/OrcaSlicer_dep" -DCMAKE_BUILD_TYPE=%build_type% -DDEP_DEBUG=%debug% -DORCA_INCLUDE_DEBUG_INFO=%debuginfo%
cmake --build . --config %build_type% --target deps -- -m
if "%1"=="deps" exit /b 0
:slicer
echo "building Orca Slicer..."
cd %WP%
mkdir build
cd build
mkdir %build_dir%
cd %build_dir%
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
echo cmake .. -G "Visual Studio 17 2022" -A x64 -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="%DEPS%/usr/local" -DCMAKE_INSTALL_PREFIX="./OrcaSlicer" -DCMAKE_BUILD_TYPE=%build_type%
cmake .. -G "Visual Studio 17 2022" -A x64 -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="%DEPS%/usr/local" -DCMAKE_INSTALL_PREFIX="./OrcaSlicer" -DCMAKE_BUILD_TYPE=%build_type% -DWIN10SDK_PATH="C:/Program Files (x86)/Windows Kits/10/Include/10.0.22000.0"
cmake --build . --config %build_type% --target ALL_BUILD -- -m
cd ..
call run_gettext.bat
cd build
cmake --build . --target install --config Release
cd %build_dir%
cmake --build . --target install --config %build_type%

View File

@@ -64,16 +64,6 @@ This module defines the following variables:
include(FindPackageHandleStandardArgs)
find_package(GLEW CONFIG QUIET)
if(GLEW_FOUND)
find_package_handle_standard_args(GLEW DEFAULT_MSG GLEW_CONFIG)
return()
endif()
if(GLEW_VERBOSE)
message(STATUS "FindGLEW: did not find GLEW CMake config file. Searching for libraries.")
endif()
if(APPLE)
find_package(OpenGL QUIET)

View File

@@ -26,6 +26,17 @@
<string>????</string>
<key>CFBundleVersion</key>
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>orcasliceropen url</string>
<key>CFBundleURLSchemes</key>
<array>
<string>orcasliceropen</string>
</array>
</dict>
</array>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
@@ -35,7 +46,7 @@
<string>STL</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>stl.icns</string>
<string>images/stl.icns</string>
<key>CFBundleTypeName</key>
<string>STL</string>
<key>CFBundleTypeRole</key>
@@ -52,7 +63,7 @@
<string>OBJ</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>OrcaSlicer.icns</string>
<string>images/OrcaSlicer.icns</string>
<key>CFBundleTypeName</key>
<string>STL</string>
<key>CFBundleTypeRole</key>
@@ -69,7 +80,7 @@
<string>AMF</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>OrcaSlicer.icns</string>
<string>images/OrcaSlicer.icns</string>
<key>CFBundleTypeName</key>
<string>AMF</string>
<key>CFBundleTypeRole</key>
@@ -86,7 +97,7 @@
<string>3MF</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>OrcaSlicer.icns</string>
<string>images/OrcaSlicer.icns</string>
<key>CFBundleTypeName</key>
<string>3MF</string>
<key>CFBundleTypeRole</key>
@@ -103,7 +114,7 @@
<string>GCODE</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>gcode.icns</string>
<string>images/gcode.icns</string>
<key>CFBundleTypeName</key>
<string>GCODE</string>
<key>CFBundleTypeRole</key>

216
deps/Boost/Boost.cmake vendored
View File

@@ -1,203 +1,25 @@
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()
set(_patch_command ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/common.jam ./tools/build/src/tools/common.jam)
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
configure_file(${CMAKE_CURRENT_LIST_DIR}/user-config.jam boost-user-config.jam)
set(_boost_toolset gcc)
set(_patch_command ${_patch_command} && ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/boost-user-config.jam ./tools/build/src/tools/user-config.jam)
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# https://cmake.org/cmake/help/latest/variable/MSVC_VERSION.html
if (MSVC_VERSION EQUAL 1800)
# 1800 = VS 12.0 (v120 toolset)
set(_boost_toolset "msvc-12.0")
elseif (MSVC_VERSION EQUAL 1900)
# 1900 = VS 14.0 (v140 toolset)
set(_boost_toolset "msvc-14.0")
elseif (MSVC_VERSION LESS 1920)
# 1910-1919 = VS 15.0 (v141 toolset)
set(_boost_toolset "msvc-14.1")
elseif (MSVC_VERSION LESS 1930)
# 1920-1929 = VS 16.0 (v142 toolset)
set(_boost_toolset "msvc-14.2")
elseif (MSVC_VERSION LESS 1940)
# 1930-1939 = VS 17.0 (v143 toolset)
set(_boost_toolset "msvc-14.3")
else ()
message(FATAL_ERROR "Unsupported MSVC version")
set(_context_abi_line "")
set(_context_arch_line "")
if (APPLE AND CMAKE_OSX_ARCHITECTURES)
if (CMAKE_OSX_ARCHITECTURES MATCHES "x86")
set(_context_abi_line "-DBOOST_CONTEXT_ABI:STRING=sysv")
elseif (CMAKE_OSX_ARCHITECTURES MATCHES "arm")
set (_context_abi_line "-DBOOST_CONTEXT_ABI:STRING=aapcs")
endif ()
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
if (WIN32)
set(_boost_toolset "clang-win")
else()
set(_boost_toolset "clang")
endif()
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
set(_boost_toolset "intel")
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
set(_boost_toolset "clang")
endif()
message(STATUS "Deduced boost toolset: ${_boost_toolset} based on ${CMAKE_CXX_COMPILER_ID} compiler")
set(_libs "")
foreach(_comp ${DEP_Boost_COMPONENTS})
list(APPEND _libs "--with-${_comp}")
endforeach()
if (BUILD_SHARED_LIBS)
set(_link shared)
else()
set(_link static)
endif()
set(_bits "")
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
set(_bits 64)
elseif ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
set(_bits 32)
set(_context_arch_line "-DBOOST_CONTEXT_ARCHITECTURE:STRING=${CMAKE_OSX_ARCHITECTURES}")
endif ()
include(ProcessorCount)
ProcessorCount(NPROC)
file(TO_NATIVE_PATH ${DESTDIR}/usr/local/ _prefix)
set(_boost_variants "")
if(CMAKE_BUILD_TYPE)
list(APPEND CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE})
list(REMOVE_DUPLICATES CMAKE_CONFIGURATION_TYPES)
endif()
list(FIND CMAKE_CONFIGURATION_TYPES "Release" _cfg_rel)
list(FIND CMAKE_CONFIGURATION_TYPES "RelWithDebInfo" _cfg_relwdeb)
list(FIND CMAKE_CONFIGURATION_TYPES "MinSizeRel" _cfg_minsizerel)
list(FIND CMAKE_CONFIGURATION_TYPES "Debug" _cfg_deb)
if (_cfg_rel GREATER -1 OR _cfg_relwdeb GREATER -1 OR _cfg_minsizerel GREATER -1)
list(APPEND _boost_variants release)
endif()
if (MSVC AND ${DEP_DEBUG} )
list(APPEND _boost_variants debug)
endif()
if (NOT _boost_variants)
set(_boost_variants release)
endif()
if (IS_CROSS_COMPILE AND APPLE)
if (${CMAKE_OSX_ARCHITECTURES} MATCHES "arm")
message(STATUS "Compiling Boost for arm64.")
message(STATUS "Compiling Boost with toolset ${_boost_toolset}.")
message(STATUS "Compiling Boost with libs ${_libs}.")
message(STATUS "Compiling Boost with variant ${_boost_variants}.")
message(STATUS "Compiling Boost with _bootstrap_cmd ${_bootstrap_cmd}.")
message(STATUS "_boost_linkflags = ${_boost_linkflags}")
set(_arch_flags "-arch arm64")
set(_boost_linkflags "linkflags=${_arch_flags}")
message(STATUS "_cmake_args_osx_arch = '${_cmake_args_osx_arch}'")
elseif (${CMAKE_OSX_ARCHITECTURES} MATCHES "x86_64")
message(STATUS "Compiling Boost for x86_64.")
set(_arch_flags "-arch x86_64")
endif()
set(_boost_linkflags "linkflags=${_arch_flags}")
endif ()
set(_boost_flags "")
if(APPLE)
set(_boost_flags
"cflags=-fPIC ${_arch_flags} -mmacosx-version-min=${DEP_OSX_TARGET};"
"cxxflags=-fPIC ${_arch_flags} -mmacosx-version-min=${DEP_OSX_TARGET};"
"mflags=-fPIC ${_arch_flags} -mmacosx-version-min=${DEP_OSX_TARGET};"
"mmflags=-fPIC ${_arch_flags} -mmacosx-version-min=${DEP_OSX_TARGET}")
elseif (UNIX)
set(_boost_flags "cflags=-fPIC;cxxflags=-fPIC")
endif()
set(_build_cmd ${_build_cmd}
${_boost_flags}
${_boost_linkflags}
-j${NPROC}
${_libs}
--layout=versioned
--debug-configuration
toolset=${_boost_toolset}
address-model=${_bits}
link=${_link}
threading=multi
boost.locale.icu=off
--disable-icu
${_boost_variants}
stage)
set(_install_cmd ${_build_cmd} --prefix=${_prefix} install)
if (NOT IS_CROSS_COMPILE OR NOT APPLE OR BUILD_SHARED_LIBS)
message(STATUS "Standard boost build with bootstrap command '${_bootstrap_cmd}'")
message(STATUS "Standard boost build with patch command '${_patch_command}'")
message(STATUS "Standard boost build with build command '${_build_cmd}'")
message(STATUS "Standard boost build with install command '${_install_cmd}'")
ExternalProject_Add(
dep_Boost
URL ${_boost_url}
URL_HASH SHA256=${_boost_hash}
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/Boost
CONFIGURE_COMMAND "${_bootstrap_cmd}"
PATCH_COMMAND ${_patch_command}
BUILD_COMMAND "${_build_cmd}"
BUILD_IN_SOURCE ON
INSTALL_COMMAND "${_install_cmd}"
orcaslicer_add_cmake_project(Boost
URL "https://github.com/boostorg/boost/releases/download/boost-1.84.0/boost-1.84.0.tar.gz"
URL_HASH SHA256=4d27e9efed0f6f152dc28db6430b9d3dfb40c0345da7342eaa5a987dde57bd95
LIST_SEPARATOR |
CMAKE_ARGS
-DBOOST_EXCLUDE_LIBRARIES:STRING=contract|fiber|numpy|stacktrace|wave|test
-DBOOST_LOCALE_ENABLE_ICU:BOOL=OFF # do not link to libicu, breaks compatibility between distros
-DBUILD_TESTING:BOOL=OFF
"${_context_abi_line}"
"${_context_arch_line}"
)
else()
ExternalProject_Add(
dep_Boost
URL ${_boost_url}
URL_HASH SHA256=${_boost_hash}
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/Boost
CONFIGURE_COMMAND ./bootstrap.sh
--with-toolset=clang
--with-libraries=date_time,filesystem,iostreams,locale,log,regex,system,thread
"--prefix=${DESTDIR}/usr/local"
# PATCH_COMMAND ${_patch_command}
BUILD_COMMAND "${_build_cmd}"
BUILD_IN_SOURCE ON
INSTALL_COMMAND "${_install_cmd}"
)
endif()
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
message(STATUS "Patch the boost::polygon library with a custom one.")
# Patch the boost::polygon library with a custom one.
ExternalProject_Add(dep_boost_polygon
EXCLUDE_FROM_ALL ON
# GIT_REPOSITORY "https://github.com/prusa3d/polygon"
# GIT_TAG prusaslicer_gmp
URL https://github.com/prusa3d/polygon/archive/refs/heads/prusaslicer_gmp.zip
URL_HASH SHA256=abeb9710f0a7069fb9b22181ae5c56f6066002f125db210e7ffb27032aed6824
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/boost_polygon
DEPENDS dep_Boost
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
${_cmake_args_osx_arch}
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory
"${CMAKE_CURRENT_BINARY_DIR}/dep_boost_polygon-prefix/src/dep_boost_polygon/include/boost/polygon"
"${DESTDIR}/usr/local/include/boost/polygon"
)
# Only override boost::Polygon Voronoi implementation with Vojtech's GMP hacks on 64bit platforms.
list(APPEND _dep_list "dep_boost_polygon")
endif ()
set(DEP_Boost_DEPENDS ZLIB)

28
deps/CGAL/CGAL.cmake vendored
View File

@@ -1,31 +1,11 @@
orcaslicer_add_cmake_project(
CGAL
GIT_REPOSITORY https://github.com/CGAL/cgal.git
GIT_TAG caacd806dc55c61cc68adaad99f2240f00493b29 # releases/CGAL-5.3
# GIT_REPOSITORY https://github.com/CGAL/cgal.git
# GIT_TAG bec70a6d52d8aacb0b3d82a7b4edc3caa899184b # releases/CGAL-5.0
# For whatever reason, this keeps downloading forever (repeats downloads if finished)
#URL https://github.com/CGAL/cgal/archive/releases/CGAL-5.0.zip
#URL_HASH SHA256=c2b035bd078687b6d8c0fb6371a7443adcdb647856af9969532c4050cd5f48e5
URL https://github.com/CGAL/cgal/archive/refs/tags/v5.4.zip
URL_HASH SHA256=d7605e0a5a5ca17da7547592f6f6e4a59430a0bc861948974254d0de43eab4c0
DEPENDS dep_Boost dep_GMP dep_MPFR
)
include(GNUInstallDirs)
# CGAL, for whatever reason, makes itself non-relocatable by writing the build directory into
# CGALConfig-installation-dirs.cmake and including it in configure time.
# If this file is not present, it will not consider the stored absolute path
ExternalProject_Add_Step(dep_CGAL dep_CGAL_relocation_fix
DEPENDEES install
COMMAND ${CMAKE_COMMAND} -E remove CGALConfig-installation-dirs.cmake
WORKING_DIRECTORY "${DESTDIR}/usr/local/${CMAKE_INSTALL_LIBDIR}/cmake/CGAL"
)
# Again, for whatever reason, CGAL thinks that its version is not relevant if
# configured as a header only library. Fixing it by placing a cmake version file
# besides the installed config file.
ExternalProject_Add_Step(dep_CGAL dep_CGAL_version_fix
DEPENDEES install
COMMAND ${CMAKE_COMMAND} -E copy cgal/CGALConfigVersion.cmake "${DESTDIR}/usr/local/${CMAKE_INSTALL_LIBDIR}/cmake/CGAL/CGALConfigVersion.cmake"
WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}"
)

30
deps/CMakeLists.txt vendored
View File

@@ -20,8 +20,17 @@
# therefore, unfortunatelly, the installation cannot be copied/moved elsewhere without re-installing wxWidgets.
#
project(OrcaSlicer-deps)
cmake_minimum_required(VERSION 3.2)
if (APPLE)
# if CMAKE_OSX_DEPLOYMENT_TARGET is not set, set it to 11.3
if (NOT CMAKE_OSX_DEPLOYMENT_TARGET)
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.3" CACHE STRING "Minimum OS X deployment version" FORCE)
endif ()
message(STATUS "CMAKE_OSX_DEPLOYMENT_TARGET: ${CMAKE_OSX_DEPLOYMENT_TARGET}")
endif ()
project(OrcaSlicer-deps)
include(ExternalProject)
include(ProcessorCount)
@@ -32,9 +41,14 @@ if (NPROC EQUAL 0)
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.")
set(DEP_DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR}/../DL_CACHE CACHE PATH "Path for downloaded source packages.")
option(DEP_DEBUG "Build debug variants (only applicable on Windows)" OFF)
get_property(_is_multi GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
if (_is_multi)
option(DEP_DEBUG "Build debug variants (only applicable on Windows)" OFF)
option(ORCA_INCLUDE_DEBUG_INFO "Includes debug information in a release build (like RelWithDebInfo) in a way that works with multi-configuration generators and incompatible dependencies. DEP_DEBUG option takes priority over this." OFF)
endif ()
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
option(DEP_WX_GTK3 "Build wxWidgets against GTK3" OFF)
@@ -78,8 +92,6 @@ find_package(Git REQUIRED)
# The default command line for patching. Only works for newer
set(PATCH_CMD ${GIT_EXECUTABLE} apply --verbose --ignore-space-change --whitespace=fix)
get_property(_is_multi GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
if (NOT _is_multi AND NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
message(STATUS "Forcing CMAKE_BUILD_TYPE to Release as it was not specified.")
@@ -90,7 +102,11 @@ function(orcaslicer_add_cmake_project projectname)
set(_configs_line -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE})
if (_is_multi OR MSVC)
set(_configs_line "")
if (ORCA_INCLUDE_DEBUG_INFO AND NOT DEP_DEBUG)
set(_configs_line "-DCMAKE_C_FLAGS_RELEASE:STRING=${CMAKE_C_FLAGS_RELWITHDEBINFO} -DCMAKE_CXX_FLAGS_RELEASE:STRING=${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
else ()
set(_configs_line "")
endif ()
endif ()
set(_gen "")
@@ -133,6 +149,7 @@ else()
${_gen}
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local
-DCMAKE_PREFIX_PATH:STRING=${DESTDIR}/usr/local
-DBUILD_SHARED_LIBS:BOOL=OFF
${_cmake_osx_arch}
"${_configs_line}"
@@ -162,7 +179,6 @@ if (MSVC)
endif ()
elseif (APPLE)
message("OS X SDK Path: ${CMAKE_OSX_SYSROOT}")
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.3" CACHE STRING "Minimum OS X deployment version" FORCE)
if (CMAKE_OSX_DEPLOYMENT_TARGET)
set(DEP_OSX_TARGET "${CMAKE_OSX_DEPLOYMENT_TARGET}")
message("OS X Deployment Target: ${DEP_OSX_TARGET}")

View File

@@ -25,7 +25,8 @@ set(_curl_platform_flags
)
if (WIN32)
set(_curl_platform_flags ${_curl_platform_flags} -DCMAKE_USE_SCHANNEL=ON)
#set(_curl_platform_flags ${_curl_platform_flags} -DCMAKE_USE_SCHANNEL=ON)
set(_curl_platform_flags ${_curl_platform_flags} -DCMAKE_USE_OPENSSL=ON -DCURL_CA_PATH:STRING=none)
elseif (APPLE)
set(_curl_platform_flags
@@ -65,14 +66,15 @@ orcaslicer_add_cmake_project(CURL
# ${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/curl-mods.patch
CMAKE_ARGS
-DBUILD_TESTING:BOOL=OFF
-DBUILD_CURL_EXE:BOOL=OFF
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DCURL_STATICLIB=${_curl_static}
${_curl_platform_flags}
)
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
# if (APPLE OR (CMAKE_SYSTEM_NAME STREQUAL "Linux"))
add_dependencies(dep_CURL dep_OpenSSL)
endif ()
# endif ()
if (MSVC)
add_debug_dep(dep_CURL)

View File

@@ -1,6 +1,12 @@
#/|/ Copyright (c) Prusa Research 2021 - 2022 Tomáš Mészáros @tamasmeszaros, Filip Sykala @Jony01
#/|/
#/|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
#/|/
orcaslicer_add_cmake_project(Cereal
URL "https://github.com/USCiLab/cereal/archive/v1.2.2.tar.gz"
URL_HASH SHA256=1921f26d2e1daf9132da3c432e2fd02093ecaedf846e65d7679ddf868c7289c4
URL "https://github.com/USCiLab/cereal/archive/refs/tags/v1.3.0.zip"
URL_HASH SHA256=71642cb54658e98c8f07a0f0d08bf9766f1c3771496936f6014169d3726d9657
CMAKE_ARGS
-DJUST_INSTALL_CEREAL=on
-DJUST_INSTALL_CEREAL=ON
-DSKIP_PERFORMANCE_COMPARISON=ON
-DBUILD_TESTS=OFF
)

View File

@@ -2,6 +2,65 @@ cmake_minimum_required(VERSION 3.0)
project(EXPAT)
include(${CMAKE_CURRENT_LIST_DIR}/ConfigureChecks.cmake)
macro(expat_shy_set var default cache type desc)
# Macro expat_shy_set came into life because:
# - Expat was previously using an inconsistent mix of CMake's native set()
# and option() to define public build time options.
# - option() is more friendly than set() with regard to configuring an
# external project that is pulled in by means of add_subdirectory() --
# see comments in issue #597 -- so we wanted to get away from set().
# - option() auto-converts non-bool values to bool when writing to the CMake
# cache, so we needed something that supports non-bool better and hence
# wanted to get away from plain option(), too.
#
# As a result, this function serves as a hybrid between CMake's regular set()
# and option(): from set() it takes support for non-bool types and the function
# name and signature whereas from option() (with policy CMP0077 mode NEW) it
# takes being shy when a value has previously been defined for that variable.
#
# So that resolves all need for set(.. FORCE) when pulling in Expat by means of
# add_subdirectory().
#
if(NOT ${cache} STREQUAL "CACHE")
message(SEND_ERROR "Macro usage is: expat_shy_set(var default CACHE type desc)")
endif()
if(DEFINED ${var})
# NOTE: The idea is to (ideally) only add to the cache if
# there is no cache entry, yet. "if(DEFINED CACHE{var})"
# requires CMake >=3.14.
if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.14" AND NOT DEFINED "CACHE{${var}}")
set("${var}" "${${var}}" CACHE "${type}" "${desc}")
endif()
else()
set("${var}" "${default}" CACHE "${type}" "${desc}")
endif()
endmacro()
if(NOT WIN32)
expat_shy_set(EXPAT_WITH_GETRANDOM "AUTO" CACHE STRING "Make use of getrandom function (ON|OFF|AUTO) [default=AUTO]")
expat_shy_set(EXPAT_WITH_SYS_GETRANDOM "AUTO" CACHE STRING "Make use of syscall SYS_getrandom (ON|OFF|AUTO) [default=AUTO]")
endif()
macro(evaluate_detection_results use_ref have_ref thing_lower thing_title)
if(${use_ref} AND NOT (${use_ref} STREQUAL "AUTO") AND NOT ${have_ref})
message(SEND_ERROR
"Use of ${thing_lower} was enforced by ${use_ref}=ON but it could not be found.")
elseif(NOT ${use_ref} AND ${have_ref})
message("${thing_title} was found but it will not be used due to ${use_ref}=OFF.")
set(${have_ref} 0)
endif()
endmacro()
if(NOT WIN32)
evaluate_detection_results(EXPAT_WITH_GETRANDOM HAVE_GETRANDOM "function getrandom" "Function getrandom")
evaluate_detection_results(EXPAT_WITH_SYS_GETRANDOM HAVE_SYSCALL_GETRANDOM "syscall SYS_getrandom" "Syscall SYS_getrandom")
endif()
configure_file(expat_configure.h.cmake "${CMAKE_CURRENT_BINARY_DIR}/expat_configure.h")
if (BUILD_SHARED_LIBS AND MSVC)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
endif()
@@ -12,7 +71,7 @@ add_library(expat
xmltok.c
)
target_include_directories(expat PRIVATE ${PROJECT_SOURCE_DIR})
target_include_directories(expat PRIVATE ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
include(GNUInstallDirs)

View File

@@ -1,5 +1,5 @@
Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and Clark Cooper
Copyright (c) 2001-2016 Expat maintainers
Copyright (c) 2001-2022 Expat maintainers
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the

69
deps/EXPAT/expat/ConfigureChecks.cmake vendored Normal file
View File

@@ -0,0 +1,69 @@
include(CheckCCompilerFlag)
include(CheckCSourceCompiles)
include(CheckIncludeFile)
include(CheckIncludeFiles)
include(CheckLibraryExists)
include(CheckSymbolExists)
include(TestBigEndian)
check_include_file("dlfcn.h" HAVE_DLFCN_H)
check_include_file("fcntl.h" HAVE_FCNTL_H)
check_include_file("inttypes.h" HAVE_INTTYPES_H)
check_include_file("memory.h" HAVE_MEMORY_H)
check_include_file("stdint.h" HAVE_STDINT_H)
check_include_file("stdlib.h" HAVE_STDLIB_H)
check_include_file("strings.h" HAVE_STRINGS_H)
check_include_file("string.h" HAVE_STRING_H)
check_include_file("sys/stat.h" HAVE_SYS_STAT_H)
check_include_file("sys/types.h" HAVE_SYS_TYPES_H)
check_include_file("unistd.h" HAVE_UNISTD_H)
check_symbol_exists("getpagesize" "unistd.h" HAVE_GETPAGESIZE)
check_symbol_exists("mmap" "sys/mman.h" HAVE_MMAP)
check_symbol_exists("getrandom" "sys/random.h" HAVE_GETRANDOM)
if(EXPAT_WITH_LIBBSD)
set(CMAKE_REQUIRED_LIBRARIES "${LIB_BSD}")
set(_bsd "bsd/")
else()
set(_bsd "")
endif()
check_symbol_exists("arc4random_buf" "${_bsd}stdlib.h" HAVE_ARC4RANDOM_BUF)
if(NOT HAVE_ARC4RANDOM_BUF)
check_symbol_exists("arc4random" "${_bsd}stdlib.h" HAVE_ARC4RANDOM)
endif()
set(CMAKE_REQUIRED_LIBRARIES)
#/* Define to 1 if you have the ANSI C header files. */
check_include_files("stdlib.h;stdarg.h;string.h;float.h" STDC_HEADERS)
test_big_endian(WORDS_BIGENDIAN)
#/* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
if(WORDS_BIGENDIAN)
set(BYTEORDER 4321)
else(WORDS_BIGENDIAN)
set(BYTEORDER 1234)
endif(WORDS_BIGENDIAN)
if(HAVE_SYS_TYPES_H)
check_symbol_exists("off_t" "sys/types.h" OFF_T)
check_symbol_exists("size_t" "sys/types.h" SIZE_T)
else(HAVE_SYS_TYPES_H)
set(OFF_T "long")
set(SIZE_T "unsigned")
endif(HAVE_SYS_TYPES_H)
check_c_source_compiles("
#include <stdlib.h> /* for NULL */
#include <unistd.h> /* for syscall */
#include <sys/syscall.h> /* for SYS_getrandom */
int main() {
syscall(SYS_getrandom, NULL, 0, 0);
return 0;
}"
HAVE_SYSCALL_GETRANDOM)
check_c_compiler_flag("-fno-strict-aliasing" FLAG_NO_STRICT_ALIASING)
check_c_compiler_flag("-fvisibility=hidden" FLAG_VISIBILITY)
check_library_exists(m cos "" _EXPAT_LIBM_FOUND)

View File

@@ -1,146 +0,0 @@
Expat, Release 2.2.0, stripped and modified for inclusion into Slic3r.
Only the library sources needed for static linking were left.
The original README follows:
---------------------------------------------------------------------
Expat, Release 2.2.0
This is Expat, a C library for parsing XML, written by James Clark.
Expat is a stream-oriented XML parser. This means that you register
handlers with the parser before starting the parse. These handlers
are called when the parser discovers the associated structures in the
document being parsed. A start tag is an example of the kind of
structures for which you may register handlers.
Windows users should use the expat_win32bin package, which includes
both precompiled libraries and executables, and source code for
developers.
Expat is free software. You may copy, distribute, and modify it under
the terms of the License contained in the file COPYING distributed
with this package. This license is the same as the MIT/X Consortium
license.
Versions of Expat that have an odd minor version (the middle number in
the release above), are development releases and should be considered
as beta software. Releases with even minor version numbers are
intended to be production grade software.
If you are building Expat from a check-out from the CVS repository,
you need to run a script that generates the configure script using the
GNU autoconf and libtool tools. To do this, you need to have
autoconf 2.58 or newer. Run the script like this:
./buildconf.sh
Once this has been done, follow the same instructions as for building
from a source distribution.
To build Expat from a source distribution, you first run the
configuration shell script in the top level distribution directory:
./configure
There are many options which you may provide to configure (which you
can discover by running configure with the --help option). But the
one of most interest is the one that sets the installation directory.
By default, the configure script will set things up to install
libexpat into /usr/local/lib, expat.h into /usr/local/include, and
xmlwf into /usr/local/bin. If, for example, you'd prefer to install
into /home/me/mystuff/lib, /home/me/mystuff/include, and
/home/me/mystuff/bin, you can tell configure about that with:
./configure --prefix=/home/me/mystuff
Another interesting option is to enable 64-bit integer support for
line and column numbers and the over-all byte index:
./configure CPPFLAGS=-DXML_LARGE_SIZE
However, such a modification would be a breaking change to the ABI
and is therefore not recommended for general use - e.g. as part of
a Linux distribution - but rather for builds with special requirements.
After running the configure script, the "make" command will build
things and "make install" will install things into their proper
location. Have a look at the "Makefile" to learn about additional
"make" options. Note that you need to have write permission into
the directories into which things will be installed.
If you are interested in building Expat to provide document
information in UTF-16 encoding rather than the default UTF-8, follow
these instructions (after having run "make distclean"):
1. For UTF-16 output as unsigned short (and version/error
strings as char), run:
./configure CPPFLAGS=-DXML_UNICODE
For UTF-16 output as wchar_t (incl. version/error strings),
run:
./configure CFLAGS="-g -O2 -fshort-wchar" \
CPPFLAGS=-DXML_UNICODE_WCHAR_T
2. Edit the MakeFile, changing:
LIBRARY = libexpat.la
to:
LIBRARY = libexpatw.la
(Note the additional "w" in the library name.)
3. Run "make buildlib" (which builds the library only).
Or, to save step 2, run "make buildlib LIBRARY=libexpatw.la".
4. Run "make installlib" (which installs the library only).
Or, if step 2 was omitted, run "make installlib LIBRARY=libexpatw.la".
Using DESTDIR or INSTALL_ROOT is enabled, with INSTALL_ROOT being the default
value for DESTDIR, and the rest of the make file using only DESTDIR.
It works as follows:
$ make install DESTDIR=/path/to/image
overrides the in-makefile set DESTDIR, while both
$ INSTALL_ROOT=/path/to/image make install
$ make install INSTALL_ROOT=/path/to/image
use DESTDIR=$(INSTALL_ROOT), even if DESTDIR eventually is defined in the
environment, because variable-setting priority is
1) commandline
2) in-makefile
3) environment
Note: This only applies to the Expat library itself, building UTF-16 versions
of xmlwf and the tests is currently not supported.
Note for Solaris users: The "ar" command is usually located in
"/usr/ccs/bin", which is not in the default PATH. You will need to
add this to your path for the "make" command, and probably also switch
to GNU make (the "make" found in /usr/ccs/bin does not seem to work
properly -- apparently it does not understand .PHONY directives). If
you're using ksh or bash, use this command to build:
PATH=/usr/ccs/bin:$PATH make
When using Expat with a project using autoconf for configuration, you
can use the probing macro in conftools/expat.m4 to determine how to
include Expat. See the comments at the top of that file for more
information.
A reference manual is available in the file doc/reference.html in this
distribution.
The homepage for this project is http://www.libexpat.org/. There
are links there to connect you to the bug reports page. If you need
to report a bug when you don't have access to a browser, you may also
send a bug report by email to expat-bugs@mail.libexpat.org.
Discussion related to the direction of future expat development takes
place on expat-discuss@mail.libexpat.org. Archives of this list and
other Expat-related lists may be found at:
http://mail.libexpat.org/mailman/listinfo/

274
deps/EXPAT/expat/README.md vendored Normal file
View File

@@ -0,0 +1,274 @@
Expat, Release 2.5.0, only picked the lib related files into Bambu Studio, built as static library
The original README:
---------------------------------------------------------------------
[![Run Linux Travis CI tasks](https://github.com/libexpat/libexpat/actions/workflows/linux.yml/badge.svg)](https://github.com/libexpat/libexpat/actions/workflows/linux.yml)
[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/libexpat/libexpat?svg=true)](https://ci.appveyor.com/project/libexpat/libexpat)
[![Packaging status](https://repology.org/badge/tiny-repos/expat.svg)](https://repology.org/metapackage/expat/versions)
[![Downloads SourceForge](https://img.shields.io/sourceforge/dt/expat?label=Downloads%20SourceForge)](https://sourceforge.net/projects/expat/files/)
[![Downloads GitHub](https://img.shields.io/github/downloads/libexpat/libexpat/total?label=Downloads%20GitHub)](https://github.com/libexpat/libexpat/releases)
# Expat, Release 2.5.0
This is Expat, a C library for parsing XML, started by
[James Clark](https://en.wikipedia.org/wiki/James_Clark_%28programmer%29) in 1997.
Expat is a stream-oriented XML parser. This means that you register
handlers with the parser before starting the parse. These handlers
are called when the parser discovers the associated structures in the
document being parsed. A start tag is an example of the kind of
structures for which you may register handlers.
Expat supports the following compilers:
- GNU GCC >=4.5
- LLVM Clang >=3.5
- Microsoft Visual Studio >=15.0/2017 (rolling `${today} minus 5 years`)
Windows users can use the
[`expat-win32bin-*.*.*.{exe,zip}` download](https://github.com/libexpat/libexpat/releases),
which includes both pre-compiled libraries and executables, and source code for
developers.
Expat is [free software](https://www.gnu.org/philosophy/free-sw.en.html).
You may copy, distribute, and modify it under the terms of the License
contained in the file
[`COPYING`](https://github.com/libexpat/libexpat/blob/master/expat/COPYING)
distributed with this package.
This license is the same as the MIT/X Consortium license.
## Using libexpat in your CMake-Based Project
There are two ways of using libexpat with CMake:
### a) Module Mode
This approach leverages CMake's own [module `FindEXPAT`](https://cmake.org/cmake/help/latest/module/FindEXPAT.html).
Notice the *uppercase* `EXPAT` in the following example:
```cmake
cmake_minimum_required(VERSION 3.0) # or 3.10, see below
project(hello VERSION 1.0.0)
find_package(EXPAT 2.2.8 MODULE REQUIRED)
add_executable(hello
hello.c
)
# a) for CMake >=3.10 (see CMake's FindEXPAT docs)
target_link_libraries(hello PUBLIC EXPAT::EXPAT)
# b) for CMake >=3.0
target_include_directories(hello PRIVATE ${EXPAT_INCLUDE_DIRS})
target_link_libraries(hello PUBLIC ${EXPAT_LIBRARIES})
```
### b) Config Mode
This approach requires files from…
- libexpat >=2.2.8 where packaging uses the CMake build system
or
- libexpat >=2.3.0 where packaging uses the GNU Autotools build system
on Linux
or
- libexpat >=2.4.0 where packaging uses the GNU Autotools build system
on macOS or MinGW.
Notice the *lowercase* `expat` in the following example:
```cmake
cmake_minimum_required(VERSION 3.0)
project(hello VERSION 1.0.0)
find_package(expat 2.2.8 CONFIG REQUIRED char dtd ns)
add_executable(hello
hello.c
)
target_link_libraries(hello PUBLIC expat::expat)
```
## Building from a Git Clone
If you are building Expat from a check-out from the
[Git repository](https://github.com/libexpat/libexpat/),
you need to run a script that generates the configure script using the
GNU autoconf and libtool tools. To do this, you need to have
autoconf 2.58 or newer. Run the script like this:
```console
./buildconf.sh
```
Once this has been done, follow the same instructions as for building
from a source distribution.
## Building from a Source Distribution
### a) Building with the configure script (i.e. GNU Autotools)
To build Expat from a source distribution, you first run the
configuration shell script in the top level distribution directory:
```console
./configure
```
There are many options which you may provide to configure (which you
can discover by running configure with the `--help` option). But the
one of most interest is the one that sets the installation directory.
By default, the configure script will set things up to install
libexpat into `/usr/local/lib`, `expat.h` into `/usr/local/include`, and
`xmlwf` into `/usr/local/bin`. If, for example, you'd prefer to install
into `/home/me/mystuff/lib`, `/home/me/mystuff/include`, and
`/home/me/mystuff/bin`, you can tell `configure` about that with:
```console
./configure --prefix=/home/me/mystuff
```
Another interesting option is to enable 64-bit integer support for
line and column numbers and the over-all byte index:
```console
./configure CPPFLAGS=-DXML_LARGE_SIZE
```
However, such a modification would be a breaking change to the ABI
and is therefore not recommended for general use &mdash; e.g. as part of
a Linux distribution &mdash; but rather for builds with special requirements.
After running the configure script, the `make` command will build
things and `make install` will install things into their proper
location. Have a look at the `Makefile` to learn about additional
`make` options. Note that you need to have write permission into
the directories into which things will be installed.
If you are interested in building Expat to provide document
information in UTF-16 encoding rather than the default UTF-8, follow
these instructions (after having run `make distclean`).
Please note that we configure with `--without-xmlwf` as xmlwf does not
support this mode of compilation (yet):
1. Mass-patch `Makefile.am` files to use `libexpatw.la` for a library name:
<br/>
`find -name Makefile.am -exec sed
-e 's,libexpat\.la,libexpatw.la,'
-e 's,libexpat_la,libexpatw_la,'
-i {} +`
1. Run `automake` to re-write `Makefile.in` files:<br/>
`automake`
1. For UTF-16 output as unsigned short (and version/error strings as char),
run:<br/>
`./configure CPPFLAGS=-DXML_UNICODE --without-xmlwf`<br/>
For UTF-16 output as `wchar_t` (incl. version/error strings), run:<br/>
`./configure CFLAGS="-g -O2 -fshort-wchar" CPPFLAGS=-DXML_UNICODE_WCHAR_T
--without-xmlwf`
<br/>Note: The latter requires libc compiled with `-fshort-wchar`, as well.
1. Run `make` (which excludes xmlwf).
1. Run `make install` (again, excludes xmlwf).
Using `DESTDIR` is supported. It works as follows:
```console
make install DESTDIR=/path/to/image
```
overrides the in-makefile set `DESTDIR`, because variable-setting priority is
1. commandline
1. in-makefile
1. environment
Note: This only applies to the Expat library itself, building UTF-16 versions
of xmlwf and the tests is currently not supported.
When using Expat with a project using autoconf for configuration, you
can use the probing macro in `conftools/expat.m4` to determine how to
include Expat. See the comments at the top of that file for more
information.
A reference manual is available in the file `doc/reference.html` in this
distribution.
### b) Building with CMake
The CMake build system is still *experimental* and may replace the primary
build system based on GNU Autotools at some point when it is ready.
#### Available Options
For an idea of the available (non-advanced) options for building with CMake:
```console
# rm -f CMakeCache.txt ; cmake -D_EXPAT_HELP=ON -LH . | grep -B1 ':.*=' | sed 's,^--$,,'
// Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ...
CMAKE_BUILD_TYPE:STRING=
// Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/usr/local
// Path to a program.
DOCBOOK_TO_MAN:FILEPATH=/usr/bin/docbook2x-man
// Build man page for xmlwf
EXPAT_BUILD_DOCS:BOOL=ON
// Build the examples for expat library
EXPAT_BUILD_EXAMPLES:BOOL=ON
// Build fuzzers for the expat library
EXPAT_BUILD_FUZZERS:BOOL=OFF
// Build pkg-config file
EXPAT_BUILD_PKGCONFIG:BOOL=ON
// Build the tests for expat library
EXPAT_BUILD_TESTS:BOOL=ON
// Build the xmlwf tool for expat library
EXPAT_BUILD_TOOLS:BOOL=ON
// Character type to use (char|ushort|wchar_t) [default=char]
EXPAT_CHAR_TYPE:STRING=char
// Install expat files in cmake install target
EXPAT_ENABLE_INSTALL:BOOL=ON
// Use /MT flag (static CRT) when compiling in MSVC
EXPAT_MSVC_STATIC_CRT:BOOL=OFF
// Build fuzzers via ossfuzz for the expat library
EXPAT_OSSFUZZ_BUILD:BOOL=OFF
// Build a shared expat library
EXPAT_SHARED_LIBS:BOOL=ON
// Treat all compiler warnings as errors
EXPAT_WARNINGS_AS_ERRORS:BOOL=OFF
// Make use of getrandom function (ON|OFF|AUTO) [default=AUTO]
EXPAT_WITH_GETRANDOM:STRING=AUTO
// Utilize libbsd (for arc4random_buf)
EXPAT_WITH_LIBBSD:BOOL=OFF
// Make use of syscall SYS_getrandom (ON|OFF|AUTO) [default=AUTO]
EXPAT_WITH_SYS_GETRANDOM:STRING=AUTO
```

View File

@@ -1,5 +1,36 @@
/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
See the file COPYING for copying permission.
/*
__ __ _
___\ \/ /_ __ __ _| |_
/ _ \\ /| '_ \ / _` | __|
| __// \| |_) | (_| | |_
\___/_/\_\ .__/ \__,_|\__|
|_| XML parser
Copyright (c) 1999-2000 Thai Open Source Software Center Ltd
Copyright (c) 2000 Clark Cooper <coopercc@users.sourceforge.net>
Copyright (c) 2002 Fred L. Drake, Jr. <fdrake@users.sourceforge.net>
Copyright (c) 2007 Karl Waclawek <karl@waclawek.net>
Copyright (c) 2017 Sebastian Pipping <sebastian@pipping.org>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#define ASCII_A 0x41

View File

@@ -1,36 +1,66 @@
/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
See the file COPYING for copying permission.
/*
__ __ _
___\ \/ /_ __ __ _| |_
/ _ \\ /| '_ \ / _` | __|
| __// \| |_) | (_| | |_
\___/_/\_\ .__/ \__,_|\__|
|_| XML parser
Copyright (c) 1997-2000 Thai Open Source Software Center Ltd
Copyright (c) 2000 Clark Cooper <coopercc@users.sourceforge.net>
Copyright (c) 2002 Fred L. Drake, Jr. <fdrake@users.sourceforge.net>
Copyright (c) 2017 Sebastian Pipping <sebastian@pipping.org>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/* 0x00 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x04 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x08 */ BT_NONXML, BT_S, BT_LF, BT_NONXML,
/* 0x0C */ BT_NONXML, BT_CR, BT_NONXML, BT_NONXML,
/* 0x10 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x14 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x18 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x1C */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x20 */ BT_S, BT_EXCL, BT_QUOT, BT_NUM,
/* 0x24 */ BT_OTHER, BT_PERCNT, BT_AMP, BT_APOS,
/* 0x28 */ BT_LPAR, BT_RPAR, BT_AST, BT_PLUS,
/* 0x2C */ BT_COMMA, BT_MINUS, BT_NAME, BT_SOL,
/* 0x30 */ BT_DIGIT, BT_DIGIT, BT_DIGIT, BT_DIGIT,
/* 0x34 */ BT_DIGIT, BT_DIGIT, BT_DIGIT, BT_DIGIT,
/* 0x38 */ BT_DIGIT, BT_DIGIT, BT_COLON, BT_SEMI,
/* 0x3C */ BT_LT, BT_EQUALS, BT_GT, BT_QUEST,
/* 0x40 */ BT_OTHER, BT_HEX, BT_HEX, BT_HEX,
/* 0x44 */ BT_HEX, BT_HEX, BT_HEX, BT_NMSTRT,
/* 0x48 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x4C */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x50 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x54 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x58 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_LSQB,
/* 0x5C */ BT_OTHER, BT_RSQB, BT_OTHER, BT_NMSTRT,
/* 0x60 */ BT_OTHER, BT_HEX, BT_HEX, BT_HEX,
/* 0x64 */ BT_HEX, BT_HEX, BT_HEX, BT_NMSTRT,
/* 0x68 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x6C */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x70 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x74 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x78 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_OTHER,
/* 0x7C */ BT_VERBAR, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0x04 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x08 */ BT_NONXML, BT_S, BT_LF, BT_NONXML,
/* 0x0C */ BT_NONXML, BT_CR, BT_NONXML, BT_NONXML,
/* 0x10 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x14 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x18 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x1C */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x20 */ BT_S, BT_EXCL, BT_QUOT, BT_NUM,
/* 0x24 */ BT_OTHER, BT_PERCNT, BT_AMP, BT_APOS,
/* 0x28 */ BT_LPAR, BT_RPAR, BT_AST, BT_PLUS,
/* 0x2C */ BT_COMMA, BT_MINUS, BT_NAME, BT_SOL,
/* 0x30 */ BT_DIGIT, BT_DIGIT, BT_DIGIT, BT_DIGIT,
/* 0x34 */ BT_DIGIT, BT_DIGIT, BT_DIGIT, BT_DIGIT,
/* 0x38 */ BT_DIGIT, BT_DIGIT, BT_COLON, BT_SEMI,
/* 0x3C */ BT_LT, BT_EQUALS, BT_GT, BT_QUEST,
/* 0x40 */ BT_OTHER, BT_HEX, BT_HEX, BT_HEX,
/* 0x44 */ BT_HEX, BT_HEX, BT_HEX, BT_NMSTRT,
/* 0x48 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x4C */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x50 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x54 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x58 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_LSQB,
/* 0x5C */ BT_OTHER, BT_RSQB, BT_OTHER, BT_NMSTRT,
/* 0x60 */ BT_OTHER, BT_HEX, BT_HEX, BT_HEX,
/* 0x64 */ BT_HEX, BT_HEX, BT_HEX, BT_NMSTRT,
/* 0x68 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x6C */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x70 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x74 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x78 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_OTHER,
/* 0x7C */ BT_VERBAR, BT_OTHER, BT_OTHER, BT_OTHER,

View File

@@ -1,4 +1,4 @@
include(${CMAKE_CURRENT_LIST_DIR}/EXPATTargets.cmake)
set(EXPAT_LIBRARIES EXPAT::expat)
set(EXPAT_INCLUDE_DIRS ${_IMPORT_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
include(${CMAKE_CURRENT_LIST_DIR}/EXPATTargets.cmake)
set(EXPAT_LIBRARIES EXPAT::expat)
set(EXPAT_INCLUDE_DIRS ${_IMPORT_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})

View File

@@ -1,19 +1,46 @@
/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
See the file COPYING for copying permission.
/*
__ __ _
___\ \/ /_ __ __ _| |_
/ _ \\ /| '_ \ / _` | __|
| __// \| |_) | (_| | |_
\___/_/\_\ .__/ \__,_|\__|
|_| XML parser
Copyright (c) 1997-2000 Thai Open Source Software Center Ltd
Copyright (c) 2000 Clark Cooper <coopercc@users.sourceforge.net>
Copyright (c) 2000-2005 Fred L. Drake, Jr. <fdrake@users.sourceforge.net>
Copyright (c) 2001-2002 Greg Stein <gstein@users.sourceforge.net>
Copyright (c) 2002-2016 Karl Waclawek <karl@waclawek.net>
Copyright (c) 2016-2022 Sebastian Pipping <sebastian@pipping.org>
Copyright (c) 2016 Cristian Rodríguez <crrodriguez@opensuse.org>
Copyright (c) 2016 Thomas Beutlich <tc@tbeu.de>
Copyright (c) 2017 Rhodri James <rhodri@wildebeest.org.uk>
Copyright (c) 2022 Thijs Schreijer <thijs@thijsschreijer.nl>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#ifndef Expat_INCLUDED
#define Expat_INCLUDED 1
#ifdef __VMS
/* 0 1 2 3 0 1 2 3
1234567890123456789012345678901 1234567890123456789012345678901 */
#define XML_SetProcessingInstructionHandler XML_SetProcessingInstrHandler
#define XML_SetUnparsedEntityDeclHandler XML_SetUnparsedEntDeclHandler
#define XML_SetStartNamespaceDeclHandler XML_SetStartNamespcDeclHandler
#define XML_SetExternalEntityRefHandlerArg XML_SetExternalEntRefHandlerArg
#endif
#include <stdlib.h>
#include "expat_external.h"
@@ -24,10 +51,9 @@ extern "C" {
struct XML_ParserStruct;
typedef struct XML_ParserStruct *XML_Parser;
/* Should this be defined using stdbool.h when C99 is available? */
typedef unsigned char XML_Bool;
#define XML_TRUE ((XML_Bool) 1)
#define XML_FALSE ((XML_Bool) 0)
#define XML_TRUE ((XML_Bool)1)
#define XML_FALSE ((XML_Bool)0)
/* The XML_Status enum gives the possible return values for several
API functions. The preprocessor #defines are included so this
@@ -95,7 +121,13 @@ enum XML_Error {
/* Added in 2.0. */
XML_ERROR_RESERVED_PREFIX_XML,
XML_ERROR_RESERVED_PREFIX_XMLNS,
XML_ERROR_RESERVED_NAMESPACE_URI
XML_ERROR_RESERVED_NAMESPACE_URI,
/* Added in 2.2.1. */
XML_ERROR_INVALID_ARGUMENT,
/* Added in 2.3.0. */
XML_ERROR_NO_BUFFER,
/* Added in 2.4.0. */
XML_ERROR_AMPLIFICATION_LIMIT_BREACH
};
enum XML_Content_Type {
@@ -135,25 +167,25 @@ enum XML_Content_Quant {
typedef struct XML_cp XML_Content;
struct XML_cp {
enum XML_Content_Type type;
enum XML_Content_Quant quant;
XML_Char * name;
unsigned int numchildren;
XML_Content * children;
enum XML_Content_Type type;
enum XML_Content_Quant quant;
XML_Char *name;
unsigned int numchildren;
XML_Content *children;
};
/* This is called for an element declaration. See above for
description of the model argument. It's the caller's responsibility
to free model when finished with it.
description of the model argument. It's the user code's responsibility
to free model when finished with it. See XML_FreeContentModel.
There is no need to free the model from the handler, it can be kept
around and freed at a later stage.
*/
typedef void (XMLCALL *XML_ElementDeclHandler) (void *userData,
const XML_Char *name,
XML_Content *model);
typedef void(XMLCALL *XML_ElementDeclHandler)(void *userData,
const XML_Char *name,
XML_Content *model);
XMLPARSEAPI(void)
XML_SetElementDeclHandler(XML_Parser parser,
XML_ElementDeclHandler eldecl);
XML_SetElementDeclHandler(XML_Parser parser, XML_ElementDeclHandler eldecl);
/* The Attlist declaration handler is called for *each* attribute. So
a single Attlist declaration with multiple attributes declared will
@@ -163,17 +195,12 @@ XML_SetElementDeclHandler(XML_Parser parser,
value will be NULL in the case of "#REQUIRED". If "isrequired" is
true and default is non-NULL, then this is a "#FIXED" default.
*/
typedef void (XMLCALL *XML_AttlistDeclHandler) (
void *userData,
const XML_Char *elname,
const XML_Char *attname,
const XML_Char *att_type,
const XML_Char *dflt,
int isrequired);
typedef void(XMLCALL *XML_AttlistDeclHandler)(
void *userData, const XML_Char *elname, const XML_Char *attname,
const XML_Char *att_type, const XML_Char *dflt, int isrequired);
XMLPARSEAPI(void)
XML_SetAttlistDeclHandler(XML_Parser parser,
XML_AttlistDeclHandler attdecl);
XML_SetAttlistDeclHandler(XML_Parser parser, XML_AttlistDeclHandler attdecl);
/* The XML declaration handler is called for *both* XML declarations
and text declarations. The way to distinguish is that the version
@@ -183,15 +210,13 @@ XML_SetAttlistDeclHandler(XML_Parser parser,
was no standalone parameter in the declaration, that it was given
as no, or that it was given as yes.
*/
typedef void (XMLCALL *XML_XmlDeclHandler) (void *userData,
const XML_Char *version,
const XML_Char *encoding,
int standalone);
typedef void(XMLCALL *XML_XmlDeclHandler)(void *userData,
const XML_Char *version,
const XML_Char *encoding,
int standalone);
XMLPARSEAPI(void)
XML_SetXmlDeclHandler(XML_Parser parser,
XML_XmlDeclHandler xmldecl);
XML_SetXmlDeclHandler(XML_Parser parser, XML_XmlDeclHandler xmldecl);
typedef struct {
void *(*malloc_fcn)(size_t size);
@@ -215,11 +240,21 @@ XML_ParserCreate(const XML_Char *encoding);
and the local part will be concatenated without any separator.
It is a programming error to use the separator '\0' with namespace
triplets (see XML_SetReturnNSTriplet).
If a namespace separator is chosen that can be part of a URI or
part of an XML name, splitting an expanded name back into its
1, 2 or 3 original parts on application level in the element handler
may end up vulnerable, so these are advised against; sane choices for
a namespace separator are e.g. '\n' (line feed) and '|' (pipe).
Note that Expat does not validate namespace URIs (beyond encoding)
against RFC 3986 today (and is not required to do so with regard to
the XML 1.0 namespaces specification) but it may start doing that
in future releases. Before that, an application using Expat must
be ready to receive namespace URIs containing non-URI characters.
*/
XMLPARSEAPI(XML_Parser)
XML_ParserCreateNS(const XML_Char *encoding, XML_Char namespaceSeparator);
/* Constructs a new parser using the memory management suite referred to
by memsuite. If memsuite is NULL, then use the standard library memory
suite. If namespaceSeparator is non-NULL it creates a parser with
@@ -235,7 +270,7 @@ XML_ParserCreate_MM(const XML_Char *encoding,
const XML_Char *namespaceSeparator);
/* Prepare a parser object to be re-used. This is particularly
valuable when memory allocation overhead is disproportionatly high,
valuable when memory allocation overhead is disproportionately high,
such as when a large number of small documnents need to be parsed.
All handlers are cleared from the parser, except for the
unknownEncodingHandler. The parser's external state is re-initialized
@@ -249,31 +284,27 @@ XML_ParserReset(XML_Parser parser, const XML_Char *encoding);
/* atts is array of name/value pairs, terminated by 0;
names and values are 0 terminated.
*/
typedef void (XMLCALL *XML_StartElementHandler) (void *userData,
const XML_Char *name,
const XML_Char **atts);
typedef void (XMLCALL *XML_EndElementHandler) (void *userData,
const XML_Char *name);
typedef void(XMLCALL *XML_StartElementHandler)(void *userData,
const XML_Char *name,
const XML_Char **atts);
typedef void(XMLCALL *XML_EndElementHandler)(void *userData,
const XML_Char *name);
/* s is not 0 terminated. */
typedef void (XMLCALL *XML_CharacterDataHandler) (void *userData,
const XML_Char *s,
int len);
typedef void(XMLCALL *XML_CharacterDataHandler)(void *userData,
const XML_Char *s, int len);
/* target and data are 0 terminated */
typedef void (XMLCALL *XML_ProcessingInstructionHandler) (
void *userData,
const XML_Char *target,
const XML_Char *data);
typedef void(XMLCALL *XML_ProcessingInstructionHandler)(void *userData,
const XML_Char *target,
const XML_Char *data);
/* data is 0 terminated */
typedef void (XMLCALL *XML_CommentHandler) (void *userData,
const XML_Char *data);
typedef void(XMLCALL *XML_CommentHandler)(void *userData, const XML_Char *data);
typedef void (XMLCALL *XML_StartCdataSectionHandler) (void *userData);
typedef void (XMLCALL *XML_EndCdataSectionHandler) (void *userData);
typedef void(XMLCALL *XML_StartCdataSectionHandler)(void *userData);
typedef void(XMLCALL *XML_EndCdataSectionHandler)(void *userData);
/* This is called for any characters in the XML document for which
there is no applicable handler. This includes both characters that
@@ -288,25 +319,23 @@ typedef void (XMLCALL *XML_EndCdataSectionHandler) (void *userData);
default handler: for example, a comment might be split between
multiple calls.
*/
typedef void (XMLCALL *XML_DefaultHandler) (void *userData,
const XML_Char *s,
int len);
typedef void(XMLCALL *XML_DefaultHandler)(void *userData, const XML_Char *s,
int len);
/* This is called for the start of the DOCTYPE declaration, before
any DTD or internal subset is parsed.
*/
typedef void (XMLCALL *XML_StartDoctypeDeclHandler) (
void *userData,
const XML_Char *doctypeName,
const XML_Char *sysid,
const XML_Char *pubid,
int has_internal_subset);
typedef void(XMLCALL *XML_StartDoctypeDeclHandler)(void *userData,
const XML_Char *doctypeName,
const XML_Char *sysid,
const XML_Char *pubid,
int has_internal_subset);
/* This is called for the start of the DOCTYPE declaration when the
/* This is called for the end of the DOCTYPE declaration when the
closing > is encountered, but after processing any external
subset.
*/
typedef void (XMLCALL *XML_EndDoctypeDeclHandler)(void *userData);
typedef void(XMLCALL *XML_EndDoctypeDeclHandler)(void *userData);
/* This is called for entity declarations. The is_parameter_entity
argument will be non-zero if the entity is a parameter entity, zero
@@ -314,7 +343,7 @@ typedef void (XMLCALL *XML_EndDoctypeDeclHandler)(void *userData);
For internal entities (<!ENTITY foo "bar">), value will
be non-NULL and systemId, publicID, and notationName will be NULL.
The value string is NOT nul-terminated; the length is provided in
The value string is NOT null-terminated; the length is provided in
the value_length argument. Since it is legal to have zero-length
values, do not use this argument to test for internal entities.
@@ -326,20 +355,14 @@ typedef void (XMLCALL *XML_EndDoctypeDeclHandler)(void *userData);
Note that is_parameter_entity can't be changed to XML_Bool, since
that would break binary compatibility.
*/
typedef void (XMLCALL *XML_EntityDeclHandler) (
void *userData,
const XML_Char *entityName,
int is_parameter_entity,
const XML_Char *value,
int value_length,
const XML_Char *base,
const XML_Char *systemId,
const XML_Char *publicId,
const XML_Char *notationName);
typedef void(XMLCALL *XML_EntityDeclHandler)(
void *userData, const XML_Char *entityName, int is_parameter_entity,
const XML_Char *value, int value_length, const XML_Char *base,
const XML_Char *systemId, const XML_Char *publicId,
const XML_Char *notationName);
XMLPARSEAPI(void)
XML_SetEntityDeclHandler(XML_Parser parser,
XML_EntityDeclHandler handler);
XML_SetEntityDeclHandler(XML_Parser parser, XML_EntityDeclHandler handler);
/* OBSOLETE -- OBSOLETE -- OBSOLETE
This handler has been superseded by the EntityDeclHandler above.
@@ -350,24 +373,20 @@ XML_SetEntityDeclHandler(XML_Parser parser,
entityName, systemId and notationName arguments will never be
NULL. The other arguments may be.
*/
typedef void (XMLCALL *XML_UnparsedEntityDeclHandler) (
void *userData,
const XML_Char *entityName,
const XML_Char *base,
const XML_Char *systemId,
const XML_Char *publicId,
const XML_Char *notationName);
typedef void(XMLCALL *XML_UnparsedEntityDeclHandler)(
void *userData, const XML_Char *entityName, const XML_Char *base,
const XML_Char *systemId, const XML_Char *publicId,
const XML_Char *notationName);
/* This is called for a declaration of notation. The base argument is
whatever was set by XML_SetBase. The notationName will never be
NULL. The other arguments can be.
*/
typedef void (XMLCALL *XML_NotationDeclHandler) (
void *userData,
const XML_Char *notationName,
const XML_Char *base,
const XML_Char *systemId,
const XML_Char *publicId);
typedef void(XMLCALL *XML_NotationDeclHandler)(void *userData,
const XML_Char *notationName,
const XML_Char *base,
const XML_Char *systemId,
const XML_Char *publicId);
/* When namespace processing is enabled, these are called once for
each namespace declaration. The call to the start and end element
@@ -375,14 +394,12 @@ typedef void (XMLCALL *XML_NotationDeclHandler) (
declaration handlers. For an xmlns attribute, prefix will be
NULL. For an xmlns="" attribute, uri will be NULL.
*/
typedef void (XMLCALL *XML_StartNamespaceDeclHandler) (
void *userData,
const XML_Char *prefix,
const XML_Char *uri);
typedef void(XMLCALL *XML_StartNamespaceDeclHandler)(void *userData,
const XML_Char *prefix,
const XML_Char *uri);
typedef void (XMLCALL *XML_EndNamespaceDeclHandler) (
void *userData,
const XML_Char *prefix);
typedef void(XMLCALL *XML_EndNamespaceDeclHandler)(void *userData,
const XML_Char *prefix);
/* This is called if the document is not standalone, that is, it has an
external subset or a reference to a parameter entity, but does not
@@ -393,7 +410,7 @@ typedef void (XMLCALL *XML_EndNamespaceDeclHandler) (
conditions above this handler will only be called if the referenced
entity was actually read.
*/
typedef int (XMLCALL *XML_NotStandaloneHandler) (void *userData);
typedef int(XMLCALL *XML_NotStandaloneHandler)(void *userData);
/* This is called for a reference to an external parsed general
entity. The referenced entity is not automatically parsed. The
@@ -429,12 +446,11 @@ typedef int (XMLCALL *XML_NotStandaloneHandler) (void *userData);
Note that unlike other handlers the first argument is the parser,
not userData.
*/
typedef int (XMLCALL *XML_ExternalEntityRefHandler) (
XML_Parser parser,
const XML_Char *context,
const XML_Char *base,
const XML_Char *systemId,
const XML_Char *publicId);
typedef int(XMLCALL *XML_ExternalEntityRefHandler)(XML_Parser parser,
const XML_Char *context,
const XML_Char *base,
const XML_Char *systemId,
const XML_Char *publicId);
/* This is called in two situations:
1) An entity reference is encountered for which no declaration
@@ -446,10 +462,9 @@ typedef int (XMLCALL *XML_ExternalEntityRefHandler) (
the event would be out of sync with the reporting of the
declarations or attribute values
*/
typedef void (XMLCALL *XML_SkippedEntityHandler) (
void *userData,
const XML_Char *entityName,
int is_parameter_entity);
typedef void(XMLCALL *XML_SkippedEntityHandler)(void *userData,
const XML_Char *entityName,
int is_parameter_entity);
/* This structure is filled in by the XML_UnknownEncodingHandler to
provide information to the parser about encodings that are unknown
@@ -506,8 +521,8 @@ typedef void (XMLCALL *XML_SkippedEntityHandler) (
typedef struct {
int map[256];
void *data;
int (XMLCALL *convert)(void *data, const char *s);
void (XMLCALL *release)(void *data);
int(XMLCALL *convert)(void *data, const char *s);
void(XMLCALL *release)(void *data);
} XML_Encoding;
/* This is called for an encoding that is unknown to the parser.
@@ -523,25 +538,21 @@ typedef struct {
Otherwise it must return XML_STATUS_ERROR.
If info does not describe a suitable encoding, then the parser will
return an XML_UNKNOWN_ENCODING error.
return an XML_ERROR_UNKNOWN_ENCODING error.
*/
typedef int (XMLCALL *XML_UnknownEncodingHandler) (
void *encodingHandlerData,
const XML_Char *name,
XML_Encoding *info);
typedef int(XMLCALL *XML_UnknownEncodingHandler)(void *encodingHandlerData,
const XML_Char *name,
XML_Encoding *info);
XMLPARSEAPI(void)
XML_SetElementHandler(XML_Parser parser,
XML_StartElementHandler start,
XML_SetElementHandler(XML_Parser parser, XML_StartElementHandler start,
XML_EndElementHandler end);
XMLPARSEAPI(void)
XML_SetStartElementHandler(XML_Parser parser,
XML_StartElementHandler handler);
XML_SetStartElementHandler(XML_Parser parser, XML_StartElementHandler handler);
XMLPARSEAPI(void)
XML_SetEndElementHandler(XML_Parser parser,
XML_EndElementHandler handler);
XML_SetEndElementHandler(XML_Parser parser, XML_EndElementHandler handler);
XMLPARSEAPI(void)
XML_SetCharacterDataHandler(XML_Parser parser,
@@ -551,8 +562,7 @@ XMLPARSEAPI(void)
XML_SetProcessingInstructionHandler(XML_Parser parser,
XML_ProcessingInstructionHandler handler);
XMLPARSEAPI(void)
XML_SetCommentHandler(XML_Parser parser,
XML_CommentHandler handler);
XML_SetCommentHandler(XML_Parser parser, XML_CommentHandler handler);
XMLPARSEAPI(void)
XML_SetCdataSectionHandler(XML_Parser parser,
@@ -572,20 +582,17 @@ XML_SetEndCdataSectionHandler(XML_Parser parser,
default handler, or to the skipped entity handler, if one is set.
*/
XMLPARSEAPI(void)
XML_SetDefaultHandler(XML_Parser parser,
XML_DefaultHandler handler);
XML_SetDefaultHandler(XML_Parser parser, XML_DefaultHandler handler);
/* This sets the default handler but does not inhibit expansion of
internal entities. The entity reference will not be passed to the
default handler.
*/
XMLPARSEAPI(void)
XML_SetDefaultHandlerExpand(XML_Parser parser,
XML_DefaultHandler handler);
XML_SetDefaultHandlerExpand(XML_Parser parser, XML_DefaultHandler handler);
XMLPARSEAPI(void)
XML_SetDoctypeDeclHandler(XML_Parser parser,
XML_StartDoctypeDeclHandler start,
XML_SetDoctypeDeclHandler(XML_Parser parser, XML_StartDoctypeDeclHandler start,
XML_EndDoctypeDeclHandler end);
XMLPARSEAPI(void)
@@ -593,16 +600,14 @@ XML_SetStartDoctypeDeclHandler(XML_Parser parser,
XML_StartDoctypeDeclHandler start);
XMLPARSEAPI(void)
XML_SetEndDoctypeDeclHandler(XML_Parser parser,
XML_EndDoctypeDeclHandler end);
XML_SetEndDoctypeDeclHandler(XML_Parser parser, XML_EndDoctypeDeclHandler end);
XMLPARSEAPI(void)
XML_SetUnparsedEntityDeclHandler(XML_Parser parser,
XML_UnparsedEntityDeclHandler handler);
XMLPARSEAPI(void)
XML_SetNotationDeclHandler(XML_Parser parser,
XML_NotationDeclHandler handler);
XML_SetNotationDeclHandler(XML_Parser parser, XML_NotationDeclHandler handler);
XMLPARSEAPI(void)
XML_SetNamespaceDeclHandler(XML_Parser parser,
@@ -630,8 +635,7 @@ XML_SetExternalEntityRefHandler(XML_Parser parser,
instead of the parser object.
*/
XMLPARSEAPI(void)
XML_SetExternalEntityRefHandlerArg(XML_Parser parser,
void *arg);
XML_SetExternalEntityRefHandlerArg(XML_Parser parser, void *arg);
XMLPARSEAPI(void)
XML_SetSkippedEntityHandler(XML_Parser parser,
@@ -706,11 +710,11 @@ XML_UseParserAsHandlerArg(XML_Parser parser);
be called, despite an external subset being parsed.
Note: If XML_DTD is not defined when Expat is compiled, returns
XML_ERROR_FEATURE_REQUIRES_XML_DTD.
Note: If parser == NULL, returns XML_ERROR_INVALID_ARGUMENT.
*/
XMLPARSEAPI(enum XML_Error)
XML_UseForeignDTD(XML_Parser parser, XML_Bool useDTD);
/* Sets the base to be used for resolving relative URIs in system
identifiers in declarations. Resolving relative identifiers is
left to the application: this value will be passed through as the
@@ -728,16 +732,17 @@ XML_GetBase(XML_Parser parser);
/* Returns the number of the attribute/value pairs passed in last call
to the XML_StartElementHandler that were specified in the start-tag
rather than defaulted. Each attribute/value pair counts as 2; thus
this correspondds to an index into the atts array passed to the
XML_StartElementHandler.
this corresponds to an index into the atts array passed to the
XML_StartElementHandler. Returns -1 if parser == NULL.
*/
XMLPARSEAPI(int)
XML_GetSpecifiedAttributeCount(XML_Parser parser);
/* Returns the index of the ID attribute passed in the last call to
XML_StartElementHandler, or -1 if there is no ID attribute. Each
attribute/value pair counts as 2; thus this correspondds to an
index into the atts array passed to the XML_StartElementHandler.
XML_StartElementHandler, or -1 if there is no ID attribute or
parser == NULL. Each attribute/value pair counts as 2; thus this
corresponds to an index into the atts array passed to the
XML_StartElementHandler.
*/
XMLPARSEAPI(int)
XML_GetIdAttributeIndex(XML_Parser parser);
@@ -749,10 +754,10 @@ XML_GetIdAttributeIndex(XML_Parser parser);
info->valueEnd - info->valueStart = 4 bytes.
*/
typedef struct {
XML_Index nameStart; /* Offset to beginning of the attribute name. */
XML_Index nameEnd; /* Offset after the attribute name's last byte. */
XML_Index valueStart; /* Offset to beginning of the attribute value. */
XML_Index valueEnd; /* Offset after the attribute value's last byte. */
XML_Index nameStart; /* Offset to beginning of the attribute name. */
XML_Index nameEnd; /* Offset after the attribute name's last byte. */
XML_Index valueStart; /* Offset to beginning of the attribute value. */
XML_Index valueEnd; /* Offset after the attribute value's last byte. */
} XML_AttrInfo;
/* Returns an array of XML_AttrInfo structures for the attribute/value pairs
@@ -788,20 +793,20 @@ XML_ParseBuffer(XML_Parser parser, int len, int isFinal);
(resumable = 0) an already suspended parser. Some call-backs may
still follow because they would otherwise get lost. Examples:
- endElementHandler() for empty elements when stopped in
startElementHandler(),
- endNameSpaceDeclHandler() when stopped in endElementHandler(),
startElementHandler(),
- endNameSpaceDeclHandler() when stopped in endElementHandler(),
and possibly others.
Can be called from most handlers, including DTD related call-backs,
except when parsing an external parameter entity and resumable != 0.
Returns XML_STATUS_OK when successful, XML_STATUS_ERROR otherwise.
Possible error codes:
Possible error codes:
- XML_ERROR_SUSPENDED: when suspending an already suspended parser.
- XML_ERROR_FINISHED: when the parser has already finished.
- XML_ERROR_SUSPEND_PE: when suspending while parsing an external PE.
When resumable != 0 (true) then parsing is suspended, that is,
XML_Parse() and XML_ParseBuffer() return XML_STATUS_SUSPENDED.
When resumable != 0 (true) then parsing is suspended, that is,
XML_Parse() and XML_ParseBuffer() return XML_STATUS_SUSPENDED.
Otherwise, parsing is aborted, that is, XML_Parse() and XML_ParseBuffer()
return XML_STATUS_ERROR with error code XML_ERROR_ABORTED.
@@ -812,7 +817,7 @@ XML_ParseBuffer(XML_Parser parser, int len, int isFinal);
the externalEntityRefHandler() to call XML_StopParser() on the parent
parser (recursively), if one wants to stop parsing altogether.
When suspended, parsing can be resumed by calling XML_ResumeParser().
When suspended, parsing can be resumed by calling XML_ResumeParser().
*/
XMLPARSEAPI(enum XML_Status)
XML_StopParser(XML_Parser parser, XML_Bool resumable);
@@ -820,7 +825,7 @@ XML_StopParser(XML_Parser parser, XML_Bool resumable);
/* Resumes parsing after it has been suspended with XML_StopParser().
Must not be called from within a handler call-back. Returns same
status codes as XML_Parse() or XML_ParseBuffer().
Additional error code XML_ERROR_NOT_SUSPENDED possible.
Additional error code XML_ERROR_NOT_SUSPENDED possible.
*Note*:
This must be called on the most deeply nested child parser instance
@@ -832,12 +837,7 @@ XML_StopParser(XML_Parser parser, XML_Bool resumable);
XMLPARSEAPI(enum XML_Status)
XML_ResumeParser(XML_Parser parser);
enum XML_Parsing {
XML_INITIALIZED,
XML_PARSING,
XML_FINISHED,
XML_SUSPENDED
};
enum XML_Parsing { XML_INITIALIZED, XML_PARSING, XML_FINISHED, XML_SUSPENDED };
typedef struct {
enum XML_Parsing parsing;
@@ -869,8 +869,7 @@ XML_GetParsingStatus(XML_Parser parser, XML_ParsingStatus *status);
Otherwise returns a new XML_Parser object.
*/
XMLPARSEAPI(XML_Parser)
XML_ExternalEntityParserCreate(XML_Parser parser,
const XML_Char *context,
XML_ExternalEntityParserCreate(XML_Parser parser, const XML_Char *context,
const XML_Char *encoding);
enum XML_ParamEntityParsing {
@@ -901,6 +900,7 @@ enum XML_ParamEntityParsing {
entities is requested; otherwise it will return non-zero.
Note: If XML_SetParamEntityParsing is called after XML_Parse or
XML_ParseBuffer, then it has no effect and will always return 0.
Note: If parser == NULL, the function will do nothing and return 0.
*/
XMLPARSEAPI(int)
XML_SetParamEntityParsing(XML_Parser parser,
@@ -910,10 +910,10 @@ XML_SetParamEntityParsing(XML_Parser parser,
Helps in preventing DoS attacks based on predicting hash
function behavior. This must be called before parsing is started.
Returns 1 if successful, 0 when called after parsing has started.
Note: If parser == NULL, the function will do nothing and return 0.
*/
XMLPARSEAPI(int)
XML_SetHashSalt(XML_Parser parser,
unsigned long hash_salt);
XML_SetHashSalt(XML_Parser parser, unsigned long hash_salt);
/* If XML_Parse or XML_ParseBuffer have returned XML_STATUS_ERROR, then
XML_GetErrorCode returns information about the error.
@@ -930,12 +930,16 @@ XML_GetErrorCode(XML_Parser parser);
be within the relevant markup. When called outside of the callback
functions, the position indicated will be just past the last parse
event (regardless of whether there was an associated callback).
They may also be called after returning from a call to XML_Parse
or XML_ParseBuffer. If the return value is XML_STATUS_ERROR then
the location is the location of the character at which the error
was detected; otherwise the location is the location of the last
parse event, as described above.
Note: XML_GetCurrentLineNumber and XML_GetCurrentColumnNumber
return 0 to indicate an error.
Note: XML_GetCurrentByteIndex returns -1 to indicate an error.
*/
XMLPARSEAPI(XML_Size) XML_GetCurrentLineNumber(XML_Parser parser);
XMLPARSEAPI(XML_Size) XML_GetCurrentColumnNumber(XML_Parser parser);
@@ -958,14 +962,12 @@ XML_GetCurrentByteCount(XML_Parser parser);
the handler that makes the call.
*/
XMLPARSEAPI(const char *)
XML_GetInputContext(XML_Parser parser,
int *offset,
int *size);
XML_GetInputContext(XML_Parser parser, int *offset, int *size);
/* For backwards compatibility with previous versions. */
#define XML_GetErrorLineNumber XML_GetCurrentLineNumber
#define XML_GetErrorLineNumber XML_GetCurrentLineNumber
#define XML_GetErrorColumnNumber XML_GetCurrentColumnNumber
#define XML_GetErrorByteIndex XML_GetCurrentByteIndex
#define XML_GetErrorByteIndex XML_GetCurrentByteIndex
/* Frees the content model passed to the element declaration handler */
XMLPARSEAPI(void)
@@ -1020,25 +1022,39 @@ enum XML_FeatureEnum {
XML_FEATURE_SIZEOF_XML_LCHAR,
XML_FEATURE_NS,
XML_FEATURE_LARGE_SIZE,
XML_FEATURE_ATTR_INFO
XML_FEATURE_ATTR_INFO,
/* Added in Expat 2.4.0. */
XML_FEATURE_BILLION_LAUGHS_ATTACK_PROTECTION_MAXIMUM_AMPLIFICATION_DEFAULT,
XML_FEATURE_BILLION_LAUGHS_ATTACK_PROTECTION_ACTIVATION_THRESHOLD_DEFAULT
/* Additional features must be added to the end of this enum. */
};
typedef struct {
enum XML_FeatureEnum feature;
const XML_LChar *name;
long int value;
enum XML_FeatureEnum feature;
const XML_LChar *name;
long int value;
} XML_Feature;
XMLPARSEAPI(const XML_Feature *)
XML_GetFeatureList(void);
#ifdef XML_DTD
/* Added in Expat 2.4.0. */
XMLPARSEAPI(XML_Bool)
XML_SetBillionLaughsAttackProtectionMaximumAmplification(
XML_Parser parser, float maximumAmplificationFactor);
/* Added in Expat 2.4.0. */
XMLPARSEAPI(XML_Bool)
XML_SetBillionLaughsAttackProtectionActivationThreshold(
XML_Parser parser, unsigned long long activationThresholdBytes);
#endif
/* Expat follows the semantic versioning convention.
See http://semver.org.
*/
#define XML_MAJOR_VERSION 2
#define XML_MINOR_VERSION 2
#define XML_MINOR_VERSION 5
#define XML_MICRO_VERSION 0
#ifdef __cplusplus

View File

@@ -1,28 +1,40 @@
/*================================================================
** Copyright 2000, Clark Cooper
** All rights reserved.
**
** This is free software. You are permitted to copy, distribute, or modify
** it under the terms of the MIT/X license (contained in the COPYING file
** with this distribution.)
/*
__ __ _
___\ \/ /_ __ __ _| |_
/ _ \\ /| '_ \ / _` | __|
| __// \| |_) | (_| | |_
\___/_/\_\ .__/ \__,_|\__|
|_| XML parser
Copyright (c) 2000 Clark Cooper <coopercc@users.sourceforge.net>
Copyright (c) 2002 Greg Stein <gstein@users.sourceforge.net>
Copyright (c) 2005 Karl Waclawek <karl@waclawek.net>
Copyright (c) 2017-2021 Sebastian Pipping <sebastian@pipping.org>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#ifndef EXPATCONFIG_H
#define EXPATCONFIG_H
#include <memory.h>
#include <string.h>
#define XML_NS 1
#define XML_DTD 1
#define XML_CONTEXT_BYTES 1024
/* we will assume all Windows platforms are little endian */
#define BYTEORDER 1234
/* Windows has memmove() available. */
#define HAVE_MEMMOVE
#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
@@ -30,4 +42,8 @@
#else
#endif
#endif /* ifndef EXPATCONFIG_H */
#include "expat_configure.h"
#include <memory.h>
#include <string.h>
#endif /* ndef EXPATCONFIG_H */

120
deps/EXPAT/expat/expat_configure.h.cmake vendored Normal file
View File

@@ -0,0 +1,120 @@
/* expat_config.h.cmake. Based upon generated expat_config.h.in. */
#ifndef EXPAT_CONFIG_H
#define EXPAT_CONFIG_H 1
/* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
#cmakedefine BYTEORDER @BYTEORDER@
/* Define to 1 if you have the `arc4random' function. */
#cmakedefine HAVE_ARC4RANDOM
/* Define to 1 if you have the `arc4random_buf' function. */
#cmakedefine HAVE_ARC4RANDOM_BUF
/* Define to 1 if you have the <dlfcn.h> header file. */
#cmakedefine HAVE_DLFCN_H
/* Define to 1 if you have the <fcntl.h> header file. */
#cmakedefine HAVE_FCNTL_H
/* Define to 1 if you have the `getpagesize' function. */
#cmakedefine HAVE_GETPAGESIZE
/* Define to 1 if you have the `getrandom' function. */
#cmakedefine HAVE_GETRANDOM
/* Define to 1 if you have the <inttypes.h> header file. */
#cmakedefine HAVE_INTTYPES_H
/* Define to 1 if you have the `bsd' library (-lbsd). */
#cmakedefine HAVE_LIBBSD
/* Define to 1 if you have the <memory.h> header file. */
#cmakedefine HAVE_MEMORY_H
/* Define to 1 if you have a working `mmap' system call. */
#cmakedefine HAVE_MMAP
/* Define to 1 if you have the <stdint.h> header file. */
#cmakedefine HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#cmakedefine HAVE_STDLIB_H
/* Define to 1 if you have the <strings.h> header file. */
#cmakedefine HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#cmakedefine HAVE_STRING_H
/* Define to 1 if you have `syscall' and `SYS_getrandom'. */
#cmakedefine HAVE_SYSCALL_GETRANDOM
/* Define to 1 if you have the <sys/stat.h> header file. */
#cmakedefine HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/types.h> header file. */
#cmakedefine HAVE_SYS_TYPES_H
/* Define to 1 if you have the <unistd.h> header file. */
#cmakedefine HAVE_UNISTD_H
/* Name of package */
#define PACKAGE "@PACKAGE_NAME@"
/* Define to the address where bug reports for this package should be sent. */
#cmakedefine PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@"
/* Define to the full name of this package. */
#cmakedefine PACKAGE_NAME "@PACKAGE_NAME@"
/* Define to the full name and version of this package. */
#cmakedefine PACKAGE_STRING "@PACKAGE_STRING@"
/* Define to the one symbol short name of this package. */
#cmakedefine PACKAGE_TARNAME "@PACKAGE_TARNAME@"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#cmakedefine PACKAGE_VERSION "@PACKAGE_VERSION@"
/* Define to 1 if you have the ANSI C header files. */
#cmakedefine STDC_HEADERS
/* whether byteorder is bigendian */
#cmakedefine WORDS_BIGENDIAN
/* Define to allow retrieving the byte offsets for attribute names and values.
*/
#cmakedefine XML_ATTR_INFO
/* Define to specify how much context to retain around the current parse
point. */
#cmakedefine XML_CONTEXT_BYTES @XML_CONTEXT_BYTES@
#if ! defined(_WIN32)
/* Define to include code reading entropy from `/dev/urandom'. */
#cmakedefine XML_DEV_URANDOM
#endif
/* Define to make parameter entity parsing functionality available. */
#cmakedefine XML_DTD
/* Define to make XML Namespaces functionality available. */
#cmakedefine XML_NS
/* Define to __FUNCTION__ or "" if `__func__' does not conform to ANSI C. */
#ifdef _MSC_VER
# define __func__ __FUNCTION__
#endif
/* Define to `long' if <sys/types.h> does not define. */
#cmakedefine off_t @OFF_T@
/* Define to `unsigned' if <sys/types.h> does not define. */
#cmakedefine size_t @SIZE_T@
#endif // ndef EXPAT_CONFIG_H

View File

@@ -1,5 +1,40 @@
/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
See the file COPYING for copying permission.
/*
__ __ _
___\ \/ /_ __ __ _| |_
/ _ \\ /| '_ \ / _` | __|
| __// \| |_) | (_| | |_
\___/_/\_\ .__/ \__,_|\__|
|_| XML parser
Copyright (c) 1997-2000 Thai Open Source Software Center Ltd
Copyright (c) 2000 Clark Cooper <coopercc@users.sourceforge.net>
Copyright (c) 2000-2004 Fred L. Drake, Jr. <fdrake@users.sourceforge.net>
Copyright (c) 2001-2002 Greg Stein <gstein@users.sourceforge.net>
Copyright (c) 2002-2006 Karl Waclawek <karl@waclawek.net>
Copyright (c) 2016 Cristian Rodríguez <crrodriguez@opensuse.org>
Copyright (c) 2016-2019 Sebastian Pipping <sebastian@pipping.org>
Copyright (c) 2017 Rhodri James <rhodri@wildebeest.org.uk>
Copyright (c) 2018 Yury Gribov <tetra2005@gmail.com>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#ifndef Expat_External_INCLUDED
@@ -7,10 +42,6 @@
/* External API definitions */
#if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__)
#define XML_USE_MSC_EXTENSIONS 1
#endif
/* Expat tries very hard to make the API boundary very specifically
defined. There are two macros defined to control this boundary;
each of these can be defined before including this header to
@@ -34,11 +65,11 @@
system headers may assume the cdecl convention.
*/
#ifndef XMLCALL
#if defined(_MSC_VER)
#define XMLCALL __cdecl
#elif defined(__GNUC__) && defined(__i386) && !defined(__INTEL_COMPILER)
#define XMLCALL __attribute__((cdecl))
#else
# if defined(_MSC_VER)
# define XMLCALL __cdecl
# elif defined(__GNUC__) && defined(__i386) && ! defined(__INTEL_COMPILER)
# define XMLCALL __attribute__((cdecl))
# else
/* For any platform which uses this definition and supports more than
one calling convention, we need to extend this definition to
declare the convention used on that platform, if it's possible to
@@ -49,41 +80,46 @@
pre-processor and how to specify the same calling convention as the
platform's malloc() implementation.
*/
#define XMLCALL
#endif
#endif /* not defined XMLCALL */
# define XMLCALL
# endif
#endif /* not defined XMLCALL */
#if !defined(XML_STATIC) && !defined(XMLIMPORT)
#ifndef XML_BUILDING_EXPAT
#if ! defined(XML_STATIC) && ! defined(XMLIMPORT)
# ifndef XML_BUILDING_EXPAT
/* using Expat from an application */
#ifdef XML_USE_MSC_EXTENSIONS
// #define XMLIMPORT __declspec(dllimport)
# if defined(_MSC_EXTENSIONS) && ! defined(__BEOS__) && ! defined(__CYGWIN__)
//# define XMLIMPORT __declspec(dllimport)
# endif
# endif
#endif /* not defined XML_STATIC */
#ifndef XML_ENABLE_VISIBILITY
# define XML_ENABLE_VISIBILITY 0
#endif
#endif
#endif /* not defined XML_STATIC */
#if !defined(XMLIMPORT) && defined(__GNUC__) && (__GNUC__ >= 4)
#define XMLIMPORT __attribute__ ((visibility ("default")))
#if ! defined(XMLIMPORT) && XML_ENABLE_VISIBILITY
# define XMLIMPORT __attribute__((visibility("default")))
#endif
/* If we didn't define it above, define it away: */
#ifndef XMLIMPORT
#define XMLIMPORT
# define XMLIMPORT
#endif
#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96))
#define XML_ATTR_MALLOC __attribute__((__malloc__))
#if defined(__GNUC__) \
&& (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96))
# define XML_ATTR_MALLOC __attribute__((__malloc__))
#else
#define XML_ATTR_MALLOC
# define XML_ATTR_MALLOC
#endif
#if defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
#define XML_ATTR_ALLOC_SIZE(x) __attribute__((__alloc_size__(x)))
#if defined(__GNUC__) \
&& ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
# define XML_ATTR_ALLOC_SIZE(x) __attribute__((__alloc_size__(x)))
#else
#define XML_ATTR_ALLOC_SIZE(x)
# define XML_ATTR_ALLOC_SIZE(x)
#endif
#define XMLPARSEAPI(type) XMLIMPORT type XMLCALL
@@ -93,30 +129,30 @@ extern "C" {
#endif
#ifdef XML_UNICODE_WCHAR_T
#define XML_UNICODE
# ifndef XML_UNICODE
# define XML_UNICODE
# endif
# if defined(__SIZEOF_WCHAR_T__) && (__SIZEOF_WCHAR_T__ != 2)
# error "sizeof(wchar_t) != 2; Need -fshort-wchar for both Expat and libc"
# endif
#endif
#ifdef XML_UNICODE /* Information is UTF-16 encoded. */
#ifdef XML_UNICODE_WCHAR_T
#ifdef XML_UNICODE /* Information is UTF-16 encoded. */
# ifdef XML_UNICODE_WCHAR_T
typedef wchar_t XML_Char;
typedef wchar_t XML_LChar;
#else
# else
typedef unsigned short XML_Char;
typedef char XML_LChar;
#endif /* XML_UNICODE_WCHAR_T */
#else /* Information is UTF-8 encoded. */
# endif /* XML_UNICODE_WCHAR_T */
#else /* Information is UTF-8 encoded. */
typedef char XML_Char;
typedef char XML_LChar;
#endif /* XML_UNICODE */
#endif /* XML_UNICODE */
#ifdef XML_LARGE_SIZE /* Use large integers for file/stream positions. */
#if defined(XML_USE_MSC_EXTENSIONS) && _MSC_VER < 1400
typedef __int64 XML_Index;
typedef unsigned __int64 XML_Size;
#else
#ifdef XML_LARGE_SIZE /* Use large integers for file/stream positions. */
typedef long long XML_Index;
typedef unsigned long long XML_Size;
#endif
#else
typedef long XML_Index;
typedef unsigned long XML_Size;

View File

@@ -1,37 +1,67 @@
/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
See the file COPYING for copying permission.
/*
__ __ _
___\ \/ /_ __ __ _| |_
/ _ \\ /| '_ \ / _` | __|
| __// \| |_) | (_| | |_
\___/_/\_\ .__/ \__,_|\__|
|_| XML parser
Copyright (c) 1997-2000 Thai Open Source Software Center Ltd
Copyright (c) 2000 Clark Cooper <coopercc@users.sourceforge.net>
Copyright (c) 2002 Fred L. Drake, Jr. <fdrake@users.sourceforge.net>
Copyright (c) 2017 Sebastian Pipping <sebastian@pipping.org>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/* Like asciitab.h, except that 0xD has code BT_S rather than BT_CR */
/* 0x00 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x04 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x08 */ BT_NONXML, BT_S, BT_LF, BT_NONXML,
/* 0x0C */ BT_NONXML, BT_S, BT_NONXML, BT_NONXML,
/* 0x10 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x14 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x18 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x1C */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x20 */ BT_S, BT_EXCL, BT_QUOT, BT_NUM,
/* 0x24 */ BT_OTHER, BT_PERCNT, BT_AMP, BT_APOS,
/* 0x28 */ BT_LPAR, BT_RPAR, BT_AST, BT_PLUS,
/* 0x2C */ BT_COMMA, BT_MINUS, BT_NAME, BT_SOL,
/* 0x30 */ BT_DIGIT, BT_DIGIT, BT_DIGIT, BT_DIGIT,
/* 0x34 */ BT_DIGIT, BT_DIGIT, BT_DIGIT, BT_DIGIT,
/* 0x38 */ BT_DIGIT, BT_DIGIT, BT_COLON, BT_SEMI,
/* 0x3C */ BT_LT, BT_EQUALS, BT_GT, BT_QUEST,
/* 0x40 */ BT_OTHER, BT_HEX, BT_HEX, BT_HEX,
/* 0x44 */ BT_HEX, BT_HEX, BT_HEX, BT_NMSTRT,
/* 0x48 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x4C */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x50 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x54 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x58 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_LSQB,
/* 0x5C */ BT_OTHER, BT_RSQB, BT_OTHER, BT_NMSTRT,
/* 0x60 */ BT_OTHER, BT_HEX, BT_HEX, BT_HEX,
/* 0x64 */ BT_HEX, BT_HEX, BT_HEX, BT_NMSTRT,
/* 0x68 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x6C */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x70 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x74 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x78 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_OTHER,
/* 0x7C */ BT_VERBAR, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0x04 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x08 */ BT_NONXML, BT_S, BT_LF, BT_NONXML,
/* 0x0C */ BT_NONXML, BT_S, BT_NONXML, BT_NONXML,
/* 0x10 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x14 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x18 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x1C */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0x20 */ BT_S, BT_EXCL, BT_QUOT, BT_NUM,
/* 0x24 */ BT_OTHER, BT_PERCNT, BT_AMP, BT_APOS,
/* 0x28 */ BT_LPAR, BT_RPAR, BT_AST, BT_PLUS,
/* 0x2C */ BT_COMMA, BT_MINUS, BT_NAME, BT_SOL,
/* 0x30 */ BT_DIGIT, BT_DIGIT, BT_DIGIT, BT_DIGIT,
/* 0x34 */ BT_DIGIT, BT_DIGIT, BT_DIGIT, BT_DIGIT,
/* 0x38 */ BT_DIGIT, BT_DIGIT, BT_COLON, BT_SEMI,
/* 0x3C */ BT_LT, BT_EQUALS, BT_GT, BT_QUEST,
/* 0x40 */ BT_OTHER, BT_HEX, BT_HEX, BT_HEX,
/* 0x44 */ BT_HEX, BT_HEX, BT_HEX, BT_NMSTRT,
/* 0x48 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x4C */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x50 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x54 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x58 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_LSQB,
/* 0x5C */ BT_OTHER, BT_RSQB, BT_OTHER, BT_NMSTRT,
/* 0x60 */ BT_OTHER, BT_HEX, BT_HEX, BT_HEX,
/* 0x64 */ BT_HEX, BT_HEX, BT_HEX, BT_NMSTRT,
/* 0x68 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x6C */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x70 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x74 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x78 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_OTHER,
/* 0x7C */ BT_VERBAR, BT_OTHER, BT_OTHER, BT_OTHER,

View File

@@ -18,9 +18,42 @@
Note: Use of these macros is based on judgement, not hard rules,
and therefore subject to change.
__ __ _
___\ \/ /_ __ __ _| |_
/ _ \\ /| '_ \ / _` | __|
| __// \| |_) | (_| | |_
\___/_/\_\ .__/ \__,_|\__|
|_| XML parser
Copyright (c) 2002-2003 Fred L. Drake, Jr. <fdrake@users.sourceforge.net>
Copyright (c) 2002-2006 Karl Waclawek <karl@waclawek.net>
Copyright (c) 2003 Greg Stein <gstein@users.sourceforge.net>
Copyright (c) 2016-2022 Sebastian Pipping <sebastian@pipping.org>
Copyright (c) 2018 Yury Gribov <tetra2005@gmail.com>
Copyright (c) 2019 David Loffredo <loffredo@steptools.com>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#if defined(__GNUC__) && defined(__i386__) && !defined(__MINGW32__)
#if defined(__GNUC__) && defined(__i386__) && ! defined(__MINGW32__)
/* We'll use this version by default only where we know it helps.
regparm() generates warnings on Solaris boxes. See SF bug #692878.
@@ -30,8 +63,8 @@
#define FASTCALL __attribute__((stdcall, regparm(3)))
and let's try this:
*/
#define FASTCALL __attribute__((regparm(3)))
#define PTRFASTCALL __attribute__((regparm(3)))
# define FASTCALL __attribute__((regparm(3)))
# define PTRFASTCALL __attribute__((regparm(3)))
#endif
/* Using __fastcall seems to have an unexpected negative effect under
@@ -45,50 +78,87 @@
/* Make sure all of these are defined if they aren't already. */
#ifndef FASTCALL
#define FASTCALL
# define FASTCALL
#endif
#ifndef PTRCALL
#define PTRCALL
# define PTRCALL
#endif
#ifndef PTRFASTCALL
#define PTRFASTCALL
# define PTRFASTCALL
#endif
#ifndef XML_MIN_SIZE
#if !defined(__cplusplus) && !defined(inline)
#ifdef __GNUC__
#define inline __inline
#endif /* __GNUC__ */
#endif
# if ! defined(__cplusplus) && ! defined(inline)
# ifdef __GNUC__
# define inline __inline
# endif /* __GNUC__ */
# endif
#endif /* XML_MIN_SIZE */
#ifdef __cplusplus
#define inline inline
# define inline inline
#else
#ifndef inline
#define inline
# ifndef inline
# define inline
# endif
#endif
#include <limits.h> // ULONG_MAX
#if defined(_WIN32) \
&& (! defined(__USE_MINGW_ANSI_STDIO) \
|| (1 - __USE_MINGW_ANSI_STDIO - 1 == 0))
# define EXPAT_FMT_ULL(midpart) "%" midpart "I64u"
# if defined(_WIN64) // Note: modifiers "td" and "zu" do not work for MinGW
# define EXPAT_FMT_PTRDIFF_T(midpart) "%" midpart "I64d"
# define EXPAT_FMT_SIZE_T(midpart) "%" midpart "I64u"
# else
# define EXPAT_FMT_PTRDIFF_T(midpart) "%" midpart "d"
# define EXPAT_FMT_SIZE_T(midpart) "%" midpart "u"
# endif
#else
# define EXPAT_FMT_ULL(midpart) "%" midpart "llu"
# if ! defined(ULONG_MAX)
# error Compiler did not define ULONG_MAX for us
# elif ULONG_MAX == 18446744073709551615u // 2^64-1
# define EXPAT_FMT_PTRDIFF_T(midpart) "%" midpart "ld"
# define EXPAT_FMT_SIZE_T(midpart) "%" midpart "lu"
# else
# define EXPAT_FMT_PTRDIFF_T(midpart) "%" midpart "d"
# define EXPAT_FMT_SIZE_T(midpart) "%" midpart "u"
# endif
#endif
#ifndef UNUSED_P
# ifdef __GNUC__
# define UNUSED_P(p) UNUSED_ ## p __attribute__((__unused__))
# else
# define UNUSED_P(p) UNUSED_ ## p
# endif
# define UNUSED_P(p) (void)p
#endif
/* NOTE BEGIN If you ever patch these defaults to greater values
for non-attack XML payload in your environment,
please file a bug report with libexpat. Thank you!
*/
#define EXPAT_BILLION_LAUGHS_ATTACK_PROTECTION_MAXIMUM_AMPLIFICATION_DEFAULT \
100.0f
#define EXPAT_BILLION_LAUGHS_ATTACK_PROTECTION_ACTIVATION_THRESHOLD_DEFAULT \
8388608 // 8 MiB, 2^23
/* NOTE END */
#include "expat.h" // so we can use type XML_Parser below
#ifdef __cplusplus
extern "C" {
#endif
void _INTERNAL_trim_to_complete_utf8_characters(const char *from,
const char **fromLimRef);
void
align_limit_to_full_utf8_characters(const char * from, const char ** fromLimRef);
#if defined(XML_DTD)
unsigned long long testingAccountingGetCountBytesDirect(XML_Parser parser);
unsigned long long testingAccountingGetCountBytesIndirect(XML_Parser parser);
const char *unsignedCharToPrintable(unsigned char c);
#endif
#ifdef __cplusplus
}

View File

@@ -1,36 +1,66 @@
/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
See the file COPYING for copying permission.
/*
__ __ _
___\ \/ /_ __ __ _| |_
/ _ \\ /| '_ \ / _` | __|
| __// \| |_) | (_| | |_
\___/_/\_\ .__/ \__,_|\__|
|_| XML parser
Copyright (c) 1997-2000 Thai Open Source Software Center Ltd
Copyright (c) 2000 Clark Cooper <coopercc@users.sourceforge.net>
Copyright (c) 2002 Fred L. Drake, Jr. <fdrake@users.sourceforge.net>
Copyright (c) 2017 Sebastian Pipping <sebastian@pipping.org>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/* 0x80 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0x84 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0x88 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0x8C */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0x90 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0x94 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0x98 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0x9C */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0xA0 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0xA4 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0xA8 */ BT_OTHER, BT_OTHER, BT_NMSTRT, BT_OTHER,
/* 0xAC */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0xB0 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0xB4 */ BT_OTHER, BT_NMSTRT, BT_OTHER, BT_NAME,
/* 0xB8 */ BT_OTHER, BT_OTHER, BT_NMSTRT, BT_OTHER,
/* 0xBC */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0xC0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xC4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xC8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xCC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xD0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xD4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_OTHER,
/* 0xD8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xDC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xE0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xE4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xE8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xEC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xF0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xF4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_OTHER,
/* 0xF8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xFC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0x84 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0x88 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0x8C */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0x90 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0x94 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0x98 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0x9C */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0xA0 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0xA4 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0xA8 */ BT_OTHER, BT_OTHER, BT_NMSTRT, BT_OTHER,
/* 0xAC */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0xB0 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0xB4 */ BT_OTHER, BT_NMSTRT, BT_OTHER, BT_NAME,
/* 0xB8 */ BT_OTHER, BT_OTHER, BT_NMSTRT, BT_OTHER,
/* 0xBC */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
/* 0xC0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xC4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xC8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xCC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xD0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xD4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_OTHER,
/* 0xD8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xDC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xE0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xE4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xE8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xEC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xF0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xF4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_OTHER,
/* 0xF8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
/* 0xFC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,

View File

@@ -1,150 +1,136 @@
/*
__ __ _
___\ \/ /_ __ __ _| |_
/ _ \\ /| '_ \ / _` | __|
| __// \| |_) | (_| | |_
\___/_/\_\ .__/ \__,_|\__|
|_| XML parser
Copyright (c) 2000 Clark Cooper <coopercc@users.sourceforge.net>
Copyright (c) 2017 Sebastian Pipping <sebastian@pipping.org>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
static const unsigned namingBitmap[] = {
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
0x00000000, 0x04000000, 0x87FFFFFE, 0x07FFFFFE,
0x00000000, 0x00000000, 0xFF7FFFFF, 0xFF7FFFFF,
0xFFFFFFFF, 0x7FF3FFFF, 0xFFFFFDFE, 0x7FFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFE00F, 0xFC31FFFF,
0x00FFFFFF, 0x00000000, 0xFFFF0000, 0xFFFFFFFF,
0xFFFFFFFF, 0xF80001FF, 0x00000003, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xFFFFD740, 0xFFFFFFFB, 0x547F7FFF, 0x000FFFFD,
0xFFFFDFFE, 0xFFFFFFFF, 0xDFFEFFFF, 0xFFFFFFFF,
0xFFFF0003, 0xFFFFFFFF, 0xFFFF199F, 0x033FCFFF,
0x00000000, 0xFFFE0000, 0x027FFFFF, 0xFFFFFFFE,
0x0000007F, 0x00000000, 0xFFFF0000, 0x000707FF,
0x00000000, 0x07FFFFFE, 0x000007FE, 0xFFFE0000,
0xFFFFFFFF, 0x7CFFFFFF, 0x002F7FFF, 0x00000060,
0xFFFFFFE0, 0x23FFFFFF, 0xFF000000, 0x00000003,
0xFFF99FE0, 0x03C5FDFF, 0xB0000000, 0x00030003,
0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001C0000,
0xFFFBAFE0, 0x23EDFDFF, 0x00000000, 0x00000001,
0xFFF99FE0, 0x23CDFDFF, 0xB0000000, 0x00000003,
0xD63DC7E0, 0x03BFC718, 0x00000000, 0x00000000,
0xFFFDDFE0, 0x03EFFDFF, 0x00000000, 0x00000003,
0xFFFDDFE0, 0x03EFFDFF, 0x40000000, 0x00000003,
0xFFFDDFE0, 0x03FFFDFF, 0x00000000, 0x00000003,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xFFFFFFFE, 0x000D7FFF, 0x0000003F, 0x00000000,
0xFEF02596, 0x200D6CAE, 0x0000001F, 0x00000000,
0x00000000, 0x00000000, 0xFFFFFEFF, 0x000003FF,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0xFFFFFFFF, 0xFFFF003F, 0x007FFFFF,
0x0007DAED, 0x50000000, 0x82315001, 0x002C62AB,
0x40000000, 0xF580C900, 0x00000007, 0x02010800,
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
0x0FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF,
0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF,
0x00000000, 0x00004C40, 0x00000000, 0x00000000,
0x00000007, 0x00000000, 0x00000000, 0x00000000,
0x00000080, 0x000003FE, 0xFFFFFFFE, 0xFFFFFFFF,
0x001FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0x07FFFFFF,
0xFFFFFFE0, 0x00001FFF, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0x0000003F, 0x00000000, 0x00000000,
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
0x00000000, 0x07FF6000, 0x87FFFFFE, 0x07FFFFFE,
0x00000000, 0x00800000, 0xFF7FFFFF, 0xFF7FFFFF,
0x00FFFFFF, 0x00000000, 0xFFFF0000, 0xFFFFFFFF,
0xFFFFFFFF, 0xF80001FF, 0x00030003, 0x00000000,
0xFFFFFFFF, 0xFFFFFFFF, 0x0000003F, 0x00000003,
0xFFFFD7C0, 0xFFFFFFFB, 0x547F7FFF, 0x000FFFFD,
0xFFFFDFFE, 0xFFFFFFFF, 0xDFFEFFFF, 0xFFFFFFFF,
0xFFFF007B, 0xFFFFFFFF, 0xFFFF199F, 0x033FCFFF,
0x00000000, 0xFFFE0000, 0x027FFFFF, 0xFFFFFFFE,
0xFFFE007F, 0xBBFFFFFB, 0xFFFF0016, 0x000707FF,
0x00000000, 0x07FFFFFE, 0x0007FFFF, 0xFFFF03FF,
0xFFFFFFFF, 0x7CFFFFFF, 0xFFEF7FFF, 0x03FF3DFF,
0xFFFFFFEE, 0xF3FFFFFF, 0xFF1E3FFF, 0x0000FFCF,
0xFFF99FEE, 0xD3C5FDFF, 0xB080399F, 0x0003FFCF,
0xFFF987E4, 0xD36DFDFF, 0x5E003987, 0x001FFFC0,
0xFFFBAFEE, 0xF3EDFDFF, 0x00003BBF, 0x0000FFC1,
0xFFF99FEE, 0xF3CDFDFF, 0xB0C0398F, 0x0000FFC3,
0xD63DC7EC, 0xC3BFC718, 0x00803DC7, 0x0000FF80,
0xFFFDDFEE, 0xC3EFFDFF, 0x00603DDF, 0x0000FFC3,
0xFFFDDFEC, 0xC3EFFDFF, 0x40603DDF, 0x0000FFC3,
0xFFFDDFEC, 0xC3FFFDFF, 0x00803DCF, 0x0000FFC3,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xFFFFFFFE, 0x07FF7FFF, 0x03FF7FFF, 0x00000000,
0xFEF02596, 0x3BFF6CAE, 0x03FF3F5F, 0x00000000,
0x03000000, 0xC2A003FF, 0xFFFFFEFF, 0xFFFE03FF,
0xFEBF0FDF, 0x02FE3FFF, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x1FFF0000, 0x00000002,
0x000000A0, 0x003EFFFE, 0xFFFFFFFE, 0xFFFFFFFF,
0x661FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0x77FFFFFF,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x04000000,
0x87FFFFFE, 0x07FFFFFE, 0x00000000, 0x00000000, 0xFF7FFFFF, 0xFF7FFFFF,
0xFFFFFFFF, 0x7FF3FFFF, 0xFFFFFDFE, 0x7FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFE00F, 0xFC31FFFF, 0x00FFFFFF, 0x00000000, 0xFFFF0000, 0xFFFFFFFF,
0xFFFFFFFF, 0xF80001FF, 0x00000003, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0xFFFFD740, 0xFFFFFFFB, 0x547F7FFF, 0x000FFFFD,
0xFFFFDFFE, 0xFFFFFFFF, 0xDFFEFFFF, 0xFFFFFFFF, 0xFFFF0003, 0xFFFFFFFF,
0xFFFF199F, 0x033FCFFF, 0x00000000, 0xFFFE0000, 0x027FFFFF, 0xFFFFFFFE,
0x0000007F, 0x00000000, 0xFFFF0000, 0x000707FF, 0x00000000, 0x07FFFFFE,
0x000007FE, 0xFFFE0000, 0xFFFFFFFF, 0x7CFFFFFF, 0x002F7FFF, 0x00000060,
0xFFFFFFE0, 0x23FFFFFF, 0xFF000000, 0x00000003, 0xFFF99FE0, 0x03C5FDFF,
0xB0000000, 0x00030003, 0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001C0000,
0xFFFBAFE0, 0x23EDFDFF, 0x00000000, 0x00000001, 0xFFF99FE0, 0x23CDFDFF,
0xB0000000, 0x00000003, 0xD63DC7E0, 0x03BFC718, 0x00000000, 0x00000000,
0xFFFDDFE0, 0x03EFFDFF, 0x00000000, 0x00000003, 0xFFFDDFE0, 0x03EFFDFF,
0x40000000, 0x00000003, 0xFFFDDFE0, 0x03FFFDFF, 0x00000000, 0x00000003,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFE, 0x000D7FFF,
0x0000003F, 0x00000000, 0xFEF02596, 0x200D6CAE, 0x0000001F, 0x00000000,
0x00000000, 0x00000000, 0xFFFFFEFF, 0x000003FF, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0xFFFFFFFF, 0xFFFF003F, 0x007FFFFF, 0x0007DAED, 0x50000000,
0x82315001, 0x002C62AB, 0x40000000, 0xF580C900, 0x00000007, 0x02010800,
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0FFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0x03FFFFFF, 0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF, 0x00000000, 0x00004C40,
0x00000000, 0x00000000, 0x00000007, 0x00000000, 0x00000000, 0x00000000,
0x00000080, 0x000003FE, 0xFFFFFFFE, 0xFFFFFFFF, 0x001FFFFF, 0xFFFFFFFE,
0xFFFFFFFF, 0x07FFFFFF, 0xFFFFFFE0, 0x00001FFF, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000003F, 0x00000000, 0x00000000,
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F,
0x00000000, 0x00000000, 0x00000000, 0x07FF6000, 0x87FFFFFE, 0x07FFFFFE,
0x00000000, 0x00800000, 0xFF7FFFFF, 0xFF7FFFFF, 0x00FFFFFF, 0x00000000,
0xFFFF0000, 0xFFFFFFFF, 0xFFFFFFFF, 0xF80001FF, 0x00030003, 0x00000000,
0xFFFFFFFF, 0xFFFFFFFF, 0x0000003F, 0x00000003, 0xFFFFD7C0, 0xFFFFFFFB,
0x547F7FFF, 0x000FFFFD, 0xFFFFDFFE, 0xFFFFFFFF, 0xDFFEFFFF, 0xFFFFFFFF,
0xFFFF007B, 0xFFFFFFFF, 0xFFFF199F, 0x033FCFFF, 0x00000000, 0xFFFE0000,
0x027FFFFF, 0xFFFFFFFE, 0xFFFE007F, 0xBBFFFFFB, 0xFFFF0016, 0x000707FF,
0x00000000, 0x07FFFFFE, 0x0007FFFF, 0xFFFF03FF, 0xFFFFFFFF, 0x7CFFFFFF,
0xFFEF7FFF, 0x03FF3DFF, 0xFFFFFFEE, 0xF3FFFFFF, 0xFF1E3FFF, 0x0000FFCF,
0xFFF99FEE, 0xD3C5FDFF, 0xB080399F, 0x0003FFCF, 0xFFF987E4, 0xD36DFDFF,
0x5E003987, 0x001FFFC0, 0xFFFBAFEE, 0xF3EDFDFF, 0x00003BBF, 0x0000FFC1,
0xFFF99FEE, 0xF3CDFDFF, 0xB0C0398F, 0x0000FFC3, 0xD63DC7EC, 0xC3BFC718,
0x00803DC7, 0x0000FF80, 0xFFFDDFEE, 0xC3EFFDFF, 0x00603DDF, 0x0000FFC3,
0xFFFDDFEC, 0xC3EFFDFF, 0x40603DDF, 0x0000FFC3, 0xFFFDDFEC, 0xC3FFFDFF,
0x00803DCF, 0x0000FFC3, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0xFFFFFFFE, 0x07FF7FFF, 0x03FF7FFF, 0x00000000, 0xFEF02596, 0x3BFF6CAE,
0x03FF3F5F, 0x00000000, 0x03000000, 0xC2A003FF, 0xFFFFFEFF, 0xFFFE03FF,
0xFEBF0FDF, 0x02FE3FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1FFF0000, 0x00000002,
0x000000A0, 0x003EFFFE, 0xFFFFFFFE, 0xFFFFFFFF, 0x661FFFFF, 0xFFFFFFFE,
0xFFFFFFFF, 0x77FFFFFF,
};
static const unsigned char nmstrtPages[] = {
0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x00,
0x00, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
0x10, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x13,
0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x15, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x17,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x18,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x09, 0x0A, 0x0B,
0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x13, 0x00, 0x14, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x15, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x18,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
};
static const unsigned char namePages[] = {
0x19, 0x03, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x00,
0x00, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
0x10, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x13,
0x26, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x27, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x17,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x18,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x19, 0x03, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x00, 0x00, 0x1F, 0x20, 0x21,
0x22, 0x23, 0x24, 0x25, 0x10, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x13, 0x26, 0x14, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x27, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x18,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
};

393
deps/EXPAT/expat/siphash.h vendored Normal file
View File

@@ -0,0 +1,393 @@
/* ==========================================================================
* siphash.h - SipHash-2-4 in a single header file
* --------------------------------------------------------------------------
* Derived by William Ahern from the reference implementation[1] published[2]
* by Jean-Philippe Aumasson and Daniel J. Berstein.
* Minimal changes by Sebastian Pipping and Victor Stinner on top, see below.
* Licensed under the CC0 Public Domain Dedication license.
*
* 1. https://www.131002.net/siphash/siphash24.c
* 2. https://www.131002.net/siphash/
* --------------------------------------------------------------------------
* HISTORY:
*
* 2020-10-03 (Sebastian Pipping)
* - Drop support for Visual Studio 9.0/2008 and earlier
*
* 2019-08-03 (Sebastian Pipping)
* - Mark part of sip24_valid as to be excluded from clang-format
* - Re-format code using clang-format 9
*
* 2018-07-08 (Anton Maklakov)
* - Add "fall through" markers for GCC's -Wimplicit-fallthrough
*
* 2017-11-03 (Sebastian Pipping)
* - Hide sip_tobin and sip_binof unless SIPHASH_TOBIN macro is defined
*
* 2017-07-25 (Vadim Zeitlin)
* - Fix use of SIPHASH_MAIN macro
*
* 2017-07-05 (Sebastian Pipping)
* - Use _SIP_ULL macro to not require a C++11 compiler if compiled as C++
* - Add const qualifiers at two places
* - Ensure <=80 characters line length (assuming tab width 4)
*
* 2017-06-23 (Victor Stinner)
* - Address Win64 compile warnings
*
* 2017-06-18 (Sebastian Pipping)
* - Clarify license note in the header
* - Address C89 issues:
* - Stop using inline keyword (and let compiler decide)
* - Replace _Bool by int
* - Turn macro siphash24 into a function
* - Address invalid conversion (void pointer) by explicit cast
* - Address lack of stdint.h for Visual Studio 2003 to 2008
* - Always expose sip24_valid (for self-tests)
*
* 2012-11-04 - Born. (William Ahern)
* --------------------------------------------------------------------------
* USAGE:
*
* SipHash-2-4 takes as input two 64-bit words as the key, some number of
* message bytes, and outputs a 64-bit word as the message digest. This
* implementation employs two data structures: a struct sipkey for
* representing the key, and a struct siphash for representing the hash
* state.
*
* For converting a 16-byte unsigned char array to a key, use either the
* macro sip_keyof or the routine sip_tokey. The former instantiates a
* compound literal key, while the latter requires a key object as a
* parameter.
*
* unsigned char secret[16];
* arc4random_buf(secret, sizeof secret);
* struct sipkey *key = sip_keyof(secret);
*
* For hashing a message, use either the convenience macro siphash24 or the
* routines sip24_init, sip24_update, and sip24_final.
*
* struct siphash state;
* void *msg;
* size_t len;
* uint64_t hash;
*
* sip24_init(&state, key);
* sip24_update(&state, msg, len);
* hash = sip24_final(&state);
*
* or
*
* hash = siphash24(msg, len, key);
*
* To convert the 64-bit hash value to a canonical 8-byte little-endian
* binary representation, use either the macro sip_binof or the routine
* sip_tobin. The former instantiates and returns a compound literal array,
* while the latter requires an array object as a parameter.
* --------------------------------------------------------------------------
* NOTES:
*
* o Neither sip_keyof, sip_binof, nor siphash24 will work with compilers
* lacking compound literal support. Instead, you must use the lower-level
* interfaces which take as parameters the temporary state objects.
*
* o Uppercase macros may evaluate parameters more than once. Lowercase
* macros should not exhibit any such side effects.
* ==========================================================================
*/
#ifndef SIPHASH_H
#define SIPHASH_H
#include <stddef.h> /* size_t */
#include <stdint.h> /* uint64_t uint32_t uint8_t */
/*
* Workaround to not require a C++11 compiler for using ULL suffix
* if this code is included and compiled as C++; related GCC warning is:
* warning: use of C++11 long long integer constant [-Wlong-long]
*/
#define _SIP_ULL(high, low) ((((uint64_t)high) << 32) | (low))
#define SIP_ROTL(x, b) (uint64_t)(((x) << (b)) | ((x) >> (64 - (b))))
#define SIP_U32TO8_LE(p, v) \
(p)[0] = (uint8_t)((v) >> 0); \
(p)[1] = (uint8_t)((v) >> 8); \
(p)[2] = (uint8_t)((v) >> 16); \
(p)[3] = (uint8_t)((v) >> 24);
#define SIP_U64TO8_LE(p, v) \
SIP_U32TO8_LE((p) + 0, (uint32_t)((v) >> 0)); \
SIP_U32TO8_LE((p) + 4, (uint32_t)((v) >> 32));
#define SIP_U8TO64_LE(p) \
(((uint64_t)((p)[0]) << 0) | ((uint64_t)((p)[1]) << 8) \
| ((uint64_t)((p)[2]) << 16) | ((uint64_t)((p)[3]) << 24) \
| ((uint64_t)((p)[4]) << 32) | ((uint64_t)((p)[5]) << 40) \
| ((uint64_t)((p)[6]) << 48) | ((uint64_t)((p)[7]) << 56))
#define SIPHASH_INITIALIZER \
{ 0, 0, 0, 0, {0}, 0, 0 }
struct siphash {
uint64_t v0, v1, v2, v3;
unsigned char buf[8], *p;
uint64_t c;
}; /* struct siphash */
#define SIP_KEYLEN 16
struct sipkey {
uint64_t k[2];
}; /* struct sipkey */
#define sip_keyof(k) sip_tokey(&(struct sipkey){{0}}, (k))
static struct sipkey *
sip_tokey(struct sipkey *key, const void *src) {
key->k[0] = SIP_U8TO64_LE((const unsigned char *)src);
key->k[1] = SIP_U8TO64_LE((const unsigned char *)src + 8);
return key;
} /* sip_tokey() */
#ifdef SIPHASH_TOBIN
# define sip_binof(v) sip_tobin((unsigned char[8]){0}, (v))
static void *
sip_tobin(void *dst, uint64_t u64) {
SIP_U64TO8_LE((unsigned char *)dst, u64);
return dst;
} /* sip_tobin() */
#endif /* SIPHASH_TOBIN */
static void
sip_round(struct siphash *H, const int rounds) {
int i;
for (i = 0; i < rounds; i++) {
H->v0 += H->v1;
H->v1 = SIP_ROTL(H->v1, 13);
H->v1 ^= H->v0;
H->v0 = SIP_ROTL(H->v0, 32);
H->v2 += H->v3;
H->v3 = SIP_ROTL(H->v3, 16);
H->v3 ^= H->v2;
H->v0 += H->v3;
H->v3 = SIP_ROTL(H->v3, 21);
H->v3 ^= H->v0;
H->v2 += H->v1;
H->v1 = SIP_ROTL(H->v1, 17);
H->v1 ^= H->v2;
H->v2 = SIP_ROTL(H->v2, 32);
}
} /* sip_round() */
static struct siphash *
sip24_init(struct siphash *H, const struct sipkey *key) {
H->v0 = _SIP_ULL(0x736f6d65U, 0x70736575U) ^ key->k[0];
H->v1 = _SIP_ULL(0x646f7261U, 0x6e646f6dU) ^ key->k[1];
H->v2 = _SIP_ULL(0x6c796765U, 0x6e657261U) ^ key->k[0];
H->v3 = _SIP_ULL(0x74656462U, 0x79746573U) ^ key->k[1];
H->p = H->buf;
H->c = 0;
return H;
} /* sip24_init() */
#define sip_endof(a) (&(a)[sizeof(a) / sizeof *(a)])
static struct siphash *
sip24_update(struct siphash *H, const void *src, size_t len) {
const unsigned char *p = (const unsigned char *)src, *pe = p + len;
uint64_t m;
do {
while (p < pe && H->p < sip_endof(H->buf))
*H->p++ = *p++;
if (H->p < sip_endof(H->buf))
break;
m = SIP_U8TO64_LE(H->buf);
H->v3 ^= m;
sip_round(H, 2);
H->v0 ^= m;
H->p = H->buf;
H->c += 8;
} while (p < pe);
return H;
} /* sip24_update() */
static uint64_t
sip24_final(struct siphash *H) {
const char left = (char)(H->p - H->buf);
uint64_t b = (H->c + left) << 56;
switch (left) {
case 7:
b |= (uint64_t)H->buf[6] << 48;
/* fall through */
case 6:
b |= (uint64_t)H->buf[5] << 40;
/* fall through */
case 5:
b |= (uint64_t)H->buf[4] << 32;
/* fall through */
case 4:
b |= (uint64_t)H->buf[3] << 24;
/* fall through */
case 3:
b |= (uint64_t)H->buf[2] << 16;
/* fall through */
case 2:
b |= (uint64_t)H->buf[1] << 8;
/* fall through */
case 1:
b |= (uint64_t)H->buf[0] << 0;
/* fall through */
case 0:
break;
}
H->v3 ^= b;
sip_round(H, 2);
H->v0 ^= b;
H->v2 ^= 0xff;
sip_round(H, 4);
return H->v0 ^ H->v1 ^ H->v2 ^ H->v3;
} /* sip24_final() */
static uint64_t
siphash24(const void *src, size_t len, const struct sipkey *key) {
struct siphash state = SIPHASH_INITIALIZER;
return sip24_final(sip24_update(sip24_init(&state, key), src, len));
} /* siphash24() */
/*
* SipHash-2-4 output with
* k = 00 01 02 ...
* and
* in = (empty string)
* in = 00 (1 byte)
* in = 00 01 (2 bytes)
* in = 00 01 02 (3 bytes)
* ...
* in = 00 01 02 ... 3e (63 bytes)
*/
static int
sip24_valid(void) {
/* clang-format off */
static const unsigned char vectors[64][8] = {
{ 0x31, 0x0e, 0x0e, 0xdd, 0x47, 0xdb, 0x6f, 0x72, },
{ 0xfd, 0x67, 0xdc, 0x93, 0xc5, 0x39, 0xf8, 0x74, },
{ 0x5a, 0x4f, 0xa9, 0xd9, 0x09, 0x80, 0x6c, 0x0d, },
{ 0x2d, 0x7e, 0xfb, 0xd7, 0x96, 0x66, 0x67, 0x85, },
{ 0xb7, 0x87, 0x71, 0x27, 0xe0, 0x94, 0x27, 0xcf, },
{ 0x8d, 0xa6, 0x99, 0xcd, 0x64, 0x55, 0x76, 0x18, },
{ 0xce, 0xe3, 0xfe, 0x58, 0x6e, 0x46, 0xc9, 0xcb, },
{ 0x37, 0xd1, 0x01, 0x8b, 0xf5, 0x00, 0x02, 0xab, },
{ 0x62, 0x24, 0x93, 0x9a, 0x79, 0xf5, 0xf5, 0x93, },
{ 0xb0, 0xe4, 0xa9, 0x0b, 0xdf, 0x82, 0x00, 0x9e, },
{ 0xf3, 0xb9, 0xdd, 0x94, 0xc5, 0xbb, 0x5d, 0x7a, },
{ 0xa7, 0xad, 0x6b, 0x22, 0x46, 0x2f, 0xb3, 0xf4, },
{ 0xfb, 0xe5, 0x0e, 0x86, 0xbc, 0x8f, 0x1e, 0x75, },
{ 0x90, 0x3d, 0x84, 0xc0, 0x27, 0x56, 0xea, 0x14, },
{ 0xee, 0xf2, 0x7a, 0x8e, 0x90, 0xca, 0x23, 0xf7, },
{ 0xe5, 0x45, 0xbe, 0x49, 0x61, 0xca, 0x29, 0xa1, },
{ 0xdb, 0x9b, 0xc2, 0x57, 0x7f, 0xcc, 0x2a, 0x3f, },
{ 0x94, 0x47, 0xbe, 0x2c, 0xf5, 0xe9, 0x9a, 0x69, },
{ 0x9c, 0xd3, 0x8d, 0x96, 0xf0, 0xb3, 0xc1, 0x4b, },
{ 0xbd, 0x61, 0x79, 0xa7, 0x1d, 0xc9, 0x6d, 0xbb, },
{ 0x98, 0xee, 0xa2, 0x1a, 0xf2, 0x5c, 0xd6, 0xbe, },
{ 0xc7, 0x67, 0x3b, 0x2e, 0xb0, 0xcb, 0xf2, 0xd0, },
{ 0x88, 0x3e, 0xa3, 0xe3, 0x95, 0x67, 0x53, 0x93, },
{ 0xc8, 0xce, 0x5c, 0xcd, 0x8c, 0x03, 0x0c, 0xa8, },
{ 0x94, 0xaf, 0x49, 0xf6, 0xc6, 0x50, 0xad, 0xb8, },
{ 0xea, 0xb8, 0x85, 0x8a, 0xde, 0x92, 0xe1, 0xbc, },
{ 0xf3, 0x15, 0xbb, 0x5b, 0xb8, 0x35, 0xd8, 0x17, },
{ 0xad, 0xcf, 0x6b, 0x07, 0x63, 0x61, 0x2e, 0x2f, },
{ 0xa5, 0xc9, 0x1d, 0xa7, 0xac, 0xaa, 0x4d, 0xde, },
{ 0x71, 0x65, 0x95, 0x87, 0x66, 0x50, 0xa2, 0xa6, },
{ 0x28, 0xef, 0x49, 0x5c, 0x53, 0xa3, 0x87, 0xad, },
{ 0x42, 0xc3, 0x41, 0xd8, 0xfa, 0x92, 0xd8, 0x32, },
{ 0xce, 0x7c, 0xf2, 0x72, 0x2f, 0x51, 0x27, 0x71, },
{ 0xe3, 0x78, 0x59, 0xf9, 0x46, 0x23, 0xf3, 0xa7, },
{ 0x38, 0x12, 0x05, 0xbb, 0x1a, 0xb0, 0xe0, 0x12, },
{ 0xae, 0x97, 0xa1, 0x0f, 0xd4, 0x34, 0xe0, 0x15, },
{ 0xb4, 0xa3, 0x15, 0x08, 0xbe, 0xff, 0x4d, 0x31, },
{ 0x81, 0x39, 0x62, 0x29, 0xf0, 0x90, 0x79, 0x02, },
{ 0x4d, 0x0c, 0xf4, 0x9e, 0xe5, 0xd4, 0xdc, 0xca, },
{ 0x5c, 0x73, 0x33, 0x6a, 0x76, 0xd8, 0xbf, 0x9a, },
{ 0xd0, 0xa7, 0x04, 0x53, 0x6b, 0xa9, 0x3e, 0x0e, },
{ 0x92, 0x59, 0x58, 0xfc, 0xd6, 0x42, 0x0c, 0xad, },
{ 0xa9, 0x15, 0xc2, 0x9b, 0xc8, 0x06, 0x73, 0x18, },
{ 0x95, 0x2b, 0x79, 0xf3, 0xbc, 0x0a, 0xa6, 0xd4, },
{ 0xf2, 0x1d, 0xf2, 0xe4, 0x1d, 0x45, 0x35, 0xf9, },
{ 0x87, 0x57, 0x75, 0x19, 0x04, 0x8f, 0x53, 0xa9, },
{ 0x10, 0xa5, 0x6c, 0xf5, 0xdf, 0xcd, 0x9a, 0xdb, },
{ 0xeb, 0x75, 0x09, 0x5c, 0xcd, 0x98, 0x6c, 0xd0, },
{ 0x51, 0xa9, 0xcb, 0x9e, 0xcb, 0xa3, 0x12, 0xe6, },
{ 0x96, 0xaf, 0xad, 0xfc, 0x2c, 0xe6, 0x66, 0xc7, },
{ 0x72, 0xfe, 0x52, 0x97, 0x5a, 0x43, 0x64, 0xee, },
{ 0x5a, 0x16, 0x45, 0xb2, 0x76, 0xd5, 0x92, 0xa1, },
{ 0xb2, 0x74, 0xcb, 0x8e, 0xbf, 0x87, 0x87, 0x0a, },
{ 0x6f, 0x9b, 0xb4, 0x20, 0x3d, 0xe7, 0xb3, 0x81, },
{ 0xea, 0xec, 0xb2, 0xa3, 0x0b, 0x22, 0xa8, 0x7f, },
{ 0x99, 0x24, 0xa4, 0x3c, 0xc1, 0x31, 0x57, 0x24, },
{ 0xbd, 0x83, 0x8d, 0x3a, 0xaf, 0xbf, 0x8d, 0xb7, },
{ 0x0b, 0x1a, 0x2a, 0x32, 0x65, 0xd5, 0x1a, 0xea, },
{ 0x13, 0x50, 0x79, 0xa3, 0x23, 0x1c, 0xe6, 0x60, },
{ 0x93, 0x2b, 0x28, 0x46, 0xe4, 0xd7, 0x06, 0x66, },
{ 0xe1, 0x91, 0x5f, 0x5c, 0xb1, 0xec, 0xa4, 0x6c, },
{ 0xf3, 0x25, 0x96, 0x5c, 0xa1, 0x6d, 0x62, 0x9f, },
{ 0x57, 0x5f, 0xf2, 0x8e, 0x60, 0x38, 0x1b, 0xe5, },
{ 0x72, 0x45, 0x06, 0xeb, 0x4c, 0x32, 0x8a, 0x95, }
};
/* clang-format on */
unsigned char in[64];
struct sipkey k;
size_t i;
sip_tokey(&k, "\000\001\002\003\004\005\006\007\010\011"
"\012\013\014\015\016\017");
for (i = 0; i < sizeof in; ++i) {
in[i] = (unsigned char)i;
if (siphash24(in, i, &k) != SIP_U8TO64_LE(vectors[i]))
return 0;
}
return 1;
} /* sip24_valid() */
#ifdef SIPHASH_MAIN
# include <stdio.h>
int
main(void) {
const int ok = sip24_valid();
if (ok)
puts("OK");
else
puts("FAIL");
return ! ok;
} /* main() */
#endif /* SIPHASH_MAIN */
#endif /* SIPHASH_H */

View File

@@ -1,37 +1,66 @@
/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
See the file COPYING for copying permission.
/*
__ __ _
___\ \/ /_ __ __ _| |_
/ _ \\ /| '_ \ / _` | __|
| __// \| |_) | (_| | |_
\___/_/\_\ .__/ \__,_|\__|
|_| XML parser
Copyright (c) 1997-2000 Thai Open Source Software Center Ltd
Copyright (c) 2000 Clark Cooper <coopercc@users.sourceforge.net>
Copyright (c) 2002 Fred L. Drake, Jr. <fdrake@users.sourceforge.net>
Copyright (c) 2017 Sebastian Pipping <sebastian@pipping.org>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/* 0x80 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0x84 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0x88 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0x8C */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0x90 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0x94 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0x98 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0x9C */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0xA0 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0xA4 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0xA8 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0xAC */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0xB0 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0xB4 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0xB8 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0xBC */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0xC0 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
/* 0xC4 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
/* 0xC8 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
/* 0xCC */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
/* 0xD0 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
/* 0xD4 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
/* 0xD8 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
/* 0xDC */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
/* 0xE0 */ BT_LEAD3, BT_LEAD3, BT_LEAD3, BT_LEAD3,
/* 0xE4 */ BT_LEAD3, BT_LEAD3, BT_LEAD3, BT_LEAD3,
/* 0xE8 */ BT_LEAD3, BT_LEAD3, BT_LEAD3, BT_LEAD3,
/* 0xEC */ BT_LEAD3, BT_LEAD3, BT_LEAD3, BT_LEAD3,
/* 0xF0 */ BT_LEAD4, BT_LEAD4, BT_LEAD4, BT_LEAD4,
/* 0xF4 */ BT_LEAD4, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0xF8 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0xFC */ BT_NONXML, BT_NONXML, BT_MALFORM, BT_MALFORM,
/* 0x84 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0x88 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0x8C */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0x90 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0x94 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0x98 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0x9C */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0xA0 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0xA4 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0xA8 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0xAC */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0xB0 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0xB4 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0xB8 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0xBC */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
/* 0xC0 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
/* 0xC4 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
/* 0xC8 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
/* 0xCC */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
/* 0xD0 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
/* 0xD4 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
/* 0xD8 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
/* 0xDC */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
/* 0xE0 */ BT_LEAD3, BT_LEAD3, BT_LEAD3, BT_LEAD3,
/* 0xE4 */ BT_LEAD3, BT_LEAD3, BT_LEAD3, BT_LEAD3,
/* 0xE8 */ BT_LEAD3, BT_LEAD3, BT_LEAD3, BT_LEAD3,
/* 0xEC */ BT_LEAD3, BT_LEAD3, BT_LEAD3, BT_LEAD3,
/* 0xF0 */ BT_LEAD4, BT_LEAD4, BT_LEAD4, BT_LEAD4,
/* 0xF4 */ BT_LEAD4, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0xF8 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
/* 0xFC */ BT_NONXML, BT_NONXML, BT_MALFORM, BT_MALFORM,

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,36 @@
/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
See the file COPYING for copying permission.
/*
__ __ _
___\ \/ /_ __ __ _| |_
/ _ \\ /| '_ \ / _` | __|
| __// \| |_) | (_| | |_
\___/_/\_\ .__/ \__,_|\__|
|_| XML parser
Copyright (c) 1997-2000 Thai Open Source Software Center Ltd
Copyright (c) 2000 Clark Cooper <coopercc@users.sourceforge.net>
Copyright (c) 2002 Karl Waclawek <karl@waclawek.net>
Copyright (c) 2002 Fred L. Drake, Jr. <fdrake@users.sourceforge.net>
Copyright (c) 2017 Sebastian Pipping <sebastian@pipping.org>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#ifndef XmlRole_INCLUDED
@@ -8,7 +39,7 @@
#ifdef __VMS
/* 0 1 2 3 0 1 2 3
1234567890123456789012345678901 1234567890123456789012345678901 */
#define XmlPrologStateInitExternalEntity XmlPrologStateInitExternalEnt
# define XmlPrologStateInitExternalEntity XmlPrologStateInitExternalEnt
#endif
#include "xmltok.h"
@@ -85,11 +116,8 @@ enum {
};
typedef struct prolog_state {
int (PTRCALL *handler) (struct prolog_state *state,
int tok,
const char *ptr,
const char *end,
const ENCODING *enc);
int(PTRCALL *handler)(struct prolog_state *state, int tok, const char *ptr,
const char *end, const ENCODING *enc);
unsigned level;
int role_none;
#ifdef XML_DTD
@@ -104,8 +132,8 @@ void XmlPrologStateInit(PROLOG_STATE *);
void XmlPrologStateInitExternalEntity(PROLOG_STATE *);
#endif /* XML_DTD */
#define XmlTokenRole(state, tok, ptr, end, enc) \
(((state)->handler)(state, tok, ptr, end, enc))
#define XmlTokenRole(state, tok, ptr, end, enc) \
(((state)->handler)(state, tok, ptr, end, enc))
#ifdef __cplusplus
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,37 @@
/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
See the file COPYING for copying permission.
/*
__ __ _
___\ \/ /_ __ __ _| |_
/ _ \\ /| '_ \ / _` | __|
| __// \| |_) | (_| | |_
\___/_/\_\ .__/ \__,_|\__|
|_| XML parser
Copyright (c) 1997-2000 Thai Open Source Software Center Ltd
Copyright (c) 2000 Clark Cooper <coopercc@users.sourceforge.net>
Copyright (c) 2002 Fred L. Drake, Jr. <fdrake@users.sourceforge.net>
Copyright (c) 2002-2005 Karl Waclawek <karl@waclawek.net>
Copyright (c) 2016-2017 Sebastian Pipping <sebastian@pipping.org>
Copyright (c) 2017 Rhodri James <rhodri@wildebeest.org.uk>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#ifndef XmlTok_INCLUDED
@@ -10,16 +42,18 @@ extern "C" {
#endif
/* The following token may be returned by XmlContentTok */
#define XML_TOK_TRAILING_RSQB -5 /* ] or ]] at the end of the scan; might be
start of illegal ]]> sequence */
#define XML_TOK_TRAILING_RSQB \
-5 /* ] or ]] at the end of the scan; might be \
start of illegal ]]> sequence */
/* The following tokens may be returned by both XmlPrologTok and
XmlContentTok.
*/
#define XML_TOK_NONE -4 /* The string to be scanned is empty */
#define XML_TOK_TRAILING_CR -3 /* A CR at the end of the scan;
might be part of CRLF sequence */
#define XML_TOK_PARTIAL_CHAR -2 /* only part of a multibyte sequence */
#define XML_TOK_PARTIAL -1 /* only part of a token */
#define XML_TOK_NONE -4 /* The string to be scanned is empty */
#define XML_TOK_TRAILING_CR \
-3 /* A CR at the end of the scan; \
might be part of CRLF sequence */
#define XML_TOK_PARTIAL_CHAR -2 /* only part of a multibyte sequence */
#define XML_TOK_PARTIAL -1 /* only part of a token */
#define XML_TOK_INVALID 0
/* The following tokens are returned by XmlContentTok; some are also
@@ -34,24 +68,24 @@ extern "C" {
#define XML_TOK_DATA_NEWLINE 7
#define XML_TOK_CDATA_SECT_OPEN 8
#define XML_TOK_ENTITY_REF 9
#define XML_TOK_CHAR_REF 10 /* numeric character reference */
#define XML_TOK_CHAR_REF 10 /* numeric character reference */
/* The following tokens may be returned by both XmlPrologTok and
XmlContentTok.
*/
#define XML_TOK_PI 11 /* processing instruction */
#define XML_TOK_XML_DECL 12 /* XML decl or text decl */
#define XML_TOK_PI 11 /* processing instruction */
#define XML_TOK_XML_DECL 12 /* XML decl or text decl */
#define XML_TOK_COMMENT 13
#define XML_TOK_BOM 14 /* Byte order mark */
#define XML_TOK_BOM 14 /* Byte order mark */
/* The following tokens are returned only by XmlPrologTok */
#define XML_TOK_PROLOG_S 15
#define XML_TOK_DECL_OPEN 16 /* <!foo */
#define XML_TOK_DECL_CLOSE 17 /* > */
#define XML_TOK_DECL_OPEN 16 /* <!foo */
#define XML_TOK_DECL_CLOSE 17 /* > */
#define XML_TOK_NAME 18
#define XML_TOK_NMTOKEN 19
#define XML_TOK_POUND_NAME 20 /* #name */
#define XML_TOK_OR 21 /* | */
#define XML_TOK_POUND_NAME 20 /* #name */
#define XML_TOK_OR 21 /* | */
#define XML_TOK_PERCENT 22
#define XML_TOK_OPEN_PAREN 23
#define XML_TOK_CLOSE_PAREN 24
@@ -62,14 +96,14 @@ extern "C" {
#define XML_TOK_INSTANCE_START 29
/* The following occur only in element type declarations */
#define XML_TOK_NAME_QUESTION 30 /* name? */
#define XML_TOK_NAME_ASTERISK 31 /* name* */
#define XML_TOK_NAME_PLUS 32 /* name+ */
#define XML_TOK_COND_SECT_OPEN 33 /* <![ */
#define XML_TOK_COND_SECT_CLOSE 34 /* ]]> */
#define XML_TOK_CLOSE_PAREN_QUESTION 35 /* )? */
#define XML_TOK_CLOSE_PAREN_ASTERISK 36 /* )* */
#define XML_TOK_CLOSE_PAREN_PLUS 37 /* )+ */
#define XML_TOK_NAME_QUESTION 30 /* name? */
#define XML_TOK_NAME_ASTERISK 31 /* name* */
#define XML_TOK_NAME_PLUS 32 /* name+ */
#define XML_TOK_COND_SECT_OPEN 33 /* <![ */
#define XML_TOK_COND_SECT_CLOSE 34 /* ]]> */
#define XML_TOK_CLOSE_PAREN_QUESTION 35 /* )? */
#define XML_TOK_CLOSE_PAREN_ASTERISK 36 /* )* */
#define XML_TOK_CLOSE_PAREN_PLUS 37 /* )+ */
#define XML_TOK_COMMA 38
/* The following token is returned only by XmlAttributeValueTok */
@@ -84,20 +118,20 @@ extern "C" {
#define XML_TOK_PREFIXED_NAME 41
#ifdef XML_DTD
#define XML_TOK_IGNORE_SECT 42
# define XML_TOK_IGNORE_SECT 42
#endif /* XML_DTD */
#ifdef XML_DTD
#define XML_N_STATES 4
# define XML_N_STATES 4
#else /* not XML_DTD */
#define XML_N_STATES 3
# define XML_N_STATES 3
#endif /* not XML_DTD */
#define XML_PROLOG_STATE 0
#define XML_CONTENT_STATE 1
#define XML_CDATA_SECTION_STATE 2
#ifdef XML_DTD
#define XML_IGNORE_SECTION_STATE 3
# define XML_IGNORE_SECTION_STATE 3
#endif /* XML_DTD */
#define XML_N_LITERAL_TYPES 2
@@ -125,55 +159,41 @@ typedef struct {
struct encoding;
typedef struct encoding ENCODING;
typedef int (PTRCALL *SCANNER)(const ENCODING *,
const char *,
const char *,
const char **);
typedef int(PTRCALL *SCANNER)(const ENCODING *, const char *, const char *,
const char **);
enum XML_Convert_Result {
XML_CONVERT_COMPLETED = 0,
XML_CONVERT_INPUT_INCOMPLETE = 1,
XML_CONVERT_OUTPUT_EXHAUSTED = 2 /* and therefore potentially input remaining as well */
XML_CONVERT_OUTPUT_EXHAUSTED
= 2 /* and therefore potentially input remaining as well */
};
struct encoding {
SCANNER scanners[XML_N_STATES];
SCANNER literalScanners[XML_N_LITERAL_TYPES];
int (PTRCALL *sameName)(const ENCODING *,
const char *,
const char *);
int (PTRCALL *nameMatchesAscii)(const ENCODING *,
const char *,
const char *,
const char *);
int (PTRFASTCALL *nameLength)(const ENCODING *, const char *);
int(PTRCALL *nameMatchesAscii)(const ENCODING *, const char *, const char *,
const char *);
int(PTRFASTCALL *nameLength)(const ENCODING *, const char *);
const char *(PTRFASTCALL *skipS)(const ENCODING *, const char *);
int (PTRCALL *getAtts)(const ENCODING *enc,
const char *ptr,
int attsMax,
ATTRIBUTE *atts);
int (PTRFASTCALL *charRefNumber)(const ENCODING *enc, const char *ptr);
int (PTRCALL *predefinedEntityName)(const ENCODING *,
const char *,
const char *);
void (PTRCALL *updatePosition)(const ENCODING *,
const char *ptr,
const char *end,
POSITION *);
int (PTRCALL *isPublicId)(const ENCODING *enc,
const char *ptr,
const char *end,
const char **badPtr);
enum XML_Convert_Result (PTRCALL *utf8Convert)(const ENCODING *enc,
const char **fromP,
const char *fromLim,
char **toP,
const char *toLim);
enum XML_Convert_Result (PTRCALL *utf16Convert)(const ENCODING *enc,
const char **fromP,
const char *fromLim,
unsigned short **toP,
const unsigned short *toLim);
int(PTRCALL *getAtts)(const ENCODING *enc, const char *ptr, int attsMax,
ATTRIBUTE *atts);
int(PTRFASTCALL *charRefNumber)(const ENCODING *enc, const char *ptr);
int(PTRCALL *predefinedEntityName)(const ENCODING *, const char *,
const char *);
void(PTRCALL *updatePosition)(const ENCODING *, const char *ptr,
const char *end, POSITION *);
int(PTRCALL *isPublicId)(const ENCODING *enc, const char *ptr,
const char *end, const char **badPtr);
enum XML_Convert_Result(PTRCALL *utf8Convert)(const ENCODING *enc,
const char **fromP,
const char *fromLim, char **toP,
const char *toLim);
enum XML_Convert_Result(PTRCALL *utf16Convert)(const ENCODING *enc,
const char **fromP,
const char *fromLim,
unsigned short **toP,
const unsigned short *toLim);
int minBytesPerChar;
char isUtf8;
char isUtf16;
@@ -200,68 +220,62 @@ struct encoding {
the prolog outside literals, comments and processing instructions.
*/
#define XmlTok(enc, state, ptr, end, nextTokPtr) \
#define XmlTok(enc, state, ptr, end, nextTokPtr) \
(((enc)->scanners[state])(enc, ptr, end, nextTokPtr))
#define XmlPrologTok(enc, ptr, end, nextTokPtr) \
XmlTok(enc, XML_PROLOG_STATE, ptr, end, nextTokPtr)
#define XmlPrologTok(enc, ptr, end, nextTokPtr) \
XmlTok(enc, XML_PROLOG_STATE, ptr, end, nextTokPtr)
#define XmlContentTok(enc, ptr, end, nextTokPtr) \
XmlTok(enc, XML_CONTENT_STATE, ptr, end, nextTokPtr)
#define XmlContentTok(enc, ptr, end, nextTokPtr) \
XmlTok(enc, XML_CONTENT_STATE, ptr, end, nextTokPtr)
#define XmlCdataSectionTok(enc, ptr, end, nextTokPtr) \
XmlTok(enc, XML_CDATA_SECTION_STATE, ptr, end, nextTokPtr)
#define XmlCdataSectionTok(enc, ptr, end, nextTokPtr) \
XmlTok(enc, XML_CDATA_SECTION_STATE, ptr, end, nextTokPtr)
#ifdef XML_DTD
#define XmlIgnoreSectionTok(enc, ptr, end, nextTokPtr) \
XmlTok(enc, XML_IGNORE_SECTION_STATE, ptr, end, nextTokPtr)
# define XmlIgnoreSectionTok(enc, ptr, end, nextTokPtr) \
XmlTok(enc, XML_IGNORE_SECTION_STATE, ptr, end, nextTokPtr)
#endif /* XML_DTD */
/* This is used for performing a 2nd-level tokenization on the content
of a literal that has already been returned by XmlTok.
*/
#define XmlLiteralTok(enc, literalType, ptr, end, nextTokPtr) \
#define XmlLiteralTok(enc, literalType, ptr, end, nextTokPtr) \
(((enc)->literalScanners[literalType])(enc, ptr, end, nextTokPtr))
#define XmlAttributeValueTok(enc, ptr, end, nextTokPtr) \
XmlLiteralTok(enc, XML_ATTRIBUTE_VALUE_LITERAL, ptr, end, nextTokPtr)
#define XmlAttributeValueTok(enc, ptr, end, nextTokPtr) \
XmlLiteralTok(enc, XML_ATTRIBUTE_VALUE_LITERAL, ptr, end, nextTokPtr)
#define XmlEntityValueTok(enc, ptr, end, nextTokPtr) \
XmlLiteralTok(enc, XML_ENTITY_VALUE_LITERAL, ptr, end, nextTokPtr)
#define XmlEntityValueTok(enc, ptr, end, nextTokPtr) \
XmlLiteralTok(enc, XML_ENTITY_VALUE_LITERAL, ptr, end, nextTokPtr)
#define XmlSameName(enc, ptr1, ptr2) (((enc)->sameName)(enc, ptr1, ptr2))
#define XmlNameMatchesAscii(enc, ptr1, end1, ptr2) \
#define XmlNameMatchesAscii(enc, ptr1, end1, ptr2) \
(((enc)->nameMatchesAscii)(enc, ptr1, end1, ptr2))
#define XmlNameLength(enc, ptr) \
(((enc)->nameLength)(enc, ptr))
#define XmlNameLength(enc, ptr) (((enc)->nameLength)(enc, ptr))
#define XmlSkipS(enc, ptr) \
(((enc)->skipS)(enc, ptr))
#define XmlSkipS(enc, ptr) (((enc)->skipS)(enc, ptr))
#define XmlGetAttributes(enc, ptr, attsMax, atts) \
#define XmlGetAttributes(enc, ptr, attsMax, atts) \
(((enc)->getAtts)(enc, ptr, attsMax, atts))
#define XmlCharRefNumber(enc, ptr) \
(((enc)->charRefNumber)(enc, ptr))
#define XmlCharRefNumber(enc, ptr) (((enc)->charRefNumber)(enc, ptr))
#define XmlPredefinedEntityName(enc, ptr, end) \
#define XmlPredefinedEntityName(enc, ptr, end) \
(((enc)->predefinedEntityName)(enc, ptr, end))
#define XmlUpdatePosition(enc, ptr, end, pos) \
#define XmlUpdatePosition(enc, ptr, end, pos) \
(((enc)->updatePosition)(enc, ptr, end, pos))
#define XmlIsPublicId(enc, ptr, end, badPtr) \
#define XmlIsPublicId(enc, ptr, end, badPtr) \
(((enc)->isPublicId)(enc, ptr, end, badPtr))
#define XmlUtf8Convert(enc, fromP, fromLim, toP, toLim) \
#define XmlUtf8Convert(enc, fromP, fromLim, toP, toLim) \
(((enc)->utf8Convert)(enc, fromP, fromLim, toP, toLim))
#define XmlUtf16Convert(enc, fromP, fromLim, toP, toLim) \
#define XmlUtf16Convert(enc, fromP, fromLim, toP, toLim) \
(((enc)->utf16Convert)(enc, fromP, fromLim, toP, toLim))
typedef struct {
@@ -269,16 +283,11 @@ typedef struct {
const ENCODING **encPtr;
} INIT_ENCODING;
int XmlParseXmlDecl(int isGeneralTextEntity,
const ENCODING *enc,
const char *ptr,
const char *end,
const char **badPtr,
const char **versionPtr,
const char **versionEndPtr,
int XmlParseXmlDecl(int isGeneralTextEntity, const ENCODING *enc,
const char *ptr, const char *end, const char **badPtr,
const char **versionPtr, const char **versionEndPtr,
const char **encodingNamePtr,
const ENCODING **namedEncodingPtr,
int *standalonePtr);
const ENCODING **namedEncodingPtr, int *standalonePtr);
int XmlInitEncoding(INIT_ENCODING *, const ENCODING **, const char *name);
const ENCODING *XmlGetUtf8InternalEncoding(void);
@@ -287,34 +296,22 @@ int FASTCALL XmlUtf8Encode(int charNumber, char *buf);
int FASTCALL XmlUtf16Encode(int charNumber, unsigned short *buf);
int XmlSizeOfUnknownEncoding(void);
typedef int(XMLCALL *CONVERTER)(void *userData, const char *p);
typedef int (XMLCALL *CONVERTER) (void *userData, const char *p);
ENCODING *XmlInitUnknownEncoding(void *mem, int *table, CONVERTER convert,
void *userData);
ENCODING *
XmlInitUnknownEncoding(void *mem,
int *table,
CONVERTER convert,
void *userData);
int XmlParseXmlDeclNS(int isGeneralTextEntity,
const ENCODING *enc,
const char *ptr,
const char *end,
const char **badPtr,
const char **versionPtr,
const char **versionEndPtr,
int XmlParseXmlDeclNS(int isGeneralTextEntity, const ENCODING *enc,
const char *ptr, const char *end, const char **badPtr,
const char **versionPtr, const char **versionEndPtr,
const char **encodingNamePtr,
const ENCODING **namedEncodingPtr,
int *standalonePtr);
const ENCODING **namedEncodingPtr, int *standalonePtr);
int XmlInitEncodingNS(INIT_ENCODING *, const ENCODING **, const char *name);
const ENCODING *XmlGetUtf8InternalEncodingNS(void);
const ENCODING *XmlGetUtf16InternalEncodingNS(void);
ENCODING *
XmlInitUnknownEncodingNS(void *mem,
int *table,
CONVERTER convert,
void *userData);
ENCODING *XmlInitUnknownEncodingNS(void *mem, int *table, CONVERTER convert,
void *userData);
#ifdef __cplusplus
}
#endif

View File

@@ -1,46 +1,74 @@
/*
Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
See the file COPYING for copying permission.
__ __ _
___\ \/ /_ __ __ _| |_
/ _ \\ /| '_ \ / _` | __|
| __// \| |_) | (_| | |_
\___/_/\_\ .__/ \__,_|\__|
|_| XML parser
Copyright (c) 1997-2000 Thai Open Source Software Center Ltd
Copyright (c) 2000 Clark Cooper <coopercc@users.sourceforge.net>
Copyright (c) 2017-2019 Sebastian Pipping <sebastian@pipping.org>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
enum {
BT_NONXML,
BT_MALFORM,
BT_LT,
BT_AMP,
BT_RSQB,
BT_LEAD2,
BT_LEAD3,
BT_LEAD4,
BT_TRAIL,
BT_CR,
BT_LF,
BT_GT,
BT_QUOT,
BT_APOS,
BT_EQUALS,
BT_QUEST,
BT_EXCL,
BT_SOL,
BT_SEMI,
BT_NUM,
BT_LSQB,
BT_S,
BT_NMSTRT,
BT_COLON,
BT_HEX,
BT_DIGIT,
BT_NAME,
BT_MINUS,
BT_OTHER, /* known not to be a name or name start character */
BT_NONXML, /* e.g. noncharacter-FFFF */
BT_MALFORM, /* illegal, with regard to encoding */
BT_LT, /* less than = "<" */
BT_AMP, /* ampersand = "&" */
BT_RSQB, /* right square bracket = "[" */
BT_LEAD2, /* lead byte of a 2-byte UTF-8 character */
BT_LEAD3, /* lead byte of a 3-byte UTF-8 character */
BT_LEAD4, /* lead byte of a 4-byte UTF-8 character */
BT_TRAIL, /* trailing unit, e.g. second 16-bit unit of a 4-byte char. */
BT_CR, /* carriage return = "\r" */
BT_LF, /* line feed = "\n" */
BT_GT, /* greater than = ">" */
BT_QUOT, /* quotation character = "\"" */
BT_APOS, /* apostrophe = "'" */
BT_EQUALS, /* equal sign = "=" */
BT_QUEST, /* question mark = "?" */
BT_EXCL, /* exclamation mark = "!" */
BT_SOL, /* solidus, slash = "/" */
BT_SEMI, /* semicolon = ";" */
BT_NUM, /* number sign = "#" */
BT_LSQB, /* left square bracket = "[" */
BT_S, /* white space, e.g. "\t", " "[, "\r"] */
BT_NMSTRT, /* non-hex name start letter = "G".."Z" + "g".."z" + "_" */
BT_COLON, /* colon = ":" */
BT_HEX, /* hex letter = "A".."F" + "a".."f" */
BT_DIGIT, /* digit = "0".."9" */
BT_NAME, /* dot and middle dot = "." + chr(0xb7) */
BT_MINUS, /* minus = "-" */
BT_OTHER, /* known not to be a name or name start character */
BT_NONASCII, /* might be a name or name start character */
BT_PERCNT,
BT_LPAR,
BT_RPAR,
BT_AST,
BT_PLUS,
BT_COMMA,
BT_VERBAR
BT_PERCNT, /* percent sign = "%" */
BT_LPAR, /* left parenthesis = "(" */
BT_RPAR, /* right parenthesis = "(" */
BT_AST, /* asterisk = "*" */
BT_PLUS, /* plus sign = "+" */
BT_COMMA, /* comma = "," */
BT_VERBAR /* vertical bar = "|" */
};
#include <stddef.h>

File diff suppressed because it is too large Load Diff

View File

@@ -1,61 +1,83 @@
/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
See the file COPYING for copying permission.
/* This file is included!
__ __ _
___\ \/ /_ __ __ _| |_
/ _ \\ /| '_ \ / _` | __|
| __// \| |_) | (_| | |_
\___/_/\_\ .__/ \__,_|\__|
|_| XML parser
Copyright (c) 1997-2000 Thai Open Source Software Center Ltd
Copyright (c) 2000 Clark Cooper <coopercc@users.sourceforge.net>
Copyright (c) 2002 Greg Stein <gstein@users.sourceforge.net>
Copyright (c) 2002 Fred L. Drake, Jr. <fdrake@users.sourceforge.net>
Copyright (c) 2002-2006 Karl Waclawek <karl@waclawek.net>
Copyright (c) 2017-2021 Sebastian Pipping <sebastian@pipping.org>
Licensed under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/* This file is included! */
#ifdef XML_TOK_NS_C
const ENCODING *
NS(XmlGetUtf8InternalEncoding)(void)
{
NS(XmlGetUtf8InternalEncoding)(void) {
return &ns(internal_utf8_encoding).enc;
}
const ENCODING *
NS(XmlGetUtf16InternalEncoding)(void)
{
#if BYTEORDER == 1234
NS(XmlGetUtf16InternalEncoding)(void) {
# if BYTEORDER == 1234
return &ns(internal_little2_encoding).enc;
#elif BYTEORDER == 4321
# elif BYTEORDER == 4321
return &ns(internal_big2_encoding).enc;
#else
# else
const short n = 1;
return (*(const char *)&n
? &ns(internal_little2_encoding).enc
: &ns(internal_big2_encoding).enc);
#endif
return (*(const char *)&n ? &ns(internal_little2_encoding).enc
: &ns(internal_big2_encoding).enc);
# endif
}
static const ENCODING * const NS(encodings)[] = {
&ns(latin1_encoding).enc,
&ns(ascii_encoding).enc,
&ns(utf8_encoding).enc,
&ns(big2_encoding).enc,
&ns(big2_encoding).enc,
&ns(little2_encoding).enc,
&ns(utf8_encoding).enc /* NO_ENC */
static const ENCODING *const NS(encodings)[] = {
&ns(latin1_encoding).enc, &ns(ascii_encoding).enc,
&ns(utf8_encoding).enc, &ns(big2_encoding).enc,
&ns(big2_encoding).enc, &ns(little2_encoding).enc,
&ns(utf8_encoding).enc /* NO_ENC */
};
static int PTRCALL
NS(initScanProlog)(const ENCODING *enc, const char *ptr, const char *end,
const char **nextTokPtr)
{
return initScan(NS(encodings), (const INIT_ENCODING *)enc,
XML_PROLOG_STATE, ptr, end, nextTokPtr);
const char **nextTokPtr) {
return initScan(NS(encodings), (const INIT_ENCODING *)enc, XML_PROLOG_STATE,
ptr, end, nextTokPtr);
}
static int PTRCALL
NS(initScanContent)(const ENCODING *enc, const char *ptr, const char *end,
const char **nextTokPtr)
{
return initScan(NS(encodings), (const INIT_ENCODING *)enc,
XML_CONTENT_STATE, ptr, end, nextTokPtr);
const char **nextTokPtr) {
return initScan(NS(encodings), (const INIT_ENCODING *)enc, XML_CONTENT_STATE,
ptr, end, nextTokPtr);
}
int
NS(XmlInitEncoding)(INIT_ENCODING *p, const ENCODING **encPtr,
const char *name)
{
const char *name) {
int i = getEncodingIndex(name);
if (i == UNKNOWN_ENC)
return 0;
@@ -69,10 +91,9 @@ NS(XmlInitEncoding)(INIT_ENCODING *p, const ENCODING **encPtr,
}
static const ENCODING *
NS(findEncoding)(const ENCODING *enc, const char *ptr, const char *end)
{
#define ENCODING_MAX 128
char buf[ENCODING_MAX];
NS(findEncoding)(const ENCODING *enc, const char *ptr, const char *end) {
# define ENCODING_MAX 128
char buf[ENCODING_MAX] = "";
char *p = buf;
int i;
XmlUtf8Convert(enc, &ptr, end, &p, p + ENCODING_MAX - 1);
@@ -88,28 +109,14 @@ NS(findEncoding)(const ENCODING *enc, const char *ptr, const char *end)
}
int
NS(XmlParseXmlDecl)(int isGeneralTextEntity,
const ENCODING *enc,
const char *ptr,
const char *end,
const char **badPtr,
const char **versionPtr,
const char **versionEndPtr,
const char **encodingName,
const ENCODING **encoding,
int *standalone)
{
return doParseXmlDecl(NS(findEncoding),
isGeneralTextEntity,
enc,
ptr,
end,
badPtr,
versionPtr,
versionEndPtr,
encodingName,
encoding,
standalone);
NS(XmlParseXmlDecl)(int isGeneralTextEntity, const ENCODING *enc,
const char *ptr, const char *end, const char **badPtr,
const char **versionPtr, const char **versionEndPtr,
const char **encodingName, const ENCODING **encoding,
int *standalone) {
return doParseXmlDecl(NS(findEncoding), isGeneralTextEntity, enc, ptr, end,
badPtr, versionPtr, versionEndPtr, encodingName,
encoding, standalone);
}
#endif /* XML_TOK_NS_C */

2
deps/GMP/GMP.cmake vendored
View File

@@ -57,7 +57,7 @@ else ()
endif ()
ExternalProject_Add(dep_GMP
URL https://gmplib.org/download/gmp/gmp-6.2.1.tar.bz2
URL https://github.com/SoftFever/OrcaSlicer_deps/releases/download/gmp-6.2.1/gmp-6.2.1.tar.bz2
URL_HASH SHA256=eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/GMP
BUILD_IN_SOURCE ON

View File

@@ -12,8 +12,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
endif()
orcaslicer_add_cmake_project(JPEG
URL https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/2.0.6.zip
URL_HASH SHA256=017bdc33ff3a72e11301c0feb4657cb27719d7f97fa67a78ed506c594218bbf1
URL https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/3.0.1.zip
URL_HASH SHA256=d6d99e693366bc03897677650e8b2dfa76b5d6c54e2c9e70c03f0af821b0a52f
DEPENDS ${ZLIB_PKG}
CMAKE_ARGS
-DENABLE_SHARED=OFF

View File

@@ -26,11 +26,12 @@ else ()
endif ()
ExternalProject_Add(dep_MPFR
URL http://ftp.vim.org/ftp/gnu/mpfr/mpfr-3.1.6.tar.bz2 https://www.mpfr.org/mpfr-3.1.6/mpfr-3.1.6.tar.bz2 # mirrors are allowed
URL_HASH SHA256=cf4f4b2d80abb79e820e78c8077b6725bbbb4e8f41896783c899087be0e94068
URL https://www.mpfr.org/mpfr-current/mpfr-4.2.1.tar.bz2
URL_HASH SHA256=b9df93635b20e4089c29623b19420c4ac848a1b29df1cfd59f26cab0d2666aa0
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/MPFR
BUILD_IN_SOURCE ON
CONFIGURE_COMMAND env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure ${_cross_compile_arg} --prefix=${DESTDIR}/usr/local --enable-shared=no --enable-static=yes --with-gmp=${DESTDIR}/usr/local ${_gmp_build_tgt}
CONFIGURE_COMMAND autoreconf -f -i &&
env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure ${_cross_compile_arg} --prefix=${DESTDIR}/usr/local --enable-shared=no --enable-static=yes --with-gmp=${DESTDIR}/usr/local ${_gmp_build_tgt}
BUILD_COMMAND make -j
INSTALL_COMMAND make install
DEPENDS dep_GMP

10
deps/NanoSVG/NanoSVG.cmake vendored Normal file
View File

@@ -0,0 +1,10 @@
# In PrusaSlicer 2.6.0 we switched from https://github.com/memononen/nanosvg to its fork https://github.com/fltk/nanosvg
# because this last implements the new function nsvgRasterizeXY() which we now use in GLTexture::load_from_svg()
# for rasterizing svg files from their original size to a squared power of two texture on Windows systems using
# AMD Radeon graphics cards
orcaslicer_add_cmake_project(NanoSVG
DEPENDS dep_Boost
URL https://github.com/SoftFever/nanosvg/archive/863f6aa97ef62028126fa2c19bd4350394c2e15e.zip
URL_HASH SHA256=8d9c1624ad6518dd6dfa31e4f8dc7da9ec243d88bae595c7a037450617fec851
)

View File

@@ -19,7 +19,7 @@ if(WIN32)
set(_install_cmd nmake install_sw )
else()
if(APPLE)
set(_conf_cmd ./Configure )
set(_conf_cmd export MACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET} && ./Configure -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET})
else()
set(_conf_cmd "./config")
endif()
@@ -40,8 +40,10 @@ endif()
ExternalProject_Add(dep_OpenSSL
#EXCLUDE_FROM_ALL ON
URL "https://github.com/openssl/openssl/archive/OpenSSL_1_1_1k.tar.gz"
URL_HASH SHA256=b92f9d3d12043c02860e5e602e50a73ed21a69947bcc74d391f41148e9f6aa95
URL "https://github.com/openssl/openssl/archive/OpenSSL_1_1_1w.tar.gz"
URL_HASH SHA256=2130E8C2FB3B79D1086186F78E59E8BC8D1A6AEDF17AB3907F4CB9AE20918C41
# URL "https://github.com/openssl/openssl/archive/refs/tags/openssl-3.1.2.tar.gz"
# URL_HASH SHA256=8c776993154652d0bb393f506d850b811517c8bd8d24b1008aef57fbe55d3f31
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/OpenSSL
CONFIGURE_COMMAND ${_conf_cmd} ${_cross_arch}
"--openssldir=${DESTDIR}/usr/local"
@@ -61,4 +63,4 @@ ExternalProject_Add_Step(dep_OpenSSL install_cmake_files
COMMAND ${CMAKE_COMMAND} -E copy_directory openssl "${DESTDIR}/usr/local/${CMAKE_INSTALL_LIBDIR}/cmake/openssl"
WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}"
)
)

View File

@@ -11,6 +11,7 @@ if (APPLE)
-Dwebp:BOOL=OFF
-Djbig:BOOL=OFF
-Dzstd:BOOL=OFF
-Dlibdeflate:BOOL=OFF
-Dpixarlog:BOOL=OFF
)
else()

View File

@@ -1,16 +1,16 @@
Common subdirectories: ../zlib-1.2.11/amiga and ./amiga
diff -u ../zlib-1.2.11/CMakeLists.txt ./CMakeLists.txt
--- ../zlib-1.2.11/CMakeLists.txt 2017-01-15 09:29:40.000000000 +0100
+++ ./CMakeLists.txt 2021-03-24 15:24:48.190291072 +0100
@@ -183,10 +183,12 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b412dc7..5ca7fa8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -147,10 +147,12 @@ if(MINGW)
set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
endif(MINGW)
-add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
-add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
-add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
-add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
-set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
-set_target_properties(zlib PROPERTIES SOVERSION 1)
+add_library(zlib ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
+add_library(zlib ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
+if (BUILD_SHARED_LIBS)
+ target_sources(zlib PRIVATE ${ZLIB_DLL_SRCS})
+ set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
@@ -19,7 +19,7 @@ diff -u ../zlib-1.2.11/CMakeLists.txt ./CMakeLists.txt
if(NOT CYGWIN)
# This property causes shared libraries on Linux to have the full version
@@ -201,7 +203,7 @@
@@ -165,7 +167,7 @@ endif()
if(UNIX)
# On unix-like platforms the library is almost always called libz
@@ -28,7 +28,7 @@ diff -u ../zlib-1.2.11/CMakeLists.txt ./CMakeLists.txt
if(NOT APPLE)
set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"")
endif()
@@ -211,7 +213,7 @@
@@ -175,7 +177,7 @@ elseif(BUILD_SHARED_LIBS AND WIN32)
endif()
if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
@@ -37,15 +37,3 @@ diff -u ../zlib-1.2.11/CMakeLists.txt ./CMakeLists.txt
RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
LIBRARY DESTINATION "${INSTALL_LIB_DIR}" )
Common subdirectories: ../zlib-1.2.11/contrib and ./contrib
Common subdirectories: ../zlib-1.2.11/doc and ./doc
Common subdirectories: ../zlib-1.2.11/examples and ./examples
Common subdirectories: ../zlib-1.2.11/msdos and ./msdos
Common subdirectories: ../zlib-1.2.11/nintendods and ./nintendods
Common subdirectories: ../zlib-1.2.11/old and ./old
Common subdirectories: ../zlib-1.2.11/os400 and ./os400
Common subdirectories: ../zlib-1.2.11/qnx and ./qnx
Common subdirectories: ../zlib-1.2.11/test and ./test
Common subdirectories: ../zlib-1.2.11/watcom and ./watcom
Common subdirectories: ../zlib-1.2.11/win32 and ./win32
Only in ./: ZLIB.patch

10
deps/ZLIB/ZLIB.cmake vendored
View File

@@ -1,9 +1,13 @@
set(patch_command git init && ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-Respect-BUILD_SHARED_LIBS.patch)
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
URL_HASH SHA256=f5cc4ab910db99b2bdbba39ebbdc225ffc2aa04b4057bc2817f1b94b6978cfc3
PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-Respect-BUILD_SHARED_LIBS.patch
#URL https://github.com/madler/zlib/archive/refs/tags/v1.2.11.zip
URL https://github.com/madler/zlib/archive/refs/tags/v1.2.13.zip
#URL_HASH SHA256=f5cc4ab910db99b2bdbba39ebbdc225ffc2aa04b4057bc2817f1b94b6978cfc3
URL_HASH SHA256=c2856951bbf30e30861ace3765595d86ba13f2cf01279d901f6c62258c57f4ff
PATCH_COMMAND ${patch_command}
CMAKE_ARGS
-DSKIP_INSTALL_FILES=ON # Prevent installation of man pages et al.
-DCMAKE_POSITION_INDEPENDENT_CODE=ON

View File

@@ -0,0 +1,683 @@
From f4fef135f0a58ca2916c45cd539923ab096935b6 Mon Sep 17 00:00:00 2001
From: Ocraftyone <Ocraftyone@users.noreply.github.com>
Date: Thu, 30 Nov 2023 03:25:54 -0500
Subject: [PATCH] patch v3.2.1 for OrcaSlicer
---
build/cmake/lib/webview/CMakeLists.txt | 4 +-
include/wx/fontutil.h | 15 +++++++-
include/wx/gdicmn.h | 3 ++
include/wx/generic/grid.h | 4 +-
include/wx/msw/font.h | 2 +-
include/wx/msw/tooltip.h | 4 +-
include/wx/osx/app.h | 2 +-
src/common/combocmn.cpp | 11 +++++-
src/common/datavcmn.cpp | 6 ++-
src/common/dcbufcmn.cpp | 6 +++
src/common/gdicmn.cpp | 14 +++++++
src/common/image.cpp | 6 +--
src/generic/grid.cpp | 50 ++++++++++++++++++++-----
src/msw/bmpcbox.cpp | 9 ++++-
src/msw/font.cpp | 14 +++----
src/msw/menuitem.cpp | 2 +
src/msw/window.cpp | 52 +++++++++++++++++---------
src/osx/cocoa/dataview.mm | 26 +++++++++++--
src/osx/cocoa/settings.mm | 6 +--
src/osx/cocoa/window.mm | 4 ++
20 files changed, 184 insertions(+), 56 deletions(-)
diff --git a/build/cmake/lib/webview/CMakeLists.txt b/build/cmake/lib/webview/CMakeLists.txt
index 085381d785..62146abc04 100644
--- a/build/cmake/lib/webview/CMakeLists.txt
+++ b/build/cmake/lib/webview/CMakeLists.txt
@@ -46,9 +46,9 @@ if(APPLE)
elseif(WXMSW)
if(wxUSE_WEBVIEW_EDGE)
# Update the following variables if updating WebView2 SDK
- set(WEBVIEW2_VERSION "1.0.705.50")
+ set(WEBVIEW2_VERSION "1.0.1418.22")
set(WEBVIEW2_URL "https://www.nuget.org/api/v2/package/Microsoft.Web.WebView2/${WEBVIEW2_VERSION}")
- set(WEBVIEW2_SHA256 "6a34bb553e18cfac7297b4031f3eac2558e439f8d16a45945c22945ac404105d")
+ set(WEBVIEW2_SHA256 "51d2ef56196e2a9d768a6843385bcb9c6baf9ed34b2603ddb074fb4995543a99")
set(WEBVIEW2_DEFAULT_PACKAGE_DIR "${CMAKE_BINARY_DIR}/packages/Microsoft.Web.WebView2.${WEBVIEW2_VERSION}")
diff --git a/include/wx/fontutil.h b/include/wx/fontutil.h
index 30529db8ce..e6a12366d5 100644
--- a/include/wx/fontutil.h
+++ b/include/wx/fontutil.h
@@ -294,7 +294,11 @@ public:
wxFontEncoding GetEncoding() const;
void SetPointSize(int pointsize);
- void SetFractionalPointSize(double pointsize);
+ void SetFractionalPointSize(double pointsize
+#if defined(__WXMSW__)
+ , const wxWindow *window = nullptr
+#endif
+ );
void SetPixelSize(const wxSize& pixelSize);
void SetStyle(wxFontStyle style);
void SetNumericWeight(int weight);
@@ -307,12 +311,19 @@ public:
// Helper used in many ports: use the normal font size if the input is
// negative, as we handle -1 as meaning this for compatibility.
- void SetSizeOrDefault(double size)
+ void SetSizeOrDefault(double size
+#if defined(__WXMSW__)
+ , const wxWindow *window = nullptr
+#endif
+ )
{
SetFractionalPointSize
(
size < 0 ? wxNORMAL_FONT->GetFractionalPointSize()
: size
+#if defined(__WXMSW__)
+ ,window
+#endif
);
}
diff --git a/include/wx/gdicmn.h b/include/wx/gdicmn.h
index 2f5f8ee99f..39e9317d40 100644
--- a/include/wx/gdicmn.h
+++ b/include/wx/gdicmn.h
@@ -38,6 +38,7 @@ class WXDLLIMPEXP_FWD_CORE wxRegion;
class WXDLLIMPEXP_FWD_BASE wxString;
class WXDLLIMPEXP_FWD_CORE wxIconBundle;
class WXDLLIMPEXP_FWD_CORE wxPoint;
+class WXDLLIMPEXP_FWD_CORE wxWindow;
// ---------------------------------------------------------------------------
// constants
@@ -1106,7 +1107,9 @@ extern int WXDLLIMPEXP_CORE wxDisplayDepth();
// get the display size
extern void WXDLLIMPEXP_CORE wxDisplaySize(int *width, int *height);
+extern void WXDLLIMPEXP_CORE wxDisplaySize(const wxWindow *window, int *width, int *height);
extern wxSize WXDLLIMPEXP_CORE wxGetDisplaySize();
+extern wxSize WXDLLIMPEXP_CORE wxGetDisplaySize(const wxWindow *window);
extern void WXDLLIMPEXP_CORE wxDisplaySizeMM(int *width, int *height);
extern wxSize WXDLLIMPEXP_CORE wxGetDisplaySizeMM();
extern wxSize WXDLLIMPEXP_CORE wxGetDisplayPPI();
diff --git a/include/wx/generic/grid.h b/include/wx/generic/grid.h
index 1bd58bbf04..903cb81319 100644
--- a/include/wx/generic/grid.h
+++ b/include/wx/generic/grid.h
@@ -3029,9 +3029,11 @@ private:
// Update the width/height of the column/row being drag-resized.
// Should be only called when m_dragRowOrCol != -1, i.e. dragging is
// actually in progress.
+ //BBS: add cursor mode for DoGridDragResize's paremeters
void DoGridDragResize(const wxPoint& position,
const wxGridOperations& oper,
- wxGridWindow* gridWindow);
+ wxGridWindow* gridWindow,
+ CursorMode mode);
// process different clicks on grid cells
void DoGridCellLeftDown(wxMouseEvent& event,
diff --git a/include/wx/msw/font.h b/include/wx/msw/font.h
index 0f9768b44e..094d774918 100644
--- a/include/wx/msw/font.h
+++ b/include/wx/msw/font.h
@@ -23,7 +23,7 @@ public:
// ctors and such
wxFont() { }
- wxFont(const wxFontInfo& info);
+ wxFont(const wxFontInfo& info, const wxWindow *window = nullptr);
wxFont(int size,
wxFontFamily family,
diff --git a/include/wx/msw/tooltip.h b/include/wx/msw/tooltip.h
index 4c3be08cec..96fb378d01 100644
--- a/include/wx/msw/tooltip.h
+++ b/include/wx/msw/tooltip.h
@@ -91,10 +91,10 @@ private:
// the one and only one tooltip control we use - never access it directly
// but use GetToolTipCtrl() which will create it when needed
static WXHWND ms_hwndTT;
-
+public:
// create the tooltip ctrl if it doesn't exist yet and return its HWND
static WXHWND GetToolTipCtrl();
-
+private:
// to be used in wxModule for deleting tooltip ctrl window when exiting mainloop
static void DeleteToolTipCtrl();
diff --git a/include/wx/osx/app.h b/include/wx/osx/app.h
index 317a0ca96f..58014ec1d4 100644
--- a/include/wx/osx/app.h
+++ b/include/wx/osx/app.h
@@ -161,7 +161,7 @@ private:
public:
bool OSXInitWasCalled() { return m_inited; }
- void OSXStoreOpenFiles(const wxArrayString &files ) { m_openFiles = files ; }
+ virtual void OSXStoreOpenFiles(const wxArrayString &files ) { m_openFiles = files ; }
void OSXStorePrintFiles(const wxArrayString &files ) { m_printFiles = files ; }
void OSXStoreOpenURL(const wxString &url ) { m_getURL = url ; }
#endif
diff --git a/src/common/combocmn.cpp b/src/common/combocmn.cpp
index 80408c6677..aa07caebdc 100644
--- a/src/common/combocmn.cpp
+++ b/src/common/combocmn.cpp
@@ -2061,6 +2061,9 @@ void wxComboCtrlBase::ShowPopup()
SetFocus();
+ //int displayIdx = wxDisplay::GetFromWindow(this);
+ //wxRect displayRect = wxDisplay(displayIdx != wxNOT_FOUND ? displayIdx : 0u).GetGeometry();
+
// Space above and below
int screenHeight;
wxPoint scrPos;
@@ -2183,9 +2186,13 @@ void wxComboCtrlBase::ShowPopup()
int showFlags = CanDeferShow;
- if ( spaceBelow < szp.y )
+ int anchorSideVertical = m_anchorSide & (wxUP | wxDOWN);
+ if (// Pop up as asked for by the library user.
+ (anchorSideVertical & wxUP) ||
+ // Automatic: Pop up if it does not fit down.
+ (anchorSideVertical == 0 && spaceBelow < szp.y ))
{
- popupY = scrPos.y - szp.y;
+ popupY = scrPos.y - szp.y + displayRect.GetTop();
showFlags |= ShowAbove;
}
diff --git a/src/common/datavcmn.cpp b/src/common/datavcmn.cpp
index 0a1e43ad51..6c492aedab 100644
--- a/src/common/datavcmn.cpp
+++ b/src/common/datavcmn.cpp
@@ -1334,7 +1334,11 @@ wxDataViewItem wxDataViewCtrlBase::GetSelection() const
wxDataViewItemArray selections;
GetSelections(selections);
- return selections[0];
+ // BBS
+ if (!selections.empty())
+ return selections[0];
+ else
+ return wxDataViewItem(0);
}
namespace
diff --git a/src/common/dcbufcmn.cpp b/src/common/dcbufcmn.cpp
index 9b1c1f3159..ef5865ed4b 100644
--- a/src/common/dcbufcmn.cpp
+++ b/src/common/dcbufcmn.cpp
@@ -83,9 +83,15 @@ private:
const double scale = dc ? dc->GetContentScaleFactor() : 1.0;
wxBitmap* const buffer = new wxBitmap;
+#if __WXMSW__
+ // we must always return a valid bitmap but creating a bitmap of
+ // size 0 would fail, so create a 1*1 bitmap in this case
+ buffer->Create(wxMax(w, 1), wxMax(h, 1), 24);
+#else
// we must always return a valid bitmap but creating a bitmap of
// size 0 would fail, so create a 1*1 bitmap in this case
buffer->CreateWithDIPSize(wxMax(w, 1), wxMax(h, 1), scale);
+#endif
return buffer;
}
diff --git a/src/common/gdicmn.cpp b/src/common/gdicmn.cpp
index db8a01f961..162c1ce2dc 100644
--- a/src/common/gdicmn.cpp
+++ b/src/common/gdicmn.cpp
@@ -863,11 +863,25 @@ void wxDisplaySize(int *width, int *height)
*height = size.y;
}
+void wxDisplaySize(const wxWindow *window, int *width, int *height)
+{
+ const wxSize size = wxGetDisplaySize(window);
+ if ( width )
+ *width = size.x;
+ if ( height )
+ *height = size.y;
+}
+
wxSize wxGetDisplaySize()
{
return wxDisplay().GetGeometry().GetSize();
}
+wxSize wxGetDisplaySize(const wxWindow *window)
+{
+ return window ? wxDisplay(window).GetGeometry().GetSize() : wxDisplay().GetGeometry().GetSize();
+}
+
void wxClientDisplayRect(int *x, int *y, int *width, int *height)
{
const wxRect rect = wxGetClientDisplayRect();
diff --git a/src/common/image.cpp b/src/common/image.cpp
index 19fe34ec91..a449b60930 100644
--- a/src/common/image.cpp
+++ b/src/common/image.cpp
@@ -390,11 +390,11 @@ wxImage wxImage::ShrinkBy( int xFactor , int yFactor ) const
unsigned char red = pixel[0] ;
unsigned char green = pixel[1] ;
unsigned char blue = pixel[2] ;
- unsigned char alpha = 255 ;
- if ( source_alpha )
- alpha = *(source_alpha + y_offset + x * xFactor + x1) ;
if ( !hasMask || red != maskRed || green != maskGreen || blue != maskBlue )
{
+ unsigned char alpha = 255 ;
+ if ( source_alpha )
+ alpha = *(source_alpha + y_offset + x * xFactor + x1) ;
if ( alpha > 0 )
{
avgRed += red ;
diff --git a/src/generic/grid.cpp b/src/generic/grid.cpp
index ed3d988994..d71cda122d 100644
--- a/src/generic/grid.cpp
+++ b/src/generic/grid.cpp
@@ -4068,7 +4068,8 @@ void wxGrid::ProcessRowColLabelMouseEvent( const wxGridOperations &oper, wxMouse
{
if ( m_cursorMode == oper.GetCursorModeResize() )
{
- DoGridDragResize(event.GetPosition(), oper, gridWindow);
+ //BBS: add cursor mode for DoGridDragResize's paremeters
+ DoGridDragResize(event.GetPosition(), oper, gridWindow, m_cursorMode);
}
else if ( m_cursorMode == oper.GetCursorModeSelect() && line >=0 )
{
@@ -4691,12 +4692,14 @@ bool wxGrid::DoGridDragEvent(wxMouseEvent& event,
case WXGRID_CURSOR_RESIZE_ROW:
if ( m_dragRowOrCol != -1 )
- DoGridDragResize(event.GetPosition(), wxGridRowOperations(), gridWindow);
+ //BBS: add cursor mode for DoGridDragResize's paremeters
+ DoGridDragResize(event.GetPosition(), wxGridRowOperations(), gridWindow, WXGRID_CURSOR_RESIZE_ROW);
break;
case WXGRID_CURSOR_RESIZE_COL:
if ( m_dragRowOrCol != -1 )
- DoGridDragResize(event.GetPosition(), wxGridColumnOperations(), gridWindow);
+ //BBS: add cursor mode for DoGridDragResize's paremeters
+ DoGridDragResize(event.GetPosition(), wxGridColumnOperations(), gridWindow, WXGRID_CURSOR_RESIZE_COL);
break;
default:
@@ -4791,6 +4794,8 @@ wxGrid::DoGridCellLeftDown(wxMouseEvent& event,
case wxGridSelectCells:
case wxGridSelectRowsOrColumns:
// nothing to do in these cases
+ //BBS: select this cell when first click
+ m_selection->SelectBlock(coords.GetRow(), coords.GetCol(), coords.GetRow(), coords.GetCol(), event);
break;
case wxGridSelectRows:
@@ -5049,9 +5054,11 @@ void wxGrid::ProcessGridCellMouseEvent(wxMouseEvent& event, wxGridWindow *eventG
}
}
+//BBS: add cursor mode for DoGridDragResize's paremeters
void wxGrid::DoGridDragResize(const wxPoint& position,
const wxGridOperations& oper,
- wxGridWindow* gridWindow)
+ wxGridWindow* gridWindow,
+ CursorMode mode)
{
wxCHECK_RET( m_dragRowOrCol != -1,
"shouldn't be called when not drag resizing" );
@@ -5064,10 +5071,28 @@ void wxGrid::DoGridDragResize(const wxPoint& position,
// orthogonal direction.
const int linePos = oper.Dual().Select(logicalPos);
- const int lineStart = oper.GetLineStartPos(this, m_dragRowOrCol);
- oper.SetLineSize(this, m_dragRowOrCol,
+ //BBS: add logic for resize multiplexed cols
+ if (mode == WXGRID_CURSOR_RESIZE_COL) {
+ int col_to_resize = m_dragRowOrCol;
+ int num_rows, num_cols;
+ this->GetCellSize(0, m_dragRowOrCol, &num_rows, &num_cols);
+ if (num_cols < 1)
+ col_to_resize = m_dragRowOrCol - 1;
+
+ const int lineEnd = oper.GetLineEndPos(this, m_dragRowOrCol);
+ const int lineSize = oper.GetLineSize(this, col_to_resize);
+ int size = linePos - lineEnd + lineSize;
+ oper.SetLineSize(this, col_to_resize,
+ wxMax(size,
+ oper.GetMinimalLineSize(this, col_to_resize)));
+ }
+ else {
+ const int lineStart = oper.GetLineStartPos(this, m_dragRowOrCol);
+
+ oper.SetLineSize(this, m_dragRowOrCol,
wxMax(linePos - lineStart,
oper.GetMinimalLineSize(this, m_dragRowOrCol)));
+ }
// TODO: generate RESIZING event, see #10754, if the size has changed.
}
@@ -5090,7 +5115,8 @@ wxPoint wxGrid::GetPositionForResizeEvent(int width) const
void wxGrid::DoEndDragResizeRow(const wxMouseEvent& event, wxGridWindow* gridWindow)
{
- DoGridDragResize(event.GetPosition(), wxGridRowOperations(), gridWindow);
+ //BBS: add cursor mode for DoGridDragResize's paremeters
+ DoGridDragResize(event.GetPosition(), wxGridRowOperations(), gridWindow, WXGRID_CURSOR_RESIZE_ROW);
SendGridSizeEvent(wxEVT_GRID_ROW_SIZE, m_dragRowOrCol, event);
@@ -5099,7 +5125,8 @@ void wxGrid::DoEndDragResizeRow(const wxMouseEvent& event, wxGridWindow* gridWin
void wxGrid::DoEndDragResizeCol(const wxMouseEvent& event, wxGridWindow* gridWindow)
{
- DoGridDragResize(event.GetPosition(), wxGridColumnOperations(), gridWindow);
+ //BBS: add cursor mode for DoGridDragResize's paremeters
+ DoGridDragResize(event.GetPosition(), wxGridColumnOperations(), gridWindow, WXGRID_CURSOR_RESIZE_COL);
SendGridSizeEvent(wxEVT_GRID_COL_SIZE, m_dragRowOrCol, event);
@@ -5113,9 +5140,10 @@ void wxGrid::DoHeaderStartDragResizeCol(int col)
void wxGrid::DoHeaderDragResizeCol(int width)
{
+ //BBS: add cursor mode for DoGridDragResize's paremeters
DoGridDragResize(GetPositionForResizeEvent(width),
wxGridColumnOperations(),
- m_gridWin);
+ m_gridWin, WXGRID_CURSOR_RESIZE_COL);
}
void wxGrid::DoHeaderEndDragResizeCol(int width)
@@ -6013,6 +6041,10 @@ void wxGrid::OnKeyDown( wxKeyEvent& event )
DisableCellEditControl();
MoveCursorDown( event.ShiftDown() );
+ //BBS: select this cell when first click
+ m_selection->SelectBlock(m_currentCellCoords.GetRow(), m_currentCellCoords.GetCol(),
+ m_currentCellCoords.GetRow(), m_currentCellCoords.GetCol(),
+ event);
}
break;
diff --git a/src/msw/bmpcbox.cpp b/src/msw/bmpcbox.cpp
index 011bd4f534..17e7f18740 100644
--- a/src/msw/bmpcbox.cpp
+++ b/src/msw/bmpcbox.cpp
@@ -156,13 +156,20 @@ void wxBitmapComboBox::RecreateControl()
wxComboBox::DoClear();
- HWND hwnd = GetHwnd();
+ WNDPROC wndproc_edit = nullptr;
+ WinStruct<COMBOBOXINFO> combobox_info;
+ HWND hwnd = GetHwnd();
+if (::GetComboBoxInfo(hwnd, &combobox_info))
+ wndproc_edit = (WNDPROC)wxGetWindowProc(combobox_info.hwndItem);
DissociateHandle();
::DestroyWindow(hwnd);
if ( !MSWCreateControl(wxT("COMBOBOX"), wxEmptyString, pos, size) )
return;
+if (::GetComboBoxInfo(GetHwnd(), &combobox_info))
+ wxSetWindowProc(combobox_info.hwndItem, wndproc_edit);
+
// initialize the controls contents
for ( i = 0; i < numItems; i++ )
{
diff --git a/src/msw/font.cpp b/src/msw/font.cpp
index 434876939c..91d4603018 100644
--- a/src/msw/font.cpp
+++ b/src/msw/font.cpp
@@ -54,7 +54,7 @@ static const int PITCH_MASK = FIXED_PITCH | VARIABLE_PITCH;
class WXDLLEXPORT wxFontRefData: public wxGDIRefData
{
public:
- wxFontRefData(const wxFontInfo& info = wxFontInfo());
+ wxFontRefData(const wxFontInfo& info = wxFontInfo(), const wxWindow* window = nullptr);
wxFontRefData(const wxNativeFontInfo& info, WXHFONT hFont = 0)
{
@@ -324,7 +324,7 @@ protected:
// wxFontRefData
// ----------------------------------------------------------------------------
-wxFontRefData::wxFontRefData(const wxFontInfo& info)
+wxFontRefData::wxFontRefData(const wxFontInfo& info, const wxWindow *window)
{
m_hFont = NULL;
@@ -335,7 +335,7 @@ wxFontRefData::wxFontRefData(const wxFontInfo& info)
}
else
{
- m_nativeFontInfo.SetSizeOrDefault(info.GetFractionalPointSize());
+ m_nativeFontInfo.SetSizeOrDefault(info.GetFractionalPointSize(), window);
}
SetStyle(info.GetStyle());
@@ -518,12 +518,12 @@ wxFontEncoding wxNativeFontInfo::GetEncoding() const
return wxGetFontEncFromCharSet(lf.lfCharSet);
}
-void wxNativeFontInfo::SetFractionalPointSize(double pointSizeNew)
+void wxNativeFontInfo::SetFractionalPointSize(double pointSizeNew, const wxWindow *window)
{
// We don't have the correct DPI to use here, so use that of the
// primary screen and rely on WXAdjustToPPI() changing it later if
// necessary.
- const int ppi = ::GetDeviceCaps(ScreenHDC(), LOGPIXELSY);
+ const int ppi = window ? window->GetDPI().GetY() : ::GetDeviceCaps(ScreenHDC(), LOGPIXELSY);
lf.lfHeight = GetLogFontHeightAtPPI(pointSizeNew, ppi);
pointSize = pointSizeNew;
@@ -812,9 +812,9 @@ wxFont::wxFont(const wxString& fontdesc)
(void)Create(info);
}
-wxFont::wxFont(const wxFontInfo& info)
+wxFont::wxFont(const wxFontInfo& info, const wxWindow *window)
{
- m_refData = new wxFontRefData(info);
+ m_refData = new wxFontRefData(info, window);
}
bool wxFont::Create(const wxNativeFontInfo& info, WXHFONT hFont)
diff --git a/src/msw/menuitem.cpp b/src/msw/menuitem.cpp
index 0bd017a36a..3b98bf1678 100644
--- a/src/msw/menuitem.cpp
+++ b/src/msw/menuitem.cpp
@@ -368,6 +368,8 @@ void MenuDrawData::Init(wxWindow const* window)
// native menu uses small top margin for separator
if ( SeparatorMargin.cyTopHeight >= 2 )
SeparatorMargin.cyTopHeight -= 2;
+
+ SeparatorSize.cy = 0;
}
else
#endif // wxUSE_UXTHEME
diff --git a/src/msw/window.cpp b/src/msw/window.cpp
index c529a4fa3b..7e547c64df 100644
--- a/src/msw/window.cpp
+++ b/src/msw/window.cpp
@@ -4809,33 +4809,49 @@ static wxSize GetWindowDPI(HWND hwnd)
}
/*extern*/
-int wxGetSystemMetrics(int nIndex, const wxWindow* window)
+int wxGetSystemMetrics(int nIndex, const wxWindow* win)
{
#if wxUSE_DYNLIB_CLASS
- if ( !window )
- window = wxApp::GetMainTopWindow();
+ const wxWindow* window = (!win && wxTheApp) ? wxTheApp->GetTopWindow() : win;
- if ( window )
+ if (window)
{
- typedef int (WINAPI * GetSystemMetricsForDpi_t)(int nIndex, UINT dpi);
- static GetSystemMetricsForDpi_t s_pfnGetSystemMetricsForDpi = NULL;
- static bool s_initDone = false;
-
- if ( !s_initDone )
- {
- wxLoadedDLL dllUser32("user32.dll");
- wxDL_INIT_FUNC(s_pfn, GetSystemMetricsForDpi, dllUser32);
- s_initDone = true;
+#if 1
+ if (window->GetHWND() && (nIndex == SM_CXSCREEN || nIndex == SM_CYSCREEN)) {
+ HDC hdc = GetDC(window->GetHWND());
+#if 0
+ double dim = GetDeviceCaps(hdc, nIndex == SM_CXSCREEN ? HORZRES : VERTRES);
+ ReleaseDC(window->GetHWND(), hdc);
+ wxSize dpi = window->GetDPI();
+ dim *= 96.0 / (nIndex == SM_CXSCREEN ? dpi.x : dpi.y);
+ return int(dim + 0.5);
+#else
+ return int(GetDeviceCaps(hdc, nIndex == SM_CXSCREEN ? HORZRES : VERTRES));
+#endif
}
-
- if ( s_pfnGetSystemMetricsForDpi )
+ else
+#endif
{
- const int dpi = window->GetDPI().y;
- return s_pfnGetSystemMetricsForDpi(nIndex, (UINT)dpi);
+ typedef int (WINAPI * GetSystemMetricsForDpi_t)(int nIndex, UINT dpi);
+ static GetSystemMetricsForDpi_t s_pfnGetSystemMetricsForDpi = NULL;
+ static bool s_initDone = false;
+
+ if ( !s_initDone )
+ {
+ wxLoadedDLL dllUser32("user32.dll");
+ wxDL_INIT_FUNC(s_pfn, GetSystemMetricsForDpi, dllUser32);
+ s_initDone = true;
+ }
+
+ if ( s_pfnGetSystemMetricsForDpi )
+ {
+ const int dpi = window->GetDPI().y;
+ return s_pfnGetSystemMetricsForDpi(nIndex, (UINT)dpi);
+ }
}
}
#else
- wxUnusedVar(window);
+ wxUnusedVar(win);
#endif // wxUSE_DYNLIB_CLASS
return ::GetSystemMetrics(nIndex);
diff --git a/src/osx/cocoa/dataview.mm b/src/osx/cocoa/dataview.mm
index f188e61089..7b867002d1 100644
--- a/src/osx/cocoa/dataview.mm
+++ b/src/osx/cocoa/dataview.mm
@@ -1604,6 +1604,15 @@ outlineView:(NSOutlineView*)outlineView
}
}
+//FIXME Vojtech: This is a workaround to get at least the "mouse move" events at the wxDataViewControl,
+// so we can show the tooltips. The "mouse move" events are being send only if the wxDataViewControl
+// has focus, which is a limitation of wxWidgets. We may grab focus on "mouse entry" though.
+- (void)mouseMoved:(NSEvent *)event
+{
+if (! implementation->DoHandleMouseEvent(event))
+ [super mouseMoved:event];
+}
+
//
// contextual menus
//
@@ -2006,7 +2015,8 @@ void wxCocoaDataViewControl::keyEvent(WX_NSEvent event, WXWidget slf, void *_cmd
if ( !dvc->GetEventHandler()->ProcessEvent(eventDV) )
wxWidgetCocoaImpl::keyEvent(event, slf, _cmd);
}
- else
+ //FIXME Vojtech's hack to get the accelerators assigned to the wxDataViewControl working.
+ else if (! DoHandleKeyEvent(event))
{
wxWidgetCocoaImpl::keyEvent(event, slf, _cmd); // all other keys
}
@@ -2540,12 +2550,22 @@ void wxCocoaDataViewControl::DoSetIndent(int indent)
void wxCocoaDataViewControl::HitTest(const wxPoint& point, wxDataViewItem& item, wxDataViewColumn*& columnPtr) const
{
- NSPoint const nativePoint = wxToNSPoint((NSScrollView*) GetWXWidget(),point);
+ NSTableHeaderView *headerView = [m_OutlineView headerView];
+ if (headerView && point.y < headerView.visibleRect.size.height) {
+ // The point is inside the header area.
+ columnPtr = NULL;
+ item = wxDataViewItem();
+ return;
+ }
+ // Convert from the window coordinates to the virtual scrolled view coordinates.
+ NSScrollView *scrollView = [m_OutlineView enclosingScrollView];
+ const NSRect &visibleRect = scrollView.contentView.visibleRect;
+ NSPoint const nativePoint = wxToNSPoint((NSScrollView*) GetWXWidget(),
+ wxPoint(point.x + visibleRect.origin.x, point.y + visibleRect.origin.y));
int indexColumn;
int indexRow;
-
indexColumn = [m_OutlineView columnAtPoint:nativePoint];
indexRow = [m_OutlineView rowAtPoint: nativePoint];
if ((indexColumn >= 0) && (indexRow >= 0))
diff --git a/src/osx/cocoa/settings.mm b/src/osx/cocoa/settings.mm
index c819deeb0c..dc3c3b0b53 100644
--- a/src/osx/cocoa/settings.mm
+++ b/src/osx/cocoa/settings.mm
@@ -222,7 +222,7 @@ wxFont wxSystemSettingsNative::GetFont(wxSystemFont index)
// ----------------------------------------------------------------------------
// Get a system metric, e.g. scrollbar size
-int wxSystemSettingsNative::GetMetric(wxSystemMetric index, const wxWindow* WXUNUSED(win))
+int wxSystemSettingsNative::GetMetric(wxSystemMetric index, const wxWindow* win)
{
int value;
@@ -257,11 +257,11 @@ int wxSystemSettingsNative::GetMetric(wxSystemMetric index, const wxWindow* WXUN
// TODO case wxSYS_WINDOWMIN_Y:
case wxSYS_SCREEN_X:
- wxDisplaySize(&value, NULL);
+ wxDisplaySize(win, &value, NULL);
return value;
case wxSYS_SCREEN_Y:
- wxDisplaySize(NULL, &value);
+ wxDisplaySize(win, NULL, &value);
return value;
// TODO case wxSYS_FRAMESIZE_X:
diff --git a/src/osx/cocoa/window.mm b/src/osx/cocoa/window.mm
index 635ea286d4..42ae67e27a 100644
--- a/src/osx/cocoa/window.mm
+++ b/src/osx/cocoa/window.mm
@@ -191,6 +191,9 @@ NSRect wxOSXGetFrameForControl( wxWindowMac* window , const wxPoint& pos , const
- (BOOL)isEnabled;
- (void)setEnabled:(BOOL)flag;
+- (BOOL)clipsToBounds;
+- (void)setClipsToBounds:(BOOL)clipsToBounds;
+
- (void)setImage:(NSImage *)image;
- (void)setControlSize:(NSControlSize)size;
@@ -2559,6 +2562,7 @@ wxWidgetImpl( peer, flags )
if ( m_osxView )
CFRetain(m_osxView);
[m_osxView release];
+ m_osxView.clipsToBounds = YES;
}
--
2.42.0.windows.2

View File

@@ -1,3 +1,33 @@
From 5e82980ed1762338794d06b3f9f22fa10e050622 Mon Sep 17 00:00:00 2001
From: SoftFever <softfeverever@gmail.com>
Date: Sat, 23 Dec 2023 20:08:41 +0800
Subject: [PATCH] wx 3.1.5 patch for Orca
---
build/cmake/init.cmake | 4 ++
build/cmake/lib/webview/CMakeLists.txt | 4 +-
include/wx/fontutil.h | 15 +++++++-
include/wx/gdicmn.h | 3 ++
include/wx/generic/grid.h | 4 +-
include/wx/msw/font.h | 2 +-
include/wx/msw/tooltip.h | 4 +-
include/wx/osx/app.h | 2 +-
src/common/combocmn.cpp | 13 +++++--
src/common/datavcmn.cpp | 6 ++-
src/common/dcbufcmn.cpp | 8 +++-
src/common/gdicmn.cpp | 14 +++++++
src/common/image.cpp | 6 +--
src/common/intl.cpp | 7 ++++
src/generic/grid.cpp | 53 +++++++++++++++++++++-----
src/msw/bmpcbox.cpp | 9 ++++-
src/msw/font.cpp | 14 +++----
src/msw/menuitem.cpp | 2 +
src/msw/window.cpp | 52 ++++++++++++++++---------
src/osx/cocoa/dataview.mm | 26 +++++++++++--
src/osx/cocoa/settings.mm | 6 +--
src/osx/cocoa/window.mm | 4 ++
22 files changed, 199 insertions(+), 59 deletions(-)
diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake
index 0bc4f934b9..479431a69c 100644
--- a/build/cmake/init.cmake
@@ -15,10 +45,10 @@ index 0bc4f934b9..479431a69c 100644
if(WAYLANDEGL_FOUND AND wxHAVE_GDK_WAYLAND)
list(APPEND OPENGL_LIBRARIES ${WAYLANDEGL_LIBRARIES})
diff --git a/build/cmake/lib/webview/CMakeLists.txt b/build/cmake/lib/webview/CMakeLists.txt
index cc3298ff33..8adbeaea4f 100644
index cc3298ff33..aa103ae474 100644
--- a/build/cmake/lib/webview/CMakeLists.txt
+++ b/build/cmake/lib/webview/CMakeLists.txt
@@ -56,7 +56,7 @@ if(APPLE)
@@ -56,9 +56,9 @@ if(APPLE)
elseif(WXMSW)
if(wxUSE_WEBVIEW_EDGE)
# Update the following variables if updating WebView2 SDK
@@ -31,7 +61,7 @@ index cc3298ff33..8adbeaea4f 100644
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
index 09ad8c8ef3..c228e167d7 100644
--- a/include/wx/fontutil.h
+++ b/include/wx/fontutil.h
@@ -294,7 +294,11 @@ public:
@@ -41,9 +71,9 @@ index 09ad8c8ef3..3c0c2d8f7e 100644
- void SetFractionalPointSize(double pointsize);
+ void SetFractionalPointSize(double pointsize
+#if defined(__WXMSW__)
+ , const wxWindow *window = nullptr
+ , const wxWindow *window = nullptr
+#endif
+ );
+ );
void SetPixelSize(const wxSize& pixelSize);
void SetStyle(wxFontStyle style);
void SetNumericWeight(int weight);
@@ -54,9 +84,9 @@ index 09ad8c8ef3..3c0c2d8f7e 100644
- void SetSizeOrDefault(double size)
+ void SetSizeOrDefault(double size
+#if defined(__WXMSW__)
+ , const wxWindow *window = nullptr
+ , const wxWindow *window = nullptr
+#endif
+ )
+ )
{
SetFractionalPointSize
(
@@ -151,7 +181,7 @@ index 317a0ca96f..58014ec1d4 100644
void OSXStoreOpenURL(const wxString &url ) { m_getURL = url ; }
#endif
diff --git a/src/common/combocmn.cpp b/src/common/combocmn.cpp
index b61aac35bf..d12b745e8c 100644
index b61aac35bf..7cfc97d2f8 100644
--- a/src/common/combocmn.cpp
+++ b/src/common/combocmn.cpp
@@ -2141,7 +2141,7 @@ void wxComboCtrlBase::CreatePopup()
@@ -180,7 +210,7 @@ index b61aac35bf..d12b745e8c 100644
- if ( spaceBelow < szp.y )
+ int anchorSideVertical = m_anchorSide & (wxUP | wxDOWN);
+ if (// Pop up as asked for by the library user.
+ (anchorSideVertical & wxUP) ||
+ (anchorSideVertical & wxUP) ||
+ // Automatic: Pop up if it does not fit down.
+ (anchorSideVertical == 0 && spaceBelow < szp.y ))
{
@@ -228,7 +258,7 @@ index 74958fce10..59844f4526 100644
return buffer;
}
diff --git a/src/common/gdicmn.cpp b/src/common/gdicmn.cpp
index 20442bbc73..9a24951ec7 100644
index 20442bbc73..bc2c35bee6 100644
--- a/src/common/gdicmn.cpp
+++ b/src/common/gdicmn.cpp
@@ -863,11 +863,25 @@ void wxDisplaySize(int *width, int *height)
@@ -241,7 +271,7 @@ index 20442bbc73..9a24951ec7 100644
+ if ( width )
+ *width = size.x;
+ if ( height )
+ *height = size.y;
+ *height = size.y;
+}
+
wxSize wxGetDisplaySize()
@@ -257,8 +287,27 @@ index 20442bbc73..9a24951ec7 100644
void wxClientDisplayRect(int *x, int *y, int *width, int *height)
{
const wxRect rect = wxGetClientDisplayRect();
diff --git a/src/common/image.cpp b/src/common/image.cpp
index 78fe5b82a3..46db8722ce 100644
--- a/src/common/image.cpp
+++ b/src/common/image.cpp
@@ -383,11 +383,11 @@ wxImage wxImage::ShrinkBy( int xFactor , int yFactor ) const
unsigned char red = pixel[0] ;
unsigned char green = pixel[1] ;
unsigned char blue = pixel[2] ;
- unsigned char alpha = 255 ;
- if ( source_alpha )
- alpha = *(source_alpha + y_offset + x * xFactor + x1) ;
if ( !hasMask || red != maskRed || green != maskGreen || blue != maskBlue )
{
+ unsigned char alpha = 255 ;
+ if ( source_alpha )
+ alpha = *(source_alpha + y_offset + x * xFactor + x1) ;
if ( alpha > 0 )
{
avgRed += red ;
diff --git a/src/common/intl.cpp b/src/common/intl.cpp
index 0b0d8798f4..7072fab18a 100644
index 0b0d8798f4..294f542b1f 100644
--- a/src/common/intl.cpp
+++ b/src/common/intl.cpp
@@ -1628,6 +1628,12 @@ GetInfoFromLCID(LCID lcid,
@@ -266,7 +315,7 @@ index 0b0d8798f4..7072fab18a 100644
str = buf;
+//FIXME Vojtech: We forcefully set the locales for a decimal point to "C", but this
+// is not possible for the Win32 locales, therefore there is a discrepancy.
+// is not possible for the Win32 locales, therefore there is a discrepancy.
+// It looks like we live with the discrepancy for at least half a year, so we will
+// suppress the assert until we fix Slic3r to properly switch to "C" locales just
+// for file import / export.
@@ -667,3 +716,28 @@ index de5f52860c..a9581174a4 100644
return value;
// TODO case wxSYS_FRAMESIZE_X:
diff --git a/src/osx/cocoa/window.mm b/src/osx/cocoa/window.mm
index b322e582c5..79de567333 100644
--- a/src/osx/cocoa/window.mm
+++ b/src/osx/cocoa/window.mm
@@ -190,6 +190,9 @@ NSRect wxOSXGetFrameForControl( wxWindowMac* window , const wxPoint& pos , const
- (BOOL)isEnabled;
- (void)setEnabled:(BOOL)flag;
+- (BOOL)clipsToBounds;
+- (void)setClipsToBounds:(BOOL)clipsToBounds;
+
- (void)setImage:(NSImage *)image;
- (void)setControlSize:(NSControlSize)size;
@@ -2505,6 +2508,7 @@ wxWidgetImpl( peer, flags )
if ( m_osxView )
CFRetain(m_osxView);
[m_osxView release];
+ m_osxView.clipsToBounds = YES;
}
--
2.41.0.windows.2

View File

@@ -1,12 +1,16 @@
set(_wx_git_tag v3.1.5)
set(_wx_version 3.1.5)
set(_wx_git_tag v${_wx_version})
set(_wx_toolkit "")
set(_wx_private_font "-DwxUSE_PRIVATE_FONTS=1")
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(_wx_private_font "-DwxUSE_PRIVATE_FONTS=1")
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(_gtk_ver 2)
if (DEP_WX_GTK3)
set(_gtk_ver 3)
endif ()
set(_wx_toolkit "-DwxBUILD_TOOLKIT=gtk${_gtk_ver}")
endif()
@@ -16,20 +20,35 @@ else ()
set(_wx_edge "-DwxUSE_WEBVIEW_EDGE=OFF")
endif ()
set(_wx_orcaslicer_patch "${CMAKE_CURRENT_LIST_DIR}/0001-wx-3.1.5-patch-for-Orca.patch")
if (MSVC)
set(_patch_cmd if not exist WXWIDGETS_PATCHED ( "${GIT_EXECUTABLE}" apply --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-wxWidget-fix.patch && type nul > WXWIDGETS_PATCHED ) )
set(_patch_cmd if not exist WXWIDGETS_PATCHED ( "${GIT_EXECUTABLE}" apply --verbose --ignore-space-change --whitespace=fix ${_wx_orcaslicer_patch} && type nul > WXWIDGETS_PATCHED ) )
else ()
set(_patch_cmd test -f WXWIDGETS_PATCHED || ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-wxWidget-fix.patch && touch WXWIDGETS_PATCHED)
set(_patch_cmd test -f WXWIDGETS_PATCHED || ${PATCH_CMD} ${_wx_orcaslicer_patch} && touch WXWIDGETS_PATCHED)
endif ()
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(_patch_cmd ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-wxWidget-fix.patch)
set(_patch_cmd ${PATCH_CMD} ${_wx_orcaslicer_patch})
endif ()
# Note: for anybody wanting to switch to tarball fetching - this won't just work as
# git apply expects a git repo. Either git init empty repo, or change patching method.
# if (WIN32)
# # Windows requires a different tarball because of configured line endings as stated in docs.
# set(_wx_tarball_url https://github.com/wxWidgets/wxWidgets/releases/download/${_wx_git_tag}/wxWidgets-${_wx_version}.7z)
# set(_wx_tarball_hash 99f5382312e4a4aea444ada07341a72c5d4a69b58d8e76586d4b94ede7f5ef4d)
# else()
# set(_wx_tarball_url https://github.com/wxWidgets/wxWidgets/releases/download/${_wx_git_tag}/wxWidgets-${_wx_version}.tar.bz2)
# set(_wx_tarball_hash d7b3666de33aa5c10ea41bb9405c40326e1aeb74ee725bb88f90f1d50270a224)
# endif()
orcaslicer_add_cmake_project(
wxWidgets
GIT_REPOSITORY "https://github.com/wxWidgets/wxWidgets"
GIT_TAG ${_wx_git_tag}
GIT_SHALLOW ON
# URL ${_wx_tarball_url}
# URL_HASH SHA256=${_wx_tarball_hash}
PATCH_COMMAND ${_patch_cmd}
DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} dep_TIFF dep_JPEG
CMAKE_ARGS

35
doc/Auxiliary-fan.md Normal file
View File

@@ -0,0 +1,35 @@
OrcaSlicer use `M106 P2` command to control auxiliary cooling fan.
If you are using Klipper, you can define a `M106` macro to control the both normal part cooling fan and auxiliary fan and exhaust fan.
Below is a reference configuration for Klipper.
*Note: Don't forget to change the pin name to the actual pin name you are using in the configuration*
```
# instead of using [fan], we define the default part cooling fan with [fan_generic] here
# this is the default part cooling fan
[fan_generic fan0]
pin: PA7
cycle_time: 0.01
hardware_pwm: false
# this is the auxiliary fan
# comment out it if you don't have auxiliary fan
[fan_generic fan2]
pin: PA8
cycle_time: 0.01
hardware_pwm: false
# this is the exhaust fan
# comment out it if you don't have exhaust fan
[fan_generic fan3]
pin: PA9
cycle_time: 0.01
hardware_pwm: false
[gcode_macro M106]
gcode:
{% set fan = 'fan' + (params.P|int if params.P is defined else 0)|string %}
{% set speed = (params.S|float / 255 if params.S is defined else 1.0) %}
SET_FAN_SPEED FAN={fan} SPEED={speed}
```

View File

@@ -10,12 +10,13 @@
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.
**NOTE**: After completing the calibration process, remember to create a new project in order to exit the calibration mode.
**NOTE2**: @ItsDeidara has made a webpage to help with the calculation. Check it out if those equations give you a headache [here](https://orcalibrate.com/).
# 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)
![flowrate](./images/flow-calibration.gif)
Calibrating the flow rate involves a two-step process.
Steps
1. Select the printer, filament, and process you would like to use for the test.
@@ -29,8 +30,8 @@ Steps
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)
![-6](https://user-images.githubusercontent.com/103989404/210139131-ee224146-b242-4c1c-ac96-35ef0ca591f1.jpg)
![image](./images/flowcalibration_update_flowrate.jpg)
# Pressure Advance

View File

@@ -0,0 +1,52 @@
OrcaSlicer use `M141/M191` command to control active chamber heater.
If `Activate temperature control` is checked, OrcaSlicer will insert `M191` command at the beginning of the gcode(before `Machine G-code`).
![image](./images/activate_chamber_heater.jpg)
*Note: If the machine is equipped with an auxiliary fan, OrcaSlicer will automatically activate the fan during the heating period to help circulate air in the chamber.*
There are two chamber temperature variables available that we can use in `Machine G-code` to control the chamber temperature, if you prefer:
To access the chamber temperature set in the first filament, use:
`M191 S{chamber_temperature[0]}`
To use the overall chamber temperature, which is the highest chamber temperature set across all filaments, use:
`M191 S{overall_chamber_temperature}`
--------------------------Klipper--------------------------
If you are using Klipper, you can define these macros to control the active chamber heater.
Bellow is a reference configuration for Klipper.
*Note: Don't forget to change the pin name/values to the actual values you are using in the configuration*
```
[heater_generic chamber_heater]
heater_pin:PB10
max_power:1.0
# Orca note: here the temperature sensor should be the sensor you are using for chamber temperature, not the PTC sensor
sensor_type:NTC 100K MGB18-104F39050L32
sensor_pin:PA1
control = pid
pid_Kp = 63.418
pid_ki = 0.960
pid_kd = 1244.716
min_temp:0
max_temp:70
[gcode_macro M141]
gcode:
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={params.S|default(0)}
[gcode_macro M191]
gcode:
{% set s = params.S|float %}
{% if s == 0 %}
# If target temperature is 0, do nothing
M117 Chamber heating cancelled
{% else %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={s}
# Orca: uncomment the following line if you want to use heat bed to assist chamber heating
# M140 S100
TEMPERATURE_WAIT SENSOR="heater_generic chamber_heater" MINIMUM={s-1} MAXIMUM={s+1}
M117 Chamber at target temperature
{% endif %}
```

View File

@@ -0,0 +1,181 @@
<h1>Extrusion rate smoothing</h1>
Extrusion rate smoothing (ERS), also known as pressure equalizer in Prusa Slicer, aims to **limit the rate of extrusion volume change to be below a user set threshold (the ERS value).** It aims to assist the printer firmware internal motion planners, pressure advance in achieving the desired nozzle flow and reducing deviations against the ideal flow.
This happens by reducing the stresses put on the extrusion system as well as reducing the absolute deviations from the ideal extrusion flow caused by pressure advance smooth time.
This feature is especially helpful when printing at high accelerations and large flow rates as the deviations are larger in these cases.
![Screenshot 2023-09-18 at 22 44 26](https://github.com/SoftFever/OrcaSlicer/assets/59056762/281b9c78-9f5c-428e-86b9-509de099a3e7)
<h2>Theory</h2>
Enabling this feature creates a small **speed "ramp"** by slowing down and ramping up print speeds prior to and after the features causing a sudden change in extrusion flow rate needs, such as overhangs and overhang perimeters.
This works by breaking down the printed line segments into smaller "chunks", proportional to the ERS segment length, and reduces the print speed of these segments so that the **requested extrusion volumetric flow rate change is less than or equal to the ERS threshold**.
In summary, **it takes the "edge" off rapid extrusion changes caused by acceleration/deceleration as these are now spread over a longer distance and time.** Therefore, it can reduce wall artefacts that show when the print speeds change suddenly. These artefacts are occuring because the extruder and firmware cannot perfectly adhere to the requested by the slicer flow rates, especially when the extrusion rate is changing rapidly.
**The example below shows the artefact that is mitigated by ERS.**
![ERS Disabled](https://github.com/SoftFever/OrcaSlicer/assets/59056762/31fdbf91-2067-4286-8bc1-4f7de4a628b6)
The bulging visible above is due to the extruder not being able to respond fast enough against the required speed change when printing with high accelerations and high speeds and requested to slow down for an overhang.
In the above scenario, the printer (Bambu Lab X1 Carbon) was requested to slow down from a 200mm/sec print speed to 40mm/sec at an acceleration of 5k/sec2. **The extruder could not keep up with the pressure change, resulting in a slight bump ahead at the point of speed change.**
This parameter interacts with the below printer kinematic settings and physical limits:
**1. The limits of the extruder system** - how fast can it change pressure in the nozzle
**2. The configured pressure advance values** - that also affect pressure changes in the nozzle
**3. The acceleration profile of the printer** - higher accelerations mean higher pressure changes
**4. The pressure advance smooth time (klipper)** - higher smooth time means higher deviation from ideal extrusion, hence more opportunity for this feature to be useful.
<h3>Acceleration vs. Extrusion rate smoothing</h3>
A printer's motion system does not exactly follow the speed changes seen in the gcode preview screen of Orca slicer.
When a speed change is requested, the firmware look ahead planner calculates the slow down needed to achieve the target speed. The rate of slowdown is limited by the move's acceleration value.
**Lets consider an example.** Assume printing an overhang wall with **2k external wall acceleration**, were the printer is called to slow down from **200mm/sec to 40mm/sec**.
This deceleration move would happen over approximately 9.6mm. This is derived from the following equation:
![image](https://github.com/igiannakas/OrcaSlicer/assets/59056762/4ba0356b-49ab-428c-ab10-f2c88bcc1bcb)
![image](https://github.com/igiannakas/OrcaSlicer/assets/59056762/3958deb5-fbc3-4d07-8903-4575033717fd)
The time taken to decelerate to this new speed would be approx. 0.08 seconds, derived from the following equation:
![image](https://github.com/igiannakas/OrcaSlicer/assets/59056762/ea9f19b4-defe-4656-9ecc-a6576c87d8e0)
A printer printing at 200mm/sec with a 0.42 line width and 0.16 layer height would be extruding plastic at approx. 12.16mm3/sec, as can also be seen from the below visual.
![image](https://github.com/igiannakas/OrcaSlicer/assets/59056762/83242b26-7174-4da1-b815-d9fcec767bcd)
When the printer is extruding at 40mm/sec with the same line width and layer height as above, the flow rate is 2.43mm3/sec.
So what we are asking the extruder to do in this example is **slow down from 12.16mm3/sec flow to 2.43mm3/sec flow in 0.08 seconds** or an extrusion change rate of 121mm3/sec2.
**This value is proportional to the acceleration of the printer. At 4k this value doubles, at 1k it is half and is independent of the speed of movement or starting and ending speeds.**
**This value is also proportional to the line width - double the line width will result in double the extrusion rate change and vice versa. Same for layer height.**
So, continuing with the worked example, a 2k acceleration produces an extrusion rate change ramp of 121mm3/sec2. **Therefore, setting a value higher than this would not bring any benefit to the print quality as the motion system would slow down less aggressively based on its acceleration settings.**
**Therefore, the acceleration values act as a meaningfull upper limit to this setting.** An indicative set of values has been provided later in this page.
<h3>Pressure advance vs extrusion rate smoothing</h3>
Then we need to consider pressure advance and smooth time as factors that influence extrusion rate.
**Pressure Advance** adjusts the extruder's speed to account for the pressure changes inside the hot ends melt zone. When the print head moves and extrudes filament, there's a delay between the movement of the extruder gear and the plastic being extruded due to the compressibility of the molten plastic in the hot end. This delay can cause too much plastic to be extruded when the print head starts moving or not enough plastic when the print head stops, leading to issues like blobbing or under-extrusion.
**Pressure Advance Smooth time** helps to mitigate potential negative effects on print quality due to the rapid changes in extruder flow rate, which are controlled by the Pressure Advance algorithm. This parameter essentially adds a smoothing effect to the adjustments made by Pressure Advance, aiming to prevent sharp or sudden changes in the extrusion rate.
When Pressure Advance adjusts the extruder speed to compensate for the pressure build-up or reduction in the hot end, it can lead to abrupt changes in the flow rate. These abrupt changes can potentially cause issues like:
1. Extruder motor skipping,
2. Increased wear on the extruder gear and filament,
3. Visible artifacts on the print surface due to non-uniform extrusion.
The smooth time setting introduces a controlled delay over which the Pressure Advance adjustments are spread out. This results in a more gradual application or reduction of extrusion pressure, leading to smoother transitions in filament flow.
The trade-off is extrusion accuracy. There is a deviation between the requested extrusion amount and the actual extrusion amount due to this smoothing.
**1. Increasing Smooth Time:** Leads to more gradual changes in extrusion pressure. While this can reduce artifacts and stress on the extruder system, setting it too high may diminish the effectiveness of Pressure Advance, as the compensation becomes too delayed to counteract the pressure dynamics accurately.
**2. Decreasing Smooth Time:** Makes the Pressure Advance adjustments more immediate, which can improve the responsiveness of pressure compensation but may also reintroduce abrupt changes in flow rate, potentially leading to the issues mentioned above.
In essence, p**ressure advance smooth time creates an intentional deviation from the ideal extruder rotation** and, therefore, extrusion amount, to allow the printer's extruder to perform within its mechanical limits. Typically, this value is set to 0.04sec, which means that when Pressure Advance adjusts the extruder's flow rate to compensate for changes in pressure within the hot end, these adjustments are spread out over a period of 0.04 seconds.
There is a great example of pressure advance smooth time induced deviations [here](https://klipper.discourse.group/t/pressure-advance-smooth-time-skews-pressure-advance/13451) that is worth a read to get more insight in this trade-off.
In the worked example above, **we need to set an Extrusion Rate smoothing value enough to decrease the error introduced by pressure advance smooth time against the produced output flow.** The lower the extrusion rate smoothing value, the lower the changes in flow over time hence the lower the absolute deviation from the ideal extrusion caused by the smooth time algorithm. However, going too low will result in a material decrease in overall print speed, as the print speed will be materially reduced to achieve low extrusion deviations between features, for no real benefit after a point.
**The best way to find what the lower beneficial limit is through experimentation.** Print an object with sharp overhangs that are slowed down because off the overhang print speed settings and observe for extrusion inconsistencies.
<h2>Finding the ideal Extrusion Rate smoothing value</h2>
**Firstly, this value needs to be lower than the extrusion rate changes resulting from the acceleration profile of the printer.** As, generally, the greatest impact is in external wall finish, use your external perimeter acceleration as a point of reference.
**Below are some approximate ERS values for 0.42 line width and 0.16 layer height.**
1. 30mm3/sec for 0.5k acceleration
2. 60.5mm3/sec for 1k acceleration
3. 121mm3/sec2 for 2k acceleration
4. 242mm3/sec2 for 4k acceleration
**Below are some approximate ERS values for 0.42 line width and 0.20 layer height.**
1. 38mm3/sec for 0.5k acceleration
2. 76mm3/sec for 1k acceleration
3. 150mm3/sec2 for 2k acceleration
4. 300mm3/sec2 for 4k acceleration
**Below are some approximate ERS values for 0.45 line width and 0.16 layer height.**
1. 32mm3/sec for 0.5k acceleration
2. 65mm3/sec for 1k acceleration
3. 129mm3/sec2 for 2k acceleration
4. 260mm3/sec2 for 4k acceleration
**So, your tuning starting point needs to be an ERS value that is less than this.** A good point experiment with test prints would be **a value of 60-80%** of the above maximum values. This will give some meaningful assistance to pressure advance, reducing the deviation introduced by pressure advance smooth time. The greater the smooth time, the greater the quality benefit will be.
Therefore, for a **0.42 line width and 0.16 layer height**, the below are a recommended set of starting ERS values
1. 18-25mm3/sec for 0.5k acceleration
2. 35-50mm3/sec for 1k acceleration
3. 70-100mm3/sec2 for 2k acceleration
4. 145-200mm3/sec2 for 4k acceleration
If you are printing with a 0.2 layer height, you can increase these values by 25% and similarly reduce if printing with lower.
**The second factor is your extruder's mechanical abilities.** Direct drive extruders with a good grip on the filament typically are more responsive to extrusion rate changes. Similarly with stiff filaments. So, a Bowden printer or when printing softer material like TPU or soft PLAs like polyterra there is more opportunity for the extruder to slip or deviate from the desired extrusion amount due to mechanical grip or material deformation or just delay in propagating the pressure changes (in a Bowden setup).
**The final factor is the deviation introduced by pressure advance smooth time**, or equivalents in closed source firmware. The higher this value the larger the extrusion deviation from ideal. If you are using a direct drive extruder, reduce this value to 0.02 in your klipper firmware before tuning ERS, as a lower value results in lower deviations to mitigate. Then proceed to experimentaly tune ERS.
**So where does that leave us?**
Perform a test print with the above ERS settings as a starting point and adjust to your liking! If you notice budging on sharp overhangs where speed changes, like the hull of the benchy, reduce this value by 10% and try again.
If you're not noticing any artefacts, increase by 10%, but dont go over the maximum values recommended above because then this feature would have no effect in your print.
<h2>A note for Bowden printers using marlin without pressure advance. </h2>
If your printer is not equipped with pressure advance and, especially, if you are using a Bowden setup, you dont have the benefit of pressure advance dynamically adjusting your flow.
In this special case, ERS will be doing all the heavy lifting that pressure advance would typically perform. In this scenario a low value of 8-10mm3/sec is usually recommended, irrespective of your acceleration settings, to smooth out pressure changes in the extrusion system as much as possible without impacting print speed too much.
<h2>A note on ERS Segment length </h2>
Ideally you want this value set to 1 to allow for the largest number of steps between each speed transition. However, this may result in a too large of a gcode, with too many commands sent to your MCU per second and it may not be able to keep up. It will also slow down the Orca slicer front end as the sliced model is more complex to render.
For Klipper printers, a segment length of 1 works OK as the RPI or similar have enough computational power to handle the gcode command volume.
Similarly, for a Bambu lab printer, a segment length of 1 works well. **However, if you do notice your printer stuttering or stalling** (which may be the case with the lower powered P1 series printers) **or getting "Timer too close" errors** in Klipper, **increase this value to 2 or 3**. This would reduce the effectiveness of the setting but will present a more manageable load to your printer.
<h2>Limitations</h2>
**This feature can only work where speed changes are induced by the slicer** - for example when transitioning from fast to slow print moves when printing overhangs, bridges and from printing internal features to external features and vice versa.
However, it will not affect extruder behaviour when the printer is slowing down due to firmware commands - for example when turning around corners.
In this case, the printer slows down and then accelerates independently of what the slicer has requested. In this case, the slicer is commanding a consistent speed; however, the printer is adjusting this to operate within its printer kinematic limits (SCV/Jerk) and accelerations. As the slicer is not aware of this slow down, it cannot apply pre-emptive extrusion rate smoothing to the feature and instead, the changes are governed by the printer firmware exclusively.
<h2>Credits</h2>
**Original feature authors and creators:** The Prusa Slicer team, including [@bubnikv](https://github.com/bubnikv), [@hejllukas](https://github.com/hejllukas)
**Enhanced by:** [@MGunlogson](https://github.com/MGunlogson), introducing the feature to external perimeters, enhancing it by taking into account travel, retraction and implementing near-contiguous extrusions pressure equalizer adjustments.
**Ported to Orca:** [@igiannakas](https://github.com/igiannakas)
**Enhanced by:** [@noisyfox](https://github.com/Noisyfox), per object pressure equalization and fixing calculation logic bugs
**Wiki page:** [@igiannakas](https://github.com/igiannakas)
**Overall Orca owner and assurance:** [@softfever](https://github.com/SoftFever)
**Community testing and feedback:** [@HakunMatat4](https://github.com/HakunMatat4), [@psiberfunk](https://github.com/psiberfunk), [@u3dreal](https://github.com/u3dreal) and more

View File

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

13
doc/Precise-wall.md Normal file
View File

@@ -0,0 +1,13 @@
The 'Precise Wall' is a distinctive feature introduced by OrcaSlicer, aimed at improving the dimensional accuracy of prints and minimizing layer inconsistencies by slightly increasing the spacing between the outer wall and the inner wall.
Below is a technical explanation of how this feature works.
First, it's important to understand some basic concepts like flow, extrusion width, and space. Slic3r has an excellent document that covers these topics in detail. You can refer to this article: [link to article](https://manual.slic3r.org/advanced/flow-math).
Now, let's dive into the specifics. Slic3r and its forks, such as PrusaSlicer, SuperSlicer, and OrcaSlicer, assume that the extrusion path has an oval shape, which accounts for the overlaps. For example, if we set the wall width to 0.4mm and the layer height to 0.2mm, the combined thickness of two walls laid side by side is 0.714mm instead of 0.8mm due to the overlapping.
![image](./images/precise_wall.png)
This approach enhances the strength of 3D-printed parts. However, it does have some side effects. For instance, when the inner-outer wall order is used, the outer wall can be pushed outside, leading to potential size inaccuracy and more layer inconsistency.
It's important to keep in mind that this approach to handling flow is specific to Slic3r and it's forks. Other slicing software, such as Cura, assumes that the extrusion path is rectangular and, therefore, does not include overlapping. Two 0.4 mm walls will result in a 0.8 mm shell thickness in Cura
OrcaSlicer adheres to Slic3r's approach to handling flow. To address the downsides mentioned earlier, OrcaSlicer introduced the 'Precise Wall' feature. When this feature is enabled in OrcaSlicer, the overlap between the outer wall and its adjacent inner wall is set to zero. This ensures that the overall strength of the printed part is unaffected, while the size accuracy and layer consistency are improved.

8
doc/Print-settings.md Normal file
View File

@@ -0,0 +1,8 @@
Print settings:
* [Seam](seam)
* [Axiliary fan](auxiliary-fan)
* [Chamber temperature](chamber-temperature)
* [Air filtration/Exhaust fan](air-filtration)
* [Single Extruder Multimaterial](semm)
* [Precise wall](Precise-wall)

View File

@@ -1,17 +1,20 @@
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)
WIP...
### Scarf joint seam
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

43
doc/adaptive-bed-mesh.md Normal file
View File

@@ -0,0 +1,43 @@
# Adaptive Bed Mesh Support
Orca Slicer introduces comprehensive support for adaptive bed meshing across a variety of firmware, including Marlin, Klipper, and RepRapFirmware (RRF).
This feature allows users to seamlessly integrate adaptive bed mesh commands within the Machine Start G-code.
The implementation is designed to be straightforward, requiring no additional plugins or alterations to firmware settings, thereby enhancing user experience and print quality directly from Orca Slicer.
![Screenshot 2024-02-24 104601](https://github.com/SoftFever/OrcaSlicer/assets/103989404/8ab1f26f-987d-4419-942f-b1384270a164)
## Settings in Orca Slicer:
`Bed mesh min`: This option sets the min point for the allowed bed mesh area. Due to the probe's XY offset, most printers are unable to probe the entire bed. To ensure the probe point does not go outside the bed area, the minimum and maximum points of the bed mesh should be set appropriately. OrcaSlicer ensures that adaptive_bed_mesh_min/adaptive_bed_mesh_max values do not exceed these min/max points. This information can usually be obtained from your printer manufacturer. The default setting is (-99999, -99999), which means there are no limits, thus allowing probing across the entire bed.
`Bed mesh max`: This option sets the max point for the allowed bed mesh area. Due to the probe's XY offset, most printers are unable to probe the entire bed. To ensure the probe point does not go outside the bed area, the minimum and maximum points of the bed mesh should be set appropriately. OrcaSlicer ensures that adaptive_bed_mesh_min/adaptive_bed_mesh_max values do not exceed these min/max points. This information can usually be obtained from your printer manufacturer. The default setting is (99999, 99999), which means there are no limits, thus allowing probing across the entire bed.
`Probe point distance`: This option sets the preferred distance between probe points (grid size) for the X and Y directions, with the default being 50mm for both X and Y.
`Mesh margin`: This option determines the additional distance by which the adaptive bed mesh area should be expanded in the XY directions. Note for Klipper users: Orca Slicer will adjust adaptive bed mesh area according to the margin. It is recommended to set the margin to 0 in Klipper config or pass 0 when calling BED_MESH_CALIBRATE command(please refer to the example below).
## Available g-code variables for Adaptive Bed Mesh Command
`bed_mesh_probe_count`: Represents the probe count in the X and Y directions. This value is calculated based on the size of the adaptive bed mesh area and the distance between probe points.
`adaptive_bed_mesh_min`: Specifies the minimum coordinates of the adaptive bed mesh area, defining the starting point of the mesh.
`adaptive_bed_mesh_max`: Determines the maximum coordinates of the adaptive bed mesh area, indicating the endpoint of the mesh.
`ALGORITHM`: Identifies the algorithm used for adaptive bed mesh interpolation. This variable is useful for Klipper users. If bed_mesh_probe_count is less than 4, the algorithm is set to `lagrange`. Otherwise, it is set to `bicubic`.
## Example of Adaptive Bed Mesh usage in Orca Slicer:
### Marlin:
```
; Marlin don't support speicify the probe count yet, so we only specify the probe area
G29 L{adaptive_bed_mesh_min[0]} R{adaptive_bed_mesh_max[0]} F{adaptive_bed_mesh_min[1]} B{adaptive_bed_mesh_max[1]} T V4
```
### Klipper:
```
; Always pass `ADAPTIVE_MARGIN=0` because Orca has already handled `adaptive_bed_mesh_margin` internally
BED_MESH_CALIBRATE mesh_min={adaptive_bed_mesh_min[0]},{adaptive_bed_mesh_min[1]} mesh_max={adaptive_bed_mesh_max[0]},{adaptive_bed_mesh_max[1]} ALGORITHM=[bed_mesh_algo] PROBE_COUNT={bed_mesh_probe_count[0]},{bed_mesh_probe_count[1]} ADAPTIVE=1 ADAPTIVE_MARGIN=0
```
### RRF:
```
M557 X{adaptive_bed_mesh_min[0]}:{adaptive_bed_mesh_max[0]} Y{adaptive_bed_mesh_min[1]}:{adaptive_bed_mesh_max[1]} P{bed_mesh_probe_count[0]}:{bed_mesh_probe_count[1]}
```
![Screenshot 2024-02-24 104759](https://github.com/SoftFever/OrcaSlicer/assets/103989404/ad4a8020-bec6-4361-abb9-4017ca77471f)

35
doc/air-filtration.md Normal file
View File

@@ -0,0 +1,35 @@
OrcaSlicer use `M106 P3` command to control air-filtration/exhaust fan.
If you are using Klipper, you can define a `M106` macro to control the both normal part cooling fan and auxiliary fan and exhaust fan.
Below is a reference configuration for Klipper.
*Note: Don't forget to change the pin name to the actual pin name you are using in the configuration*
```
# instead of using [fan], we define the default part cooling fan with [fan_generic] here
# this is the default part cooling fan
[fan_generic fan0]
pin: PA7
cycle_time: 0.01
hardware_pwm: false
# this is the auxiliary fan
# comment out it if you don't have auxiliary fan
[fan_generic fan2]
pin: PA8
cycle_time: 0.01
hardware_pwm: false
# this is the exhaust fan
# comment out it if you don't have exhaust fan
[fan_generic fan3]
pin: PA9
cycle_time: 0.01
hardware_pwm: false
[gcode_macro M106]
gcode:
{% set fan = 'fan' + (params.P|int if params.P is defined else 0)|string %}
{% set speed = (params.S|float / 255 if params.S is defined else 1.0) %}
SET_FAN_SPEED FAN={fan} SPEED={speed}
```

27
doc/bed-types.md Normal file
View File

@@ -0,0 +1,27 @@
# Multiple bed types
You can enable it in printer settings.
Once enabled, you can select the bed type in the drop-down menu, corresponding bed temperature will be set automatically.
You can set the bed temperature for each bed type in the filament settings as demonstrated in the following image.
![multi_bed](./images/bed-types.gif)
Orca also support `curr_bed_type` variable in custom G-code.
For example, the following sample G-codes can detect the selected bed type and adjust the G-code offset accordingly for Klipper:
```
{if curr_bed_type=="Textured PEI Plate"}
SET_GCODE_OFFSET Z=-0.05
{else}
SET_GCODE_OFFSET Z=0.0
{endif}
```
available bed types are:
```
"Cool Plate"
"Engineering Plate"
"High Temp Plate"
"Textured PEI Plate"
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 773 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
doc/images/ERS/intro.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 783 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
doc/images/bed-types.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 463 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

BIN
doc/images/precise_wall.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

11
doc/semm.md Normal file
View File

@@ -0,0 +1,11 @@
# Single Extruder Multimaterial Printing in OrcaSlicer
## Introduction
In this guide, we will explain the parameters for single extruder multimaterial printing in OrcaSlicer. The whole process and parameters are same as PrusaSlicer as OrcaSlicer is based on PrusaSlicer.
OrcaSlicer has some additional features and minor differences though. We will explain them in this guide.
## Prime tower
WIP...
## Ramming
WIP...
## Manual filament change
WIP...

View File

@@ -39,6 +39,11 @@
"pattern": "localization/i18n/hu/OrcaSlicer_hu.po",
"lang": "hu"
},
{
"type": "po",
"pattern": "localization/i18n/ja/OrcaSlicer_hu.po",
"lang": "it"
},
{
"type": "po",
"pattern": "localization/i18n/ja/OrcaSlicer_ja.po",
@@ -63,6 +68,11 @@
"type": "po",
"pattern": "localization/i18n/tr/OrcaSlicer_tr.po",
"lang": "tr"
},
{
"type": "po",
"pattern": "localization/i18n/tr/OrcaSlicer_pl.po",
"lang": "pl"
}
]
},

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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