FreeCAD, on the computer-aided engineering side, is still missing a good multi-body dynamics solution. I spent some time looking at potential C++ libraries; MBDyn was one of the first, but I was concerned with its ability to be cross-platform. I spent a few hours researching others and came across a really promising library:
Project Chrono, a C++ library for multibody dynamics simulations ( Homepage / BSD 3-clause license / github)
Features:
- Rigid & deformable bodies modeling
- Collision detection
- A pre-built Python C++ wrapper, Chrono::PyEngine
- A CASCADE module that can:
- Load object shapes saved in STEP file format
- Compute the center of mass, the mass, the inertia of shapes
- Convert shapes in triangulated meshes for visualization
- A pretty impressive list of testimonials and use cases
- Tons more features than I can list; it's really, really richly featured