Created by: portnov
This node is more or less direct interface for FreeCAD's generalFuse
method. It is a generalization of Boolean node; it actually allows one to perform several boolean operations at once.
To illustrate what exactly it does, it's simpler to draw some 2D pictures first. Let's say we have a circle (object number 0), a square (object number 1) and a triangle (object number 2):
If they are overlapping somehow, they constitute several areas (7 in this case), and each area comes from some of source objects. On the illustration above, it is indicated which areas come from which object. We will say that each part of such figure has some "set of source objects". For example, the part in the middle, which is the intersection of all three objects, has set of source objects equal to [0, 1, 2]
. Now, we can take some of these 7 areas and combine them, and throw the others part out. To do this, we have to identify, which parts we like, and which we do not. For example, let's exclude all parts that come from the triangle, i.e. for which the set of source objects includes object number 1:
(the triangle is now white to illustrate where it was; colored part is what is left). Or, we can exclude parts, for which the set of source object includes 0 and 1, i.e. we remove the intersection of the circle and the triangle:
Or, let's leave only parts, for which the set of source objects is [0,1]
, [1,2]
, or [0,1,2]
:
Or, let's remove those parts and leave all others:
After such playing, we can either fuse the remaining parts into one object, or leave them as different objects.
In 3D, things are more complex, but general idea is the same:
Preflight checklist
Put an x letter in each brackets when you're done this item:
-
Code changes complete. -
Code documentation complete. -
Documentation for users complete (or not required, if user never sees these changes). -
Manual testing done. -
Unit-tests implemented. -
Ready for merge.