OpenCascade is pretty much the only open source CAD kernel. There is brlcad, but that can only do CSG.
We tried parasolid, then we got forced into using ACIS. We didn't really end up with much of a complete product in the end as this was government funded research.
Wow, was this Darpa's iFab? I don't recognize you from your username but I wouldn't be surprised if we worked together in some indirect way. I had literally the same experiences and explored all those same kernels. ... We concluded that the issues with OpenCascade's Boolean operations were so baked into the code that they'd probably be better off with a total rewrite. From what we could tell digging in the code, they tesselate the BRep, do a boolean on the tesselations, and then try to match the results back to the input surfaces. This ended up with all kinds of nonmanifold surfaces, edges, and vertices, in addition to taking minutes to hours to return an answer, if it ever did return. One guy took a pretty deep dive into that code to try to figure if he could optimize it, and it was bad in so many ways, like it was doing something that required tons of triangles to be copied and reconstructed over and over. ... I'll give OpenCascade credit for one thing though, which is that an STL generated from a manifold input STEP or other file format will actually be a manifold STL (i.e. crack free etc to the level of assuming "identical" vertices will be bit for bit identical in the STL file). Try making even a trivial part into STL with Solidworks and I virtually guarantee that "identical" vertices will not be bit for bit identical. There will be cracks and you'll have to correct for them. I've never had that problem with OpenCascade. Whatever there tesselation algorithm is, it at least makes crack free results.
Interesting to read about some real world experiences with Open CASCADE 'in the wild'.
What version of Open CASCADE did you look into the Boolean operations? The experience I have is also that they are not very fast, but more in terms of minutes not hours. From what I know there are 'old' style and 'new' style Boolean operations in the recent (6.9 and 7.0 beta) versions of Open CASCADE and the experience I am talking about is the 'new' style Boolean operations.
How big were the typical shapes you used, in terms of number of vertices/edges/faces? And for these shapes what was the comparative speed in Parasolid or ACIS kernels?
We tried parasolid, then we got forced into using ACIS. We didn't really end up with much of a complete product in the end as this was government funded research.