Kinematics Toolkit built with HOOPS Communicator
A set of classes to add kinematics-based animations to CAD Models
The classes found in the Kinematics Toolkit make it easy to add kinematics-based animations to CAD Models. In a typical CAD model the product structure is often flat or unrelated to the kinematics/joint relationships of the assembly which is why the Kinematics Manager allows the user to define its own component hierachy independent of the CAD hierachy. Based on this relationship graph it is then straightforward to animate a specific component by setting a single value.
In addition to this basic functionality the Kinematics Manager also offers the ability to define indirect components that are driven by other components based on their mathematical relationships. For example, a mapped component will move or rotate depending on the movement or rotation of another component. Other components allow for the creation of hinges, pistons and other more complex mechanical systems. It is also possible to define your own component behaviors. In addition, the Kinematics Toolkit provides a simple Inverse Kinematics solver based on the gradient decent method.
Once a Kinematics Hierachy is defined it can be easily exported to a JSON object and its template can then be applied to individual instances of a CAD model that exist in the scene, each driven by their own kinematics state (e.g. a number of IoT enabled devices in a building).
The Kinematics Manager also comes with its own animation system (powerd by anime.js) which makes it easy to define simple animations (like pressing a button or starting up a fan) and combining those into more complex animation groups.
In addition to the core Kinematics Toolkit classes this repo contains an experimental Editor Environment for interactively creating Kinematics Hierachies, setting up animations and exporting those to JSON.
Questions or feedback?
We are looking for feedaback and how this toolkit can be improved to meet your needs! Please connect in our forum.
You can also sign-up for a 60-day trial of the HOOPS Web Platform.