I'm currenty writing an application that should check if it is possible to align different bars and connectors the way a designer has intended it. To do that I want to load the 3D-Models (Wavefront Objects) of the bars and connectors, place them the way the designer intended and check for collisions between the different models.
Now when I'm searching for collision detection I usually read that you should never ever check for collisions based on the mesh but rather simplify the model, therefore most tools I tried do not even allow you to check for collisions based on the mesh or they simplify that process. The problem is that people are talking about game development most of the time, but my use case is completely different. I don't even need to be very efficient. One detection per second would be more than enough, while games of course need those checks way more often.
Right now I'm working with BulletSharp (a .Net wrapper for the bullet physics engine) and I get decent results. When I simplify my mesh (with HACD convex decomposition) first and then check for collisions it works most of the time, but sometimes when the parts are very close to each other I get collisions when there shouldn't be any, like you can see on the picture (the red color indicates, that there is a collision between the parts). Interesting is, that it works even worse when I use the detailed object model instead of the simplified one.
Are there any other approaches for such a use case? Maybe other engines or libraries that could help me (preferable but not necessarily in .Net)?