Can someone explain me why “mesh boolean” is so slow and memory hog?
I’m using windows 10, 24-threads CPU with 128GB of RAM. The “mesh boolean” is using single thread and much of the RAM taking hours to execute.
Boolean operation is most basic feature I need to design my CAD models. When using Orca slicer I see almost no difference between Bambu Studio and both share same issue with boolean operation. When I run “mesh boolean” on an object having about 50 primitive parts (cubes and circles) and similar amount of negatives (also primitives), it consumes about 7% of my CPU (1 thread?) and memory consumption slowly grows to dozens of gigabytes. During that time UI remains unresponsive.
I’m not sure this is an apples to apples comparison.
If we’re discussing a parametric CAD program such as Fusion360, Solidworks, FreeCAD, OnShape etc, the boolean functions in those programs are working on vector-based solid models(STEP, IGES, etc). In the slicer it is working on a mesh(STL files). The challenges between the two are very different.
A better example or test is to bring the model into something like Blender which can only operate on a mesh and then do a comparison.
That’s a pitty that bambu studio remains unresponsive while “mesh boolean” is running.
I have no experience with the algorithms behind this - would be nice if this could use multiple threads (maybe not applicable?).
Thanks for a start point for the lecture. I could now search for mesh boolean vs the second approach.
Yeah, unfortunately the boolean feature still need more baking in the oven of software development. Bambu “borrowed” this from Orca who had it first. Orca I believe simply reconstituted original code that had been excluded when Bambu Studio was forked from Prusa and Cura Slicer. The original source is a bit obscure to me. Nevertheless, it is in my view still “experimental” code and has lots of bugs in it… Nevertheless, it has its uses.