Dear Forum Supervisor,
Attached is an example of a Gaudinean column problem, where a Boolean common is performed between a twisted rectangular column and its symmetrical counterpart.
I have attached a file called shapes.step, that contains the two operand shapes.
And the result of how the Boolean common should look like result_catia_boolean_common.step, this was obtained by executing a body-to-body intersection in catia(it almost blinks, in less than 50 milliseconds).
on other configurations of the same twisted operands, occ works but returns an invalid result that is not a solid, as an incomplete boolean.
I have attached both the operands that return an invalid result and the invalid result in Brep format.
I have also attached the openshapefactory script that generates the operands, its should be fairly simply to deduct the logic in case you would like to replicate it as a draw script for unit testing.
beyond the uncertainty of obtaining a correct result or any result, there is also the performance issue, I tried running the BRepMesh::Mesh() command on both operands prior to running the Boolean operation to see if this improves performance, it still takes around 3-11 seconds to perform the Boolean common on these twisted rectangles, while in catia the result is almost real-time.
Hope this proves to be a useful test case.
I tried this on Occ 6.3 and Opencascade Community Edition version 12, same results for both.