Compare commits
1141 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
970364cb4f | ||
|
|
15b49bf856 | ||
|
|
05cf936321 | ||
|
|
1b7c3404f8 | ||
|
|
0f04df2699 | ||
|
|
13cd930bb4 | ||
|
|
15f80453ab | ||
|
|
32f8901fdb | ||
|
|
2ae6e90fd1 | ||
|
|
81137112f1 | ||
|
|
7440dcb955 | ||
|
|
964f2163cb | ||
|
|
0d473ed447 | ||
|
|
64281a8cc5 | ||
|
|
53d3ab15e2 | ||
|
|
d59519d253 | ||
|
|
37fdb57222 | ||
|
|
86bfbb7fcc | ||
|
|
60acc6b4e8 | ||
|
|
6d99cfbaa2 | ||
|
|
515bd11477 | ||
|
|
18153a6095 | ||
|
|
3b99d92515 | ||
|
|
07b7fc3768 | ||
|
|
9c1a7bbf8b | ||
|
|
7ac975475f | ||
|
|
7c6418e323 | ||
|
|
022ed78904 | ||
|
|
c0f7c6d5eb | ||
|
|
af44269767 | ||
|
|
4803c35b76 | ||
|
|
2c4455fb03 | ||
|
|
aea6465863 | ||
|
|
5628f8c7fe | ||
|
|
5ebb0daff0 | ||
|
|
cbbfc57f0f | ||
|
|
cbede8882c | ||
|
|
260156648d | ||
|
|
359dfc49f7 | ||
|
|
913c4976a1 | ||
|
|
810442efe3 | ||
|
|
69a21f09c4 | ||
|
|
ca7000a659 | ||
|
|
45b40fd380 | ||
|
|
8d482eddd3 | ||
|
|
48032632a6 | ||
|
|
10d470b3fc | ||
|
|
e1a3b66b9f | ||
|
|
5eee758c9e | ||
|
|
25e3944c53 | ||
|
|
fb0719b450 | ||
|
|
9379ea1546 | ||
|
|
2266aa4d98 | ||
|
|
4623630829 | ||
|
|
3817cb7654 | ||
|
|
329975518d | ||
|
|
2944b6999a | ||
|
|
990d235415 | ||
|
|
647304f4a2 | ||
|
|
a5891fa097 | ||
|
|
72f23ed5a8 | ||
|
|
ae8a64f4d5 | ||
|
|
bb48983e91 | ||
|
|
4385a8b33e | ||
|
|
49f8d0df50 | ||
|
|
c663968089 | ||
|
|
3871dfa03e | ||
|
|
35da8592ba | ||
|
|
f4519a45e9 | ||
|
|
e7e26b4b1a | ||
|
|
d287b88548 | ||
|
|
58aaa94fc7 | ||
|
|
3f9c74c86e | ||
|
|
3c386f3739 | ||
|
|
6899947da8 | ||
|
|
8ccf3cbd7c | ||
|
|
697d945ca1 | ||
|
|
8b5a49f378 | ||
|
|
aff6fb934c | ||
|
|
854eb0af95 | ||
|
|
2690b5b558 | ||
|
|
3e7b5e7657 | ||
|
|
629e68f4a0 | ||
|
|
7596b3fed9 | ||
|
|
400ce3bcfd | ||
|
|
030efb339a | ||
|
|
efb7106ecc | ||
|
|
29dbc77e91 | ||
|
|
51deb70f64 | ||
|
|
53f3b8b009 | ||
|
|
7e1a2840e5 | ||
|
|
fb0b7f7b54 | ||
|
|
5e5dea82b6 | ||
|
|
580d8d13b8 | ||
|
|
d6a7809d5c | ||
|
|
ef942d9d06 | ||
|
|
fd87560bd7 | ||
|
|
6b0c17d9e9 | ||
|
|
8d7bb97eb9 | ||
|
|
5e543837c1 | ||
|
|
1f70fd70cd | ||
|
|
c54e6b64bb | ||
|
|
7dbf39465c | ||
|
|
ab03a10621 | ||
|
|
a30361ec69 | ||
|
|
473b1805ed | ||
|
|
a688719e72 | ||
|
|
de33c24b0a | ||
|
|
47c744ceb0 | ||
|
|
40c7baae83 | ||
|
|
191a04be16 | ||
|
|
693c044047 | ||
|
|
d4780c3a97 | ||
|
|
a8cf77a2b0 | ||
|
|
a3bae2f9a5 | ||
|
|
1df89650e9 | ||
|
|
0bf74c97c3 | ||
|
|
8c46a57036 | ||
|
|
f5b28201fe | ||
|
|
d9e9fb2206 | ||
|
|
d733ab7e7b | ||
|
|
dc1fcf7ed6 | ||
|
|
c84f01526a | ||
|
|
41078e6555 | ||
|
|
1eb54c49a6 | ||
|
|
49982a4497 | ||
|
|
57b4f3cf68 | ||
|
|
92360f75ed | ||
|
|
daf5384b5a | ||
|
|
3d8eca022f | ||
|
|
78f6c429c1 | ||
|
|
e32792c305 | ||
|
|
55b6bc5563 | ||
|
|
eaf7f87abb | ||
|
|
c1ad24d660 | ||
|
|
e03ac4957b | ||
|
|
c6152a70e9 | ||
|
|
aae57b32e4 | ||
|
|
ca00918f85 | ||
|
|
f8a92b2b3f | ||
|
|
030063c8d5 | ||
|
|
71fb7a9f84 | ||
|
|
8ef935e886 | ||
|
|
7c11aeba96 | ||
|
|
85f774a72d | ||
|
|
0e64b47f9d | ||
|
|
32364ee7ee | ||
|
|
c25c1ba4eb | ||
|
|
6096de0020 | ||
|
|
18f794e4fa | ||
|
|
ee59ac76a9 | ||
|
|
1e5c746429 | ||
|
|
915e5a0e69 | ||
|
|
9ca84ba948 | ||
|
|
c08fc0c5dc | ||
|
|
bafd7356d6 | ||
|
|
73679f6f2e | ||
|
|
93bfa10d4e | ||
|
|
c6ac8193e3 | ||
|
|
9cfe3c6016 | ||
|
|
c87fda7f7a | ||
|
|
d5a8db72ff | ||
|
|
2f39bb0c2b | ||
|
|
6be5c9b3f8 | ||
|
|
a5f9ab614a | ||
|
|
a89d896679 | ||
|
|
06a06714c1 | ||
|
|
920241f0d4 | ||
|
|
a78bed0fd7 | ||
|
|
daade424cb | ||
|
|
0c83c2884b | ||
|
|
9b1429144b | ||
|
|
99043bbb02 | ||
|
|
f4f871c906 | ||
|
|
69edbdd01f | ||
|
|
1938ab44ba | ||
|
|
ab8e0665b6 | ||
|
|
2a2604ea95 | ||
|
|
55b5a6ff58 | ||
|
|
427f197ca9 | ||
|
|
52999ea757 | ||
|
|
e0335e73cf | ||
|
|
45a00489ec | ||
|
|
71b3230d62 | ||
|
|
5d141ee214 | ||
|
|
bf8a9fee1f | ||
|
|
d472eb7afb | ||
|
|
390f68a98b | ||
|
|
b4c4819765 | ||
|
|
4f5401a0bb | ||
|
|
c866be7b6b | ||
|
|
a7ff17d99c | ||
|
|
efc761d794 | ||
|
|
e9b9561f60 | ||
|
|
8c655aa128 | ||
|
|
78c18c74c3 | ||
|
|
f84402bc0e | ||
|
|
f438c2dfcb | ||
|
|
13a1dc03c1 | ||
|
|
540ecb2fb2 | ||
|
|
8d8b5c910c | ||
|
|
ffd94f94f4 | ||
|
|
2fa7776199 | ||
|
|
e7081c7d5f | ||
|
|
1526cb6898 | ||
|
|
dcb105c605 | ||
|
|
52847b8bb4 | ||
|
|
026bd3d872 | ||
|
|
260e2e1c31 | ||
|
|
458ff13024 | ||
|
|
ecc9dbc791 | ||
|
|
11162ef257 | ||
|
|
d0d90a8566 | ||
|
|
6ee7645b72 | ||
|
|
1c71204e55 | ||
|
|
ff89c4d04d | ||
|
|
110d81f6f7 | ||
|
|
4ee5dbb07f | ||
|
|
842515a15b | ||
|
|
d965a93673 | ||
|
|
7a40310924 | ||
|
|
550be104ee | ||
|
|
e9045c2f4b | ||
|
|
b5967505bd | ||
|
|
32b46292b9 | ||
|
|
ccd333e248 | ||
|
|
8713c5ccc4 | ||
|
|
5c9c72ee72 | ||
|
|
ebec542112 | ||
|
|
db94f39f78 | ||
|
|
89f7065d87 | ||
|
|
b61da88d51 | ||
|
|
59773eee02 | ||
|
|
92847823bc | ||
|
|
8ad5bdb914 | ||
|
|
ffbb7a8be5 | ||
|
|
30bdc1c116 | ||
|
|
fa42a15f13 | ||
|
|
5d013a40a4 | ||
|
|
e22fbb7b43 | ||
|
|
e8d796211d | ||
|
|
d8f0749474 | ||
|
|
545fdbf96b | ||
|
|
250a359247 | ||
|
|
ab5f2aa3f7 | ||
|
|
a3730b9236 | ||
|
|
b77e96acdd | ||
|
|
a9c180df24 | ||
|
|
daf4b4ef74 | ||
|
|
5c3c2fcb1c | ||
|
|
9ab6e86b47 | ||
|
|
61aa0ddada | ||
|
|
6c04bebc3d | ||
|
|
25484bcba9 | ||
|
|
531267abd6 | ||
|
|
56e6ecaa95 | ||
|
|
b5e38e02fe | ||
|
|
5139edb876 | ||
|
|
c41ccedad0 | ||
|
|
24160244b7 | ||
|
|
38dfde8fc2 | ||
|
|
6bccef66b0 | ||
|
|
c69b7780ad | ||
|
|
3fae63e8cf | ||
|
|
91d36e0562 | ||
|
|
31ff48ccca | ||
|
|
88fbcb181e | ||
|
|
b4e9a3379c | ||
|
|
58dab90e53 | ||
|
|
0d4b8382f5 | ||
|
|
a9938d7676 | ||
|
|
761bf07c44 | ||
|
|
52e431170c | ||
|
|
94dd1af6c6 | ||
|
|
402e03f763 | ||
|
|
1428a6bec7 | ||
|
|
2723ee747c | ||
|
|
6d219574a9 | ||
|
|
f2aaddebb8 | ||
|
|
41b1ad6f2f | ||
|
|
278eab5ae2 | ||
|
|
90275620d6 | ||
|
|
4bab300e18 | ||
|
|
967909937d | ||
|
|
aab62b77bf | ||
|
|
e59fe6511d | ||
|
|
78dbefd9ba | ||
|
|
00dfd1e765 | ||
|
|
65ff90690f | ||
|
|
81d38bf140 | ||
|
|
e4fa6d8652 | ||
|
|
047e5c2e90 | ||
|
|
6e16906143 | ||
|
|
1da9bfcc13 | ||
|
|
4ea3d16fcc | ||
|
|
bf8208241d | ||
|
|
db4067a9dc | ||
|
|
22780a0be4 | ||
|
|
9e988c6899 | ||
|
|
8cee81b5ef | ||
|
|
f49c4c7e4c | ||
|
|
b29404febf | ||
|
|
e54f3a75d4 | ||
|
|
0db1b52b23 | ||
|
|
67c2f5a285 | ||
|
|
588e79c76d | ||
|
|
81e723711a | ||
|
|
941df8ba8b | ||
|
|
efd55bcffe | ||
|
|
26bb461667 | ||
|
|
dc55a6a2a6 | ||
|
|
a1fcd05baa | ||
|
|
4132711f4c | ||
|
|
6a644c271c | ||
|
|
8375c73ac9 | ||
|
|
dcbe442184 | ||
|
|
5454a65c8d | ||
|
|
9857f7384b | ||
|
|
29e6f71402 | ||
|
|
dd7dbd9936 | ||
|
|
77a37f086d | ||
|
|
ad22dec6d9 | ||
|
|
41c310bf25 | ||
|
|
15d6130b29 | ||
|
|
cfafbc812f | ||
|
|
14417bf176 | ||
|
|
1c02449201 | ||
|
|
e3739a8a0f | ||
|
|
3ad732bd93 | ||
|
|
a4cffa3c87 | ||
|
|
c3398a089c | ||
|
|
5276528e04 | ||
|
|
d480d526e1 | ||
|
|
afcb41f821 | ||
|
|
7c648ff017 | ||
|
|
156afc385a | ||
|
|
09ab775667 | ||
|
|
08b40dc5e8 | ||
|
|
dcb9862410 | ||
|
|
fe50bcb5a0 | ||
|
|
e65e27ee57 | ||
|
|
6f1040f0df | ||
|
|
0acad21707 | ||
|
|
b648695754 | ||
|
|
283f3fdd26 | ||
|
|
7c6c356a3b | ||
|
|
d0d5a82938 | ||
|
|
bb70b60dbc | ||
|
|
6f7f93b232 | ||
|
|
005e8f5533 | ||
|
|
887eb77574 | ||
|
|
e6e72a90b6 | ||
|
|
1b995c2d47 | ||
|
|
36efeea30b | ||
|
|
5a6263c9f3 | ||
|
|
50a5f8bddf | ||
|
|
7c2417d1f8 | ||
|
|
7b82a5010a | ||
|
|
06e3c22b92 | ||
|
|
4700362f10 | ||
|
|
316ca3f5f5 | ||
|
|
41fcf8eb1e | ||
|
|
97cd9e900b | ||
|
|
053c8435b6 | ||
|
|
ab96238a69 | ||
|
|
614882d28b | ||
|
|
04f66e974f | ||
|
|
98686a708f | ||
|
|
0ad9cd3ff7 | ||
|
|
0b452dc65b | ||
|
|
8cfee69015 | ||
|
|
e0c15db6b6 | ||
|
|
cc32ecdbd4 | ||
|
|
a481e91105 | ||
|
|
7a5cd8ddd7 | ||
|
|
81e2200efb | ||
|
|
6133ceac20 | ||
|
|
75ddeb7572 | ||
|
|
1c919977b1 | ||
|
|
f245e8c0c0 | ||
|
|
3034ec7425 | ||
|
|
1d827bd968 | ||
|
|
c3a6b207b5 | ||
|
|
819e1192b7 | ||
|
|
895e90733b | ||
|
|
f600af7b73 | ||
|
|
1f0ce4ac47 | ||
|
|
dfde6e518f | ||
|
|
6551b86230 | ||
|
|
4419703f41 | ||
|
|
45de1d8368 | ||
|
|
fe4fc04eb8 | ||
|
|
01c059c358 | ||
|
|
11ea1e36ea | ||
|
|
b60cabef28 | ||
|
|
eca5897a25 | ||
|
|
4a5c473058 | ||
|
|
5a78f7ade1 | ||
|
|
ded0b69629 | ||
|
|
27d2008037 | ||
|
|
8f330d8b82 | ||
|
|
fd3dee6a6d | ||
|
|
f1ed06b284 | ||
|
|
e344f8b8b9 | ||
|
|
42633fda28 | ||
|
|
65766ba30a | ||
|
|
ec66e7750f | ||
|
|
0e083654ce | ||
|
|
2fad7b816b | ||
|
|
929a8e3adf | ||
|
|
ba8015e455 | ||
|
|
a9f3f195e1 | ||
|
|
5afc02ee72 | ||
|
|
38fb9dcec5 | ||
|
|
2f7946333d | ||
|
|
536df6ca23 | ||
|
|
5338247639 | ||
|
|
0f4db753f1 | ||
|
|
c0ccb733dd | ||
|
|
1637981be5 | ||
|
|
5e410fe5ef | ||
|
|
b5629fa31a | ||
|
|
3b0f75bd4e | ||
|
|
2ecb2fd22d | ||
|
|
284154d053 | ||
|
|
7dddb17d8a | ||
|
|
882e06bd9b | ||
|
|
1f5454052f | ||
|
|
8fcd6f31dd | ||
|
|
e7408b171a | ||
|
|
e020ad3c39 | ||
|
|
e217baad50 | ||
|
|
dc7822e816 | ||
|
|
795c1851be | ||
|
|
ca2f05e60b | ||
|
|
56a98390f9 | ||
|
|
b65d47b544 | ||
|
|
03226c9e43 | ||
|
|
45dd07cfe4 | ||
|
|
eb8c97f150 | ||
|
|
ce2d2defc0 | ||
|
|
416e100b1d | ||
|
|
d3e6455cf7 | ||
|
|
f59d59fbe8 | ||
|
|
4eba8a2a2d | ||
|
|
95ed039879 | ||
|
|
bcedd7e557 | ||
|
|
c3abc64b61 | ||
|
|
2ffa56633c | ||
|
|
5b7ebc3684 | ||
|
|
fe3a1f724c | ||
|
|
d55cd76ebf | ||
|
|
53af32dd1a | ||
|
|
d1e4cb430c | ||
|
|
ab49516ec1 | ||
|
|
b81a26d019 | ||
|
|
eb723d1979 | ||
|
|
1e4582f966 | ||
|
|
8216265725 | ||
|
|
a316bdfa22 | ||
|
|
ee187f2f78 | ||
|
|
9c55e42b32 | ||
|
|
f49f1385b5 | ||
|
|
aa0dbac351 | ||
|
|
e61e6c3c95 | ||
|
|
2a8fe9ec54 | ||
|
|
63ea4179e4 | ||
|
|
3c9a28017d | ||
|
|
0f00adb0d1 | ||
|
|
4c9cf7577d | ||
|
|
1ad8e7ed74 | ||
|
|
2b3e533b8b | ||
|
|
f6ff0f6131 | ||
|
|
9a0ef5b989 | ||
|
|
5df1317f40 | ||
|
|
86631eab47 | ||
|
|
f6fed97b9d | ||
|
|
d152b4d235 | ||
|
|
3b3ad1b390 | ||
|
|
fee419797d | ||
|
|
fafff5c1d1 | ||
|
|
5f2a537f14 | ||
|
|
f3b4618932 | ||
|
|
f76d214ae6 | ||
|
|
9b10b1438c | ||
|
|
05904e3770 | ||
|
|
5e02f87980 | ||
|
|
00ab44f0a0 | ||
|
|
df260dd724 | ||
|
|
1400e9d63a | ||
|
|
6f4e80bbb6 | ||
|
|
6ae575d885 | ||
|
|
36d08e1849 | ||
|
|
c38daab5da | ||
|
|
de0b0508eb | ||
|
|
1ae4a74687 | ||
|
|
8f498c7665 | ||
|
|
93a0d3a4ca | ||
|
|
de8db2a89c | ||
|
|
670641fe7b | ||
|
|
6dfd598b7f | ||
|
|
bf24a71b60 | ||
|
|
65ee16f676 | ||
|
|
3925ceb9f4 | ||
|
|
3a9397307d | ||
|
|
73242280ef | ||
|
|
30a473c977 | ||
|
|
46bde9b337 | ||
|
|
f43eb35d38 | ||
|
|
8222b86a32 | ||
|
|
f3968c5d99 | ||
|
|
035c38bdc7 | ||
|
|
11fa28a87a | ||
|
|
0ce31da96e | ||
|
|
b209243b27 | ||
|
|
faec57d263 | ||
|
|
61c323d7cb | ||
|
|
869b93e270 | ||
|
|
a06de19577 | ||
|
|
0193e70a9e | ||
|
|
05a00edb79 | ||
|
|
6d46ac98ba | ||
|
|
929ab9d327 | ||
|
|
9f96c8adec | ||
|
|
fb4f30a4a4 | ||
|
|
ceae5fb0ed | ||
|
|
f7a35424df | ||
|
|
01744f1759 | ||
|
|
196f20fbc9 | ||
|
|
fc7b1cf9fe | ||
|
|
6d2a667c92 | ||
|
|
fbcf589a18 | ||
|
|
7587cb5737 | ||
|
|
eecc2a738c | ||
|
|
93ce494741 | ||
|
|
13c15c82e7 | ||
|
|
d40f9b24ed | ||
|
|
2aedc84586 | ||
|
|
2cc7dd02af | ||
|
|
7d717a9cb4 | ||
|
|
46dc96fddf | ||
|
|
06ac3f73a6 | ||
|
|
64ae3c3a56 | ||
|
|
cb83284b24 | ||
|
|
cb5f5a26cf | ||
|
|
3f4136157e | ||
|
|
662cfb6f7b | ||
|
|
aac34a5411 | ||
|
|
276989a878 | ||
|
|
bdab8a28c9 | ||
|
|
8f9d8b55eb | ||
|
|
b54870106d | ||
|
|
2b23e3c119 | ||
|
|
e50d75026a | ||
|
|
776137aaaf | ||
|
|
588f18ac58 | ||
|
|
08494b5f6f | ||
|
|
58bed3e60d | ||
|
|
4e43ad8c2a | ||
|
|
4b0d63ba8e | ||
|
|
e56c266edc | ||
|
|
4abce326bc | ||
|
|
95626d57b1 | ||
|
|
f7f7a18fe2 | ||
|
|
95fe7fc528 | ||
|
|
67fd44c551 | ||
|
|
82f1bad002 | ||
|
|
49b00bfcd2 | ||
|
|
d2f915a558 | ||
|
|
12206e59b4 | ||
|
|
6bc580930e | ||
|
|
9795cb8d0e | ||
|
|
7bcc8c1de8 | ||
|
|
b918052a97 | ||
|
|
0966655756 | ||
|
|
011b22dee8 | ||
|
|
c431cbf202 | ||
|
|
0713945e02 | ||
|
|
f64b42e3d2 | ||
|
|
2659eab268 | ||
|
|
79958838e3 | ||
|
|
c7d8b3871a | ||
|
|
b6a54103b8 | ||
|
|
22211f1b54 | ||
|
|
f3c7953bdc | ||
|
|
65f2a063b6 | ||
|
|
dea19ded1e | ||
|
|
df5cff29ec | ||
|
|
af48c3db38 | ||
|
|
2a339d02c2 | ||
|
|
e2002ec152 | ||
|
|
2f12ad7bf2 | ||
|
|
148f6ba05d | ||
|
|
da4be5a802 | ||
|
|
a801672963 | ||
|
|
493a8f5cea | ||
|
|
6f81e017d0 | ||
|
|
36d8d53427 | ||
|
|
9f4b778d8c | ||
|
|
06459ac808 | ||
|
|
4385fc9d94 | ||
|
|
72b4827f85 | ||
|
|
d1021e6861 | ||
|
|
9f95436b56 | ||
|
|
e27a1cdd9b | ||
|
|
5761f8c050 | ||
|
|
8340e1ceec | ||
|
|
79c644d1da | ||
|
|
4b655f06d4 | ||
|
|
e44e1c1f19 | ||
|
|
9c57c808fa | ||
|
|
bde96c1542 | ||
|
|
0dd5057b4d | ||
|
|
f01cf37ead | ||
|
|
acf8f7b2a3 | ||
|
|
0320872e4e | ||
|
|
7f3d9a8edd | ||
|
|
62ae445f97 | ||
|
|
e863d1054a | ||
|
|
f258da6add | ||
|
|
aa1bd63d61 | ||
|
|
82325973f8 | ||
|
|
118a13200b | ||
|
|
4671aed03b | ||
|
|
a330429af7 | ||
|
|
7bdba58b98 | ||
|
|
f9793be848 | ||
|
|
3b25d02eea | ||
|
|
9f4a2c0c1c | ||
|
|
d2b112d1c1 | ||
|
|
4d4fcc1780 | ||
|
|
1068baf10e | ||
|
|
13ca93adc8 | ||
|
|
c1599aa138 | ||
|
|
5791ca7e8d | ||
|
|
8d0f19fd6a | ||
|
|
0da5585582 | ||
|
|
ba1cb7820a | ||
|
|
22dd20ab58 | ||
|
|
b44f3ae3e6 | ||
|
|
6be79946f4 | ||
|
|
55f55e3ad9 | ||
|
|
8278be8d26 | ||
|
|
d91fe4e38c | ||
|
|
782a35f750 | ||
|
|
f3469729e5 | ||
|
|
72393b5ffc | ||
|
|
f82afdcfb5 | ||
|
|
c70e8d486f | ||
|
|
4b7ad20159 | ||
|
|
6edafa8502 | ||
|
|
eb5be1ac7f | ||
|
|
a52857e95b | ||
|
|
dbcdc876ac | ||
|
|
5fa771c6cb | ||
|
|
17bc464bac | ||
|
|
7b3621bb0c | ||
|
|
cd1210b0ca | ||
|
|
7f53455105 | ||
|
|
1eacc5d38f | ||
|
|
a8ad6e9f69 | ||
|
|
752e00694a | ||
|
|
04bbcf1122 | ||
|
|
db8a66e49e | ||
|
|
20702af590 | ||
|
|
1167225348 | ||
|
|
8d71053b08 | ||
|
|
d0def61ca0 | ||
|
|
b95959b8b2 | ||
|
|
100af8a27f | ||
|
|
3e21f0cc91 | ||
|
|
71acbec38d | ||
|
|
ad636acac7 | ||
|
|
6834f0096b | ||
|
|
75e960f999 | ||
|
|
2406cc35b6 | ||
|
|
b685cbf37c | ||
|
|
1c4ed26b81 | ||
|
|
451352183c | ||
|
|
e4198ad63a | ||
|
|
a9ac3657ca | ||
|
|
47302b0cf9 | ||
|
|
5aee1505a6 | ||
|
|
033a101da3 | ||
|
|
407d1faf0d | ||
|
|
35edf03eca | ||
|
|
7b437d4f58 | ||
|
|
687476bc27 | ||
|
|
bd577fafb2 | ||
|
|
9c7d55b8b4 | ||
|
|
e22115bf9c | ||
|
|
99eee4a2d6 | ||
|
|
6ca5df9118 | ||
|
|
9ec439c8f5 | ||
|
|
ca9d1ad4ae | ||
|
|
711f5906b9 | ||
|
|
8be11c8688 | ||
|
|
ce818dd6d1 | ||
|
|
808a82300a | ||
|
|
11f74c21d3 | ||
|
|
09c4a08cb5 | ||
|
|
13df80ffb7 | ||
|
|
eb80720e75 | ||
|
|
795c03164f | ||
|
|
026be61af7 | ||
|
|
a1523f3381 | ||
|
|
5fc2acc235 | ||
|
|
e363966f9b | ||
|
|
c61fd447c9 | ||
|
|
24ce050a91 | ||
|
|
c5811178ae | ||
|
|
4d8eefb1ea | ||
|
|
569f76ecf1 | ||
|
|
33a38393cf | ||
|
|
9f749b304c | ||
|
|
bb4d537991 | ||
|
|
f8fc565dd8 | ||
|
|
a9a228d071 | ||
|
|
79b5c94f4f | ||
|
|
5e024f75b9 | ||
|
|
9c32cff1dd | ||
|
|
9e89a1e10e | ||
|
|
d641f947d6 | ||
|
|
157b081363 | ||
|
|
867a5c982c | ||
|
|
1c6c8ff696 | ||
|
|
5f20d14476 | ||
|
|
453c005423 | ||
|
|
0b84ca62bf | ||
|
|
5c82ec410e | ||
|
|
5e8f7a9102 | ||
|
|
92b0f591d3 | ||
|
|
c06190b79c | ||
|
|
dfb33304c0 | ||
|
|
01103a77c3 | ||
|
|
ea5c88e36f | ||
|
|
cad4caaf5b | ||
|
|
1e523fa912 | ||
|
|
7e96cbf7da | ||
|
|
51e8788167 | ||
|
|
e434009577 | ||
|
|
91db1be09e | ||
|
|
abb6676b65 | ||
|
|
8d0111721a | ||
|
|
4576ea4287 | ||
|
|
a0af14fc80 | ||
|
|
ce0fd3736e | ||
|
|
6ddf2e8c08 | ||
|
|
f06171f551 | ||
|
|
4f53ef9316 | ||
|
|
eeb8b6eb37 | ||
|
|
264b0ee891 | ||
|
|
4a20f7c22a | ||
|
|
5bb0addb3d | ||
|
|
57755c766c | ||
|
|
b77682c13f | ||
|
|
bcff4f81c2 | ||
|
|
f18550bd9d | ||
|
|
44c2c235c0 | ||
|
|
fcf490028a | ||
|
|
9d85a7f216 | ||
|
|
d039fc95ed | ||
|
|
e022c5ad5b | ||
|
|
ff2cf17a73 | ||
|
|
88c0fea06f | ||
|
|
3af2c20bb2 | ||
|
|
0355d0297e | ||
|
|
de761660cb | ||
|
|
0cfb0ed830 | ||
|
|
d3326f9f0c | ||
|
|
a22a382e1d | ||
|
|
e551fe57b7 | ||
|
|
f9160c2909 | ||
|
|
19ca3fee68 | ||
|
|
69e9a7454e | ||
|
|
96707fc4b4 | ||
|
|
9e561a3887 | ||
|
|
4d90cc5f80 | ||
|
|
cb34f5ef6a | ||
|
|
239f7e3e32 | ||
|
|
d950c1d323 | ||
|
|
8d8dcc36c5 | ||
|
|
7e4cec3c1a | ||
|
|
61a54bb38e | ||
|
|
c21c84c62f | ||
|
|
d6117788a8 | ||
|
|
f15b6d5cf8 | ||
|
|
d65311858c | ||
|
|
ec7a7ff1ff | ||
|
|
6fb941cf4c | ||
|
|
3c70c12720 | ||
|
|
0008668fa5 | ||
|
|
78b9fcb71b | ||
|
|
1a371a9417 | ||
|
|
47225a83a2 | ||
|
|
c05d42cc1c | ||
|
|
eae71a5184 | ||
|
|
8df60acc61 | ||
|
|
082c695db1 | ||
|
|
7086a3fb5a | ||
|
|
28cf2d56e2 | ||
|
|
8dd401d35f | ||
|
|
d3e7989119 | ||
|
|
703f93d8e2 | ||
|
|
85c0aeb19f | ||
|
|
c79af29ad4 | ||
|
|
301b85f5c0 | ||
|
|
387889cda0 | ||
|
|
f16f5afec5 | ||
|
|
66f38fbb81 | ||
|
|
95496fc057 | ||
|
|
c065c3a2e6 | ||
|
|
ebf7a6c3c7 | ||
|
|
c8c073a199 | ||
|
|
db233c6051 | ||
|
|
badd314724 | ||
|
|
5544e9602c | ||
|
|
59dfcb98fc | ||
|
|
39df4c8b49 | ||
|
|
34e1939666 | ||
|
|
57c877ab9a | ||
|
|
cf8ff30c74 | ||
|
|
dc941163eb | ||
|
|
fdb4196ad5 | ||
|
|
258f800b8b | ||
|
|
9a5a336483 | ||
|
|
a89a354c31 | ||
|
|
644742133e | ||
|
|
96810ea994 | ||
|
|
bd672054cc | ||
|
|
ec28acf476 | ||
|
|
bd38df6a6a | ||
|
|
48e5d3d3c1 | ||
|
|
dd77599dea | ||
|
|
397e0f0a29 | ||
|
|
166832cd94 | ||
|
|
e65ba104dd | ||
|
|
cd71a86d3f | ||
|
|
ff760815ca | ||
|
|
658d41dd69 | ||
|
|
c40607aef3 | ||
|
|
1b6db78f9e | ||
|
|
3d2ee60acd | ||
|
|
b7572b9004 | ||
|
|
bab4f443e2 | ||
|
|
6072053737 | ||
|
|
7a2babcd05 | ||
|
|
d41f0a0a40 | ||
|
|
b4faed3ecf | ||
|
|
ed0c742d2f | ||
|
|
6ec4e15e6e | ||
|
|
35455e6533 | ||
|
|
293f2af0dc | ||
|
|
c24680e09d | ||
|
|
aaa70fed23 | ||
|
|
e3d256ca5e | ||
|
|
8bc8c373a8 | ||
|
|
cc853d9061 | ||
|
|
cef16d9e7b | ||
|
|
529131138a | ||
|
|
55d6bbbe21 | ||
|
|
9abe0ad9f6 | ||
|
|
4a52147443 | ||
|
|
77e45b8709 | ||
|
|
11651ac437 | ||
|
|
f16d2f337e | ||
|
|
48083f7c0c | ||
|
|
946ba89cd7 | ||
|
|
92c6f85586 | ||
|
|
24778543e2 | ||
|
|
10d8b6c609 | ||
|
|
76b40c9636 | ||
|
|
65f57882b9 | ||
|
|
0a4269f053 | ||
|
|
23339c94ec | ||
|
|
095243eff3 | ||
|
|
6f13d5cbf4 | ||
|
|
13377992f7 | ||
|
|
464957864c | ||
|
|
6ba97a6b94 | ||
|
|
51ae905770 | ||
|
|
5627413b23 | ||
|
|
6844c694b5 | ||
|
|
0693f8c8c6 | ||
|
|
6635e57c36 | ||
|
|
b829419c54 | ||
|
|
97095e4319 | ||
|
|
a73c504ea3 | ||
|
|
3fecdd6e7d | ||
|
|
631897c0a6 | ||
|
|
16e7993a65 | ||
|
|
f968374b46 | ||
|
|
13b5e589cb | ||
|
|
f3a5a50199 | ||
|
|
97c6573a75 | ||
|
|
a795ae35e1 | ||
|
|
0d8de21429 | ||
|
|
9ba218ab37 | ||
|
|
79005d0e2e | ||
|
|
9c30225249 | ||
|
|
99974c7f59 | ||
|
|
48aed7fbe5 | ||
|
|
84a4622fdf | ||
|
|
746d5960ba | ||
|
|
033830f73b | ||
|
|
cf6e66e5ee | ||
|
|
d089b1aab2 | ||
|
|
82a1a38c30 | ||
|
|
2ed702766b | ||
|
|
ee62ffcc7d | ||
|
|
a84cf46699 | ||
|
|
3992e25c93 | ||
|
|
4928ef31b8 | ||
|
|
a0e273fd06 | ||
|
|
508f814bbc | ||
|
|
066a4d70c9 | ||
|
|
12d0e0b7ea | ||
|
|
d885052341 | ||
|
|
227e1f4dc3 | ||
|
|
c9c98dcee8 | ||
|
|
a4cda21926 | ||
|
|
8029b62daa | ||
|
|
74a76e026a | ||
|
|
368badd225 | ||
|
|
f3c65f8597 | ||
|
|
d38c5b07fa | ||
|
|
d402e302f3 | ||
|
|
8614d24932 | ||
|
|
b4d66394e7 | ||
|
|
c423577e1d | ||
|
|
76d021ceaf | ||
|
|
c2c7a6786d | ||
|
|
0aef20dd23 | ||
|
|
5cee2208d7 | ||
|
|
40b01327a2 | ||
|
|
aca131cfc0 | ||
|
|
4918c4d643 | ||
|
|
4172ad8a8e | ||
|
|
90f19d27f0 | ||
|
|
35d2e91d68 | ||
|
|
4d70fd0eee | ||
|
|
6c8015ca28 | ||
|
|
f155f5a498 | ||
|
|
78ff2f4daa | ||
|
|
428f5ed6a9 | ||
|
|
9cf95696a4 | ||
|
|
f331d5998e | ||
|
|
0bc182436d | ||
|
|
34fb5c84d9 | ||
|
|
f996eedf49 | ||
|
|
a3dcc40f23 | ||
|
|
ca4db188ea | ||
|
|
bea9a0854e | ||
|
|
b8d9a2fdf3 | ||
|
|
b0de324ea8 | ||
|
|
0f1a001fd6 | ||
|
|
afd5e241e6 | ||
|
|
45b9406b63 | ||
|
|
f3744b8169 | ||
|
|
91d5ba2870 | ||
|
|
52cdf4930d | ||
|
|
b66e085afc | ||
|
|
b7f1df7fe9 | ||
|
|
37723752cd | ||
|
|
aa2129280d | ||
|
|
4ef50375cb | ||
|
|
2daf0ab5df | ||
|
|
a2d65c0c6a | ||
|
|
d47d82bf43 | ||
|
|
cd82f70002 | ||
|
|
29e19cb32e | ||
|
|
631dd00038 | ||
|
|
0dd3589a21 | ||
|
|
b5979375b4 | ||
|
|
79480405a0 | ||
|
|
497be311db | ||
|
|
de5f9dfb12 | ||
|
|
54046b750b | ||
|
|
54377760b9 | ||
|
|
17076cc1bd | ||
|
|
0239cf34a1 | ||
|
|
66c5d39e28 | ||
|
|
00284f52b8 | ||
|
|
e87860e033 | ||
|
|
ccd7b7fd7b | ||
|
|
a0524cd25d | ||
|
|
622f3da8df | ||
|
|
0761cbd1cb | ||
|
|
efec8fef2f | ||
|
|
143c0f3750 | ||
|
|
c02dd81c61 | ||
|
|
d97db7e617 | ||
|
|
633d14e711 | ||
|
|
e325214cb6 | ||
|
|
fd0f22b771 | ||
|
|
81da77d1e0 | ||
|
|
c9499b7401 | ||
|
|
3d7d2badf7 | ||
|
|
e2d10baea0 | ||
|
|
c243893aae | ||
|
|
3651066a77 | ||
|
|
be75bfaacb | ||
|
|
d0fab5a5bd | ||
|
|
eebb69d3ae | ||
|
|
b8fb80c17f | ||
|
|
e131938cac | ||
|
|
24723679cd | ||
|
|
834d43af1d | ||
|
|
e69a6d6ebd | ||
|
|
5b674cfe9e | ||
|
|
d0c9bb0398 | ||
|
|
1ef2b509e5 | ||
|
|
01d5dcdc09 | ||
|
|
38a4e3213e | ||
|
|
473b57314d | ||
|
|
02ab24f459 | ||
|
|
b1145f368f | ||
|
|
457c7ec556 | ||
|
|
cb2e89d93e | ||
|
|
207d4f6bbb | ||
|
|
221a7c8e42 | ||
|
|
c6f0c41213 | ||
|
|
3dbdc40360 | ||
|
|
a2c847be11 | ||
|
|
b3e9fbce67 | ||
|
|
ab261089d5 | ||
|
|
c855cdaf54 | ||
|
|
6323a1c35c | ||
|
|
c9e8ef3f93 | ||
|
|
c37f489f35 | ||
|
|
d7a8219a8f | ||
|
|
c2b2c75bf2 | ||
|
|
bb02d0f0ae | ||
|
|
dfa475210f | ||
|
|
3ad719cd50 | ||
|
|
41508fc5ad | ||
|
|
111f26a5ce | ||
|
|
764b7d62a0 | ||
|
|
65062d33eb | ||
|
|
bf7479ca35 | ||
|
|
63a33c8d1a | ||
|
|
05bee8d8f4 | ||
|
|
5db7c30463 | ||
|
|
96be1ffdbf | ||
|
|
7874704aa8 | ||
|
|
5200e03257 | ||
|
|
ef73232311 | ||
|
|
636319fb4c | ||
|
|
8caa6347bb | ||
|
|
b6a077b128 | ||
|
|
75711de9e1 | ||
|
|
3f5e88b9a1 | ||
|
|
dc9ff8b826 | ||
|
|
4e4472c5b6 | ||
|
|
cb569fdb55 | ||
|
|
21e035ffbb | ||
|
|
6633ef4acf | ||
|
|
851b6d6304 | ||
|
|
14aa9df496 | ||
|
|
5179b745e1 | ||
|
|
6f01c4841d | ||
|
|
35bb20b2cf | ||
|
|
e228e72db1 | ||
|
|
b468b0da0e | ||
|
|
92a59a60b4 | ||
|
|
e2d65994f9 | ||
|
|
32ac28738e | ||
|
|
ad471bf3db | ||
|
|
70de37d1ae | ||
|
|
6dc68c4c9e | ||
|
|
b21b4aec95 | ||
|
|
80575cd269 | ||
|
|
d41e0db18f | ||
|
|
c5024af7e2 | ||
|
|
99fcecf193 | ||
|
|
ca3ba7604a | ||
|
|
2996affc55 | ||
|
|
c6d6784070 | ||
|
|
abddb1edc3 | ||
|
|
5152a90545 | ||
|
|
0072e5ec37 | ||
|
|
0d25141a90 | ||
|
|
66a2f49008 | ||
|
|
fae9036f01 | ||
|
|
2ee113b9da | ||
|
|
1ed06855a9 | ||
|
|
07dd4c3672 | ||
|
|
ecc76d0f33 | ||
|
|
42e08b5414 | ||
|
|
516a960f71 | ||
|
|
8386b48554 | ||
|
|
1b4486cc5d | ||
|
|
b8413d3a6c | ||
|
|
92f1236128 | ||
|
|
c47f892ec8 | ||
|
|
673b6418c1 | ||
|
|
83a9c259f7 | ||
|
|
37d6efdbef | ||
|
|
6a8d42359a | ||
|
|
1d1e12901b | ||
|
|
87718e6725 | ||
|
|
46a0e67be7 | ||
|
|
9f74ea5763 | ||
|
|
530c2287c8 | ||
|
|
d2eb526ea3 | ||
|
|
613b433bfa | ||
|
|
3d55647895 | ||
|
|
cb3c9503d0 | ||
|
|
bf927f5adc | ||
|
|
b9b3f7b4c1 | ||
|
|
07d234825e | ||
|
|
ec347aba3a | ||
|
|
fac58ccefa | ||
|
|
6d8887e858 | ||
|
|
db9ade2257 | ||
|
|
df321f8cd9 | ||
|
|
31ba41ec3e | ||
|
|
62da568e0b | ||
|
|
09e1c0a1af | ||
|
|
3e0f26c296 | ||
|
|
9edc90704a | ||
|
|
58871a08e0 | ||
|
|
c18e11bb8e | ||
|
|
fee7c05c5b | ||
|
|
8fda310433 | ||
|
|
0a09c7da07 | ||
|
|
e978388d00 | ||
|
|
fc96fa3bc0 | ||
|
|
6ec5e920e2 | ||
|
|
b71917b28c | ||
|
|
f5a4862da5 | ||
|
|
014152f078 | ||
|
|
d4854c0df7 | ||
|
|
1b07874ea3 | ||
|
|
d9d88b8022 | ||
|
|
e05f28d0fb | ||
|
|
084ea583fb | ||
|
|
56fddf988a | ||
|
|
2e9174500d | ||
|
|
4ad4151a07 | ||
|
|
c778207bc2 |
31
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Create a report to help us improve
|
||||||
|
title: ''
|
||||||
|
labels: bug
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Describe the bug**
|
||||||
|
A clear and concise description of what the bug is.
|
||||||
|
|
||||||
|
**3mf File for This Bug**
|
||||||
|
If it is related to slicing, please append the 3mf file. It could be extremely helpful to solve the issue.
|
||||||
|
|
||||||
|
**To Reproduce**
|
||||||
|
Steps to reproduce the behavior:
|
||||||
|
1. Go to '...'
|
||||||
|
2. Click on '....'
|
||||||
|
3. Scroll down to '....'
|
||||||
|
4. See error
|
||||||
|
|
||||||
|
**Expected behavior**
|
||||||
|
A clear and concise description of what you expected to happen.
|
||||||
|
|
||||||
|
**Screenshots**
|
||||||
|
If applicable, add screenshots to help explain your problem.
|
||||||
|
|
||||||
|
**Desktop (please complete the following information):**
|
||||||
|
- OS: [e.g. iOS, Windows]
|
||||||
|
- Version [e.g. 22]
|
||||||
10
.github/ISSUE_TEMPLATE/custom.md
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
name: Custom issue template
|
||||||
|
about: For generic ideas such as enhancement of a feature, some questions, and etc.
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
name: Feature request
|
||||||
|
about: Suggest an idea for this project
|
||||||
|
title: ''
|
||||||
|
labels: feature
|
||||||
|
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 [...]
|
||||||
|
|
||||||
|
**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.
|
||||||
32
.github/workflows/appimage.yml
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
name: BambuStudio-SoftFever
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
appimage-builder:
|
||||||
|
name: Linux AppImage Build
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install cmake libgl1-mesa-dev libgtk-3-dev libxkbcommon-dev libunwind-dev libfuse2 -y
|
||||||
|
- name: Install dependencies from BuildLinux.sh
|
||||||
|
shell: bash
|
||||||
|
run: sudo ./BuildLinux.sh -ur
|
||||||
|
- name: Fix permissions
|
||||||
|
shell: bash
|
||||||
|
run: sudo chown $USER -R ./
|
||||||
|
- name: Build Bambu Studio dependencies using BuildLinux.sh
|
||||||
|
shell: bash
|
||||||
|
run: ./BuildLinux.sh -dsr
|
||||||
|
- name: Build Bambu Studio AppImage using BuildLinux.sh
|
||||||
|
shell: bash
|
||||||
|
run: ./BuildLinux.sh -ir
|
||||||
|
- uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: AppImage
|
||||||
|
path: './build/BambuStudio_ubu64.AppImage'
|
||||||
260
BuildLinux.sh
Executable file
@@ -0,0 +1,260 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e # exit on first error
|
||||||
|
|
||||||
|
export ROOT=`pwd`
|
||||||
|
export NCORES=`nproc --all`
|
||||||
|
export CMAKE_BUILD_PARALLEL_LEVEL=${NCORES}
|
||||||
|
FOUND_GTK2=$(dpkg -l libgtk* | grep gtk2)
|
||||||
|
FOUND_GTK3=$(dpkg -l libgtk* | grep gtk-3)
|
||||||
|
|
||||||
|
function check_available_memory_and_disk() {
|
||||||
|
FREE_MEM_GB=$(free -g -t | grep 'Mem:' | rev | cut -d" " -f1 | rev)
|
||||||
|
MIN_MEM_GB=10
|
||||||
|
|
||||||
|
FREE_DISK_KB=$(df -k . | tail -1 | awk '{print $4}')
|
||||||
|
MIN_DISK_KB=$((10 * 1024 * 1024))
|
||||||
|
|
||||||
|
if [ ${FREE_MEM_GB} -le ${MIN_MEM_GB} ]; then
|
||||||
|
echo -e "\nERROR: Bambu Studio Builder requires at least ${MIN_MEM_GB}G of 'available' mem (systen has only ${FREE_MEM_GB}G available)"
|
||||||
|
echo && free -h && echo
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${FREE_DISK_KB} -le ${MIN_DISK_KB} ]]; then
|
||||||
|
echo -e "\nERROR: Bambu Studio Builder requires at least $(echo $MIN_DISK_KB |awk '{ printf "%.1fG\n", $1/1024/1024; }') (systen has only $(echo ${FREE_DISK_KB} | awk '{ printf "%.1fG\n", $1/1024/1024; }') disk free)"
|
||||||
|
echo && df -h . && echo
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
unset name
|
||||||
|
while getopts ":dsiuhgbr" opt; do
|
||||||
|
case ${opt} in
|
||||||
|
u )
|
||||||
|
UPDATE_LIB="1"
|
||||||
|
;;
|
||||||
|
i )
|
||||||
|
BUILD_IMAGE="1"
|
||||||
|
;;
|
||||||
|
d )
|
||||||
|
BUILD_DEPS="1"
|
||||||
|
;;
|
||||||
|
s )
|
||||||
|
BUILD_BAMBU_STUDIO="1"
|
||||||
|
;;
|
||||||
|
b )
|
||||||
|
BUILD_DEBUG="1"
|
||||||
|
;;
|
||||||
|
g )
|
||||||
|
FOUND_GTK3=""
|
||||||
|
;;
|
||||||
|
r )
|
||||||
|
SKIP_RAM_CHECK="1"
|
||||||
|
;;
|
||||||
|
h ) echo "Usage: ./BuildLinux.sh [-i][-u][-d][-s][-b][-g]"
|
||||||
|
echo " -i: Generate appimage (optional)"
|
||||||
|
echo " -g: force gtk2 build"
|
||||||
|
echo " -b: build in debug mode"
|
||||||
|
echo " -d: build deps (optional)"
|
||||||
|
echo " -s: build bambu-studio (optional)"
|
||||||
|
echo " -u: only update clock & dependency packets (optional and need sudo)"
|
||||||
|
echo " -r: skip free ram check (low ram compiling)"
|
||||||
|
echo "For a first use, you want to 'sudo ./BuildLinux.sh -u'"
|
||||||
|
echo " and then './BuildLinux.sh -dsi'"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ $OPTIND -eq 1 ]
|
||||||
|
then
|
||||||
|
echo "Usage: ./BuildLinux.sh [-i][-u][-d][-s][-b][-g]"
|
||||||
|
echo " -i: Generate appimage (optional)"
|
||||||
|
echo " -g: force gtk2 build"
|
||||||
|
echo " -b: build in debug mode"
|
||||||
|
echo " -d: build deps (optional)"
|
||||||
|
echo " -s: build bambu-studio (optional)"
|
||||||
|
echo " -u: only update clock & dependency packets (optional and need sudo)"
|
||||||
|
echo " -r: skip free ram check (low ram compiling)"
|
||||||
|
echo "For a first use, you want to 'sudo ./BuildLinux.sh -u'"
|
||||||
|
echo " and then './BuildLinux.sh -dsi'"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# mkdir build
|
||||||
|
if [ ! -d "build" ]
|
||||||
|
then
|
||||||
|
mkdir build
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Addtional Dev packages for BambuStudio
|
||||||
|
export REQUIRED_DEV_PACKAGES="libmspack-dev libgstreamerd-3-dev libsecret-1-dev libwebkit2gtk-4.0-dev libosmesa6-dev libssl-dev libcurl4-openssl-dev eglexternalplatform-dev libudev-dev libdbus-1-dev extra-cmake-modules"
|
||||||
|
# libwebkit2gtk-4.1-dev ??
|
||||||
|
export DEV_PACKAGES_COUNT=$(echo ${REQUIRED_DEV_PACKAGES} | wc -w)
|
||||||
|
if [ $(dpkg --get-selections | grep -E "$(echo ${REQUIRED_DEV_PACKAGES} | tr ' ' '|')" | wc -l) -lt ${DEV_PACKAGES_COUNT} ]; then
|
||||||
|
sudo apt install -y ${REQUIRED_DEV_PACKAGES} git cmake wget file
|
||||||
|
fi
|
||||||
|
|
||||||
|
#FIXME: require root for -u option
|
||||||
|
if [[ -n "$UPDATE_LIB" ]]
|
||||||
|
then
|
||||||
|
echo -n -e "Updating linux ...\n"
|
||||||
|
# hwclock -s # DeftDawg: Why does SuperSlicer want to do this?
|
||||||
|
apt update
|
||||||
|
if [[ -z "$FOUND_GTK3" ]]
|
||||||
|
then
|
||||||
|
echo -e "\nInstalling: libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev cmake git\n"
|
||||||
|
apt install -y libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev cmake git
|
||||||
|
else
|
||||||
|
echo -e "\nFind libgtk-3, installing: libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev cmake git\n"
|
||||||
|
apt install -y libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev cmake git
|
||||||
|
fi
|
||||||
|
# for ubuntu 22.04:
|
||||||
|
ubu_version="$(cat /etc/issue)"
|
||||||
|
if [[ $ubu_version == "Ubuntu 22.04"* ]]
|
||||||
|
then
|
||||||
|
apt install -y curl libssl-dev libcurl4-openssl-dev m4
|
||||||
|
fi
|
||||||
|
if [[ -n "$BUILD_DEBUG" ]]
|
||||||
|
then
|
||||||
|
echo -e "\nInstalling: libssl-dev libcurl4-openssl-dev\n"
|
||||||
|
apt install -y libssl-dev libcurl4-openssl-dev
|
||||||
|
fi
|
||||||
|
echo -e "done\n"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
FOUND_GTK2_DEV=$(dpkg -l libgtk* | grep gtk2.0-dev || echo '')
|
||||||
|
FOUND_GTK3_DEV=$(dpkg -l libgtk* | grep gtk-3-dev || echo '')
|
||||||
|
echo "FOUND_GTK2=$FOUND_GTK2)"
|
||||||
|
if [[ -z "$FOUND_GTK2_DEV" ]]
|
||||||
|
then
|
||||||
|
if [[ -z "$FOUND_GTK3_DEV" ]]
|
||||||
|
then
|
||||||
|
echo "Error, you must install the dependencies before."
|
||||||
|
echo "Use option -u with sudo"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[1/9] Updating submodules..."
|
||||||
|
{
|
||||||
|
# update submodule profiles
|
||||||
|
pushd resources/profiles
|
||||||
|
git submodule update --init
|
||||||
|
popd
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "[2/9] Changing date in version..."
|
||||||
|
{
|
||||||
|
# change date in version
|
||||||
|
sed -i "s/+UNKNOWN/_$(date '+%F')/" version.inc
|
||||||
|
}
|
||||||
|
echo "done"
|
||||||
|
|
||||||
|
# mkdir in deps
|
||||||
|
if [ ! -d "deps/build" ]
|
||||||
|
then
|
||||||
|
mkdir deps/build
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! [[ -n "$SKIP_RAM_CHECK" ]]
|
||||||
|
then
|
||||||
|
check_available_memory_and_disk
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n "$BUILD_DEPS" ]]
|
||||||
|
then
|
||||||
|
echo "[3/9] Configuring dependencies..."
|
||||||
|
BUILD_ARGS=""
|
||||||
|
if [[ -n "$FOUND_GTK3_DEV" ]]
|
||||||
|
then
|
||||||
|
BUILD_ARGS="-DDEP_WX_GTK3=ON"
|
||||||
|
fi
|
||||||
|
if [[ -n "$BUILD_DEBUG" ]]
|
||||||
|
then
|
||||||
|
# have to build deps with debug & release or the cmake won't find evrything it needs
|
||||||
|
mkdir deps/build/release
|
||||||
|
pushd deps/build/release
|
||||||
|
cmake ../.. -DDESTDIR="../destdir" $BUILD_ARGS
|
||||||
|
make -j$NCORES
|
||||||
|
popd
|
||||||
|
BUILD_ARGS="${BUILD_ARGS} -DCMAKE_BUILD_TYPE=Debug"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# cmake deps
|
||||||
|
pushd deps/build
|
||||||
|
cmake .. $BUILD_ARGS
|
||||||
|
echo "done"
|
||||||
|
|
||||||
|
# make deps
|
||||||
|
echo "[4/9] Building dependencies..."
|
||||||
|
make -j$NCORES
|
||||||
|
echo "done"
|
||||||
|
|
||||||
|
# rename wxscintilla # TODO: DeftDawg: Does BambuStudio need this?
|
||||||
|
# echo "[5/9] Renaming wxscintilla library..."
|
||||||
|
# pushd destdir/usr/local/lib
|
||||||
|
# if [[ -z "$FOUND_GTK3_DEV" ]]
|
||||||
|
# then
|
||||||
|
# cp libwxscintilla-3.1.a libwx_gtk2u_scintilla-3.1.a
|
||||||
|
# else
|
||||||
|
# cp libwxscintilla-3.1.a libwx_gtk3u_scintilla-3.1.a
|
||||||
|
# fi
|
||||||
|
# popd
|
||||||
|
# echo "done"
|
||||||
|
|
||||||
|
# FIXME: only clean deps if compiling succeeds; otherwise reruns waste tonnes of time!
|
||||||
|
# clean deps
|
||||||
|
# echo "[6/9] Cleaning dependencies..."
|
||||||
|
# rm -rf dep_*
|
||||||
|
popd
|
||||||
|
echo "done"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n "$BUILD_BAMBU_STUDIO" ]]
|
||||||
|
then
|
||||||
|
echo "[7/9] Configuring Slic3r..."
|
||||||
|
BUILD_ARGS=""
|
||||||
|
if [[ -n "$FOUND_GTK3_DEV" ]]
|
||||||
|
then
|
||||||
|
BUILD_ARGS="-DSLIC3R_GTK=3"
|
||||||
|
fi
|
||||||
|
if [[ -n "$BUILD_DEBUG" ]]
|
||||||
|
then
|
||||||
|
BUILD_ARGS="${BUILD_ARGS} -DCMAKE_BUILD_TYPE=Debug"
|
||||||
|
else
|
||||||
|
BUILD_ARGS="${BUILD_ARGS} -DBBL_RELEASE_TO_PUBLIC=1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# cmake
|
||||||
|
pushd build
|
||||||
|
cmake .. -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" -DSLIC3R_STATIC=1 ${BUILD_ARGS}
|
||||||
|
echo "done"
|
||||||
|
|
||||||
|
# make Slic3r
|
||||||
|
echo "[8/9] Building Slic3r..."
|
||||||
|
make -j$NCORES BambuStudio # Slic3r
|
||||||
|
|
||||||
|
# make .mo
|
||||||
|
# make gettext_po_to_mo # FIXME: DeftDawg: complains about msgfmt not existing even in SuperSlicer, did this ever work?
|
||||||
|
|
||||||
|
popd
|
||||||
|
echo "done"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -e $ROOT/build/src/BuildLinuxImage.sh ]]; then
|
||||||
|
# Give proper permissions to script
|
||||||
|
chmod 755 $ROOT/build/src/BuildLinuxImage.sh
|
||||||
|
|
||||||
|
echo "[9/9] Generating Linux app..."
|
||||||
|
pushd build
|
||||||
|
if [[ -n "$BUILD_IMAGE" ]]
|
||||||
|
then
|
||||||
|
$ROOT/build/src/BuildLinuxImage.sh -i
|
||||||
|
else
|
||||||
|
$ROOT/build/src/BuildLinuxImage.sh
|
||||||
|
fi
|
||||||
|
popd
|
||||||
|
echo "done"
|
||||||
|
fi
|
||||||
@@ -53,7 +53,7 @@ if (APPLE)
|
|||||||
if (CMAKE_MACOSX_BUNDLE)
|
if (CMAKE_MACOSX_BUNDLE)
|
||||||
set(CMAKE_INSTALL_RPATH @executable_path/../Frameworks)
|
set(CMAKE_INSTALL_RPATH @executable_path/../Frameworks)
|
||||||
endif()
|
endif()
|
||||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version" FORCE)
|
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.3" CACHE STRING "Minimum OS X deployment version" FORCE)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# Proposal for C++ unit tests and sandboxes
|
# Proposal for C++ unit tests and sandboxes
|
||||||
@@ -507,6 +507,7 @@ add_custom_target(gettext_make_pot
|
|||||||
COMMAND xgettext --keyword=L --keyword=_L --keyword=_u8L --keyword=L_CONTEXT:1,2c --keyword=_L_PLURAL:1,2 --add-comments=TRN --from-code=UTF-8 --no-location --debug --boost
|
COMMAND xgettext --keyword=L --keyword=_L --keyword=_u8L --keyword=L_CONTEXT:1,2c --keyword=_L_PLURAL:1,2 --add-comments=TRN --from-code=UTF-8 --no-location --debug --boost
|
||||||
-f "${BBL_L18N_DIR}/list.txt"
|
-f "${BBL_L18N_DIR}/list.txt"
|
||||||
-o "${BBL_L18N_DIR}/BambuStudio.pot"
|
-o "${BBL_L18N_DIR}/BambuStudio.pot"
|
||||||
|
COMMAND hintsToPot ${SLIC3R_RESOURCES_DIR} ${BBL_L18N_DIR}
|
||||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||||
COMMENT "Generate pot file from strings in the source tree"
|
COMMENT "Generate pot file from strings in the source tree"
|
||||||
)
|
)
|
||||||
@@ -660,6 +661,8 @@ endfunction()
|
|||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT BambuStudio_app_gui)
|
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT BambuStudio_app_gui)
|
||||||
|
|
||||||
|
add_dependencies(gettext_make_pot hintsToPot)
|
||||||
|
|
||||||
# Perl bindings, currently only used for the unit / integration tests of libslic3r.
|
# Perl bindings, currently only used for the unit / integration tests of libslic3r.
|
||||||
# Also runs the unit / integration tests.
|
# Also runs the unit / integration tests.
|
||||||
#FIXME Port the tests into C++ to finally get rid of the Perl!
|
#FIXME Port the tests into C++ to finally get rid of the Perl!
|
||||||
@@ -675,6 +678,11 @@ if(SLIC3R_BUILD_TESTS)
|
|||||||
add_subdirectory(tests)
|
add_subdirectory(tests)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (NOT WIN32 AND NOT APPLE)
|
||||||
|
set(SLIC3R_APP_CMD "bambu-studio")
|
||||||
|
configure_file(${LIBDIR}/platform/unix/build_appimage.sh.in ${CMAKE_CURRENT_BINARY_DIR}/build_appimage.sh @ONLY)
|
||||||
|
endif()
|
||||||
|
|
||||||
option(BUILD_BBS_TEST_TOOLS "Build bbs test tools" OFF)
|
option(BUILD_BBS_TEST_TOOLS "Build bbs test tools" OFF)
|
||||||
if(BUILD_BBS_TEST_TOOLS)
|
if(BUILD_BBS_TEST_TOOLS)
|
||||||
add_subdirectory(bbs_test_tools)
|
add_subdirectory(bbs_test_tools)
|
||||||
@@ -696,7 +704,6 @@ elseif (SLIC3R_FHS)
|
|||||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/${SIZE}x${SIZE}/apps RENAME BambuStudio.png
|
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/${SIZE}x${SIZE}/apps RENAME BambuStudio.png
|
||||||
)
|
)
|
||||||
endforeach()
|
endforeach()
|
||||||
install(DIRECTORY ${SLIC3R_RESOURCES_DIR}/udev/ DESTINATION lib/udev/rules.d)
|
|
||||||
elseif (CMAKE_MACOSX_BUNDLE)
|
elseif (CMAKE_MACOSX_BUNDLE)
|
||||||
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/BambuStudio.app/Contents/resources")
|
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/BambuStudio.app/Contents/resources")
|
||||||
else ()
|
else ()
|
||||||
|
|||||||
71
Containerfile
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
# Build Bambu Slicer in a container
|
||||||
|
#
|
||||||
|
# Build an AppImage using rootless Podman (refer to https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md):
|
||||||
|
# rm -rf build; podman build . -t bambu-studio-builder && podman run --rm localhost/bambu-studio-builder /bin/bash -c 'tar -c $(find build | grep ubu64.AppImage | head -1)' | tar -xv
|
||||||
|
#
|
||||||
|
# Troubleshooting the build container:
|
||||||
|
# podman run -it --name bambu-studio-builder localhost/bambu-studio-builder /bin/bash
|
||||||
|
#
|
||||||
|
# Debugging the resulting AppImage:
|
||||||
|
# 1) Install `gdb`
|
||||||
|
# 2) In a terminal in the same directory as the AppImage, start it with following:
|
||||||
|
# echo -e "run\nbt\nquit" | gdb ./BambuStudio_ubu64.AppImage
|
||||||
|
# 3) Find related issue using backtrace output for clues and add backtrace to it on github
|
||||||
|
#
|
||||||
|
# Docker alternative AppImage build syntax (use this if you can't install podman):
|
||||||
|
# rm -rf build; docker build . --file Containerfile -t bambu-studio-builder; docker run --rm bambu-studio-builder /bin/bash -c 'tar -c $(find build | grep ubu64.AppImage | head -1)' | tar -xv
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# TODO: bind mount BambuStudio to inside the container instead of COPY to enable faster rebuilds during dev work.
|
||||||
|
|
||||||
|
FROM docker.io/ubuntu:20.04
|
||||||
|
LABEL maintainer "DeftDawg <DeftDawg@gmail.com>"
|
||||||
|
|
||||||
|
# Disable interactive package configuration
|
||||||
|
RUN apt-get update && \
|
||||||
|
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
|
||||||
|
|
||||||
|
# Add a deb-src
|
||||||
|
RUN echo deb-src http://archive.ubuntu.com/ubuntu \
|
||||||
|
$(cat /etc/*release | grep VERSION_CODENAME | cut -d= -f2) main universe>> /etc/apt/sources.list
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
git \
|
||||||
|
build-essential \
|
||||||
|
autoconf pkgconf m4 \
|
||||||
|
cmake extra-cmake-modules \
|
||||||
|
libglu1-mesa-dev libglu1-mesa-dev \
|
||||||
|
libwayland-dev libxkbcommon-dev wayland-protocols \
|
||||||
|
eglexternalplatform-dev libglew-dev \
|
||||||
|
libgtk-3-dev \
|
||||||
|
libdbus-1-dev \
|
||||||
|
libcairo2-dev \
|
||||||
|
libgtk-3-dev libwebkit2gtk-4.0-dev \
|
||||||
|
libsoup2.4-dev \
|
||||||
|
libgstreamer1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-base1.0-dev libgstreamerd-3-dev \
|
||||||
|
libmspack-dev \
|
||||||
|
libosmesa6-dev \
|
||||||
|
libssl-dev libcurl4-openssl-dev libsecret-1-dev \
|
||||||
|
libudev-dev \
|
||||||
|
curl \
|
||||||
|
wget \
|
||||||
|
file \
|
||||||
|
sudo
|
||||||
|
|
||||||
|
COPY ./ BambuStudio
|
||||||
|
|
||||||
|
WORKDIR BambuStudio
|
||||||
|
|
||||||
|
# These can run together, but we run them seperate for podman caching
|
||||||
|
# Update System dependencies
|
||||||
|
RUN ./BuildLinux.sh -u
|
||||||
|
|
||||||
|
# Build dependencies in ./deps
|
||||||
|
RUN ./BuildLinux.sh -d
|
||||||
|
|
||||||
|
# Build slic3r
|
||||||
|
RUN ./BuildLinux.sh -s
|
||||||
|
|
||||||
|
# Build AppImage
|
||||||
|
ENV container podman
|
||||||
|
RUN ./BuildLinux.sh -i
|
||||||
190
README.md
@@ -1,61 +1,172 @@
|
|||||||
|
|
||||||
# Bambu Studio - SoftFever
|
# Bambu Studio - SoftFever
|
||||||
A modified version of Bambu Studio.
|
A modified version of Bambu Studio with many handy features.
|
||||||
It has following changes:
|
It's fully compatible with Bambulab X1/X1-C/P1P printers.
|
||||||
|
It also supports Anycubic, Anker, Creality, Prusa MK3S, RatRig and Voron printers.
|
||||||
|
You can download it here: https://github.com/SoftFever/BambuStudio-SoftFever/releases
|
||||||
|
|
||||||
- ## Support third-party printers:
|
## BambuStudio SoftFever change notes:
|
||||||
- Voron 2.4
|
|
||||||
- Voron Trident
|
|
||||||
- Voron 0.1
|
|
||||||
- Prusa MK3S
|
|
||||||
- ## Export to to .gcode file.
|
|
||||||

|
|
||||||
|
|
||||||
- ## Send gcode file to printer
|
### [V1.4.1 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.4.1):
|
||||||
1. Setup connection
|
- Added a feature for checking and displaying a notification for a new version
|
||||||
<img src="./SoftFever_doc/print_host.png" width="1024">
|
- Added RatRig printer profiles, thanks @erebus04 for working this
|
||||||
2. Send to print
|
- Added support for the Creality CR-10 Max and Anker M5 printers.
|
||||||
<img src="./SoftFever_doc/send_to_print.png" width="1024">
|
- Fixed the issue with profile cloud syncing for third-party printers.
|
||||||
- ## Support single wall mode on first layer
|
- set inner_wall_acceleration to 5000 for Bambu printers
|
||||||

|
- Added support for the first_layer_bed_temperature and first_layer_temperature variables for better compatibility."
|
||||||
- ## Support Chamber temperature. This setting can be use in machine start G-Gcode
|
- Fixed a crashing bug when adding text Mac Intel machine
|
||||||

|
- QoL improvements for naming logic:
|
||||||
<img src="./SoftFever_doc/chamber_temperature_custom_gcode.png" width="686">
|
1. The filename format is now supported when exporting 3mf files.
|
||||||
- ## Thumbview is supported
|
2. If the project is not defined, the model name will be used as the output name.
|
||||||
|
3. The "Untitled" string will no longer be added if the project name is set.
|
||||||
|
4. The "_plate_0" string has been removed from the file name if there is only one plate.
|
||||||
|
|
||||||
|
### [V1.4.0 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.4.0):
|
||||||
|
- Add Layer Time/Layer time(Log) display (NOTE: need more tweaking work for BBL printers as the layer time is skewed by the preparing time)
|
||||||
|
- Add `sandwich`(inner-outer-inner-infill) mode support for Arachne engine.
|
||||||
|
- Change default `wall loop` from 2 to 3
|
||||||
|
- Fix an issue that the last used printer was not remembered after application restart. (Thanks Bambulab engineers, for the quick response and fixing)
|
||||||
|
- Optimized layer height sanity check logic. It will check against `max_layer_height` in the printer settings now. (I can use CHT 1.8 nozzle to print 1.0 mm thick layers now ;) )
|
||||||
|
- Add Prusa MINI+ profile
|
||||||
|
- expose `bed_exclude_area` parameter to 3rd printers
|
||||||
|
- Fix some 3rd party printer related issues introduced in [BambuStudio v01.04.00.17](https://github.com/bambulab/BambuStudio/releases/tag/v01.04.00.17)
|
||||||
|
1. Can't send sliced files to printers
|
||||||
|
2. AMS filaments were added to non-Bambulab printers
|
||||||
|
3. Wrong bed setting was applied
|
||||||
|
### [V1.3.4 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.3.4):
|
||||||
|
1. Add a new printer order - sandwich mode:
|
||||||
|
This new order is similar to the outer-wall-first mode in achieving the best dimensional accuracy. This new approach however avoids printing outer walls right after a long travel, which may cause artifacts on the surface in many cases.
|
||||||
|
sandwich-mode1
|
||||||
|
sandwich-mode2
|
||||||
|
2. Support RRF firmware(experimental)
|
||||||
|
3. Fix a compatibility issue for gcode-preview
|
||||||
|
4. Merge upstream changes
|
||||||
|
|
||||||
|
### [V1.3.3 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.3.3):
|
||||||
|
1. Improve top surface quality.
|
||||||
|
Fix a bug that internal solid infills didn't use monotonic when top surface is using monotonic lines
|
||||||
|
2. New feature: filter out tiny gaps.
|
||||||
|
Note: for aesthetic considerations, this setting won't affect top/bottom layers. In other words, gap fills that can be seen from outside won't be filtered out
|
||||||
|
3. PA(pressure advance) now support multi-color printing. A new PA value from the selected filament profile will be applied whenever there is
|
||||||
|
a filament/extruder change action. This change only affects multi-color printing.
|
||||||
|
5. Users can now set float values of layer time in Filament->Cooling tab.
|
||||||
|
6. Allow to set target bed temp to 0
|
||||||
|
7. Fix a bug that layer number is not displayed correctly in klipper UIs
|
||||||
|
8. Force using linear PA model when manual PA override is enabled for Bambu machines
|
||||||
|
9. Remember the last used filament
|
||||||
|
10. Skip checking BL network plugin for third-party printers.
|
||||||
|
### [V1.3.2 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.3.2-sf):
|
||||||
|
1. Support device control view for 3rd party printers
|
||||||
|
2. Port `Small perimeters` feature from PrusaSlicer. I also add an extra option to adjust the small perimeter threshold
|
||||||
|
You might want to reduce speed for small perimeter parts to prevent failures like bellow:
|
||||||
|
3. Add fan speed preview mode
|
||||||
|
4. Fix an issue that print time estimation is inaccurate when `Klipper` g-code style is used.
|
||||||
|
### [V1.3.1 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.3.1-sf):
|
||||||
|
1. Support change bed size and nozzle diameter
|
||||||
|
2. Allow users to specify the bridge infill direction
|
||||||
|
3. bridge_infill_direction1
|
||||||
|
4. bridge_infill_direction2
|
||||||
|
5. Change to ISO view angle for preview image
|
||||||
|
6. Add an option to change Z Hop action: NormalLift/SpiralLift
|
||||||
|
7. Optimise g-code generation for both Bambu printers and 3rd party printers
|
||||||
|
8. Support Klipper Exclude Objects
|
||||||
|
9. Better support for Moonraker's metadata.
|
||||||
|
|
||||||
|
### [V1.2.5.3 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.2.5.3-sf):
|
||||||
|
1. Label objects to support Klipper Exclude Objects feature
|
||||||
|
2. Allow users to change output file name format
|
||||||
|
3. Fix a bug that pressure advance value was not saved in the profile
|
||||||
|
4. Optimize non-Bambu printer profiles
|
||||||
|
5. Remove M900 S0 which is not necessary.
|
||||||
|
|
||||||
|
### [V1.2.5 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.2.5-sf):
|
||||||
|
1. Add options to adjust jerk for different line types
|
||||||
|
2. Add an option to adjust acceleration for travel. Higher acceleration for travel and lower acceleration for the outer wall makes it possible to print faster and nicer.
|
||||||
|
3. Add an option to manually override the Pressure Advance / Linear Advance for each filament.
|
||||||
|
|
||||||
|
### [V1.2.4 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.2.4-sf):
|
||||||
|
1. Allow users to adjust accelerations for inner/outer walls separately.
|
||||||
|
2. Allow users to adjust the bottom surface flow-rate
|
||||||
|
3. Fix an issue that bed temperature for other layers is not set properly. This bug exists in the upstream as well. My PR here(bambulab#319)
|
||||||
|
|
||||||
|
### [V1.2 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.2-sf):
|
||||||
|
1. Allow user to change machine limits
|
||||||
|
2. Allow users to adjust the top surface flow-rate.
|
||||||
|
3. Unlock some cool hidden features in BambuStudio.
|
||||||
|
4. Fix an issue that the software connected to Bambulab's staging server by default. (Only Bambulab machines were affected)
|
||||||
|
|
||||||
|
### [V1.1 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.1):
|
||||||
|
1. Support third-party printers:
|
||||||
|
- Voron 2.4
|
||||||
|
- Voron Trident
|
||||||
|
- Voron 0.1
|
||||||
|
- Prusa MK3S
|
||||||
|
2. Export to to .gcode file.
|
||||||
|
3. Send gcode file to printer
|
||||||
|
4. Support single wall mode on first layer
|
||||||
|
5. Support Chamber temperature. This setting can be use in machine start G-Gcode
|
||||||
|
6. Support thumbview for third-party printers
|
||||||
|
|
||||||
Demo video: https://youtu.be/vSNE9iGj2II
|
Demo video: https://youtu.be/vSNE9iGj2II
|
||||||
|
|
||||||
# NOTE:
|
## NOTE:
|
||||||
## - If you have troubles to run the build, you might need to install following runtimes:
|
## 1. For Apple M1 users, please take a look at this [article](https://www.howtogeek.com/803598/app-is-damaged-and-cant-be-opened/ ) about how to run unsigned applications on your machine. Or better, you can build it from the source codes if you want:)
|
||||||
|
Apple requires a subscription(costs 99$ yearly) for developers to sign their app. I don't do a lot of dev work on Mac, and this is a nonprofit open-source project, so I decided not to pay the money ;)
|
||||||
|
|
||||||
|
## 2. 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/BambuStudio-SoftFever/releases/download/v1.0.10-sf2/MicrosoftEdgeWebView2RuntimeInstallerX64.exe)
|
||||||
- [vcredist2019_x64](https://github.com/SoftFever/BambuStudio-SoftFever/releases/download/v1.0.10-sf2/vcredist2019_x64.exe)
|
- [vcredist2019_x64](https://github.com/SoftFever/BambuStudio-SoftFever/releases/download/v1.0.10-sf2/vcredist2019_x64.exe)
|
||||||
|
|
||||||
## - BambuStudio use G2/G3 commands by default. You need to turn on ARC support in your printer's firmware use with this slicer.
|
## 3. BambuStudio use G2/G3 commands by default. You need to turn on ARC support in your printer's firmware use with this slicer.
|
||||||
- For Voron and any Klipper based printers:
|
- For Voron and any Klipper based printers:
|
||||||
You can enable gcode_arcs(G2/G3) support by adding following section into you printer.cfg file:
|
You can enable gcode_arcs(G2/G3) support by adding following section into you printer.cfg file:
|
||||||
```
|
```
|
||||||
[gcode_arcs]
|
[gcode_arcs]
|
||||||
resolution: 0.1
|
resolution: 0.1
|
||||||
|
|
||||||
|
[gcode_macro m201]
|
||||||
|
gcode:
|
||||||
|
{% if 'X' in params or 'Y' in params %}
|
||||||
|
{% set accel = (params.X|default(params.Y)|float,
|
||||||
|
params.Y|default(params.X)|float)|min %}
|
||||||
|
SET_VELOCITY_LIMIT ACCEL={accel} ACCEL_TO_DECEL={accel * 0.5}
|
||||||
|
{% else %}
|
||||||
|
SET_VELOCITY_LIMIT
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
[gcode_macro m203]
|
||||||
|
gcode:
|
||||||
|
{% if 'X' in params or 'Y' in params %}
|
||||||
|
{% set speed = (params.X|default(params.Y)|float,
|
||||||
|
params.Y|default(params.X)|float)|min %}
|
||||||
|
SET_VELOCITY_LIMIT VELOCITY={speed}
|
||||||
|
{% else %}
|
||||||
|
SET_VELOCITY_LIMIT
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
[gcode_macro M205]
|
[gcode_macro M205]
|
||||||
gcode:
|
gcode:
|
||||||
{% set x_jerk = params.X|default(5)|float %}
|
{% if 'X' in params or 'Y' in params %}
|
||||||
{% set y_jerk = params.Y|default(5)|float %}
|
{% set corner_speed = (params.X|default(params.Y)|float,
|
||||||
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={x_jerk}
|
params.Y|default(params.X)|float)|min %}
|
||||||
|
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY={corner_speed}
|
||||||
|
{% else %}
|
||||||
|
SET_VELOCITY_LIMIT
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
[gcode_macro M900]
|
||||||
|
gcode:
|
||||||
|
SET_PRESSURE_ADVANCE ADVANCE={params.K}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
It's also recommended to add followinging dummy macros to make Klipper happy
|
~~ It's also recommended to add followinging dummy macros to make Klipper happy ~~
|
||||||
|
Update: latest Klipper has supported G17 command. Don't add following macro if you are running on latest Klipper.
|
||||||
```
|
```
|
||||||
# Make BambuStudio happy
|
# Make BambuStudio happy
|
||||||
[gcode_macro G17]
|
[gcode_macro G17]
|
||||||
gcode:
|
gcode:
|
||||||
|
|
||||||
[gcode_macro M981]
|
|
||||||
gcode:
|
|
||||||
|
|
||||||
[gcode_macro M1003]
|
|
||||||
gcode:
|
|
||||||
```
|
```
|
||||||
|
|
||||||
- For Prusa MK3S:
|
- For Prusa MK3S:
|
||||||
@@ -63,12 +174,15 @@ ARC movement are supported by default.
|
|||||||
|
|
||||||
|
|
||||||
# Gallery
|
# Gallery
|
||||||

|

|
||||||

|

|
||||||

|

|
||||||

|

|
||||||

|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
Image credits:
|
Image credits:
|
||||||
|
|||||||
BIN
SoftFever_doc/1.2.5_feature1.png
Normal file
|
After Width: | Height: | Size: 98 KiB |
BIN
SoftFever_doc/1.2.5_feature2.png
Normal file
|
After Width: | Height: | Size: 136 KiB |
BIN
SoftFever_doc/Anker.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
SoftFever_doc/Anycubic.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
SoftFever_doc/BambuLab.png
Normal file
|
After Width: | Height: | Size: 76 KiB |
BIN
SoftFever_doc/Creality.png
Normal file
|
After Width: | Height: | Size: 52 KiB |
BIN
SoftFever_doc/Prusa.png
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
SoftFever_doc/RatRig.png
Normal file
|
After Width: | Height: | Size: 131 KiB |
BIN
SoftFever_doc/Voron_1.png
Normal file
|
After Width: | Height: | Size: 126 KiB |
BIN
SoftFever_doc/Voron_2.png
Normal file
|
After Width: | Height: | Size: 74 KiB |
BIN
SoftFever_doc/accelerations.png
Normal file
|
After Width: | Height: | Size: 211 KiB |
|
Before Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 94 KiB |
|
Before Width: | Height: | Size: 105 KiB |
BIN
SoftFever_doc/sandwich-mode1.png
Normal file
|
After Width: | Height: | Size: 228 KiB |
BIN
SoftFever_doc/sandwich-mode2.png
Normal file
|
After Width: | Height: | Size: 214 KiB |
8471
bbl/i18n/it/BambuStudio_it.po
Normal file
@@ -25,6 +25,8 @@ src/slic3r/GUI/GUI_ObjectTable.hpp
|
|||||||
src/slic3r/GUI/GUI_ObjectTableSettings.cpp
|
src/slic3r/GUI/GUI_ObjectTableSettings.cpp
|
||||||
src/slic3r/GUI/GUI_ObjectTableSettings.hpp
|
src/slic3r/GUI/GUI_ObjectTableSettings.hpp
|
||||||
src/slic3r/GUI/GUI_Preview.cpp
|
src/slic3r/GUI/GUI_Preview.cpp
|
||||||
|
src/slic3r/GUI/HintNotification.cpp
|
||||||
|
src/slic3r/GUI/IMSlider.cpp
|
||||||
src/slic3r/GUI/Widgets/SideTools.cpp
|
src/slic3r/GUI/Widgets/SideTools.cpp
|
||||||
src/slic3r/GUI/Widgets/AMSControl.cpp
|
src/slic3r/GUI/Widgets/AMSControl.cpp
|
||||||
src/slic3r/GUI/ImGuiWrapper.cpp
|
src/slic3r/GUI/ImGuiWrapper.cpp
|
||||||
@@ -36,6 +38,7 @@ src/slic3r/GUI/Jobs/PlaterJob.cpp
|
|||||||
src/slic3r/GUI/Jobs/RotoptimizeJob.cpp
|
src/slic3r/GUI/Jobs/RotoptimizeJob.cpp
|
||||||
src/slic3r/GUI/Jobs/BindJob.cpp
|
src/slic3r/GUI/Jobs/BindJob.cpp
|
||||||
src/slic3r/GUI/Jobs/PrintJob.cpp
|
src/slic3r/GUI/Jobs/PrintJob.cpp
|
||||||
|
src/slic3r/GUI/Jobs/SendJob.cpp
|
||||||
src/slic3r/GUI/Jobs/UpgradeNetworkJob.cpp
|
src/slic3r/GUI/Jobs/UpgradeNetworkJob.cpp
|
||||||
src/slic3r/GUI/AboutDialog.cpp
|
src/slic3r/GUI/AboutDialog.cpp
|
||||||
src/slic3r/GUI/AMSMaterialsSetting.cpp
|
src/slic3r/GUI/AMSMaterialsSetting.cpp
|
||||||
@@ -85,6 +88,8 @@ src/slic3r/GUI/Search.cpp
|
|||||||
src/slic3r/GUI/Selection.cpp
|
src/slic3r/GUI/Selection.cpp
|
||||||
src/slic3r/GUI/SelectMachine.cpp
|
src/slic3r/GUI/SelectMachine.cpp
|
||||||
src/slic3r/GUI/SendSystemInfoDialog.cpp
|
src/slic3r/GUI/SendSystemInfoDialog.cpp
|
||||||
|
src/slic3r/GUI/SendToPrinter.cpp
|
||||||
|
src/slic3r/GUI/SetBedTypeDialog.cpp
|
||||||
src/slic3r/GUI/BindDialog.cpp
|
src/slic3r/GUI/BindDialog.cpp
|
||||||
src/slic3r/GUI/Tab.cpp
|
src/slic3r/GUI/Tab.cpp
|
||||||
src/slic3r/GUI/Tab.hpp
|
src/slic3r/GUI/Tab.hpp
|
||||||
@@ -99,6 +104,7 @@ src/slic3r/GUI/KBShortcutsDialog.hpp
|
|||||||
src/slic3r/GUI/KBShortcutsDialog.cpp
|
src/slic3r/GUI/KBShortcutsDialog.cpp
|
||||||
src/slic3r/GUI/ReleaseNote.cpp
|
src/slic3r/GUI/ReleaseNote.cpp
|
||||||
src/slic3r/GUI/ReleaseNote.hpp
|
src/slic3r/GUI/ReleaseNote.hpp
|
||||||
|
src/slic3r/GUI/UpgradePanel.cpp
|
||||||
src/slic3r/Utils/FixModelByWin10.cpp
|
src/slic3r/Utils/FixModelByWin10.cpp
|
||||||
src/slic3r/Utils/PresetUpdater.cpp
|
src/slic3r/Utils/PresetUpdater.cpp
|
||||||
src/slic3r/Utils/Http.cpp
|
src/slic3r/Utils/Http.cpp
|
||||||
|
|||||||
@@ -2,12 +2,12 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
#include <string.h>
|
||||||
namespace BambuStudio {
|
namespace BambuStudio {
|
||||||
|
|
||||||
//BBS: only check wodth when dE is longer than this value
|
//BBS: only check wodth when dE is longer than this value
|
||||||
const double CHECK_WIDTH_E_THRESHOLD = 0.0025;
|
const double CHECK_WIDTH_E_THRESHOLD = 0.0025;
|
||||||
const double WIDTH_THRESHOLD = 0.012;
|
const double WIDTH_THRESHOLD = 0.02;
|
||||||
const double RADIUS_THRESHOLD = 0.005;
|
const double RADIUS_THRESHOLD = 0.005;
|
||||||
|
|
||||||
const double filament_diameter = 1.75;
|
const double filament_diameter = 1.75;
|
||||||
@@ -19,6 +19,11 @@ const std::string Wipe_Start_Tag = " WIPE_START";
|
|||||||
const std::string Wipe_End_Tag = " WIPE_END";
|
const std::string Wipe_End_Tag = " WIPE_END";
|
||||||
const std::string Layer_Change_Tag = " CHANGE_LAYER";
|
const std::string Layer_Change_Tag = " CHANGE_LAYER";
|
||||||
const std::string Height_Tag = " LAYER_HEIGHT: ";
|
const std::string Height_Tag = " LAYER_HEIGHT: ";
|
||||||
|
const std::string filament_flow_ratio_tag = " filament_flow_ratio";
|
||||||
|
const std::string nozzle_temperature_Tag = " nozzle_temperature =";
|
||||||
|
const std::string nozzle_temperature_initial_layer_Tag = " nozzle_temperature_initial_layer";
|
||||||
|
const std::string Z_HEIGHT_TAG = " Z_HEIGHT: ";
|
||||||
|
const std::string Initial_Layer_Ptint_Height_Tag = " initial_layer_print_height =";
|
||||||
|
|
||||||
GCodeCheckResult GCodeChecker::parse_file(const std::string& path)
|
GCodeCheckResult GCodeChecker::parse_file(const std::string& path)
|
||||||
{
|
{
|
||||||
@@ -105,6 +110,19 @@ GCodeCheckResult GCodeChecker::parse_comment(GCodeLine& line)
|
|||||||
// extrusion role tag
|
// extrusion role tag
|
||||||
if (starts_with(comment, Extrusion_Role_Tag)) {
|
if (starts_with(comment, Extrusion_Role_Tag)) {
|
||||||
m_role = string_to_role(comment.substr(Extrusion_Role_Tag.length()));
|
m_role = string_to_role(comment.substr(Extrusion_Role_Tag.length()));
|
||||||
|
if (m_role == erExternalPerimeter) {
|
||||||
|
|
||||||
|
if (z_height == initial_layer_height && nozzle_temp != nozzle_temperature_initial_layer[filament_id]) {
|
||||||
|
std::cout << "invalid filament nozzle initial layer temperature comment with invalid value!" << std::endl;
|
||||||
|
return GCodeCheckResult::ParseFailed;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (z_height != initial_layer_height && nozzle_temp != nozzle_temperature[filament_id]) {
|
||||||
|
std::cout << "invalid filament nozzle temperature comment with invalid value!" << std::endl;
|
||||||
|
return GCodeCheckResult::ParseFailed;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} else if (starts_with(comment, Wipe_Start_Tag)) {
|
} else if (starts_with(comment, Wipe_Start_Tag)) {
|
||||||
m_wiping = true;
|
m_wiping = true;
|
||||||
} else if (starts_with(comment, Wipe_End_Tag)) {
|
} else if (starts_with(comment, Wipe_End_Tag)) {
|
||||||
@@ -123,7 +141,41 @@ GCodeCheckResult GCodeChecker::parse_comment(GCodeLine& line)
|
|||||||
}
|
}
|
||||||
} else if (starts_with(comment, Layer_Change_Tag)) {
|
} else if (starts_with(comment, Layer_Change_Tag)) {
|
||||||
m_layer_num++;
|
m_layer_num++;
|
||||||
|
} else if (starts_with(comment, filament_flow_ratio_tag))
|
||||||
|
{
|
||||||
|
std::string str = comment.substr(filament_flow_ratio_tag.size()+3);
|
||||||
|
if (!parse_double_from_str(str, filament_flow_ratio))
|
||||||
|
{
|
||||||
|
std::cout << "invalid filament flow ratio comment with invalid value!" << std::endl;
|
||||||
|
return GCodeCheckResult::ParseFailed;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else if (starts_with(comment, nozzle_temperature_Tag)) {
|
||||||
|
std::string str = comment.substr(nozzle_temperature_Tag.size() + 1);
|
||||||
|
if (!parse_double_from_str(str, nozzle_temperature)) {
|
||||||
|
std::cout << "invalid nozzle temperature comment with invalid value!" << std::endl;
|
||||||
|
return GCodeCheckResult::ParseFailed;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (starts_with(comment, nozzle_temperature_initial_layer_Tag)) {
|
||||||
|
std::string str = comment.substr(nozzle_temperature_initial_layer_Tag.size() + 3);
|
||||||
|
if (!parse_double_from_str(str, nozzle_temperature_initial_layer)) {
|
||||||
|
std::cout << "invalid nozzle temperature initial layer comment with invalid value!" << std::endl;
|
||||||
|
return GCodeCheckResult::ParseFailed;
|
||||||
|
}
|
||||||
|
} else if (starts_with(comment, Z_HEIGHT_TAG)) {
|
||||||
|
std::string str = comment.substr(Z_HEIGHT_TAG.size());
|
||||||
|
if (!parse_double_from_str(str, z_height)) {
|
||||||
|
std::cout << "invalid z height comment with invalid value!" << std::endl;
|
||||||
|
return GCodeCheckResult::ParseFailed;
|
||||||
|
}
|
||||||
|
} else if (starts_with(comment, Initial_Layer_Ptint_Height_Tag)) {
|
||||||
|
std::string str = comment.substr(Initial_Layer_Ptint_Height_Tag.size());
|
||||||
|
if (!parse_double_from_str(str, initial_layer_height)) {
|
||||||
|
std::cout << "invalid initial layer height comment with invalid value!" << std::endl;
|
||||||
|
return GCodeCheckResult::ParseFailed;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return GCodeCheckResult::Success;
|
return GCodeCheckResult::Success;
|
||||||
}
|
}
|
||||||
@@ -153,11 +205,32 @@ GCodeCheckResult GCodeChecker::parse_command(GCodeLine& gcode_line)
|
|||||||
{
|
{
|
||||||
case 82: { ret = parse_M82(gcode_line); break; } // Set to Absolute extrusion
|
case 82: { ret = parse_M82(gcode_line); break; } // Set to Absolute extrusion
|
||||||
case 83: { ret = parse_M83(gcode_line); break; } // Set to Relative extrusion
|
case 83: { ret = parse_M83(gcode_line); break; } // Set to Relative extrusion
|
||||||
|
case 104: {
|
||||||
|
ret = parse_M104_M109(gcode_line);
|
||||||
|
break;
|
||||||
|
} // Set to nozzle temperature
|
||||||
|
case 109: {
|
||||||
|
ret = parse_M104_M109(gcode_line);
|
||||||
|
break;
|
||||||
|
} // Set to nozzle temperature
|
||||||
default: { break; }
|
default: { break; }
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'T':{
|
case 'T':{
|
||||||
|
|
||||||
|
int pt = ::atoi(&cmd[1]);
|
||||||
|
if (pt == 1000 || pt == 1100 || pt == 255) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pt < 0 || pt > 254 || pt >= filament_flow_ratio.size()) {
|
||||||
|
std::cout << "Invalid T command"<<std::endl;
|
||||||
|
ret = GCodeCheckResult::ParseFailed;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
filament_id = pt;
|
||||||
|
flow_ratio = filament_flow_ratio[pt];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default: {
|
default: {
|
||||||
@@ -189,6 +262,7 @@ GCodeCheckResult GCodeChecker::parse_axis(GCodeLine& gcode_line)
|
|||||||
case 'F': axis = F; break;
|
case 'F': axis = F; break;
|
||||||
case 'I': axis = I; break;
|
case 'I': axis = I; break;
|
||||||
case 'J': axis = J; break;
|
case 'J': axis = J; break;
|
||||||
|
case 'P': axis = P; break;
|
||||||
default:
|
default:
|
||||||
//BBS: invalid command which has invalid axis
|
//BBS: invalid command which has invalid axis
|
||||||
std::cout << "Invalid gcode because of invalid axis!" << std::endl;
|
std::cout << "Invalid gcode because of invalid axis!" << std::endl;
|
||||||
@@ -266,8 +340,7 @@ GCodeCheckResult GCodeChecker::parse_G2_G3(GCodeLine& gcode_line)
|
|||||||
return GCodeCheckResult::ParseFailed;
|
return GCodeCheckResult::ParseFailed;
|
||||||
}
|
}
|
||||||
//BBS: invalid G2_G3 command which has no X and Y axis at same time
|
//BBS: invalid G2_G3 command which has no X and Y axis at same time
|
||||||
if (!gcode_line.has(X) &&
|
if (!gcode_line.has(X) && !gcode_line.has(Y) && !gcode_line.has(I) && !gcode_line.has(J)) {
|
||||||
!gcode_line.has(Y)) {
|
|
||||||
if (!gcode_line.has(X) || !gcode_line.has(P) || (int)gcode_line.get(P) != 1) {
|
if (!gcode_line.has(X) || !gcode_line.has(P) || (int)gcode_line.get(P) != 1) {
|
||||||
std::cout << "Invalid G2_G3 gcode because of no X and Y axis at same time!" << std::endl;
|
std::cout << "Invalid G2_G3 gcode because of no X and Y axis at same time!" << std::endl;
|
||||||
return GCodeCheckResult::ParseFailed;
|
return GCodeCheckResult::ParseFailed;
|
||||||
@@ -358,11 +431,30 @@ GCodeCheckResult GCodeChecker::parse_M83(const GCodeLine& gcode_line)
|
|||||||
return GCodeCheckResult::Success;
|
return GCodeCheckResult::Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GCodeCheckResult GCodeChecker::parse_M104_M109(const GCodeLine &gcode_line)
|
||||||
|
{
|
||||||
|
const char *c = gcode_line.m_raw.c_str();
|
||||||
|
const char *rs = strchr(c,'S');
|
||||||
|
|
||||||
|
std::string str=rs;
|
||||||
|
str = str.substr(1);
|
||||||
|
for (int i = 0; i < str.size(); i++) {
|
||||||
|
if (str[i] == ' ')
|
||||||
|
str=str.substr(0,i);
|
||||||
|
}
|
||||||
|
if (!parse_double_from_str(str, nozzle_temp)) {
|
||||||
|
std::cout << "invalid nozzle temperature comment with invalid value!" << std::endl;
|
||||||
|
return GCodeCheckResult::ParseFailed;
|
||||||
|
}
|
||||||
|
|
||||||
|
return GCodeCheckResult::Success;
|
||||||
|
}
|
||||||
|
|
||||||
double GCodeChecker::calculate_G1_width(const std::array<double, 3>& source,
|
double GCodeChecker::calculate_G1_width(const std::array<double, 3>& source,
|
||||||
const std::array<double, 3>& target,
|
const std::array<double, 3>& target,
|
||||||
double e, double height, bool is_bridge) const
|
double e, double height, bool is_bridge) const
|
||||||
{
|
{
|
||||||
double volume = e * Pi * (filament_diameter/2.0f) * (filament_diameter/2.0f);
|
double volume = (e / flow_ratio) * Pi * (filament_diameter / 2.0f) * (filament_diameter / 2.0f);
|
||||||
std::array<double, 3> delta = { target[0] - source[0],
|
std::array<double, 3> delta = { target[0] - source[0],
|
||||||
target[1] - source[1],
|
target[1] - source[1],
|
||||||
target[2] - source[2] };
|
target[2] - source[2] };
|
||||||
@@ -389,8 +481,9 @@ double GCodeChecker::calculate_G2_G3_width(const std::array<double, 2>& source,
|
|||||||
(radian < 0 ? -radian : 2 * Pi - radian);
|
(radian < 0 ? -radian : 2 * Pi - radian);
|
||||||
double radius = sqrt(v1[0] * v1[0] + v1[1] * v1[1]);
|
double radius = sqrt(v1[0] * v1[0] + v1[1] * v1[1]);
|
||||||
double length = radius * radian;
|
double length = radius * radian;
|
||||||
double volume = e * Pi * (filament_diameter/2) * (filament_diameter/2);
|
double volume = (e / flow_ratio) * Pi * (filament_diameter / 2) * (filament_diameter / 2);
|
||||||
double mm3_per_mm = volume / length;
|
double mm3_per_mm = volume / length;
|
||||||
|
|
||||||
return is_bridge? 2 * sqrt(mm3_per_mm/Pi) :
|
return is_bridge? 2 * sqrt(mm3_per_mm/Pi) :
|
||||||
(mm3_per_mm / height) + height * (1 - 0.25 * Pi);
|
(mm3_per_mm / height) + height * (1 - 0.25 * Pi);
|
||||||
}
|
}
|
||||||
@@ -481,12 +574,15 @@ GCodeCheckResult GCodeChecker::check_G0_G1_width(const GCodeLine& line)
|
|||||||
std::array<double, 3> target = { m_end_position[X], m_end_position[Y], m_end_position[Z] };
|
std::array<double, 3> target = { m_end_position[X], m_end_position[Y], m_end_position[Z] };
|
||||||
|
|
||||||
bool is_bridge = m_role == erOverhangPerimeter || m_role == erBridgeInfill;
|
bool is_bridge = m_role == erOverhangPerimeter || m_role == erBridgeInfill;
|
||||||
double width_real = calculate_G1_width(source, target, delta_pos[E], m_height, is_bridge);
|
if (!is_bridge) {
|
||||||
if (fabs(width_real - m_width) > WIDTH_THRESHOLD) {
|
double width_real = calculate_G1_width(source, target, delta_pos[E], m_height, is_bridge);
|
||||||
std::cout << "Invalid G0_G1 because has abnormal line width." << std::endl;
|
if (fabs(width_real - m_width) > WIDTH_THRESHOLD) {
|
||||||
std::cout << "Width: " << m_width << " Width_real: " << width_real << std::endl;
|
std::cout << "Invalid G0_G1 because has abnormal line width." << std::endl;
|
||||||
return GCodeCheckResult::CheckFailed;
|
std::cout << "Width: " << m_width << " Width_real: " << width_real << std::endl;
|
||||||
|
return GCodeCheckResult::CheckFailed;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return GCodeCheckResult::Success;
|
return GCodeCheckResult::Success;
|
||||||
@@ -556,12 +652,16 @@ GCodeCheckResult GCodeChecker::check_G2_G3_width(const GCodeLine& line)
|
|||||||
m_role != erGapFill &&
|
m_role != erGapFill &&
|
||||||
delta_e > CHECK_WIDTH_E_THRESHOLD) {
|
delta_e > CHECK_WIDTH_E_THRESHOLD) {
|
||||||
bool is_bridge = m_role == erOverhangPerimeter || m_role == erBridgeInfill;
|
bool is_bridge = m_role == erOverhangPerimeter || m_role == erBridgeInfill;
|
||||||
double width_real = calculate_G2_G3_width(source, target, center, is_ccw, delta_e, m_height, is_bridge);
|
|
||||||
if (fabs(width_real - m_width) > WIDTH_THRESHOLD) {
|
if (!is_bridge) {
|
||||||
std::cout << "Invalid G2_G3 because has abnormal line width." << std::endl;
|
double width_real = calculate_G2_G3_width(source, target, center, is_ccw, delta_e, m_height, is_bridge);
|
||||||
std::cout << "Width: " << m_width << " Width_real: " << width_real << std::endl;
|
if (fabs(width_real - m_width) > WIDTH_THRESHOLD) {
|
||||||
return GCodeCheckResult::CheckFailed;
|
std::cout << "Invalid G2_G3 because has abnormal line width." << std::endl;
|
||||||
|
std::cout << "Width: " << m_width << " Width_real: " << width_real << std::endl;
|
||||||
|
return GCodeCheckResult::CheckFailed;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return GCodeCheckResult::Success;
|
return GCodeCheckResult::Success;
|
||||||
|
|||||||
@@ -108,6 +108,7 @@ private:
|
|||||||
GCodeCheckResult parse_G92(GCodeLine& gcode_line);
|
GCodeCheckResult parse_G92(GCodeLine& gcode_line);
|
||||||
GCodeCheckResult parse_M82(const GCodeLine& gcode_line);
|
GCodeCheckResult parse_M82(const GCodeLine& gcode_line);
|
||||||
GCodeCheckResult parse_M83(const GCodeLine& gcode_line);
|
GCodeCheckResult parse_M83(const GCodeLine& gcode_line);
|
||||||
|
GCodeCheckResult parse_M104_M109(const GCodeLine &gcode_line);
|
||||||
|
|
||||||
GCodeCheckResult parse_comment(GCodeLine& gcode_line);
|
GCodeCheckResult parse_comment(GCodeLine& gcode_line);
|
||||||
|
|
||||||
@@ -160,6 +161,38 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool parse_double_from_str(const std::string &input, std::vector<double> &out)
|
||||||
|
{
|
||||||
|
|
||||||
|
std::string cmd=input;
|
||||||
|
size_t read = 0;
|
||||||
|
|
||||||
|
while (cmd.size() >= 5)
|
||||||
|
{
|
||||||
|
int pt = 0;
|
||||||
|
for (pt = 0; pt < cmd.size(); pt++) {
|
||||||
|
char temp = cmd[pt];
|
||||||
|
if (temp == ',')
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
double num = std::stod(cmd.substr(0, pt), &read);
|
||||||
|
|
||||||
|
out.push_back(num);
|
||||||
|
cmd = cmd.substr(pt+1);
|
||||||
|
break;
|
||||||
|
} catch (...) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
double num = std::stod(cmd, &read);
|
||||||
|
out.push_back(num);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
EPositioningType m_global_positioning_type = EPositioningType::Absolute;
|
EPositioningType m_global_positioning_type = EPositioningType::Absolute;
|
||||||
EPositioningType m_e_local_positioning_type = EPositioningType::Absolute;
|
EPositioningType m_e_local_positioning_type = EPositioningType::Absolute;
|
||||||
@@ -174,6 +207,14 @@ private:
|
|||||||
int m_layer_num = 0;
|
int m_layer_num = 0;
|
||||||
double m_height = 0.0;
|
double m_height = 0.0;
|
||||||
double m_width = 0.0;
|
double m_width = 0.0;
|
||||||
|
double z_height=0.0f;
|
||||||
|
double initial_layer_height=0.0f;
|
||||||
|
int filament_id;
|
||||||
|
double flow_ratio = 0;
|
||||||
|
double nozzle_temp = 0.0f;
|
||||||
|
std::vector<double> filament_flow_ratio;
|
||||||
|
std::vector<double> nozzle_temperature;
|
||||||
|
std::vector<double> nozzle_temperature_initial_layer;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,12 +3,12 @@ cd deps
|
|||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
set DEPS=%CD%/BambuStudio_dep
|
set DEPS=%CD%/BambuStudio_dep
|
||||||
cmake ../ -G "Visual Studio 16 2019" -DDESTDIR="%CD%/BambuStudio_dep" -DCMAKE_BUILD_TYPE=Release
|
@REM cmake ../ -G "Visual Studio 16 2019" -DDESTDIR="%CD%/BambuStudio_dep" -DCMAKE_BUILD_TYPE=Release
|
||||||
cmake --build . --config Release --target ALL_BUILD -- -m
|
@REM cmake --build . --config Release --target ALL_BUILD -- -m
|
||||||
|
|
||||||
cd %WP%
|
cd %WP%
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake .. -G "Visual Studio 16 2019" -DBBL_RELEASE_TO_PUBLIC=0 -DCMAKE_PREFIX_PATH="%DEPS%/usr/local" -DCMAKE_INSTALL_PREFIX="./BambuStudio-SoftFever" -DCMAKE_BUILD_TYPE=Release -DWIN10SDK_PATH="C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0"
|
cmake .. -G "Visual Studio 16 2019" -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="%DEPS%/usr/local" -DCMAKE_INSTALL_PREFIX="./BambuStudio-SoftFever" -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
|
@REM cmake --build . --config Release --target ALL_BUILD -- -m
|
||||||
cmake --build . --target install --config Release
|
@REM cmake --build . --target install --config Release
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
WD=$(pwd)
|
|
||||||
cd deps
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
DEPS=$PWD/BambuStudio_dep
|
|
||||||
cmake ../ -DDESTDIR="$DEPS" -DOPENSSL_ARCH="darwin64-arm64-cc"
|
|
||||||
# make -j
|
|
||||||
|
|
||||||
cd $WD
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
cmake .. -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="$DEPS/usr/local" -DCMAKE_INSTALL_PREFIX="$PWD/BambuStudio_SoftFever" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_INSTALL_RPATH="$DEPS/usr/local" -DCMAKE_MACOSX_BUNDLE=on
|
|
||||||
cmake --build . --target install --config Release -j
|
|
||||||
27
build_release_macos.sh
Executable file
@@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
WD="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
cd $WD/deps
|
||||||
|
mkdir -p build
|
||||||
|
cd build
|
||||||
|
DEPS=$PWD/BambuStudio_dep
|
||||||
|
mkdir -p $DEPS
|
||||||
|
cmake ../ -DDESTDIR="$DEPS" -DOPENSSL_ARCH="darwin64-$(uname -m)-cc" -DCMAKE_BUILD_TYPE=Release
|
||||||
|
cmake --build . --config Release --target all
|
||||||
|
|
||||||
|
cd $WD
|
||||||
|
mkdir -p build
|
||||||
|
cd build
|
||||||
|
cmake .. -GXcode -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="$DEPS/usr/local" -DCMAKE_INSTALL_PREFIX="$PWD/BambuStudio-SoftFever" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_INSTALL_RPATH="$DEPS/usr/local" -DCMAKE_MACOSX_BUNDLE=ON
|
||||||
|
cmake --build . --config Release --target ALL_BUILD
|
||||||
|
mkdir -p BambuStudio-SoftFever
|
||||||
|
cd BambuStudio-SoftFever
|
||||||
|
rm -r ./BambuStudio-SoftFever.app
|
||||||
|
cp -pR ../src/Release/BambuStudio.app ./BambuStudio-SoftFever.app
|
||||||
|
resources_path=$(readlink ./BambuStudio-SoftFever.app/Contents/Resources)
|
||||||
|
rm ./BambuStudio-SoftFever.app/Contents/Resources
|
||||||
|
cp -R $resources_path ./BambuStudio-SoftFever.app/Contents/Resources
|
||||||
|
# extract version
|
||||||
|
ver=$(grep '^#define SoftFever_VERSION' ../src/libslic3r/libslic3r_version.h | cut -d ' ' -f3)
|
||||||
|
ver="${ver//\"}"
|
||||||
|
zip -FSr BambuStudio-SoftFever_V${ver}_Mac_$(uname -m).zip BambuStudio-SoftFever.app
|
||||||
|
|
||||||
@@ -9,6 +9,6 @@ cmake --build . --config Release --target ALL_BUILD -- -m
|
|||||||
cd %WP%
|
cd %WP%
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake .. -G "Visual Studio 16 2019" -DBBL_RELEASE_TO_PUBLIC=0 -DCMAKE_PREFIX_PATH="%DEPS%/usr/local" -DCMAKE_INSTALL_PREFIX="./BambuStudio-SoftFever" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWIN10SDK_PATH="C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0"
|
cmake .. -G "Visual Studio 16 2019" -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="%DEPS%/usr/local" -DCMAKE_INSTALL_PREFIX="./BambuStudio-SoftFever" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWIN10SDK_PATH="C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0"
|
||||||
cmake --build . --config RelWithDebInfo --target ALL_BUILD -- -m
|
cmake --build . --config RelWithDebInfo --target ALL_BUILD -- -m
|
||||||
@REM cmake --build . --target install --config RelWithDebInfo
|
@REM cmake --build . --target install --config RelWithDebInfo
|
||||||
@@ -293,7 +293,7 @@ if(NOT TBB_FOUND)
|
|||||||
# Create targets
|
# Create targets
|
||||||
##################################
|
##################################
|
||||||
|
|
||||||
if(NOT CMAKE_VERSION VERSION_LESS 3.0 AND TBB_FOUND)
|
if(NOT CMAKE_VERSION VERSION_LESS 3.0 AND TBB_FOUND AND NOT TARGET TBB::tbb)
|
||||||
add_library(TBB::tbb UNKNOWN IMPORTED)
|
add_library(TBB::tbb UNKNOWN IMPORTED)
|
||||||
set_target_properties(TBB::tbb PROPERTIES
|
set_target_properties(TBB::tbb PROPERTIES
|
||||||
INTERFACE_COMPILE_DEFINITIONS "${TBB_DEFINITIONS}"
|
INTERFACE_COMPILE_DEFINITIONS "${TBB_DEFINITIONS}"
|
||||||
|
|||||||
@@ -116,8 +116,6 @@
|
|||||||
</array>
|
</array>
|
||||||
<key>CSResourcesFileMapped</key>
|
<key>CSResourcesFileMapped</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>NSRequiresAquaSystemAppearance</key>
|
|
||||||
<true/>
|
|
||||||
<key>NSHumanReadableCopyright</key>
|
<key>NSHumanReadableCopyright</key>
|
||||||
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
|
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
|||||||
3
deps/Boost/Boost.cmake
vendored
@@ -28,6 +28,9 @@ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
|||||||
elseif (MSVC_VERSION LESS 1930)
|
elseif (MSVC_VERSION LESS 1930)
|
||||||
# 1920-1929 = VS 16.0 (v142 toolset)
|
# 1920-1929 = VS 16.0 (v142 toolset)
|
||||||
set(_boost_toolset "msvc-14.2")
|
set(_boost_toolset "msvc-14.2")
|
||||||
|
elseif (MSVC_VERSION LESS 1940)
|
||||||
|
# 1930-1939 = VS 17.0 (v143 toolset)
|
||||||
|
set(_boost_toolset "msvc-14.3")
|
||||||
else ()
|
else ()
|
||||||
message(FATAL_ERROR "Unsupported MSVC version")
|
message(FATAL_ERROR "Unsupported MSVC version")
|
||||||
endif ()
|
endif ()
|
||||||
|
|||||||
2
deps/CMakeLists.txt
vendored
@@ -117,7 +117,7 @@ if (MSVC)
|
|||||||
endif ()
|
endif ()
|
||||||
elseif (APPLE)
|
elseif (APPLE)
|
||||||
message("OS X SDK Path: ${CMAKE_OSX_SYSROOT}")
|
message("OS X SDK Path: ${CMAKE_OSX_SYSROOT}")
|
||||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version" FORCE)
|
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.3" CACHE STRING "Minimum OS X deployment version" FORCE)
|
||||||
if (CMAKE_OSX_DEPLOYMENT_TARGET)
|
if (CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||||
set(DEP_OSX_TARGET "${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
set(DEP_OSX_TARGET "${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||||
message("OS X Deployment Target: ${DEP_OSX_TARGET}")
|
message("OS X Deployment Target: ${DEP_OSX_TARGET}")
|
||||||
|
|||||||
4
deps/CURL/CURL.cmake
vendored
@@ -31,8 +31,8 @@ elseif (APPLE)
|
|||||||
|
|
||||||
${_curl_platform_flags}
|
${_curl_platform_flags}
|
||||||
|
|
||||||
-DCMAKE_USE_SECTRANSP:BOOL=ON
|
#-DCMAKE_USE_SECTRANSP:BOOL=ON
|
||||||
-DCMAKE_USE_OPENSSL:BOOL=OFF
|
-DCMAKE_USE_OPENSSL:BOOL=ON
|
||||||
|
|
||||||
-DCURL_CA_PATH:STRING=none
|
-DCURL_CA_PATH:STRING=none
|
||||||
)
|
)
|
||||||
|
|||||||
4
deps/deps-windows.cmake
vendored
@@ -15,6 +15,10 @@ elseif (MSVC_VERSION LESS 1930)
|
|||||||
# 1920-1929 = VS 16.0 (v142 toolset)
|
# 1920-1929 = VS 16.0 (v142 toolset)
|
||||||
set(DEP_VS_VER "16")
|
set(DEP_VS_VER "16")
|
||||||
set(DEP_BOOST_TOOLSET "msvc-14.2")
|
set(DEP_BOOST_TOOLSET "msvc-14.2")
|
||||||
|
elseif (MSVC_VERSION LESS 1940)
|
||||||
|
# 1930-1939 = VS 17.0 (v143 toolset)
|
||||||
|
set(DEP_VS_VER "17")
|
||||||
|
set(DEP_BOOST_TOOLSET "msvc-14.3")
|
||||||
else ()
|
else ()
|
||||||
message(FATAL_ERROR "Unsupported MSVC version")
|
message(FATAL_ERROR "Unsupported MSVC version")
|
||||||
endif ()
|
endif ()
|
||||||
|
|||||||
7
deps/wxWidgets/wxWidgets.cmake
vendored
@@ -1,12 +1,17 @@
|
|||||||
set(_wx_git_tag v3.1.5)
|
set(_wx_git_tag v3.1.5)
|
||||||
|
|
||||||
set(_wx_toolkit "")
|
set(_wx_toolkit "")
|
||||||
|
set(_wx_glcanvas_egl "")
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
set(_gtk_ver 2)
|
set(_gtk_ver 2)
|
||||||
if (DEP_WX_GTK3)
|
if (DEP_WX_GTK3)
|
||||||
set(_gtk_ver 3)
|
set(_gtk_ver 3)
|
||||||
endif ()
|
endif ()
|
||||||
set(_wx_toolkit "-DwxBUILD_TOOLKIT=gtk${_gtk_ver}")
|
set(_wx_toolkit "-DwxBUILD_TOOLKIT=gtk${_gtk_ver}")
|
||||||
|
set(_wx_private_font "-DwxUSE_PRIVATE_FONTS=1")
|
||||||
|
set(_wx_glcanvas_egl "-DwxUSE_GLCANVAS_EGL=OFF")
|
||||||
|
else ()
|
||||||
|
set(_wx_private_font "-DwxUSE_PRIVATE_FONTS=0")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
@@ -30,6 +35,7 @@ bambustudio_add_cmake_project(wxWidgets
|
|||||||
-DwxUSE_MEDIACTRL=ON
|
-DwxUSE_MEDIACTRL=ON
|
||||||
-DwxUSE_DETECT_SM=OFF
|
-DwxUSE_DETECT_SM=OFF
|
||||||
-DwxUSE_UNICODE=ON
|
-DwxUSE_UNICODE=ON
|
||||||
|
${_wx_private_font}
|
||||||
-DwxUSE_OPENGL=ON
|
-DwxUSE_OPENGL=ON
|
||||||
-DwxUSE_WEBVIEW=ON
|
-DwxUSE_WEBVIEW=ON
|
||||||
${_wx_edge}
|
${_wx_edge}
|
||||||
@@ -45,6 +51,7 @@ bambustudio_add_cmake_project(wxWidgets
|
|||||||
-DwxUSE_LIBJPEG=sys
|
-DwxUSE_LIBJPEG=sys
|
||||||
-DwxUSE_LIBTIFF=sys
|
-DwxUSE_LIBTIFF=sys
|
||||||
-DwxUSE_EXPAT=sys
|
-DwxUSE_EXPAT=sys
|
||||||
|
${_wx_glcanvas_egl}
|
||||||
)
|
)
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
|
|||||||
18
doc/release_notes_cn.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
**新功能**
|
||||||
|
1. 3D文字工具
|
||||||
|
2. 对象和拷贝间的数据共享
|
||||||
|
3. 参数表格
|
||||||
|
4. 用户指南
|
||||||
|
5. 支持Arachne特性
|
||||||
|
|
||||||
|
**改进**
|
||||||
|
1. 支持导出通用的3mf格式,兼容其他切片软件
|
||||||
|
2. 优化混合支撑和树状支撑的生成速度
|
||||||
|
3. 支持不停靠工具头的延迟摄影
|
||||||
|
4. 支持纹理PEI热床
|
||||||
|
5. 支持导入和导出预设
|
||||||
|
6. 支持随机位置的接缝设置
|
||||||
|
7. 支持匈牙利语
|
||||||
|
8. 一些关键问题修复
|
||||||
|
|
||||||
|
详细信息请查看:https://github.com/bambulab/BambuStudio/releases
|
||||||
18
doc/release_notes_en.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
**New Features**
|
||||||
|
1. 3D text tool
|
||||||
|
2. Shared data between an object and its copies
|
||||||
|
3. Parameter table
|
||||||
|
4. User manual
|
||||||
|
5. Arachne feature
|
||||||
|
|
||||||
|
**Improvements**
|
||||||
|
1. Added support for exporting generic 3mf that is compatible with other slicers
|
||||||
|
2. Optimized the performance of hybrid and tree support
|
||||||
|
3. Added traditional timelapse mode
|
||||||
|
4. Added support for Textured PEI plate
|
||||||
|
5. Added support for export/import preset
|
||||||
|
6. Added random seam position
|
||||||
|
7. Added Magyar translations
|
||||||
|
8. Fixed some known bugs
|
||||||
|
|
||||||
|
For details, please check https://github.com/bambulab/BambuStudio/releases
|
||||||
@@ -43,6 +43,7 @@
|
|||||||
},
|
},
|
||||||
"download": {
|
"download": {
|
||||||
"folder": "bbl/i18n",
|
"folder": "bbl/i18n",
|
||||||
|
"includeSourceLang" : "true",
|
||||||
"files": {
|
"files": {
|
||||||
"output": "${lang}/BambuStudio_${lang}.po"
|
"output": "${lang}/BambuStudio_${lang}.po"
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
resources/calib/PresureAdvnace/pressure_advance_test.stl
Normal file
BIN
resources/calib/PresureAdvnace/tower.stl
Normal file
BIN
resources/calib/PresureAdvnace/tower_with_seam.stl
Normal file
BIN
resources/calib/filament_flow/flowrate-test-pass1.3mf
Normal file
BIN
resources/calib/filament_flow/flowrate-test-pass2.3mf
Normal file
BIN
resources/calib/flowrate_0.stl
Normal file
BIN
resources/calib/flowrate_10.stl
Normal file
BIN
resources/calib/flowrate_15.stl
Normal file
BIN
resources/calib/flowrate_20.stl
Normal file
BIN
resources/calib/flowrate_5.stl
Normal file
BIN
resources/calib/flowrate_m10.stl
Normal file
BIN
resources/calib/flowrate_m15.stl
Normal file
BIN
resources/calib/flowrate_m2.stl
Normal file
BIN
resources/calib/flowrate_m20.stl
Normal file
BIN
resources/calib/flowrate_m4.stl
Normal file
BIN
resources/calib/flowrate_m5.stl
Normal file
BIN
resources/calib/flowrate_m6.stl
Normal file
BIN
resources/calib/flowrate_m8.stl
Normal file
@@ -1,14 +1,52 @@
|
|||||||
{
|
{
|
||||||
"printers": [
|
"printers": [
|
||||||
|
{
|
||||||
|
"display_name": "Bambu Lab P1P",
|
||||||
|
"func": {
|
||||||
|
"FUNC_CHAMBER_TEMP": false,
|
||||||
|
"FUNC_FIRSTLAYER_INSPECT": false,
|
||||||
|
"FUNC_AI_MONITORING": false,
|
||||||
|
"FUNC_BUILDPLATE_MARKER_DETECT": false,
|
||||||
|
"FUNC_FLOW_CALIBRATION": false,
|
||||||
|
"FUNC_MONITORING": false,
|
||||||
|
"FUNC_TIMELAPSE": false,
|
||||||
|
"FUNC_MEDIA_FILE": false,
|
||||||
|
"FUNC_REMOTE_TUNNEL": false,
|
||||||
|
"FUNC_LOCAL_TUNNEL": true,
|
||||||
|
"FUNC_VIRTUAL_CAMERA" : false,
|
||||||
|
"FUNC_PRINT_WITHOUT_SD": false,
|
||||||
|
"FUNC_ALTER_RESOLUTION": false,
|
||||||
|
"FUNC_AUTO_SWITCH_FILAMENT": false,
|
||||||
|
"FUNC_CHAMBER_FAN" : false,
|
||||||
|
"FUNC_SEND_TO_SDCARD": false
|
||||||
|
},
|
||||||
|
"camera_resolution":["720p"],
|
||||||
|
"bed_temperature_limit": 120,
|
||||||
|
"model_id": "C11",
|
||||||
|
"printer_type": "C11",
|
||||||
|
"printer_thumbnail_image": "printer_thumbnail_p1p"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"display_name": "Bambu Lab X1",
|
"display_name": "Bambu Lab X1",
|
||||||
|
"func": {
|
||||||
|
"FUNC_LOCAL_TUNNEL": false
|
||||||
|
},
|
||||||
|
"camera_resolution":["720p","1080p"],
|
||||||
|
"bed_temperature_limit": 120,
|
||||||
"model_id": "BL-P002",
|
"model_id": "BL-P002",
|
||||||
"printer_type": "3DPrinter-X1"
|
"printer_type": "3DPrinter-X1",
|
||||||
|
"printer_thumbnail_image": "printer_thumbnail"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"display_name": "Bambu Lab X1 Carbon",
|
"display_name": "Bambu Lab X1 Carbon",
|
||||||
|
"func": {
|
||||||
|
"FUNC_LOCAL_TUNNEL": false
|
||||||
|
},
|
||||||
"model_id": "BL-P001",
|
"model_id": "BL-P001",
|
||||||
"printer_type": "3DPrinter-X1-Carbon"
|
"camera_resolution":["720p","1080p"],
|
||||||
|
"bed_temperature_limit": 120,
|
||||||
|
"printer_type": "3DPrinter-X1-Carbon",
|
||||||
|
"printer_thumbnail_image": "printer_thumbnail"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
171
resources/data/hints.ini
Normal file
@@ -0,0 +1,171 @@
|
|||||||
|
# THIS DOCUMENT CONTAINS DATA FOR HINTS NOTIFICATIONS
|
||||||
|
#
|
||||||
|
# Each notification is divided by
|
||||||
|
# [hint:*name of notification*]
|
||||||
|
#
|
||||||
|
# Each notification MUST have text var in format:
|
||||||
|
# text = Headline of hint\nBody of hint.
|
||||||
|
# Headline is divided by new line (\n) from body.
|
||||||
|
# Headline is automaticaly printed as Bold.
|
||||||
|
# Body can contain bold marks: <b>text to be bold</b> (currently rendered as different color, not bold due to font limitations)
|
||||||
|
# Body can contain hypertext: <a>hypertext text</a>
|
||||||
|
# Hypertext must be max one per notification and must be closed by </a>
|
||||||
|
#
|
||||||
|
# Notification can have documentation link
|
||||||
|
#
|
||||||
|
# If notification contains hypertext, it needs to be specified by hypertext_type var.
|
||||||
|
# each type needs to be supported with one or more additional vars.
|
||||||
|
# These types are possible:
|
||||||
|
#
|
||||||
|
# Settings highlight (like search feature)
|
||||||
|
# hypertext_type = settings
|
||||||
|
# hypertext_settings_opt = name_of_settings (hover over settings value and copy last line of hover text)
|
||||||
|
# hypertext_settings_type = 1 (1 - 5 according to settings tab - to be channged to name of tabs instead of numbers)
|
||||||
|
# hypertext_settings_category = Infill (name of panel - written on left in settings)
|
||||||
|
#
|
||||||
|
# Plater top toolbar highlight
|
||||||
|
# hypertext_type = plater
|
||||||
|
# hypertext_plater_item = nameofbutton (internal name of GLToolbar items)
|
||||||
|
#
|
||||||
|
# Plater gizmos (left) toolbar highlight
|
||||||
|
# hypertext_type = gizmo
|
||||||
|
# hypertext_gizmo_item = name (name of svg icon of gizmo in resources without .svg suffix)
|
||||||
|
#
|
||||||
|
# Open preferences (might add item to highlight)
|
||||||
|
# hypertext_type = preferences
|
||||||
|
# hypertext_preferences_page = name of the prefernces tab
|
||||||
|
# hypertext_preferences_item = show_collapse_button (name of variable saved in prusaslicer.ini connected to the setting in preferences)
|
||||||
|
#
|
||||||
|
# Open gallery (no aditional var)
|
||||||
|
# hypertext_type = gallery
|
||||||
|
#
|
||||||
|
#Open top menubar item
|
||||||
|
#hypertext_menubar_menu_name = (Name in english visible as menu name: File, )
|
||||||
|
#hypertext_menubar_item_name = (Name of item in english, if there are three dots at the end of name, put name without three dots)
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Each notification can have disabled and enabled modes and techs - divided by ; and space
|
||||||
|
# enabled_tags = ...
|
||||||
|
# disabled_tags = ...
|
||||||
|
# supported tags are: simple; advanced; expert; FFF; MMU; SLA; Windows; Linux; OSX;
|
||||||
|
# and all filament types: PLA; PET; ABS; ASA; FLEX; HIPS; EDGE; NGEN; NYLON; PVA; PC; PP; PEI; PEEK; PEKK; POM; PSU; PVDF; SCAFF;
|
||||||
|
# Tags are case sensitive.
|
||||||
|
# FFF is affirmative for both one or more extruder printers.
|
||||||
|
# Algorithm shows hint only if ALL enabled tags are affirmative. (so never do enabled_tags = FFF; SLA;)
|
||||||
|
# Algorithm shows hint only if not in all disabled tags.
|
||||||
|
# if there are both disabled and preferred, only preferred that are not in disabled are valid.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Notifications shows in random order, already shown notifications are saved at cache/hints.cereal (as binary - human non-readable)
|
||||||
|
# You can affect random ordering by seting weigh
|
||||||
|
# weight = 5
|
||||||
|
# Weight must be larger or equal to 1. Default weight is 1.
|
||||||
|
# Weight defines probability as weight : sum_of_all_weights.
|
||||||
|
|
||||||
|
[hint:3D Scene Operations]
|
||||||
|
text = 3D Scene Operations\nDid you know how to control view and object/part selection with mouse and touchpanel in the 3D scene?
|
||||||
|
documentation_link = https://wiki.bambulab.com/en/software/bambu-studio/3d-scene-operations
|
||||||
|
|
||||||
|
[hint:Cut Tool]
|
||||||
|
text = Cut Tool\nDid you know that you can cut a model at any angle and position with the cutting tool?
|
||||||
|
documentation_link = https://wiki.bambulab.com/en/software/bambu-studio/cut-tool
|
||||||
|
|
||||||
|
[hint:Fix Model]
|
||||||
|
text = Fix Model\nDid you know that you can fix a corrupted 3D model to avoid a lot of slicing problems?
|
||||||
|
documentation_link = https://wiki.bambulab.com/en/software/bambu-studio/fix-model
|
||||||
|
|
||||||
|
[hint:Timelapse]
|
||||||
|
text = Timelapse\nDid you know that you can generate a timelapse video during each print?
|
||||||
|
documentation_link = https://wiki.bambulab.com/en/software/bambu-studio/Timelapse
|
||||||
|
|
||||||
|
[hint:Auto-Arrange]
|
||||||
|
text = Auto-Arrange\nDid you know that you can auto-arrange all objects in your project?
|
||||||
|
documentation_link = https://wiki.bambulab.com/en/software/bambu-studio/auto-arranging
|
||||||
|
|
||||||
|
[hint:Auto-Orient]
|
||||||
|
text = Auto-Orient\nDid you know that you can rotate objects to an optimal orientation for printing by a simple click?
|
||||||
|
documentation_link = https://wiki.bambulab.com/en/software/bambu-studio/auto-orientation
|
||||||
|
|
||||||
|
[hint:Lay on Face]
|
||||||
|
text = Lay on Face\nDid you know that you can quickly orient a model so that one of its faces sits on the print bed? Select the \"Place on face\" function or press the <b>F</b> key.
|
||||||
|
documentation_link = https://wiki.bambulab.com/en/software/bambu-studio/lay-on-face
|
||||||
|
|
||||||
|
[hint:Object List]
|
||||||
|
text = Object List\nDid you know that you can view all objects/parts in a list and change settings for each object/part?
|
||||||
|
documentation_link = https://wiki.bambulab.com/en/software/bambu-studio/object-list
|
||||||
|
|
||||||
|
#[hint:Search Functionality]
|
||||||
|
#text = Search Functionality\nDid you know that you use the Search tool to quickly find a specific Bambu Studio setting? Or use the familiar shortcut <b>Ctrl+F</b>.
|
||||||
|
|
||||||
|
[hint:Simplify Model]
|
||||||
|
text = Simplify Model\nDid you know that you can reduce the number of triangles in a mesh using the Simplify mesh feature? Right-click the model and select Simplify model. Read more in the documentation.
|
||||||
|
documentation_link = https://wiki.bambulab.com/en/software/bambu-studio/simplify-model
|
||||||
|
|
||||||
|
[hint:Slicing Parameter Table]
|
||||||
|
text = Slicing Parameter Table\nDid you know that you can view all objects/parts on a table and change settings for each object/part?
|
||||||
|
documentation_link = https://wiki.bambulab.com/en/software/bambu-studio/parameter-table
|
||||||
|
|
||||||
|
[hint:Split to Objects/Parts]
|
||||||
|
text = Split to Objects/Parts\nDid you know that you can split a big object into small ones for easy colorizing or printing?
|
||||||
|
documentation_link = https://wiki.bambulab.com/en/software/bambu-studio/split-to-objects-parts
|
||||||
|
|
||||||
|
[hint:Subtract a Part]
|
||||||
|
text = Subtract a Part\nDid you know that you can subtract one mesh from another using the Negative part modifier? That way you can, for example, create easily resizable holes directly in Bambu Studio. Read more in the documentation.
|
||||||
|
documentation_link = https://wiki.bambulab.com/en/software/bambu-studio/subtract-a-part
|
||||||
|
|
||||||
|
[hint:STEP]
|
||||||
|
text = STEP\nDid you know that you can improve your print quality by slicing a STEP file instead of an STL?\nBambu Studio supports slicing STEP files, providing smoother results than a lower resolution STL. Give it a try!
|
||||||
|
documentation_link= https://wiki.bambulab.com/en/software/bambu-studio/step
|
||||||
|
|
||||||
|
[hint:Z seam location]
|
||||||
|
text = Z seam location\nDid you know that you can customize the location of the Z seam, and even paint it on your print, to have it in a less visible location? This improves the overall look of your model. Check it out!
|
||||||
|
documentation_link= https://wiki.bambulab.com/en/software/bambu-studio/Seam
|
||||||
|
|
||||||
|
[hint:Fine-tuning for flow rate]
|
||||||
|
text = Fine-tuning for flow rate\nDid you know that flow rate can be fine-tuned for even better-looking prints? Depending on the material, you can improve the overall finish of the printed model by doing some fine-tuning.
|
||||||
|
documentation_link= https://wiki.bambulab.com/en/x1/manual/manual-flow-rate-tuning
|
||||||
|
|
||||||
|
[hint:Split your prints into plates]
|
||||||
|
text = Split your prints into plates\nDid you know that you can split a model that has a lot of parts into individual plates ready to print? This will simplify the process of keeping track of all the parts.
|
||||||
|
documentation_link= https://wiki.bambulab.com/en/software/bambu-studio/plates_management
|
||||||
|
|
||||||
|
[hint:Speed up your print with Adaptive Layer Height]
|
||||||
|
text = Speed up your print with Adaptive Layer Height\nDid you know that you can print a model even faster, by using the Adaptive Layer Height option? Check it out!
|
||||||
|
documentation_link= https://wiki.bambulab.com/en/software/bambu-studio/adaptive-layer-height
|
||||||
|
|
||||||
|
[hint:Support painting]
|
||||||
|
text = Support painting\nDid you know that you can paint the location of your supports? This feature makes it easy to place the support material only on the sections of the model that actually need it.
|
||||||
|
documentation_link= https://wiki.bambulab.com/en/software/bambu-studio/support-painting
|
||||||
|
|
||||||
|
[hint:Different types of supports]
|
||||||
|
text = Different types of supports\nDid you know that you can choose from multiple types of supports? Tree supports work great for organic models, while saving filament and improving print speed. Check them out!
|
||||||
|
documentation_link= https://wiki.bambulab.com/en/software/bambu-studio/support
|
||||||
|
|
||||||
|
[hint:Printing Silk Filament]
|
||||||
|
text = Printing Silk Filament\nDid you know that Silk filament needs special consideration to print it successfully? Higher temperature and lower speed are always recommended for the best results.
|
||||||
|
documentation_link= https://wiki.bambulab.com/en/x1/manual/printing-with-silk-filaments
|
||||||
|
|
||||||
|
[hint:Brim for better adhesion]
|
||||||
|
text = Brim for better adhesion\nDid you know that when printing models have a small contact interface with the printing surface, it's recommended to use a brim?
|
||||||
|
documentation_link= https://wiki.bambulab.com/en/software/bambu-studio/auto-brim
|
||||||
|
|
||||||
|
[hint:Set parameters for multiple objects]
|
||||||
|
text = Set parameters for multiple objects\nDid you know that you can set slicing parameters for all selected objects at one time?
|
||||||
|
documentation_link= https://wiki.bambulab.com/en/software/bambu-studio/set-parameters-for-selected-objects
|
||||||
|
|
||||||
|
[hint:Stack objects]
|
||||||
|
text = Stack objects\nDid you know that you can stack objects as a whole one?
|
||||||
|
documentation_link= https://wiki.bambulab.com/e/en/software/bambu-studio/stacking-objects
|
||||||
|
|
||||||
|
[hint:Flush into support/objects/infill]
|
||||||
|
text = Flush into support/objects/infill\nDid you know that you can save the wasted filament by flushing them into support/objects/infill during filament change?
|
||||||
|
documentation_link= https://wiki.bambulab.com/en/software/bambu-studio/reduce-wasting-during-filament-change
|
||||||
|
|
||||||
|
[hint:Improve strength]
|
||||||
|
text = Improve strength\nDid you know that you can use more wall loops and higher sparse infill density to improve the strength of the model?
|
||||||
|
|
||||||
|
#[hint:]
|
||||||
|
#text =
|
||||||
|
#hypertext =
|
||||||
|
#follow_text =
|
||||||
|
|
||||||
BIN
resources/i18n/it/BambuStudio.mo
Normal file
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 96 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 3.0 KiB |
@@ -1,5 +1,5 @@
|
|||||||
<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<path d="M99.7586 128H28.2414C12.6464 128 0 115.354 0 99.7586V28.2414C0 12.6464 12.6464 0 28.2414 0H99.7586C115.354 0 128 12.6464 128 28.2414V99.7586C128 115.354 115.354 128 99.7586 128Z" fill="#00AE42"/>
|
<path d="M99.7586 128H28.2414C12.6464 128 0 115.354 0 99.7586V28.2414C0 12.6464 12.6464 0 28.2414 0H99.7586C115.354 0 128 12.6464 128 28.2414V99.7586C128 115.354 115.354 128 99.7586 128Z" fill="#009688"/>
|
||||||
<path d="M65.7826 54.5925V101.264H92.3441V65.0528L65.7826 54.5925Z" fill="white"/>
|
<path d="M65.7826 54.5925V101.264H92.3441V65.0528L65.7826 54.5925Z" fill="white"/>
|
||||||
<path d="M65.7826 26.7924V50.1337L92.3441 60.5939V26.7924H65.7826Z" fill="white"/>
|
<path d="M65.7826 26.7924V50.1337L92.3441 60.5939V26.7924H65.7826Z" fill="white"/>
|
||||||
<path d="M35.0999 73.4637V26.7924H61.6615V63.0147L35.0999 73.4637Z" fill="white"/>
|
<path d="M35.0999 73.4637V26.7924H61.6615V63.0147L35.0999 73.4637Z" fill="white"/>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 644 B After Width: | Height: | Size: 644 B |
|
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 96 KiB |
BIN
resources/images/BambuStudioTitle.png
Normal file
|
After Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.6 KiB |
BIN
resources/images/BambuStudio_154.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
resources/images/BambuStudio_154_title.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 641 B After Width: | Height: | Size: 732 B |
BIN
resources/images/BambuStudio_64.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 13 KiB |
87
resources/images/BambuStudio_about.svg
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
<svg width="562" height="238" viewBox="0 0 562 238" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<rect x="1" y="1" width="560" height="237" fill="#009688"/>
|
||||||
|
<g opacity="0.2">
|
||||||
|
<path d="M19.234 8.7434V25.4149L37.159 18.6717V2.00019L19.234 8.7434Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M19.2341 8.7434V25.4149L1 18.6717V2.00019L19.2341 8.7434Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M90.9363 8.7434V25.4149L73.0113 18.6717V2.00019L90.9363 8.7434Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M127.404 8.7434V25.4149L145.329 18.6717V2.00019L127.404 8.7434Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M19.2341 25.538V42.2238L1 35.4806V18.8091L19.2341 25.538Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M19.234 58.7326V75.8463L37.159 68.9302V51.8313L19.234 58.7326Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M55.3944 25.538V42.2238L73.0104 35.4806V18.8091L55.3944 25.538Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M90.9363 42.2787V58.7364L73.0113 52.0939V35.6219L90.9363 42.2787Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M90.9363 96.0424V112.5L73.0113 105.858V89.3856L90.9363 96.0424Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M55.3945 25.6388V42.524L37.1604 35.7089V18.8091L55.3945 25.6388Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M55.3945 42.3652V59.0366L37.1604 52.3078V35.6219L55.3945 42.3652Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M127.404 42.2787V58.7364L145.329 52.0939V35.6219L127.404 42.2787Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M163.251 25.538V42.2238L145.326 35.4806V18.8091L163.251 25.538Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M127.404 75.4718V92.357L145.329 85.5419V68.6422L127.404 75.4718Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M163.251 42.2233V59.337L145.326 52.4209V35.472L163.251 42.2233Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M90.9338 58.7326V75.8463L108.859 68.9302V51.8313L90.9338 58.7326Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M199.413 25.538V42.2238L181.179 35.4806V18.8091L199.413 25.538Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M127.401 25.538V42.2238L108.858 35.4806V18.8091L127.401 25.538Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M199.413 58.7326V75.8463L181.179 68.9302V51.8313L199.413 58.7326Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M163.253 8.65694V25.1147L181.178 18.4721V2.00019L163.253 8.65694Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
</g>
|
||||||
|
<g opacity="0.2">
|
||||||
|
<path d="M235.752 8.74321V25.4147L253.677 18.6715V2L235.752 8.74321Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M235.75 8.74321V25.4147L217.516 18.6715V2L235.75 8.74321Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M307.45 8.74321V25.4147L289.525 18.6715V2L307.45 8.74321Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M343.92 8.74321V25.4147L361.845 18.6715V2L343.92 8.74321Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M199.591 42.2785V58.7363L217.516 52.0937V35.6218L199.591 42.2785Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M235.75 25.5378V42.2236L217.516 35.4804V18.8089L235.75 25.5378Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M235.752 58.7325V75.8461L253.677 68.93V51.8311L235.752 58.7325Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M271.91 25.5378V42.2236L289.526 35.4804V18.8089L271.91 25.5378Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M307.45 42.2785V58.7363L289.525 52.0937V35.6218L307.45 42.2785Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M307.45 76.8426V93.3003L289.525 86.6577V70.1858L307.45 76.8426Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M271.908 25.6386V42.5238L253.674 35.7087V18.8089L271.908 25.6386Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M271.908 42.365V59.0365L253.674 52.3076V35.6218L271.908 42.365Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M343.92 42.2785V58.7363L361.845 52.0937V35.6218L343.92 42.2785Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M379.769 25.5378V42.2236L361.844 35.4804V18.8089L379.769 25.5378Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M343.92 75.4716V92.3568L361.845 85.5417V68.642L343.92 75.4716Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M379.769 42.2231V59.3368L361.844 52.4207V35.4719L379.769 42.2231Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M307.452 58.7325V75.8461L325.377 68.93V51.8311L307.452 58.7325Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M415.925 25.5378V42.2236L397.691 35.4804V18.8089L415.925 25.5378Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M379.771 58.7472V75.8461L397.696 68.9447V51.8311L379.771 58.7472Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M379.769 98.3847V115.484L397.694 108.582V91.4686L379.769 98.3847Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M343.917 25.5378V42.2236L325.374 35.4804V18.8089L343.917 25.5378Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M415.925 58.7325V75.8461L397.691 68.93V51.8311L415.925 58.7325Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M455.53 113.522V130.636L437.296 123.72V106.621L455.53 113.522Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M379.771 8.65675V25.1145L397.696 18.4719V2L379.771 8.65675Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
</g>
|
||||||
|
<g opacity="0.5">
|
||||||
|
<g opacity="0.2">
|
||||||
|
<path d="M452.919 8.74321V25.4147L434.685 18.6715V2L452.919 8.74321Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M416.76 42.2785V58.7363L434.685 52.0937V35.6218L416.76 42.2785Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M416.76 75.2345V91.6922L434.685 85.0496V68.5777L416.76 75.2345Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M452.919 25.5378V42.2236L434.685 35.4804V18.8089L452.919 25.5378Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g opacity="0.2">
|
||||||
|
<path d="M452.832 8.74321V25.4147L470.757 18.6715V2L452.832 8.74321Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M452.832 8.74321V25.4147L434.598 18.6715V2L452.832 8.74321Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M524.534 8.74321V25.4147L506.609 18.6715V2L524.534 8.74321Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M452.832 25.5378V42.2236L434.598 35.4804V18.8089L452.832 25.5378Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M452.832 58.7325V75.8461L470.757 68.93V51.8311L452.832 58.7325Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M488.992 25.5378V42.2236L506.608 35.4804V18.8089L488.992 25.5378Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M524.534 42.2785V58.7363L506.609 52.0937V35.6218L524.534 42.2785Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M524.534 96.0422V112.5L506.609 105.857V89.3854L524.534 96.0422Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M488.992 25.6386V42.5238L470.758 35.7087V18.8089L488.992 25.6386Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M488.992 42.365V59.0365L470.758 52.3076V35.6218L488.992 42.365Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M524.531 58.7325V75.8461L542.457 68.93V51.8311L524.531 58.7325Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M560.999 25.5378V42.2236L542.456 35.4804V18.8089L560.999 25.5378Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
<path d="M560.999 77.5065V94.1923L542.456 87.4491V70.7776L560.999 77.5065Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10"/>
|
||||||
|
</g>
|
||||||
|
<path d="M248.355 127.203V110.613H243.689V131.077H260.806L259.335 127.203H248.355Z" fill="white"/>
|
||||||
|
<path d="M280.597 114.678H264.164L265.501 118.212H280.434C280.687 118.212 280.895 118.419 280.895 118.67V120.755H267.566C265.055 120.755 263.02 122.781 263.02 125.279V126.551C263.02 129.05 265.055 131.076 267.566 131.076H285.159V119.188C285.159 116.704 283.123 114.678 280.597 114.678ZM280.88 127.512H267.73C267.477 127.512 267.269 127.305 267.269 127.054V124.732C267.269 124.481 267.477 124.274 267.73 124.274H280.88V127.512Z" fill="white"/>
|
||||||
|
<path d="M304.669 114.678H293.941V110.583H293.852H289.261V131.076H293.941H304.669C307.18 131.076 309.216 129.05 309.216 126.551V119.218C309.231 116.719 307.195 114.678 304.669 114.678ZM304.64 127.069C304.64 127.32 304.432 127.527 304.179 127.527H293.941V118.286H304.179C304.432 118.286 304.64 118.493 304.64 118.744V127.069Z" fill="white"/>
|
||||||
|
<path d="M319.319 88.403H296.169V104.801H300.716V92.4543C300.716 92.203 300.924 91.996 301.177 91.996H307.328C307.581 91.996 307.789 92.203 307.789 92.4543V104.801H312.351V92.4543C312.351 92.203 312.559 91.996 312.811 91.996H318.874C319.126 91.996 319.334 92.203 319.334 92.4543V104.801H323.911V92.9275C323.866 90.4287 321.83 88.403 319.319 88.403Z" fill="white"/>
|
||||||
|
<path d="M367.491 100.779C367.491 101.03 367.283 101.237 367.031 101.237H356.095C355.842 101.237 355.634 101.03 355.634 100.779V88.403H351.34V100.276C351.34 102.775 353.375 104.801 355.887 104.801H367.194C369.705 104.801 371.741 102.775 371.741 100.276V88.403H367.476V100.779H367.491Z" fill="white"/>
|
||||||
|
<path d="M287.492 88.403H271.058L272.395 91.9368H287.328C287.581 91.9368 287.789 92.1438 287.789 92.3952V94.48H274.461C271.95 94.48 269.914 96.5057 269.914 99.0045V100.276C269.914 102.775 271.95 104.801 274.461 104.801H292.039V92.9127C292.053 90.4139 290.003 88.403 287.492 88.403ZM287.774 101.237H274.624C274.372 101.237 274.164 101.03 274.164 100.779V98.4574C274.164 98.2061 274.372 97.9991 274.624 97.9991H287.774V101.237Z" fill="white"/>
|
||||||
|
<path d="M342.976 88.4034H332.248V84.3077H332.158H327.567V104.801H332.248H342.976C345.487 104.801 347.522 102.775 347.522 100.276V92.9279C347.537 90.429 345.502 88.4034 342.976 88.4034ZM342.946 100.779C342.946 101.031 342.738 101.238 342.485 101.238H332.248V91.9963H342.485C342.738 91.9963 342.946 92.2033 342.946 92.4547V100.779Z" fill="white"/>
|
||||||
|
<path d="M266.452 98.0871C266.319 96.5198 265.516 95.1151 264.268 94.0801C264.922 93.1782 265.353 92.084 265.427 90.9012C265.427 90.7829 265.457 89.6887 265.442 89.5409C265.175 86.1401 261.802 83.4639 257.701 83.4639C257.641 83.4639 252.426 83.4639 248.369 83.4639V87.116L243.689 88.9051V104.815H260.539C260.539 104.815 260.821 104.8 260.94 104.8C263.897 104.608 266.259 102.212 266.452 99.2108C266.467 99.063 266.452 98.235 266.452 98.0871ZM248.354 87.1012H258.28C258.577 87.1012 258.86 87.1603 259.112 87.2786C260.048 87.6483 260.717 88.565 260.717 89.6296C260.717 89.6296 260.702 89.9844 260.657 90.1619C260.524 90.9751 259.974 91.6257 259.246 91.9214C258.919 92.0693 258.562 92.158 258.176 92.158H248.354V87.1012ZM258.934 101.237H248.354V95.7805H258.934C260.449 95.7805 261.668 96.993 261.668 98.5011C261.668 100.024 260.449 101.237 258.934 101.237Z" fill="white"/>
|
||||||
|
<path d="M248.354 83.4486V79.0276L243.689 80.8167V85.2377L248.354 83.4486Z" fill="white"/>
|
||||||
|
<path d="M212.56 98.4442V131.077H231.222V105.748L212.56 98.4442Z" fill="white"/>
|
||||||
|
<path d="M212.56 79V95.3236L231.222 102.643V79H212.56Z" fill="white"/>
|
||||||
|
<path d="M191 111.647V79H209.663V104.328L191 111.647Z" fill="white"/>
|
||||||
|
<path d="M191 131.076V114.767L209.663 107.448V131.076H191Z" fill="white"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 12 KiB |
3
resources/images/ams_arrow.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="26" height="11" viewBox="0 0 26 11" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M25.0877 5.97153C25.3595 5.69978 25.3595 5.2592 25.0877 4.98746L20.6594 0.55913C20.3877 0.287386 19.9471 0.287386 19.6753 0.55913C19.4036 0.830875 19.4036 1.27146 19.6753 1.5432L23.6116 5.47949L19.6753 9.41578C19.4036 9.68753 19.4036 10.1281 19.6753 10.3999C19.9471 10.6716 20.3877 10.6716 20.6594 10.3999L25.0877 5.97153ZM0.90332 6.17534H24.5957V4.78365H0.90332V6.17534Z" fill="#009688"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 502 B |
3
resources/images/ams_fila_sync.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.10031 1.86719C2.27188 1.86719 1.60031 2.53877 1.60031 3.36719V9.01149C0.843171 9.08758 0.252106 9.72671 0.252106 10.5039V15.6221C0.252106 16.4506 0.923676 17.1221 1.7521 17.1221H9.05122C10.1743 18.3923 11.8161 19.1931 13.6449 19.1931C17.0303 19.1931 19.7747 16.4487 19.7747 13.0633C19.7747 10.6147 18.339 8.50146 16.2634 7.51942V3.36719C16.2634 2.53877 15.5918 1.86719 14.7634 1.86719H3.10031ZM15.2634 7.14953V3.36719C15.2634 3.09105 15.0395 2.86719 14.7634 2.86719H3.10031C2.82417 2.86719 2.60031 3.09105 2.60031 3.36719V9.00377H3.15292V3.96484H5.79236H6.79239H8.43182H9.43183H11.0713H12.0713H14.7107V7.02592C14.898 7.05876 15.0824 7.1001 15.2634 7.14953ZM13.7107 6.93394V4.96484H12.0713V7.13745C12.5735 7.00446 13.1009 6.93359 13.6449 6.93359C13.6669 6.93359 13.6888 6.93371 13.7107 6.93394ZM11.0713 7.49841V4.96484H9.43182L9.43183 8.61091C9.91152 8.15685 10.4645 7.77947 11.0713 7.49841ZM8.3317 10.0045H5.79236V10.0045H3.15292V10.0039H1.75211C1.47596 10.0039 1.25211 10.2278 1.25211 10.5039V15.6221C1.25211 15.8983 1.47596 16.1221 1.7521 16.1221H8.33162C7.81228 15.2219 7.51514 14.1773 7.51514 13.0633C7.51514 11.9493 7.81231 10.9047 8.3317 10.0045ZM8.43183 4.96484V9.00377H6.79239V4.96484H8.43183ZM5.79236 4.96484H4.15292V9.00377H5.79236V4.96484ZM18.7747 13.0633C18.7747 15.8964 16.478 18.1931 13.6449 18.1931C10.8118 18.1931 8.51514 15.8964 8.51514 13.0633C8.51514 10.2302 10.8118 7.93359 13.6449 7.93359C16.478 7.93359 18.7747 10.2302 18.7747 13.0633ZM14.455 10.2226C14.6503 10.0273 14.9669 10.0273 15.1621 10.2226L16.6376 11.698C16.7806 11.841 16.8234 12.0561 16.746 12.2429C16.6686 12.4298 16.4863 12.5516 16.284 12.5516H11.0631C10.787 12.5516 10.5631 12.3277 10.5631 12.0516C10.5631 11.7754 10.787 11.5516 11.0631 11.5516H15.0769L14.455 10.9297C14.2598 10.7344 14.2598 10.4178 14.455 10.2226ZM12.1276 15.9053C12.3229 16.1005 12.6395 16.1005 12.8347 15.9053C13.03 15.71 13.03 15.3934 12.8347 15.1982L12.2128 14.5762H16.2266C16.5028 14.5762 16.7266 14.3524 16.7266 14.0762C16.7266 13.8001 16.5028 13.5762 16.2266 13.5762H11.0057C10.8035 13.5762 10.6212 13.6981 10.5438 13.8849C10.4664 14.0717 10.5092 14.2868 10.6522 14.4298L12.1276 15.9053Z" fill="#262E30"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.3 KiB |