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 :
- pousser-tirer des faces pour ajouter et soustraire de la matière à un solide, avec les options "étendre les faces adjacentes" ou "extruder dans la direction normale",
- rétracter un contour pour créer un contour décalé vers l intérieur d une face
- accéder au maillages de la topologie Brep : triangulation d une face d un solide,
- déplacer ou supprimer un face d un solide et reconstruire une enveloppe fermée par extension des faces adjacentes et création de faces.
- Incurver un ensemble de faces
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 :
- Goût pour l informatique graphique et la modélisation géométrique
- Goût pour la programmation
- Ingénierie logicielle
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
- 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)