-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Port latest support code from BBS #8212
base: main
Are you sure you want to change the base?
Conversation
Great! Paint brim feature and step import settings and I will be happy :) Good job! Is there any list of features which are not included from Bambu slicer? Just to know .... |
Found some problems and difference on my test file. It has 4 object stacked with 0.4mm air, auto snug support with different material.
Maybe more I haven't noticed yet? Here is my test file: Support Stack Test.zip |
@rikaunite And issue |
Yeah appearently in current Orca the support interface pattern |
Wow thanks! I tested again and |
@rikaunite Just right click it and untick |
@discip I've mess around the code to make every stacked parts has a "first layer". This little cylinder prevent slicer throw "Access Violation" on me. I don't know why but it just works. 😄 |
(cherry picked from commit bambulab/BambuStudio@39ae64f) Co-authored-by: Arthur <[email protected]>
(cherry picked from commit bambulab/BambuStudio@39ae64f) Co-authored-by: Arthur <[email protected]>
1. add a hook inside tree branches for improved strength 2. fix the issue that interface may fly as a mess (delete the logic where gap nodes can skip dropping down) 3. fix the issue that base nodes may fly as a mess (smoothing should skip polygon nodes, see Jira:STUDIO-4403) Change-Id: Ie9f2039813c2ca3127ed8913304cc455fec8e7ee (cherry picked from commit 83cef5f91d49ff3d275a89ec3df8b5f0fd573f8c) (cherry picked from commit bambulab/BambuStudio@76f876a) Co-authored-by: Arthur <[email protected]>
1. Improve generation speed by removing unnecessary get_avoidance. 2. Fix a bug of hybrid support's interface (Jira: STUDIO-4878, STUDIO-4726, Github#2614) 3. Fix a bug of tree support pass through objects (Jira: STUDIO-4252, STUDIO-4608 STUDIO-4298) 4. Fix a bug with first layer + Arachne (Jira: STUDIO-4281, Github SoftFever#2423) Change-Id: I40978c93ab93fa6964483514dad552d73a66c710 (cherry picked from commit 2ccbbe49c74d4aab4f086e79a6f8262b7fc80f15) (cherry picked from commit bambulab/BambuStudio@d7a4623) Co-authored-by: Arthur <[email protected]>
Jira: STUDIO-4763 Github: SoftFever#2660 Change-Id: I13d5a1443af8bc82f0cadd177e0db3fc3db971f1 (cherry picked from commit bambulab/BambuStudio@0964b5b) Co-authored-by: Arthur <[email protected]>
We decide to set brim width of all objects to MAX_BRANCH_RADIUS_FIRST_LAYER if there is an object with tree support after discussion. Jira: MAK-2009 Change-Id: I4c4940800632c433235966b01c44ac910e33a51c (cherry picked from commit bambulab/BambuStudio@2bd6b11) Co-authored-by: Arthur <[email protected]>
First layer support can't be top interface, and min brim width of auto mode should be larger than 0. Jira: STUDIO-5010 Change-Id: I02f8b017b535f8a47965387e8679f692b1966e04 (cherry picked from commit 3e7d54abe352e8ab5f9d6492b5a86a96f9067f94) (cherry picked from commit 7efebe6)
1. open support wall count for normal support Enabling this option makes normal support stronger and gives better overhang quality, but also more difficult to removal. Jira: STUDIO-5192 2. fix a bug where tree support (hybrid style) may get overlapped extrusions near the walls. 3. fix a bug where raft layers can't be 1 in tree support Jira: STUDIO-5261 Change-Id: Iadc0c67a9b50b5b221c8e83d5aa22ed282018cf8 (cherry picked from commit c0bb0084e386cb70ed6e16edf93190e4b38f5b90) (cherry picked from commit bf93fd0)
jira: none Change-Id: I1a4563503b5ddf74a1979cc0cee7a15b8aced904 (cherry picked from commit de52c6ca62c9f3a6314ddf5a856c1d8534329886) (cherry picked from commit 4bd2b7f)
We must ensure when independent support layer height is enabled, the support layers are strictly synced with object layers. Otherwise, the wipe tower toolchange may be messed up. Jira: STUDIO-4097 Change-Id: I6208653f9665b15d028940d5e130c9e895629fc2 (cherry picked from commit 41d35c8af152c91cb356a68d88a879a115b44778) (cherry picked from commit 2b593ce)
There is no raft generated when only raft enabled but no support needed. jira: none Change-Id: Ic0c9269e2f98038d85c9bc54e4a85f892dc5d764 (cherry picked from commit 1106ff8)
jira: STUDIO-5428 Change-Id: Ib1e79c71736810099e15282c30524e55e8f60f34 (cherry picked from commit aefb7fbaf25146c03bd2eb336f58ed2eb0e83ea6) (cherry picked from commit 697a7bb)
1. interlaced rectilinear interface pattern not working with tree supports 2. infill overlaps with walls when wall count>1 3. support blockers can't block sharp tail detection in normal support jira: STUDIO-5663 4. bottom z distance=0 not working for normal support. jira: STUDIO-5676 github: SoftFever#3203 Change-Id: I025eff2aaad90ad565661aa656c59c82ff969bbf (cherry picked from commit 5aaf7ead0fd697043f673161e0ede0145ec49f4d) (cherry picked from commit f3bd5ff87021b5c26794751a1f1da4349b603102)
For tree support, use lslices as tree support island when generating brim, as this is faster and more accurate. For normal support, still use "support_fills.polygons_covered_by_spacing()" as support island when generating brim; Jira: studio 4332 Change-Id: Ibfadd3a166606f824e5780b57112fff221470aaf (cherry picked from commit 64960b19818c7029eaaaf3d8a89804aeaa26f11d) (cherry picked from commit 181b05c)
The bottom interface layers were not right when "independent support layer height" is enabled. This commit ensures there are always 2 bottom interface layers and the gap is not less than specified. However, the gap may be slightly larger. Jira: STUDIO-3842, STUDIO-2138 Github: SoftFever#2127 Change-Id: Ifd8fbc4c7bc6dd92f2534fdd0179458a9e93c79a (cherry picked from commit edcdad1)
1. accurate top z distance for tree support Also fix a bug that bottom z and top z distances are misused. jira: STUDIO-3000, STUDIO-5990 github: SoftFever#1827 2. Change interface pattern to interlaced rectilinear when using support material. 2. clean up tree support code Change-Id: Icc8ce1b6844c841a6fbd1d623df707fdc8ed0f7b (cherry picked from commit da7412a48dfb5767918ef125b9d0fb9718c03a61) (cherry picked from commit 39ae64fc53abec794d740e36baaa13fd6fb35849)
jira: STUDIO-8277 Change-Id: I327d9fb7beb6cc2822131ca4954066217b1a5c9b (cherry picked from commit 00e5e84bbdfb680da74c4861a56ec8f5a867f58d)
jira: STUDIO-8313 Change-Id: Ide03d8f666232f457305f3dd298bf8151ba9c57b (cherry picked from commit 35bf682f7938ea6ddfa9525249c6a4cbb1f16071)
The expansion was too large and may miss sharp tails near the object. jira: STUDIO-8400 Change-Id: Iee5bd15cc7c23f16d30365d5f1c9fbcc0a632c19 (cherry picked from commit 05174d07063d8296241de1d35f5b4196bc33a353)
jira: STUDIO-8509 Change-Id: I8658538d7919136efbbf0d48cbf3d366e0621ded (cherry picked from commit d5b14e5c094fd68426f1be4d78734f7b86888eb2)
1. speedup organic tree support by using parallel for intersection of bed area jira: STUDIO-8451 2. add extra wall for hybrid tree support's tall branches 3. disable circle fitting for tree support. This feature produces inconsistent circles for tree supports. 4. expose the option tree_support_branch_diameter_angle. Tree supports' strength can be improved by increasing this value. Change-Id: If3688ca895df98a77f6ca538077daf8fe94e53f1 (cherry picked from commit 7697eb3dc8f87204d28e6be9adaf55dfcdadbc74)
jira: none Change-Id: I521e27e7a4d12189efc77768d10d264d0d6db111 (cherry picked from commit 64ab78298bc0c9a32ea5bcec5beddfc103074f53)
1. fix the issue that setting top z distance=0 not working 2. remove too small extrusions of tree support jira: STUDIO-8578 Change-Id: I8c3face9d6a756698a6fab876fdb1acc0686647c (cherry picked from commit 4d219266a1f520445bec6ac5a0274dcfec4050e8)
jira: STUDIO-8642 Change-Id: Ib104fdb195f8766d452138eb85d8b86cbac96981 (cherry picked from commit 4655ec449b9bc86747d4054bbfb20c60f784c8c9)
jira: STUDIO-8800 Change-Id: I7d42f95ba43b4b3a47a83ae59afaaf9bc94baa5d (cherry picked from commit d4bc450af6d2381bd5eb891c1395ebd50ca1c322)
jira: STUDIO-9040 Change-Id: I30e09a67047f651a547082bff737524aba940f19 (cherry picked from commit 5e476a1385286246a312b76bdaa836f18715b523)
jira: STUDIO-9058 Change-Id: I62f6225d33708e8a161600930c6e0dff229f5995 (cherry picked from commit f774fda6e67e25bedc89e8ef8b2dfb77436f95f2)
jira: STUDIO-8611 github: SoftFever#5132 Change-Id: I12ee4a9f88a78304a98f354bfaa92e2a05f19ec2 (cherry picked from commit b7c8c7e8feb199b01f52e1fbfbba4469657db3b7) (cherry picked from commit c331b61cabd521cacd42d010c2936f8280a2b9f3)
jira: STUDIO-7973 Change-Id: I76b0dc56fe6cf44bacad4c35874695efee29c2f9 (cherry picked from commit 3fe1728f40e2a09340b061681895e4691bd1a8f7) (cherry picked from commit 7665aeb69ce53d7f9e1c50857b49985cd6912534)
jira: STUDIO-8883 github: SoftFever#5334 Change-Id: Ie70f6dada19cc17cd74fa6aa116d1ca4fb4a07d7 (cherry picked from commit 849d41576c64527c2b9c0bfffdec37f29ed9b68b)
jira: STUDIO-8756 Change-Id: I12c09ec2e3c1a2ee138472ff7c63675d0ee26ba0 (cherry picked from commit 36d80e7b24a4bdcce2d3957e0fd3ea61c8dc6bdc) (cherry picked from commit 0d1bdab97d7e400fc4dd91dde0b3e8d00d2ee7f7)
jira: none Change-Id: I17b876d88974e632c592bd36f3fea700a51f86be (cherry picked from commit 97de4e87cfbff84c04c247bdf525ac83119e177f)
/run/build/BambuStudio/src/libslic3r/Support/SupportParameters.hpp: In constructor ‘Slic3r::SupportParameters::SupportParameters(const Slic3r::PrintObject&)’: /run/build/BambuStudio/src/libslic3r/Support/SupportParameters.hpp:172:39: error: ‘warning’ was not declared in this scope 172 | BOOST_LOG_TRIVIAL(warning) << "tree support default to organic support"; | ^~~~~~~ /run/build/BambuStudio/src/libslic3r/Support/SupportParameters.hpp:172:21: error: ‘BOOST_LOG_TRIVIAL’ was not declared in this scope 172 | BOOST_LOG_TRIVIAL(warning) << "tree support default to organic support"; | ^~~~~~~~~~~~~~~~~ /run/build/BambuStudio/src/libslic3r/Support/SupportParameters.hpp:175:39: error: ‘warning’ was not declared in this scope 175 | BOOST_LOG_TRIVIAL(warning) << "tree support default to hybrid tree due to adaptive layer height"; | ^~~~~~~ /run/build/BambuStudio/src/libslic3r/Support/SupportParameters.hpp:175:21: error: ‘BOOST_LOG_TRIVIAL’ was not declared in this scope 175 | BOOST_LOG_TRIVIAL(warning) << "tree support default to hybrid tree due to adaptive layer height"; | ^~~~~~~~~~~~~~~~~ (cherry picked from commit a63070bd4cbe012315b9532f5c199f6d2664333a)
FAILED: src/libslic3r/CMakeFiles/libslic3r.dir/Support/TreeSupport.cpp.o /usr/bin/c++ -DBOOST_ATOMIC_NO_LIB -DBOOST_CHRONO_NO_LIB -DBOOST_DATE_TIME_NO_LIB -DBOOST_FILESYSTEM_NO_LIB -DBOOST_IOSTREAMS_NO_LIB -DBOOST_LOCALE_NO_LIB -DBOOST_LOG_NO_LIB -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_NO_LIB -DBOOST_THREAD_NO_LIB -DHAVE_FREETYPE -DHAVE_OPENGL_EXT -DHAVE_XLIB -DLIBNEST2D_GEOMETRIES_libslic3r -DLIBNEST2D_OPTIMIZER_nlopt -DLIBNEST2D_STATIC -DLIBNEST2D_THREADING_tbb -DOCC_CONVERT_SIGNALS -DOPENVDB_OPENEXR_STATICLIB -DOPENVDB_STATICLIB -DSLIC3R_GUI -DTBB_USE_CAPTURED_EXCEPTION=0 -DUNICODE -DUSE_TBB -DWXINTL_NO_GETTEXT_MACRO -D_UNICODE -DwxNO_UNSAFE_WXSTRING_CONV -DwxUSE_UNICODE -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/run/build/BambuStudio/src -I/run/build/BambuStudio/build/src/platform -I/run/build/BambuStudio/src/libslic3r -I/run/build/BambuStudio/build/src/libslic3r -I/run/build/BambuStudio/deps/build/destdir/usr/local/include/opencascade -I/run/build/BambuStudio/src/libnest2d/include -I/run/build/BambuStudio/src/miniz -I/run/build/BambuStudio/src/glu-libtess/include -I/run/build/BambuStudio/src/clipper2/Clipper2Lib/include -isystem /run/build/BambuStudio/src/eigen -isystem /run/build/BambuStudio/src/libigl -isystem /run/build/BambuStudio/deps/build/destdir/usr/local/include -isystem /run/build/BambuStudio/deps/build/destdir/usr/local/include/OpenEXR -std=gnu++20 -fext-numeric-literals -Wall -Wno-reorder -O3 -DNDEBUG -std=gnu++17 -fPIC -fsigned-char -Werror=return-type -Wno-ignored-attributes -Wno-unknown-pragmas -DOPENVDB_ABI_VERSION_NUMBER=8 -MD -MT src/libslic3r/CMakeFiles/libslic3r.dir/Support/TreeSupport.cpp.o -MF src/libslic3r/CMakeFiles/libslic3r.dir/Support/TreeSupport.cpp.o.d -o src/libslic3r/CMakeFiles/libslic3r.dir/Support/TreeSupport.cpp.o -c /run/build/BambuStudio/src/libslic3r/Support/TreeSupport.cpp /run/build/BambuStudio/src/libslic3r/Support/TreeSupport.cpp:832:39: error: ‘info’ was not declared in this scope; did you mean ‘tbb::v1::info’? 832 | BOOST_LOG_TRIVIAL(info) << "detect_overhangs takes more than 30 secs, skip cantilever and sharp tails detection: layer_nr=" << layer_nr << " duration=" << duration; | ^~~~ | tbb::v1::info In file included from /run/build/BambuStudio/deps/build/destdir/usr/local/include/oneapi/tbb/task_arena.h:31, from /run/build/BambuStudio/deps/build/destdir/usr/local/include/oneapi/tbb/partitioner.h:48, from /run/build/BambuStudio/deps/build/destdir/usr/local/include/oneapi/tbb/parallel_for.h:27, from /run/build/BambuStudio/deps/build/destdir/usr/local/include/tbb/parallel_for.h:17, from /run/build/BambuStudio/src/libslic3r/Support/TreeSupport.cpp:25: /run/build/BambuStudio/deps/build/destdir/usr/local/include/oneapi/tbb/info.h:125:11: note: ‘tbb::v1::info’ declared here 125 | namespace info { | ^~~~ /run/build/BambuStudio/src/libslic3r/Support/TreeSupport.cpp:832:21: error: ‘BOOST_LOG_TRIVIAL’ was not declared in this scope 832 | BOOST_LOG_TRIVIAL(info) << "detect_overhangs takes more than 30 secs, skip cantilever and sharp tails detection: layer_nr=" << layer_nr << " duration=" << duration; | ^~~~~~~~~~~~~~~~~ /run/build/BambuStudio/src/libslic3r/Support/TreeSupport.cpp:884:43: error: ‘debug’ was not declared in this scope 884 | BOOST_LOG_TRIVIAL(debug) << "found a cantilever cluster. layer_nr=" << layer_nr << dist_max; | ^~~~~ (cherry picked from commit c680128141416f1297a25824deb7443fc441892b)
7cbaca2
to
0187e1b
Compare
@digital0785 the nightly only contains whats been merged so not these changes that are still awaiting merge, HOWEVER, the fact you did the testing with the nightly is great, because when you download this test build, you know what your looking for I need to check floating supports on this build this weekend... time, never enough |
ahh ok so i need to build this myself if i want to test or just waiting for the nightly with these ?.. the irony is i jumped to nightly 3 weeks ago because i ran into a bug in 2.2 where when i shut it down it would nix all my profiles .. 2.3 hasn't .. but the final model i printed of this was from 2.2 with only build plate because i got one that sliced where it would bridge the gaps properly and only took 3 hours vs the 3:30+ most of the screenshots show.. but yes I look forward to testing this.. I usually avoid needing supports but I have a project i need to print 10 of for a client and there is no choice but to use support :( Someone posted this thread in response to a post I made on FB frustrated so at least I was pointing in the right direction :). I'll definitely be on the lookout as I'll be glad to help improve supports in any way i can with feedback. as they're the bane of my existence LOL looks like it's in process to become a nightly? |
At the top of this pull request, click on checks, then click on the left builds (first one), then on the right, artifacts (the number 7 when i was looking) and pick your poison from the list of builds |
thank you so much! downloading right now to play with! i'm not saying i could cry i'm so happy .. but ... i could LOL best way to shut up a disgruntled user i've ever seen LOL |
only issue i'm really running into at this moment which could be something i'm missing something depending on the interface pattern changes the direction the top layer of the support before the interface goes .. going 45* creates less that stellar results as it prints at support speeds and it tries to fill gaps in an un optimized way. rectilinear goes the shortest direction (if rotated 90* but tries to bridge the whole width of the support other wise) which makes sense however then the interface layers themselves are all going the same direction instead of alternating 90*. every other option minus regular rectilinear makes the top layer of supports at a 45 and changing the pattern angle doesn't change the top. if possible having it do shortest distance may be better or giving the option to manually adjust that angle :) or having the option to slow down that bridge layer would help / have it use the support interface speed or bridging speed vs standard support speed. I had gaps forming in that layer which caused the subsequent support interface layers to go down a bit weird and cause some scarring thank you again for the updates! |
This includes the latest changes from BBS, including vertical support painting.
Huge PR, lots of tests are needed.