I created this thread with the intent of knowing if the community is interested in the creation of a Kinematics Workbench for FreeCAD. Please be aware that this is not a promise to code, just a place for discussion.
From my personal background, I've begun to learn how to use MBDyn for dynamic simulations, but it gets kinda hard when doing complicated objects, specially because the program asks you for the Inertia tensor and other mechanical properties.
I'm planning to learn more about FreeCAD as a whole before even taking the endeavor of creating a workbench, but I believe I have a little work plan if I ever get the time to code it.
My idea is to base my work on what has already been done for FEM and Raytracing, because the kinematics analysis software is not license compatible with FreeCAD (GPL vs LGPL). Though I'm not sure if I should write it exclusively in Python (not very efficient, but can get stuff done faster) or to use C++ as well (more work, but better in the long run)
In short, what the workbench will do is:
- Early stage - Alpha / Beta
- Have an empty template ready for use with MBDyn
- Python Example of a free-falling object written to mbdyn
- Ability to take the selected geometry from FreeCAD and write the necessary information to the file (moment of inertia, position, and center of mass)
- Early Stage - Beta
- Possiblity of defining the simulation scenario, (gravity direction, gravity presence, object velocity (linear and angular), etc.)
- Possibility of running MBDyn from FreeCAD
- Import results to a Spreadsheet (Plot them perhaps?)
- Simulation
- Add the possiblity of animating objects in FreeCAD based on the information defined from the user and obtained from MBDyn
- Inclusion of relationships between objects (Joints between elements) (Perhaps this should wait until assembly is ready)
- Input and Export files
- Add option to directly edit the files within FreeCAD
- Export video from animation (Use ffmpeg as a library?)
- FreeCAD as a pre and post processor for MBDyn
- Constantly add missing features in order to allow users to work with the rest of MBDyn's simulation possibilties
Regards,
Isaac