Compare commits
325 Commits
release/v1
...
v2.0.0-bet
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eb5a1bc713 | ||
|
|
9324313c28 | ||
|
|
8d62a47b4e | ||
|
|
21488336f2 | ||
|
|
8a1313aa43 | ||
|
|
92df682a8b | ||
|
|
f83a3377ab | ||
|
|
6689087e6f | ||
|
|
94eb020459 | ||
|
|
c9a8e55dab | ||
|
|
fbc8d41778 | ||
|
|
e86b973eee | ||
|
|
20477bcc40 | ||
|
|
2efba59b0d | ||
|
|
94f45f375a | ||
|
|
6ff4e4c00d | ||
|
|
fab886c0a0 | ||
|
|
879c3924c9 | ||
|
|
922d465605 | ||
|
|
849fe44bf9 | ||
|
|
89f51031eb | ||
|
|
123d25b443 | ||
|
|
697fc38275 | ||
|
|
a4bf3dabb4 | ||
|
|
6264fe64b4 | ||
|
|
99a090b83c | ||
|
|
2b62017d63 | ||
|
|
e787cd5315 | ||
|
|
16164e99a9 | ||
|
|
394eddd650 | ||
|
|
7b31ee3a45 | ||
|
|
eae2703610 | ||
|
|
878a7a0e58 | ||
|
|
a4d9d83805 | ||
|
|
5cbbd053d1 | ||
|
|
27439ed547 | ||
|
|
946cf2b334 | ||
|
|
25054a11a8 | ||
|
|
d932b0d7ed | ||
|
|
0787cc20b6 | ||
|
|
27b8c3498b | ||
|
|
96b07a4e49 | ||
|
|
042d9c423a | ||
|
|
924a2b4551 | ||
|
|
ab1b0e0ebc | ||
|
|
5dab9b20b5 | ||
|
|
6e7117e0b1 | ||
|
|
569e50283d | ||
|
|
aa518420b5 | ||
|
|
3757d96cd4 | ||
|
|
9f7cec3f44 | ||
|
|
840c347957 | ||
|
|
f44eac74ea | ||
|
|
418354c53b | ||
|
|
a5029c263c | ||
|
|
ad9779f08a | ||
|
|
ca0fb9fb75 | ||
|
|
2b6937acbe | ||
|
|
01b0c87471 | ||
|
|
0f6cbace22 | ||
|
|
93714f834d | ||
|
|
0e1307ab83 | ||
|
|
a88f31cdaa | ||
|
|
56ce711c48 | ||
|
|
6f3a49aabe | ||
|
|
8c941df4e8 | ||
|
|
047b889ba6 | ||
|
|
bf4d59a676 | ||
|
|
4991a3d312 | ||
|
|
7e3b8007cb | ||
|
|
d3309b978f | ||
|
|
2c279c5648 | ||
|
|
ab2aaefe42 | ||
|
|
e4255b3c01 | ||
|
|
d82987ca32 | ||
|
|
f280aed9d1 | ||
|
|
372518582b | ||
|
|
558510c5f1 | ||
|
|
099e496ce9 | ||
|
|
40f17be21f | ||
|
|
bff50a5fd8 | ||
|
|
a74a1d26fd | ||
|
|
b78e459705 | ||
|
|
7e78f0d64f | ||
|
|
8ce07d3e8e | ||
|
|
1f835e01fc | ||
|
|
407661522f | ||
|
|
8bb9c8deb1 | ||
|
|
4db05c0a0f | ||
|
|
f9849d1302 | ||
|
|
ab11266b10 | ||
|
|
eb345650a5 | ||
|
|
35f39df1f9 | ||
|
|
8d56490dad | ||
|
|
32418eb66e | ||
|
|
73bb37b7c9 | ||
|
|
f5654d80ef | ||
|
|
2d140f92ff | ||
|
|
291cfe1d4a | ||
|
|
9f1d47117e | ||
|
|
38409359a8 | ||
|
|
ef9ff99cea | ||
|
|
083e7cd3d5 | ||
|
|
e93195ab34 | ||
|
|
174ee050ea | ||
|
|
31d1d03578 | ||
|
|
cc55c2dde7 | ||
|
|
439db2862d | ||
|
|
df36de4780 | ||
|
|
7aee6d7e61 | ||
|
|
208784c783 | ||
|
|
955601d632 | ||
|
|
5524d9db53 | ||
|
|
8b1b3355e6 | ||
|
|
b23ab4434d | ||
|
|
1e087aeaa4 | ||
|
|
951fc8e98a | ||
|
|
4110ecc968 | ||
|
|
e56a0de51b | ||
|
|
6d9b1d46d6 | ||
|
|
6937f031db | ||
|
|
10cba023e6 | ||
|
|
73ab032e82 | ||
|
|
d1eea4c677 | ||
|
|
da349202d2 | ||
|
|
cb99f29bbf | ||
|
|
10137d66b9 | ||
|
|
9b3a6d09db | ||
|
|
ab161d5a2b | ||
|
|
3b7b10f72f | ||
|
|
1487bdd69c | ||
|
|
c75e0c958f | ||
|
|
d70fcc143f | ||
|
|
3ae8cca5cf | ||
|
|
fba490969d | ||
|
|
da7f8e85fd | ||
|
|
e185795c87 | ||
|
|
eaabaffa7a | ||
|
|
65ff80a687 | ||
|
|
c8f4895373 | ||
|
|
e5bdc7d5bd | ||
|
|
3cb573dcb9 | ||
|
|
481fff494b | ||
|
|
0aebd8d002 | ||
|
|
35ab4c645a | ||
|
|
252788419b | ||
|
|
aac618dcb7 | ||
|
|
afb89c4309 | ||
|
|
55b6f2a588 | ||
|
|
48541be681 | ||
|
|
5ff00fb48c | ||
|
|
c4a66f36ae | ||
|
|
73481da6da | ||
|
|
1f00fe92d2 | ||
|
|
d3210a4530 | ||
|
|
4ec96d25a4 | ||
|
|
757b4de4c6 | ||
|
|
7aee846ddc | ||
|
|
11fd73a90d | ||
|
|
7c02b5c9f4 | ||
|
|
273b3682dc | ||
|
|
6479bc8edc | ||
|
|
8a529e1239 | ||
|
|
606438d61a | ||
|
|
122c5cedd8 | ||
|
|
ead78a98f9 | ||
|
|
33987d3e79 | ||
|
|
26505e23ee | ||
|
|
e92be73894 | ||
|
|
82ead12cde | ||
|
|
9f44e151ba | ||
|
|
595f707f22 | ||
|
|
b30efa727f | ||
|
|
e673e48c57 | ||
|
|
54795dfaaa | ||
|
|
fe148515ce | ||
|
|
c0c05c715b | ||
|
|
0b6968c36f | ||
|
|
b2708fb1f4 | ||
|
|
7eb45a0c73 | ||
|
|
418aca7186 | ||
|
|
44ad091bf0 | ||
|
|
95adb899a4 | ||
|
|
1615832236 | ||
|
|
9b76f51bd3 | ||
|
|
f4cf1c706b | ||
|
|
1ffa32beed | ||
|
|
b25617892e | ||
|
|
2e4e1a2e0f | ||
|
|
a9c572f0a9 | ||
|
|
698aba3570 | ||
|
|
fff85195b8 | ||
|
|
1cdd31fa99 | ||
|
|
a996188e38 | ||
|
|
c26a73a1ca | ||
|
|
76b97c3963 | ||
|
|
ff291a4ab8 | ||
|
|
0af1b9b958 | ||
|
|
b7b22eb78f | ||
|
|
d26513e635 | ||
|
|
f7b92d9813 | ||
|
|
7dd7b301e1 | ||
|
|
aef74ab005 | ||
|
|
3252e1c228 | ||
|
|
8de9d97cd8 | ||
|
|
22302a0f10 | ||
|
|
b4925363d6 | ||
|
|
0bf78f8e9e | ||
|
|
d5ee4ff1ab | ||
|
|
068b888199 | ||
|
|
1067fc2649 | ||
|
|
cb9792e1d9 | ||
|
|
8de98fc229 | ||
|
|
7e59e99841 | ||
|
|
40a980f5d8 | ||
|
|
5aae123cbb | ||
|
|
67de85ba43 | ||
|
|
793a753cfc | ||
|
|
43417b0f63 | ||
|
|
18b52fd780 | ||
|
|
61f8719c69 | ||
|
|
c02d2c4db3 | ||
|
|
c4538ae0a4 | ||
|
|
1fad2a76b3 | ||
|
|
67547d1037 | ||
|
|
0e16ad4fbf | ||
|
|
71c9ae7b2a | ||
|
|
907b160007 | ||
|
|
50b7b3d073 | ||
|
|
a8c3377d9b | ||
|
|
4abca6a091 | ||
|
|
ecd20184f9 | ||
|
|
e713849fed | ||
|
|
9d59cd66c4 | ||
|
|
1ea33f0919 | ||
|
|
8e3f7e7bf2 | ||
|
|
02258b4391 | ||
|
|
eec8508e74 | ||
|
|
3efe5f82d7 | ||
|
|
70c282667f | ||
|
|
712478c240 | ||
|
|
b619e5bf8e | ||
|
|
42e6b18149 | ||
|
|
9e443baf95 | ||
|
|
8d5bb6cc4b | ||
|
|
209e9a2bb9 | ||
|
|
a8148d8ee6 | ||
|
|
23942781ff | ||
|
|
7f1f94d531 | ||
|
|
7297997837 | ||
|
|
2235371f91 | ||
|
|
529f14d64b | ||
|
|
066e2f6062 | ||
|
|
f78d55eac5 | ||
|
|
4e3039b6f9 | ||
|
|
d839d673d0 | ||
|
|
5fc6301520 | ||
|
|
2109ac649d | ||
|
|
011d7ade15 | ||
|
|
7a1d782ce1 | ||
|
|
8c6100ea21 | ||
|
|
036b21edb9 | ||
|
|
0e590083fa | ||
|
|
6539dc4efa | ||
|
|
58cd50cc23 | ||
|
|
6d19d6207a | ||
|
|
05e159037f | ||
|
|
bdac496130 | ||
|
|
dd802764b9 | ||
|
|
accdbb9661 | ||
|
|
4f0a47b7f4 | ||
|
|
9701ab18e8 | ||
|
|
f99394b53c | ||
|
|
2cfcd0d03a | ||
|
|
4d1885e7a4 | ||
|
|
5683729b17 | ||
|
|
2f916f5ee9 | ||
|
|
967dc3d487 | ||
|
|
a36df66083 | ||
|
|
1dfaef3948 | ||
|
|
c623070395 | ||
|
|
52c08ca481 | ||
|
|
8fd4477110 | ||
|
|
60ab79cae0 | ||
|
|
98a9bf6170 | ||
|
|
8afb675cd7 | ||
|
|
074490491e | ||
|
|
a8ade1554f | ||
|
|
1d8cdf04d2 | ||
|
|
d0cf699617 | ||
|
|
527aefc6fb | ||
|
|
044e25d1cf | ||
|
|
141e74a5d9 | ||
|
|
c08ace303a | ||
|
|
d5210c9fc9 | ||
|
|
ec9030e0ef | ||
|
|
20f7cc0cf9 | ||
|
|
86936e8873 | ||
|
|
e3f08c544b | ||
|
|
fab8b78d69 | ||
|
|
63f9b3b1ba | ||
|
|
f89932f63e | ||
|
|
a96ed26519 | ||
|
|
c1bb9ecc43 | ||
|
|
2901c85ea9 | ||
|
|
b51856faff | ||
|
|
87830fdb9d | ||
|
|
bab1a79511 | ||
|
|
7ab2fabe6a | ||
|
|
90dd67e4e4 | ||
|
|
309979eaff | ||
|
|
78c7abe4c2 | ||
|
|
98d8b010c4 | ||
|
|
63351c01da | ||
|
|
de8013f211 | ||
|
|
20dab5d996 | ||
|
|
9127bed11f | ||
|
|
3086875c51 | ||
|
|
2f17c1915d | ||
|
|
0325e28b50 | ||
|
|
9416af2247 | ||
|
|
c02732e11c | ||
|
|
7e11aed69d | ||
|
|
cf36ca6ef9 | ||
|
|
9e4c332df2 |
51
.devcontainer/devcontainer.json
Normal 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
@@ -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
|
||||
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.exe filter=lfs diff=lfs merge=lfs -text
|
||||
55
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -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 CPU、Memory 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
@@ -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.
|
||||
23
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@@ -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.
|
||||
66
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal 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
|
||||
6
.github/workflows/build_check_cache.yml
vendored
@@ -23,7 +23,9 @@ jobs:
|
||||
valid-cache: ${{ steps.cache_deps.outputs.cache-hit }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: 'true'
|
||||
|
||||
- name: set outputs
|
||||
id: set_outputs
|
||||
@@ -38,7 +40,7 @@ jobs:
|
||||
|
||||
- name: load cache
|
||||
id: cache_deps
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ steps.set_outputs.outputs.cache-path }}
|
||||
key: ${{ steps.set_outputs.outputs.cache-key }}
|
||||
|
||||
18
.github/workflows/build_deps.yml
vendored
@@ -31,17 +31,19 @@ jobs:
|
||||
|
||||
# Setup the environment
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: 'true'
|
||||
|
||||
- name: load cached deps
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ inputs.cache-path }}
|
||||
key: ${{ inputs.cache-key }}
|
||||
|
||||
- name: setup dev on Windows
|
||||
if: inputs.os == 'windows-latest'
|
||||
uses: microsoft/setup-msbuild@v1.1
|
||||
uses: microsoft/setup-msbuild@v2
|
||||
|
||||
- name: Get the date on Ubuntu and macOS
|
||||
if: inputs.os != 'windows-latest'
|
||||
@@ -70,12 +72,12 @@ jobs:
|
||||
if: inputs.os == 'macos-12'
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: |
|
||||
brew install cmake git gettext automake texinfo
|
||||
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 -dp -a ${{ inputs.arch }} -t 10.15
|
||||
./build_release_macos.sh -dpx -a ${{ inputs.arch }} -t 10.15
|
||||
brew install zstd
|
||||
|
||||
|
||||
@@ -101,21 +103,21 @@ jobs:
|
||||
# Upload Artifacts
|
||||
- name: Upload Mac ${{ inputs.arch }} artifacts
|
||||
if: inputs.os == 'macos-12'
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: OrcaSlicer_dep_mac_${{ inputs.arch }}_${{ env.date }}
|
||||
path: ${{ github.workspace }}/deps/build_${{ inputs.arch }}/OrcaSlicer_dep*.tar.gz
|
||||
|
||||
- name: Upload Windows artifacts
|
||||
if: inputs.os == 'windows-latest'
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: OrcaSlicer_dep_win64_${{ env.date }}
|
||||
path: ${{ github.workspace }}/deps/build/OrcaSlicer_dep*.zip
|
||||
|
||||
- name: Upload Ubuntu artifacts
|
||||
if: inputs.os == 'ubuntu-20.04'
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: OrcaSlicer_dep_ubuntu_${{ env.date }}
|
||||
path: ${{ github.workspace }}/deps/build/OrcaSlicer_dep_ubuntu_*.tar.gz
|
||||
|
||||
120
.github/workflows/build_orca.yml
vendored
@@ -21,23 +21,32 @@ jobs:
|
||||
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: inputs.os != 'windows-latest'
|
||||
run: |
|
||||
if [ "${{ github.ref }}" == "refs/heads/main" ]; then
|
||||
ver="nightly$(date +'%y%m%d')"
|
||||
elif [[ "${{ github.event_name }}" == "pull_request" ]]; then
|
||||
ver="PR${{ github.event.number }}"
|
||||
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=$(grep 'set(SoftFever_VERSION' version.inc | cut -d '"' -f2)
|
||||
ver=V$ver
|
||||
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
|
||||
|
||||
@@ -49,9 +58,7 @@ jobs:
|
||||
$eventName = "${{ github.event_name }}"
|
||||
$prNumber = "${{ github.event.number }}"
|
||||
|
||||
if ($ref -eq 'refs/heads/main') {
|
||||
$ver = "nightly" + $date.Substring(2)
|
||||
} elseif ($eventName -eq 'pull_request') {
|
||||
if ($eventName -eq 'pull_request') {
|
||||
$ver = "PR" + $prNumber
|
||||
} else {
|
||||
$versionContent = Get-Content version.inc -Raw
|
||||
@@ -65,18 +72,12 @@ jobs:
|
||||
echo "date=$date" | Out-File -Append -FilePath $env:GITHUB_ENV -Encoding utf8
|
||||
echo "date: ${{ env.date }} version: ${{ env.ver }}"
|
||||
shell: pwsh
|
||||
|
||||
- name: load cached deps
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ inputs.cache-path }}
|
||||
key: ${{ inputs.cache-key }}
|
||||
|
||||
# Mac
|
||||
- name: Install tools mac
|
||||
if: inputs.os == 'macos-12'
|
||||
run: |
|
||||
brew install cmake git gettext tree
|
||||
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}}
|
||||
@@ -86,7 +87,7 @@ jobs:
|
||||
if: inputs.os == 'macos-12'
|
||||
working-directory: ${{ github.workspace }}
|
||||
run: |
|
||||
./build_release_macos.sh -s -n -a ${{inputs.arch}} -t 10.15
|
||||
./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
|
||||
@@ -124,15 +125,26 @@ jobs:
|
||||
|
||||
- name: Upload artifacts mac
|
||||
if: inputs.os == 'macos-12'
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}
|
||||
path: ${{ github.workspace }}/OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}.dmg
|
||||
|
||||
- name: Deploy Mac release
|
||||
if: github.ref == 'refs/heads/main' && inputs.os == 'macos-12'
|
||||
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: inputs.os == 'windows-latest'
|
||||
uses: microsoft/setup-msbuild@v1.1
|
||||
uses: microsoft/setup-msbuild@v2
|
||||
|
||||
- name: Install nsis
|
||||
if: inputs.os == 'windows-latest'
|
||||
@@ -165,25 +177,47 @@ jobs:
|
||||
|
||||
- name: Upload artifacts Win zip
|
||||
if: inputs.os == 'windows-latest'
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: OrcaSlicer_Windows_${{ env.ver }}_portable
|
||||
path: ${{ github.workspace }}/build/OrcaSlicer_Windows_${{ env.ver }}_portable.zip
|
||||
|
||||
- name: Upload artifacts Win installer
|
||||
if: inputs.os == 'windows-latest'
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: OrcaSlicer_Windows_${{ env.ver }}
|
||||
path: ${{ github.workspace }}/build/OrcaSlicer*.exe
|
||||
|
||||
- name: Upload artifacts Win PDB
|
||||
if: inputs.os == 'windows-latest'
|
||||
uses: actions/upload-artifact@v3
|
||||
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: inputs.os == 'ubuntu-20.04'
|
||||
@@ -210,11 +244,43 @@ jobs:
|
||||
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: inputs.os == 'ubuntu-20.04'
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: OrcaSlicer_Linux_${{ env.ver }}
|
||||
path: './build/OrcaSlicer_ubu64.AppImage'
|
||||
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
|
||||
|
||||
2
.github/workflows/check_locale.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install gettext
|
||||
run: |
|
||||
|
||||
39
.github/workflows/check_profiles.yml
vendored
Normal 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
@@ -4,23 +4,62 @@ on:
|
||||
- cron: "0 0 * * *"
|
||||
|
||||
jobs:
|
||||
close-issues:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
contents: write # only for delete-branch option
|
||||
steps:
|
||||
- uses: actions/stale@v5
|
||||
- uses: actions/stale@v9
|
||||
with:
|
||||
days-before-issue-stale: 90
|
||||
days-before-issue-close: 7
|
||||
operations-per-run: 1000
|
||||
stale-issue-label: "stale"
|
||||
ascending: true
|
||||
stale-issue-message: "GitHub bot: this issue is stale because it has been open for 90 days with no activity."
|
||||
close-issue-message: "GitHub bot: This issue was closed because it has been inactive for 7 days since being marked as stale."
|
||||
days-before-pr-stale: -1
|
||||
days-before-pr-close: -1
|
||||
remove-issue-stale-when-updated: true
|
||||
remove-pr-stale-when-updated: true
|
||||
# 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
|
||||
|
||||
2
.github/workflows/publish_docs_to_wiki.yml
vendored
@@ -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
|
||||
|
||||
3
.gitignore
vendored
@@ -1,7 +1,7 @@
|
||||
Build
|
||||
Build.bat
|
||||
/build*/
|
||||
deps/build
|
||||
deps/build*
|
||||
MYMETA.json
|
||||
MYMETA.yml
|
||||
_build
|
||||
@@ -32,3 +32,4 @@ src/OrcaSlicer-doc/
|
||||
**/filament_full/
|
||||
/deps/DL_CACHE/
|
||||
/deps/DL_CACHE
|
||||
resources/profiles/user/default
|
||||
@@ -163,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
|
||||
@@ -174,6 +175,7 @@ then
|
||||
|
||||
# cmake deps
|
||||
pushd deps/build
|
||||
echo "cmake .. $BUILD_ARGS"
|
||||
cmake .. $BUILD_ARGS
|
||||
echo "done"
|
||||
|
||||
@@ -225,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"
|
||||
|
||||
@@ -69,6 +69,7 @@ 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!")
|
||||
@@ -261,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
|
||||
@@ -378,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)
|
||||
@@ -772,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})
|
||||
|
||||
44
README.md
@@ -1,7 +1,7 @@
|
||||
[](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/).
|
||||
|
||||
 Join community: [OrcaSlicer Official Discord Server](https://discord.gg/P4VE9UY9gJ)
|
||||
|
||||
# Main features
|
||||
@@ -13,22 +13,27 @@ You can download Orca Slicer here: [github releases page](https://github.com/Sof
|
||||
- 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. 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)
|
||||
- [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/BambuStudio-SoftFever/releases/download/v1.0.10-sf2/vcredist2019_x64.exe)
|
||||
- [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`
|
||||
|
||||
@@ -55,19 +60,28 @@ 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, 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
|
||||
- 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`
|
||||
@@ -118,6 +132,14 @@ Ko-fi supporters: [Backers list](https://github.com/SoftFever/OrcaSlicer/wiki/Or
|
||||
Support me
|
||||
[](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
@@ -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.
|
||||
@@ -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%
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
while getopts ":a:sdpt:hn" 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"
|
||||
;;
|
||||
@@ -20,25 +23,72 @@ while getopts ":a:sdpt:hn" opt; do
|
||||
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"
|
||||
echo "OSX_DEPLOYMENT_TARGET: $OSX_DEPLOYMENT_TARGET"
|
||||
if [ -z "$BUILD_CONFIG" ]; then
|
||||
export BUILD_CONFIG="Release"
|
||||
fi
|
||||
|
||||
if [ -z "$BUILD_TARGET" ]; then
|
||||
export BUILD_TARGET="all"
|
||||
fi
|
||||
|
||||
if [ -z "$SLICER_CMAKE_GENERATOR" ]; then
|
||||
export SLICER_CMAKE_GENERATOR="Xcode"
|
||||
fi
|
||||
|
||||
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
|
||||
@@ -52,57 +102,122 @@ echo "OSX_DEPLOYMENT_TARGET: $OSX_DEPLOYMENT_TARGET"
|
||||
# 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"
|
||||
|
||||
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} -DCMAKE_OSX_DEPLOYMENT_TARGET=${OSX_DEPLOYMENT_TARGET}"
|
||||
cmake ../ -DDESTDIR="$DEPS" -DOPENSSL_ARCH="darwin64-${ARCH}-cc" -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES:STRING=${ARCH} -DCMAKE_OSX_DEPLOYMENT_TARGET=${OSX_DEPLOYMENT_TARGET}
|
||||
cmake --build . --config Release --target deps
|
||||
if [ "1." == "$PACK_DEPS". ];
|
||||
then
|
||||
tar -zcvf OrcaSlicer_dep_mac_${ARCH}_$(date +"%Y%m%d").tar.gz OrcaSlicer_dep_$ARCH
|
||||
fi
|
||||
# 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
|
||||
)
|
||||
}
|
||||
|
||||
if [ "deps." == "$BUILD_TARGET". ];
|
||||
then
|
||||
exit 0
|
||||
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
|
||||
|
||||
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} -DCMAKE_OSX_DEPLOYMENT_TARGET=${OSX_DEPLOYMENT_TARGET}
|
||||
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
|
||||
# fi
|
||||
|
||||
|
||||
# zip -FSr OrcaSlicer${ver}_Mac_${ARCH}.zip OrcaSlicer.app
|
||||
|
||||
@@ -13,10 +13,30 @@ if "%1"=="pack" (
|
||||
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" (
|
||||
@@ -24,22 +44,22 @@ if "%1"=="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%
|
||||
|
||||
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=Release
|
||||
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 -DWIN10SDK_PATH="C:/Program Files (x86)/Windows Kits/10/Include/10.0.22000.0"
|
||||
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%
|
||||
|
||||
@@ -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>
|
||||
|
||||
15
deps/CMakeLists.txt
vendored
@@ -43,7 +43,12 @@ endif ()
|
||||
set(DESTDIR "${CMAKE_CURRENT_BINARY_DIR}/destdir" CACHE PATH "Destination directory")
|
||||
set(DEP_DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR}/../DL_CACHE CACHE PATH "Path for downloaded source packages.")
|
||||
|
||||
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)
|
||||
@@ -87,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.")
|
||||
@@ -99,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 "")
|
||||
|
||||
1
deps/TIFF/TIFF.cmake
vendored
@@ -11,6 +11,7 @@ if (APPLE)
|
||||
-Dwebp:BOOL=OFF
|
||||
-Djbig:BOOL=OFF
|
||||
-Dzstd:BOOL=OFF
|
||||
-Dlibdeflate:BOOL=OFF
|
||||
-Dpixarlog:BOOL=OFF
|
||||
)
|
||||
else()
|
||||
|
||||
31
deps/wxWidgets/wxWidgets.cmake
vendored
@@ -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-wx-3.1.5-patch-for-Orca.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-wx-3.1.5-patch-for-Orca.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-wx-3.1.5-patch-for-Orca.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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
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 exhuast 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*
|
||||
|
||||
|
||||
@@ -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.*
|
||||

|
||||
----------------------------------------
|
||||

|
||||

|
||||
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.
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
# Pressure Advance
|
||||
|
||||
|
||||
181
doc/Extrusion-rate-smoothing.md
Normal 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.
|
||||
|
||||

|
||||
|
||||
<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.**
|
||||

|
||||
|
||||
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:
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
The time taken to decelerate to this new speed would be approx. 0.08 seconds, derived from the following equation:
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
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 end’s 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 don’t 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 don’t 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
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
WIP...
|
||||
|
||||
### Scarf joint seam
|
||||
WIP...
|
||||
|
||||
### Seam gap
|
||||

|
||||
|
||||
|
||||
42
doc/adaptive-bed-mesh.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# 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.
|
||||
|
||||
|
||||

|
||||
|
||||
## 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:
|
||||
```
|
||||
G29 X{bed_mesh_probe_count[0]} Y{bed_mesh_probe_count[1]} L{adaptive_bed_mesh_min[0]} R{adaptive_bed_mesh_max[0]} F{adaptive_bed_mesh_min[1]} B{adaptive_bed_mesh_max[1]} T V4
|
||||
```
|
||||
### 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]}
|
||||
```
|
||||

|
||||
@@ -1,6 +1,6 @@
|
||||
OrcaSlicer use `M106 P3` command to control air-filtration/exhuast fan.
|
||||
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 exhuast 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*
|
||||
|
||||
|
||||
BIN
doc/images/ERS/artefact.jpeg
Normal file
|
After Width: | Height: | Size: 773 KiB |
BIN
doc/images/ERS/equation1.jpeg
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
doc/images/ERS/equation1terms.jpeg
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
doc/images/ERS/equation2.jpeg
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
doc/images/ERS/intro.jpg
Normal file
|
After Width: | Height: | Size: 783 KiB |
BIN
doc/images/ERS/printspeed.jpeg
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
doc/images/flow-calibration.gif
Normal file
|
After Width: | Height: | Size: 4.4 MiB |
BIN
doc/images/flowcalibration_update_flowrate.jpg
Normal file
|
After Width: | Height: | Size: 62 KiB |
@@ -68,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"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
15483
localization/i18n/ca/OrcaSlicer_ca.po
Normal file
@@ -58,6 +58,7 @@ src/slic3r/GUI/BedShapeDialog.hpp
|
||||
src/slic3r/GUI/ConfigManipulation.cpp
|
||||
src/slic3r/GUI/DeviceManager.cpp
|
||||
src/slic3r/GUI/ExtraRenderers.cpp
|
||||
src/slic3r/GUI/EditGCodeDialog.cpp
|
||||
src/slic3r/GUI/Field.cpp
|
||||
src/slic3r/GUI/GCodeViewer.cpp
|
||||
src/slic3r/GUI/GLCanvas3D.cpp
|
||||
|
||||
17547
localization/i18n/pl/OrcaSlicer_pl.po
Normal file
31616
resources/calib/volumetric_speed/SpeedTestStructure.stp
Normal file
@@ -82,7 +82,7 @@ text = Auxiliary fan\nDid you know that OrcaSlicer supports Auxiliary part cooli
|
||||
documentation_link = https://github.com/SoftFever/OrcaSlicer/wiki/Auxiliary-fan
|
||||
|
||||
[hint:Air filtration]
|
||||
text = Air filtration/Exhuast Fan\nDid you know that OrcaSlicer can support Air filtration/Exhuast Fan?
|
||||
text = Air filtration/Exhaust Fan\nDid you know that OrcaSlicer can support Air filtration/Exhaust Fan?
|
||||
documentation_link = https://github.com/SoftFever/OrcaSlicer/wiki/air-filtration
|
||||
|
||||
[hint:G-code window]
|
||||
|
||||
BIN
resources/handy_models/Orca_stringhell.stl
Normal file
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 287 B After Width: | Height: | Size: 151 B |
|
Before Width: | Height: | Size: 289 B After Width: | Height: | Size: 225 B |
|
Before Width: | Height: | Size: 276 B After Width: | Height: | Size: 142 B |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 178 KiB After Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 196 KiB After Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 198 KiB After Width: | Height: | Size: 159 KiB |
|
Before Width: | Height: | Size: 217 KiB After Width: | Height: | Size: 159 KiB |
|
Before Width: | Height: | Size: 210 KiB After Width: | Height: | Size: 162 KiB |
|
Before Width: | Height: | Size: 234 KiB After Width: | Height: | Size: 161 KiB |
76
resources/images/camera_switch.svg
Normal file
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="39"
|
||||
height="22"
|
||||
viewBox="0 0 39 22"
|
||||
fill="none"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
sodipodi:docname="camera_switch.svg"
|
||||
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs5">
|
||||
<clipPath
|
||||
id="clip0_7112_29362">
|
||||
<rect
|
||||
id="svg_1"
|
||||
fill="#ffffff"
|
||||
height="30"
|
||||
width="30"
|
||||
x="0"
|
||||
y="0" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="namedview5"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="16"
|
||||
inkscape:cx="6.84375"
|
||||
inkscape:cy="11.21875"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1369"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg5"
|
||||
showguides="false" />
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
clip-rule="evenodd"
|
||||
d="m 21.066182,15.123836 h 1.463398 1.463399 1.463398 1.463399 m 0,0 h 1.463398 c 1.167463,0 2.113821,-0.946358 2.113821,-2.113821 V 2.600884 c 0,-1.1674317 -0.946358,-2.11382107 -2.113821,-2.11382107 H 16.675987 c -1.167411,0 -2.1138,0.94637877 -2.1138,2.11381047 v 1.3011427 1.3011428 1.3011427 1.3011427 h 1.268271 V 6.5043016 5.2031589 3.9020161 2.6008734 c 0,-0.4669642 0.378586,-0.8455179 0.845529,-0.8455179 h 11.707187 c 0.467048,0 0.845528,0.3785537 0.845528,0.8455285 v 10.409131 c 0,0.467049 -0.37848,0.845529 -0.845528,0.845529 h -1.463398 m 0,0 H 25.456377 23.992979 22.52958 21.066182 m 0,0 v 1.268292"
|
||||
fill="#b3b3b5"
|
||||
id="path1"
|
||||
style="fill:#262e30;fill-opacity:1;stroke:none;stroke-width:0;stroke-dasharray:none"
|
||||
sodipodi:nodetypes="ccccccssssssccccccccsssssscccccccc" />
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
clip-rule="evenodd"
|
||||
d="m 31.074174,7.804414 4.093731,3.449544 V 4.3548482 Z M 30.065035,6.9961839 c -0.501081,0.4222886 -0.501081,1.1942138 0,1.6164496 l 4.633179,3.9041215 c 0.687309,0.579187 1.737984,0.09058 1.737984,-0.80822 V 3.9003132 c 0,-0.8987967 -1.050675,-1.3873959 -1.737984,-0.80823 z"
|
||||
fill="#b3b3b5"
|
||||
id="path4"
|
||||
style="fill:#262e30;fill-opacity:1;stroke-width:1.05691" />
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
clip-rule="evenodd"
|
||||
d="M 19.153511,8.3696736 H 7.4463245 c -0.4669431,0 -0.8455285,0.3785536 -0.8455285,0.8455179 V 19.624333 c 0,0.467049 0.3785854,0.845528 0.8455285,0.845528 H 19.153511 c 0.467048,0 0.845528,-0.378479 0.845528,-0.845528 V 9.215202 c 0,-0.4669748 -0.37848,-0.8455284 -0.845528,-0.8455284 z M 7.4463245,7.1013809 c -1.1674106,0 -2.1138,0.9463789 -2.1138,2.1138106 V 19.624333 c 0,1.167463 0.9463894,2.113821 2.1138,2.113821 H 19.153511 c 1.167463,0 2.113821,-0.946358 2.113821,-2.113821 V 9.215202 c 0,-1.1674317 -0.946358,-2.1138211 -2.113821,-2.1138211 z"
|
||||
fill="#b3b3b5"
|
||||
id="path1-5"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none;fill:#262e30;fill-opacity:1" />
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
clip-rule="evenodd"
|
||||
d="m 21.844511,14.418731 4.093731,3.449545 v -6.89911 z m -1.009139,-0.80823 c -0.501081,0.422289 -0.501081,1.194214 0,1.61645 l 4.633179,3.904122 c 0.687309,0.579187 1.737984,0.09058 1.737984,-0.80822 v -7.808222 c 0,-0.8987971 -1.050675,-1.3873956 -1.737984,-0.8082304 z"
|
||||
fill="#b3b3b5"
|
||||
id="path4-1"
|
||||
style="stroke-width:1.05691;fill:#262e30;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.7 KiB |
76
resources/images/camera_switch_dark.svg
Normal file
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="39"
|
||||
height="22"
|
||||
viewBox="0 0 39 22"
|
||||
fill="none"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
sodipodi:docname="camera_switch_dark.svg"
|
||||
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs5">
|
||||
<clipPath
|
||||
id="clip0_7112_29362">
|
||||
<rect
|
||||
id="svg_1"
|
||||
fill="#ffffff"
|
||||
height="30"
|
||||
width="30"
|
||||
x="0"
|
||||
y="0" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="namedview5"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="16"
|
||||
inkscape:cx="6.84375"
|
||||
inkscape:cy="16.21875"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1369"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg5"
|
||||
showguides="false" />
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
clip-rule="evenodd"
|
||||
d="m 21.066182,15.123836 h 1.463398 1.463399 1.463398 1.463399 m 0,0 h 1.463398 c 1.167463,0 2.113821,-0.946358 2.113821,-2.113821 V 2.600884 c 0,-1.1674317 -0.946358,-2.11382107 -2.113821,-2.11382107 H 16.675987 c -1.167411,0 -2.1138,0.94637877 -2.1138,2.11381047 v 1.3011427 1.3011428 1.3011427 1.3011427 h 1.268271 V 6.5043016 5.2031589 3.9020161 2.6008734 c 0,-0.4669642 0.378586,-0.8455179 0.845529,-0.8455179 h 11.707187 c 0.467048,0 0.845528,0.3785537 0.845528,0.8455285 v 10.409131 c 0,0.467049 -0.37848,0.845529 -0.845528,0.845529 h -1.463398 m 0,0 H 25.456377 23.992979 22.52958 21.066182 m 0,0 v 1.268292"
|
||||
fill="#b3b3b5"
|
||||
id="path1"
|
||||
style="fill:#b3b3b5;fill-opacity:1;stroke:none;stroke-width:0;stroke-dasharray:none"
|
||||
sodipodi:nodetypes="ccccccssssssccccccccsssssscccccccc" />
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
clip-rule="evenodd"
|
||||
d="m 31.074174,7.804414 4.093731,3.449544 V 4.3548482 Z M 30.065035,6.9961839 c -0.501081,0.4222886 -0.501081,1.1942138 0,1.6164496 l 4.633179,3.9041215 c 0.687309,0.579187 1.737984,0.09058 1.737984,-0.80822 V 3.9003132 c 0,-0.8987967 -1.050675,-1.3873959 -1.737984,-0.80823 z"
|
||||
fill="#b3b3b5"
|
||||
id="path4"
|
||||
style="fill:#b3b3b5;fill-opacity:1;stroke-width:1.05691" />
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
clip-rule="evenodd"
|
||||
d="M 19.153511,8.3696736 H 7.4463245 c -0.4669431,0 -0.8455285,0.3785536 -0.8455285,0.8455179 V 19.624333 c 0,0.467049 0.3785854,0.845528 0.8455285,0.845528 H 19.153511 c 0.467048,0 0.845528,-0.378479 0.845528,-0.845528 V 9.215202 c 0,-0.4669748 -0.37848,-0.8455284 -0.845528,-0.8455284 z M 7.4463245,7.1013809 c -1.1674106,0 -2.1138,0.9463789 -2.1138,2.1138106 V 19.624333 c 0,1.167463 0.9463894,2.113821 2.1138,2.113821 H 19.153511 c 1.167463,0 2.113821,-0.946358 2.113821,-2.113821 V 9.215202 c 0,-1.1674317 -0.946358,-2.1138211 -2.113821,-2.1138211 z"
|
||||
fill="#b3b3b5"
|
||||
id="path1-5"
|
||||
style="stroke:none;stroke-width:0;stroke-dasharray:none;fill:#b3b3b5;fill-opacity:1" />
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
clip-rule="evenodd"
|
||||
d="m 21.844511,14.418731 4.093731,3.449545 v -6.89911 z m -1.009139,-0.80823 c -0.501081,0.422289 -0.501081,1.194214 0,1.61645 l 4.633179,3.904122 c 0.687309,0.579187 1.737984,0.09058 1.737984,-0.80822 v -7.808222 c 0,-0.8987971 -1.050675,-1.3873956 -1.737984,-0.8082304 z"
|
||||
fill="#b3b3b5"
|
||||
id="path4-1"
|
||||
style="stroke-width:1.05691;fill:#b3b3b5;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.7 KiB |
3
resources/images/color_picker_border_dark.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.5 0H0V12.5V25H12.5H25V12.5V0H12.5ZM12.5 0C19.4033 0 25 5.59644 25 12.5C25 19.4036 19.4033 25 12.5 25C5.59668 25 0 19.4036 0 12.5C0 5.59644 5.59668 0 12.5 0Z" fill="#2D2D31"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 331 B |
2
resources/images/custom-gcode_gcode.svg
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g id="b"><path d="m8.02,7.18h3.98v3.08c0,2.6-1.23,3.72-4.05,3.72s-3.95-1.12-3.95-3.68v-4.75c0-2.42,1.09-3.54,3.95-3.54s4.05,1,4.05,3.54h-2.12c0-1.11-.28-1.66-1.92-1.66-1.54,0-1.83.69-1.83,1.77v4.65c0,1.12.29,1.77,1.83,1.77s2.08-.65,2.08-1.82v-1.16h-2.02v-1.92Z" style="fill:#808080;"/></g></svg>
|
||||
|
After Width: | Height: | Size: 402 B |
1
resources/images/custom-gcode_measure.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m13.6,5h-.6v3.5c0,.28-.22.5-.5.5s-.5-.22-.5-.5v-3.5h-2v3.5c0,.28-.22.5-.5.5s-.5-.22-.5-.5v-3.5h-2v3.5c0,.28-.22.5-.5.5s-.5-.22-.5-.5v-3.5h-2v3.5c0,.28-.22.5-.5.5s-.5-.22-.5-.5v-3.5h-.6c-.77,0-1.4.62-1.4,1.4v3.21c0,.77.62,1.4,1.4,1.4h11.21c.77,0,1.4-.62,1.4-1.4v-3.21c0-.77-.62-1.4-1.4-1.4Z" style="fill:#808080;"/></svg>
|
||||
|
After Width: | Height: | Size: 434 B |
1
resources/images/custom-gcode_object-info.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path id="b" d="m8.54,4.31c-.53-.19-.81-.69-.73-1.32.08-.62.55-1.01,1.21-1.01.46,0,.82.21,1,.58.1.2.1.22.1.55,0,.43-.07.61-.31.87-.24.26-.46.35-.84.36-.21,0-.33,0-.43-.04Z" style="fill:#009688; isolation:isolate; opacity:1;"/><path id="c" d="m6.82,13.97c-.51-.14-.74-.4-.77-.86-.02-.28-.04-.15.57-3.12.22-1.07.44-2.13.48-2.34.13-.71.07-.77-.77-.81-.21-.01-.38-.03-.39-.04s0-.09.02-.18c.04-.18,0-.16.69-.31.62-.14,1.09-.19,1.63-.2.67,0,.9.07,1.13.36.09.11.09.13.09.41,0,.25-.06.57-.39,2.17-.78,3.74-.79,3.82-.68,3.99.03.04.08.1.12.13.12.08.47.14.8.14h.3s-.02.18-.02.18c-.01.1-.04.19-.05.2-.05.03-.88.2-1.24.26-.45.07-1.31.09-1.51.03h0Z" style="fill:#009688; isolation:isolate; opacity:1;"/><polyline points="14.5 3.5 14.5 1.5 12.5 1.5" style="fill:none; stroke:808080; stroke-linecap:round; stroke-miterlimit:10;"/><polyline points="3.5 1.5 1.5 1.5 1.5 3.5" style="fill:none; stroke:#808080; stroke-linecap:round; stroke-miterlimit:10;"/><polyline points="1.5 12.5 1.5 14.5 3.5 14.5" style="fill:none; stroke:#808080; stroke-linecap:round; stroke-miterlimit:10;"/><polyline points="12.5 14.5 14.5 14.5 14.5 12.5" style="fill:none; stroke:#808080; stroke-linecap:round; stroke-miterlimit:10;"/></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
1
resources/images/custom-gcode_single.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><circle cx="8" cy="8" r="2" style="fill:#808080;"/></svg>
|
||||
|
After Width: | Height: | Size: 162 B |
1
resources/images/custom-gcode_slicing-state.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g id="b"><path d="m13.77,6.39c-.13-.47-.32-.92-.55-1.33l.43-1.3-1.41-1.41-1.3.43c-.42-.23-.86-.42-1.33-.55l-.61-1.23h-2l-.61,1.23c-.47.13-.92.31-1.33.55l-1.3-.43-1.42,1.41.43,1.3c-.23.41-.41.86-.54,1.33l-1.23.61v2l1.23.61c.13.47.32.92.55,1.33l-.43,1.3,1.41,1.41,1.3-.43c.42.23.86.42,1.33.55l.61,1.23h2l.61-1.23c.47-.13.92-.32,1.33-.55l1.3.43,1.41-1.41-.43-1.3c.23-.42.42-.86.55-1.33l1.23-.61v-2l-1.23-.61Zm-5.77,6.61c-2.76,0-5-2.24-5-5s2.24-5,5-5,5,2.24,5,5-2.24,5-5,5Z" style="fill:#808080;"/></g></svg>
|
||||
|
After Width: | Height: | Size: 610 B |
3
resources/images/custom-gcode_slicing-state_global.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g id="b">
|
||||
<path d="m13.77,6.39c-.13-.47-.32-.92-.55-1.33l.43-1.3-1.41-1.41-1.3.43c-.42-.23-.86-.42-1.33-.55l-.61-1.23h-2l-.61,1.23c-.47.13-.92.31-1.33.55l-1.3-.43-1.42,1.41.43,1.3c-.23.41-.41.86-.54,1.33l-1.23.61v2l1.23.61c.13.47.32.92.55,1.33l-.43,1.3,1.41,1.41,1.3-.43c.42.23.86.42,1.33.55l.61,1.23h2l.61-1.23c.47-.13.92-.32,1.33-.55l1.3.43,1.41-1.41-.43-1.3c.23-.42.42-.86.55-1.33l1.23-.61v-2l-1.23-.61Zm-5.77,6.61c-2.76,0-5-2.24-5-5s2.24-5,5-5,5,2.24,5,5-2.24,5-5,5Z" style="fill:#808080"/>
|
||||
</g><circle cx="8" cy="8" r="2" style="fill:#009688; isolation:isolate; opacity:1;"/></svg>
|
||||
|
After Width: | Height: | Size: 694 B |
1
resources/images/custom-gcode_stats.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><rect x="1" y="7" width="2" height="6" rx="1" ry="1" style="fill:#009688;"/><rect x="5" y="2" width="2" height="11" rx="1" ry="1" style="fill:#009688;"/><rect x="9" y="3" width="2" height="10" rx="1" ry="1" style="fill:#009688;"/><rect x="13" y="5" width="2" height="8" rx="1" ry="1" style="fill:#009688;"/></svg>
|
||||
|
After Width: | Height: | Size: 418 B |
14
resources/images/custom-gcode_temperature.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_8076_36010)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.69269 2.49023C4.69269 1.29516 5.66149 0.326355 6.85657 0.326355C8.05165 0.326355 9.02044 1.29516 9.02044 2.49023V6.92898C9.96736 7.60117 10.5871 8.70725 10.5871 9.95952C10.5871 12.0108 8.92419 13.6737 6.87289 13.6737C4.8216 13.6737 3.15869 12.0108 3.15869 9.95952C3.15869 8.72168 3.76428 7.62665 4.69269 6.95241V2.49023ZM5.69269 7.51465V2.49023C5.69269 1.84744 6.21378 1.32635 6.85657 1.32635C7.49936 1.32635 8.02044 1.84744 8.02044 2.49023V7.49913C8.94588 7.9315 9.58709 8.87063 9.58709 9.95952C9.58709 11.4585 8.3719 12.6737 6.87289 12.6737C5.37388 12.6737 4.15869 11.4585 4.15869 9.95952C4.15869 8.88348 4.78486 7.95369 5.69269 7.51465Z" fill="#009688"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.186 2.49249C10.186 2.21635 10.4099 1.99249 10.686 1.99249H11.8258C12.1019 1.99249 12.3258 2.21635 12.3258 2.49249C12.3258 2.76863 12.1019 2.99249 11.8258 2.99249H10.686C10.4099 2.99249 10.186 2.76863 10.186 2.49249Z" fill="#009688"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.186 4.83203C10.186 4.55589 10.4099 4.33203 10.686 4.33203H11.8258C12.1019 4.33203 12.3258 4.55589 12.3258 4.83203C12.3258 5.10817 12.1019 5.33203 11.8258 5.33203H10.686C10.4099 5.33203 10.186 5.10817 10.186 4.83203Z" fill="#009688"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.87305 2.49249C7.14919 2.49249 7.37305 2.71635 7.37305 2.99249V9.22844C7.37305 9.50458 7.14919 9.72844 6.87305 9.72844C6.5969 9.72844 6.37305 9.50458 6.37305 9.22844L6.37305 2.99249C6.37305 2.71635 6.5969 2.49249 6.87305 2.49249Z" fill="#009688"/>
|
||||
<path d="M8.24858 9.90249C8.24858 10.6622 7.63274 11.278 6.87307 11.278C6.1134 11.278 5.49756 10.6622 5.49756 9.90249C5.49756 9.14281 6.1134 8.52698 6.87307 8.52698C7.63274 8.52698 8.24858 9.14281 8.24858 9.90249Z" fill="#009688"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_8076_36010">
|
||||
<rect width="14" height="14" fill="white" transform="translate(0 14) rotate(-90)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
1
resources/images/custom-gcode_vector-index.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m9,8v3.14c0,.47-.45.86-1,.86h0c-.55,0-1-.38-1-.86v-3.14h2Z" style="fill:#009688;"/><circle cx="8" cy="6" r="1" style="fill:#009688;"/><polyline points="4.5 2.5 2.5 2.5 2.5 13.5 4.5 13.5" style="fill:none; stroke:#808080; stroke-linecap:round; stroke-miterlimit:10;"/><polyline points="11.5 13.5 13.5 13.5 13.5 2.5 11.5 2.5" style="fill:none; stroke:#808080; stroke-linecap:round; stroke-miterlimit:10;"/></svg>
|
||||
|
After Width: | Height: | Size: 524 B |
1
resources/images/custom-gcode_vector.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><polyline points="4.5 2.5 2.5 2.5 2.5 13.5 4.5 13.5" style="fill:none; stroke:808080; stroke-linecap:round; stroke-miterlimit:10;"/><polyline points="11.5 13.5 13.5 13.5 13.5 2.5 11.5 2.5" style="fill:none; stroke:808080; stroke-linecap:round; stroke-miterlimit:10;"/><path d="m9,8v3.14c0,.47-.45.86-1,.86h0c-.55,0-1-.38-1-.86v-3.14h2Z" style="fill:#808080;"/><circle cx="8" cy="6" r="1" style="fill:#808080;"/></svg>
|
||||
|
After Width: | Height: | Size: 522 B |