Intersections/ Booleans of free form surfaces

Has anyone got experience on computing intersections between surfaces or faces or trimming faces/shapes with free form surfaces ? On some of our surface intersections we are getting hard crashes etc using either BRepAlgo_Cut or BRepAlgoAPI_Cut . Replacing the surfaces with more simpler ones removes the crashing. Generally the AlgoAPI seems to be more reliable than Algo. We have tried using some various approximate surfaces but generally this does not help. Currently we are most interested in intersecting ruled surfaces with general BSpline surfaces.

Ankit Surti's picture


I am also facing a similar problem. In my case, I am picking a face of a solid and extruding it using BRepPrimAPI_MakePrism to get another solid. Then, a boolean cut is performed using BRepAlgoAPI_Cut between original solid and the newly generated prismatic solid. This works fine as far as the faces (which are used to generate the prismatic solids) are planar or cylindrical or in simple words, elementary surfaces. But when a BSpline Surface is extruded, a valid prismatic solid is generated but the boolean cut operation gives "Error 101" meaning that the second part of the boolean operation has failed, which according to the OCCT documentation means - "Error in building the result of operation".

And this also means that, the first part of the boolean operation is running fine - "computing interference between arguments".

So please can anybody help?

Am I doing something wrong here or the boolean operations code of OpenCASCADE is still being improved upon and has bugs?

Please someone reply to this thread as soon as possible.