Requested Improvement of General Fuse Algorithm


Good Morning,
I am using General Fuse Algorithm to prepare CAD data for my Electromagnetic Simulator EmCAD (see
I have the need to split a set of shapes with a second set of shapes (faces).
Each set of shapes in already intersected so that the only possible new intersections may occur between a shape of set 1 and a shape of set 2.
The number of shapes in set 1 is much graeter than the number of shapes in set 2 so that a strong improvement in the computational time (which sometime is very long) could be achieved by disabling the search of intersections between shapes of set 1.

Should it be possible to add a grouping mechanism for the arguments of the BOPAlgo_Builder so that the search for interference is restricted to couple of shapes belonging different groups ?

Mikhail Sazonov's picture

I think the algorithm already has the expected behavior. You can add the shapes from the set 1 that you do not want to be intersected into a compound shape, and put that compound instead of shapes one by one.

Walter Steffè's picture

Hello msv, many thanks for your suggestion. I have followed it and I got a big improvement in the splitting time.

I think that it should be reported in the OCC documantation that there is such a big difference bewtween adding (to the BOPAlgo_Builder arguments) a single compund and adding many shapes one by one.

Mikhail Sazonov's picture

I think this question is answered in the documentation. Please, see here:

- The argument of type 0 (COMPOUND) can include any number of shapes of an arbitrary type (0, 1…7).
- The argument should not be self-interfered, i.e. all sub-shapes of the argument that have geometrical coincidence through any topological entities (vertices, edges, faces) must share these entities.

Walter Steffè's picture

You ar right, I had not carefully read that section.