Commit Graph

25 Commits

Author SHA1 Message Date
Arthur
689a84f819 FIX: tree support bottom interface layers were not correct
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: #2127

Change-Id: Ifd8fbc4c7bc6dd92f2534fdd0179458a9e93c79a
(cherry picked from commit edcdad162ef68ab94f8d1e66c225c2617f43e00e)
2025-02-08 11:34:23 +08:00
Arthur
d68acdae5c ENH: tree support uses accurate lslices
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 181b05c236d251ce29a7730966012c5402061899)
2025-02-08 11:34:22 +08:00
Noisyfox
52e01c89cf Rename smsOrganic to smsTreeOrganic 2025-02-08 11:34:22 +08:00
Arthur
4cb5571cbb FIX: several support bugs
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: #3203

Change-Id: I025eff2aaad90ad565661aa656c59c82ff969bbf
(cherry picked from commit 5aaf7ead0fd697043f673161e0ede0145ec49f4d)
(cherry picked from commit f3bd5ff87021b5c26794751a1f1da4349b603102)
2025-02-08 11:34:21 +08:00
Arthur
089b5c292b FIX: compiling error on linux
jira: none
Change-Id: I1a4563503b5ddf74a1979cc0cee7a15b8aced904
(cherry picked from commit de52c6ca62c9f3a6314ddf5a856c1d8534329886)
(cherry picked from commit 4bd2b7f96dee8862cf2ae87807e33f4255070d2d)
2025-02-08 11:34:18 +08:00
Arthur
e11be1c511 ENH: open support wall count for normal support
1. open support wall count for normal support
  Enabling this option makes normal support stronger and gives
  better overhang quality, but also more difficult to removal.
  Jira: STUDIO-5192
2. fix a bug where tree support (hybrid style) may get overlapped
  extrusions near the walls.
3. fix a bug where raft layers can't be 1 in tree support
  Jira: STUDIO-5261

Change-Id: Iadc0c67a9b50b5b221c8e83d5aa22ed282018cf8
(cherry picked from commit c0bb0084e386cb70ed6e16edf93190e4b38f5b90)
(cherry picked from commit bf93fd02fb92912563796a2eec1ccfb4b0ed7fa9)
2025-02-08 11:34:18 +08:00
Arthur
d8d4bee806 ENH: improve first layer tree support
First layer support can't be top interface, and
min brim width of auto mode should be larger
than 0.

Jira: STUDIO-5010
Change-Id: I02f8b017b535f8a47965387e8679f692b1966e04
(cherry picked from commit 3e7d54abe352e8ab5f9d6492b5a86a96f9067f94)
(cherry picked from commit 7efebe6bc682d66953a33704829140369b3ee7b8)
2025-02-08 11:34:17 +08:00
Noisyfox
fc351c3477 ENH: improve auto-arranging objects with tree support
We decide to set brim width of all objects to MAX_BRANCH_RADIUS_FIRST_LAYER if there is an object with tree support after discussion.

Jira: MAK-2009
Change-Id: I4c4940800632c433235966b01c44ac910e33a51c

(cherry picked from commit bambulab/BambuStudio@2bd6b11505)

Co-authored-by: Arthur <arthur.tang@bambulab.com>
2025-02-08 11:34:17 +08:00
Noisyfox
85494dd2b3 FIX: tree support generates floating hybrid supports
Jira: STUDIO-4763
Github: #2660

Change-Id: I13d5a1443af8bc82f0cadd177e0db3fc3db971f1

(cherry picked from commit bambulab/BambuStudio@0964b5bb0a)

Co-authored-by: Arthur <arthur.tang@bambulab.com>
2025-02-08 11:34:16 +08:00
Noisyfox
dc7668742e FIX: improve tree support generation speed
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 #2423)

Change-Id: I40978c93ab93fa6964483514dad552d73a66c710
(cherry picked from commit 2ccbbe49c74d4aab4f086e79a6f8262b7fc80f15)

(cherry picked from commit bambulab/BambuStudio@d7a4623380)

Co-authored-by: Arthur <arthur.tang@bambulab.com>
2025-02-08 11:34:15 +08:00
Noisyfox
3fb9a0e54e ENH: improve tree support
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@76f876a3c6)

Co-authored-by: Arthur <arthur.tang@bambulab.com>
2025-02-08 11:34:15 +08:00
Noisyfox
2cac573f2e Clean up tree support code
(cherry picked from commit bambulab/BambuStudio@39ae64fc53)

Co-authored-by: Arthur <arthur.tang@bambulab.com>
2025-02-08 11:34:14 +08:00
Noisyfox
3b756b6c2c Replace TreeSupport::SupportParams with SupportParameters
(cherry picked from commit bambulab/BambuStudio@39ae64fc53)

Co-authored-by: Arthur <arthur.tang@bambulab.com>
2025-02-08 11:34:14 +08:00
Noisyfox
e0c51575c6 Clip the organic supports outside bed (#8195)
Clip the organic supports outside bed. (SoftFever/OrcaSlicer#7922)

(cherry picked from commit bambulab/BambuStudio@2c6a6ae5f4)

Co-authored-by: Arthur <arthur.tang@bambulab.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-02-07 23:18:58 +08:00
Marius Wachtler
e6c49c8a73 Fix some errors uncovered via compiler warnings (#7954)
* fix: tray_exist_bits != tray_exist_bits comparison

* fix: title == GetTitle() == title comparison

* fix: possibly dangling reference to a temporary
```
OrcaSlicer/src/libslic3r/calib.cpp:456:17: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  456 |     const auto &w         = bed_ext.size().x();
OrcaSlicer/src/libslic3r/calib.cpp:456:45: note: the temporary was destroyed at the end of the full expression ‘((Eigen::DenseCoeffsBase<Eigen::Matrix<double, 2, 1, 2>, 1>*)(& Slic3r::BoundingBoxBase<PointClass>::size() const [with PointClass = Eigen::Matrix<double, 2, 1, 2>]()))->Eigen::DenseCoeffsBase<Eigen::Matrix<double, 2, 1, 2>, 1>::x()’
  456 |     const auto &w         = bed_ext.size().x();
```

* fix: mixup of | and ||
in this case I think it actually does not change the semantics it just means that both comparison have to be evaluated.

* fix: multi-character character constants need "

OrcaSlicer/src/slic3r/GUI/MediaPlayCtrl.cpp:392: warning: multi-character character constant [-Wmultichar]
  392 |     if (auto n = tunnel.find_first_of('/_'); n != std::string::npos)
OrcaSlicer/src/slic3r/GUI/MediaPlayCtrl.cpp: In member function ‘void Slic3r::GUI::MediaPlayCtrl::Stop(const wxString&)’:
OrcaSlicer/src/slic3r/GUI/MediaPlayCtrl.cpp:392: warning: overflow in conversion from ‘int’ to ‘char’ changes value from ‘12127’ to ‘95’ [-Woverflow]

* fix: missing paranthesis - skips null check

* NFC: Remove this check it can never be false

* NFC: fix warning: statement has no effect
2025-01-08 13:06:39 +08:00
Noisyfox
7c38a7bab1 Update PrintObject::_generate_support_material() to match BBS 2024-09-30 14:12:30 +08:00
Noisyfox
a4593d1e52 Update files related to support to match BambuStudio's project structure 2024-09-30 14:12:29 +08:00
SoftFever
040c3d5aaf Removed the copyright and credits in the header of each file. This information is outdated and hard to update. Orca Slicer maintains the autoher info in git history so this is not necessary. 2024-06-15 14:56:44 +08:00
SoftFever
58ec8f8d38 switch res for large printer 2024-05-12 23:35:41 +08:00
SoftFever
b24d1a4161 Support larger printer sizes by using 64-bit.
SuperSlicer is referenced for some changes.

Co-authored-by: Merill <merill@free.fr>
2024-05-10 23:47:08 +08:00
Seth LaForge
fce61be3ff Fix asserts which would not compile. (#3741) 2024-01-27 10:30:29 +08:00
Ocraftyone
9d60c18181 Debug Improvments on Windows (#3275)
* fix assert statements

* Add ORCA_INCLUDE_DEBUG_INFO to deps cmake

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

* add build type option to windows script

* update .gitignore to include build*
2024-01-24 11:48:14 +00:00
Noisyfox
70eb777963 Organic: Fix support blocker (#2595)
Expand blockers a little bit to compensate the error in facet projection
2023-11-04 02:42:30 +08:00
Noisyfox
28f090ca48 Various support improvements and bugfixes (#2202)
* Organic supports: Added check for variable layer height, with which
Organic supports are not compatible.
Fixes prusa3d/PrusaSlicer#9528 and similar.
Check the object max Z against build volume Z in Print::validate().

Cherry-picked from prusa3d/PrusaSlicer@5b94971

* Fix crash with default tree support

* Show "support_critical_regions_only" only when using auto normal tree supports (#2195)

* Fix organic tree check

---------

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
2023-09-24 22:58:04 +08:00
Noisyfox
c9164ac036 Initial port of organic tree support from PrusaSlicer (#1938)
* Initial port of organic tree support from PrusaSlicer

* Port missing Organic support parameters from PrusaSlicer

* Update parameter naming

* Reorganize the `raft_first_layer_expansion` and `raft_first_layer_density` parameters as they are not only used by rafts

* Reset support style only in simple mode

* Sync latest update from PrusaSlicer & copyrights

* Fix organic tree support crash with invalid parameters

---------

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
2023-09-02 17:29:43 +08:00