Sujet : Développement d un plugin Rhino pour la modélisation directe avec une IHM en réalité virtuelle

Description du sujet : Ce stage de recherche vise à explorer les commandes de modélisation « directe » du modeleur géométrique Rhino, et la possibilité de les lancer les commandes et accéder aux entités géométriques par programmation dans une application « client ». Le stagiaire explorera l interface graphique de Rhino et ses deux API « RhinoCommon » et « C++ Rhino SDK » en vue de développer des plugins de communication entre une application de modélisation 3D en réalité virtuelle (client) et Rhino : Les développements pourront être effectués dans un des langages suivants : Grasshopper (langage graphique) ; python ; C++ (Rhino SDK) ; .NET RhinoCommon (langages C#, C++, VB, etc).
Compétences requises :

Au niveau de la CAO, il y a le plugin RhinoVR compatible avec OpenVR (proche de OpenXR). Il effectue un rendu stéréo pour HMD de la fenêtre Rhino , émuler le déplacement de la souris avec un controlleur openXR, des interactions pour sélectionner et déplacer des composants, naviguer, avec des controlleurs openXR etc.

Vidéo de démo ici

Rhino 8 comporte quelques commande de modélisation directe appelables depuis des scripts :

- PushPull, pousser-tirer avec les options "extend" qui reconstruit le solide par extension des faces adjacentes ou bien "extrude" qui fait une extrusion dans la direction normale à la surface. (video YT)

- MoveFace, déplacer une face par translation (pas de rotation), ou la projeter contre une frontière

- MergeCoplanarFace,

- FoldFace, opère la rotation d'une face plane autour d'une arête droite, et reconstruit le solide par rotation des faces planes adjacentes (semble limité à des polyèdres)

- MoveEdge, déplacer une arête le long de la normale à la face 1 ou à la face 2 (faces adjacentes à l'arête), la reconstruction ne fonctionne que dans les cas simples...

Papers

Downloads of Videos for the use case of an Electro-Mechanical Actuator (EMA)