Rhino #1 – C’est quoi Rhinocéros 3D ?

 

Dans cet article nous allons nous intéresser à un autre modeleur CAO.
Je ne vais pas délaisser Catia mais introduire et vous expliquer cette autre vision de la modélisation.

Rhino3D

Rhinocéros 3D, c’est quoi ?

Introduction

Je me suis intéressé à Rhinocéros tout dernièrement pour une raison toute simple:
Il est reconnu comme étant une référence dans le monde du style et du design de produit.
Une pointure en quelques sortes.

Alors, je me suis dit qu’il était intéressant d’aller jeter un coup d’œil.

Je ne l’avais d’ailleurs pas vu comme cela avant, le considérant moi même par ignorance comme un des nombreux modeleurs mécaniques 3D du marché.
Mais voilà, c’est un cas à part et de ce point de vue, il n’est donc pas comparable à Catia, SolidWorks, Creo ou encore Inventor.

Non, nous avons à faire ici à un logiciel de modélisation libre purement surfacique même si il existe toutefois une notion de solide (groupe de surfaces fermé).

Rhinocéros est basé principalement sur des NURBS gérées par son moteur mathématique OpenNurbs mais il est capable de gérer des maillages et des nuages de points.
Il sait de plus lire et écrire dans beaucoup de formats 3D.

 

 

Les NURBS c’est quoi ?

Les NURBS (Non-Uniform Rational BSpline), sont une généralisation des B-Spline (Bézier-Spline),  qui sont une amélioration des courbes de Bézier, elles-même un progrès comparé aux Splines.

 

Ci-dessous, voici, dans l’ordre d’apparition, ces différentes courbes dont l’exploitation se fait mathématiquement.

Spline –> Courbe de Bézier –> B-Spline –> NURBS

 

Spline

Les Splines sont largement utilisées dans les logiciels de dessin (par exemple dans les Sketch de CATIA, dans Gimp, dans Word, Inkscape …). Elles décrivent mathématiquement une courbe par les points de passage et par des tangences à ces points.
Elles sont simples d’utilisation et facilement compréhensibles pour un utilisateur non spécialiste.

 

B-Spline dans InkScape [Source Wikipédia]

 

 

B-Spline et NURBS

Suite aux travaux de Bézier, les B-Spline et par extension les NURBS permettent maintenant de décrire des courbes et des surfaces par un certain nombre de points de contrôle qui ne se trouvent pas sur la géométrie.
Le nombre de points de contrôle et leurs positions ainsi que le degré de la courbe définissent la forme.
Plus puissantes que les Splines, elles permettent une meilleure manipulation des données par l’outil informatique.

Courbe NURBS

SurfaceNURBS

Vu comme cela, seuls le amateurs de mathématiques peuvent être sensibles à la chose mais en fait, au niveau de l’utilisateur cela n’apporte que des avantages :

  • facilité et précision pour évaluer une forme
  • capacité pour approximer des formes complexes
  • simplicité de construction et d’implémentation
  • faible complexité des algorithmes utilisés

(selon Wikipédia)

 

 

Une très grande liberté de mise en forme

A l’instar de atelier “Free Style” de Catia V5 dédié au style vraiment libre, Rhinocéros vous permet de modifier la géométrie par manipulation de la position des points de contrôle.

Rhinocéros 3D - simple révolution puis déformation par points de contrôle

 

En fait dans Rhinocéros, il faut comprendre que tout est basé sur des NURBS et que tout est manipulable de la sorte même si les manipulateurs sont par défaut invisibles (ici une courbe plane dont les points de contrôle sont activées = rendus visibles).

Rhinoéros 3D Courbe plane puis déformation par points de contrôle

Le logiciel redessine cette courbe (ou surface) dès lors qu’un point est déplacé.

Pour dessiner de nouveaux éléments, il est alors facile de positionner les points à la volée et les déplacer ensuite.
Il est aussi possible de les placer précisément à l’aide de coordonnées ou encore de positionner un point comme étant l’intersection de deux autres éléments ou le centre d’un cercle par exemple (en position relative ou absolue bien sûr).

D’un point de vue modélisation, un nombre important d’outils et les quatre vues vous permettent, utilisées ensemble, d’enchainer courbes et surfaces avec autant de contraintes que vous le souhaitez (tangence, courbure,…).
Les outils sont regroupés par catégories (filaire, surface, solide,…) et on les trouve à différents endroits (menus, boites d’outils…)

Une zone de saisie (Prompt) permet aussi de lancer les commandes en saisissant leur nom dans la langue souhaitée comme “ligne” ou “extruder courbe”.
Une fois validée, une indication dans cette zone vous invite à préciser certains paramètres dimensionnels (rayon, distance…) ou logiques (extension symétrique, Inverser,…).

Rhinoéros 3D Interface utilisateur 4 vues

 

 

Surfaces et Faces

Tout comme Catia V4 et V5, en surfacique, il y a une différence entre Surface et Face:

  • Une surface est la forme mathématique Nurbs généré par le jeu de points mis en ouvre.
  • Une face est un morceau de surface limité par des courbes posées sur la surface.

Un exemple simple:

On considère une surface sphérique (une forme mathématique simple) ici grise et on trace une polyligne fermée à sa surface (en rouge ici).

Rhinoéros 3D - Surface sphérique et polyligne projetée

Si l’on découpe la surface par cette trace, on récupère deux parties: la partie enfermée dans ces limites et celle à l’extérieur des limites (bleue et verte). Ce sont toutes deux des faces (des morceaux de la surface sphérique).

Rhinoéros 3D - Surface sphérique découpée par polyligne projetée

Si l’on supprime la face verte, il reste la bleue mais on constate qu’on ne voit plus la sphère d’origine (la surface)

Rhinoéros 3D - Surface sphérique découpée par polyligne projetée - résultat une face

Elle est pourtant bien présente et il suffirait de supprimer les limites de la face bleue pour voir que la machine est capable de reconstruire le reste.

Rhinoéros 3D - Surface sphérique découpée par polyligne projetée - la surface est implicitement présente sur la face

 

 

Historique des commandes seulement

Au dessus de la zone de saisie des commandes se trouve une zone dans laquelle vous pourrez relire dans l’ordre chronologique toutes les commandes que vous aurez saisies et les infos en retour que la machine vous aura données.

En création, une fois validée, si l’opération passe, vous obtenez un résultat que vous pouvez ensuite modifier par ces fameux points de contrôle.
Mais attention, à la différence de Catia Free Style, Rhinocéros n’offre pas de géométrie associative.
Cela veut tout simplement dire qu’après la création, il n’y a pas de relation de parenté entre ce que vous venez de créer et les éléments qui vous ont servis à le faire. Ils sont étrangers et indépendants.
Si vous créez une surface à partir d’une courbe et que vous modifiez ensuite la courbe, sur Rhino, il n’y aura pas de mise à jour de la surface.

Il existe tout de même des extensions permettant de rendre Rhino associatif ou presque.

La première solution est “GrassHopper”. Ceci est en fait un éditeur de “Visual Scripting”.
On peut l’installer gratuitement avec une licence Rhino.

GrassHopper pour Rhinocéros

Cela ne rend pas Rhino vraiment paramétrique mais permet de redessiner tout ou partie du modèle dès qu’une modification d’un élément survient. Oui, il faut comprendre que la géométrie reconstruite n’a pas été dessinée dans Rhino mais dans GrassHopper.
Dans cet vidéo extraite de Youtube on comprend que les éléments géométriques de rhino sont construits par ces étiquettes et ces connexions. Ce n’est ni plus ni moins qu’une macro (présentée en visual scripting) qui reconstruit à votre place le modèle à partir des éléments de départ.
Si on ne supprime pas l’ancienne construction (mais c’est prévu dans le script), la macro en reconstruit une par dessus.
Sachez que, une fois fini, si vous êtes satisfait de la construction de GrassHopper dans Rhino, vous pouvez figer (le terme est “Bake”) d’un coté la géométrie dans Rhino et d’autre part enregistrer la macro dans GrassHopper pour la rejouer par la suite.
En tout cas cela ne modifiera plus la géométrie figée dans Rhino (il faudrait la détruire pour la reconstruire avec la macro).

On peut faire la même chose en script Python ou Visual Basic.Net. Les éditeurs de script sont présents et bien intégrés dans l’environnement Rhino mais dans ce cas cela reste du Code pur et dur.
Notez que le code Python pour Rhino est très accessible.

image

L’autre solution s’appelle “RhinoParametric”. Cela ressemble plus à une architecture du type Catia ou SolidWorks avec un arbre et des mises à jour.
Ceci n’est pas une extension gratuite.

 

Conclusion

Je n’ai pas fait ici le tour complet de ce logiciel car l’éditeur le fait déjà dans cette page (vous pouvez consulter d’ailleurs en échange de votre mail ce document pdf qui est la base de l’utilisation de Rhino).

Il reste beaucoup à dire sur les nombreuses fonctionnalités de ce modeleur.
Cette première vue nous montre que Rhinocéros présente de nombreux atouts dont les principaux sont :

  • La maitrise de la modélisation basée sur les NURBS
  • Le prix accessible
  • L’interfaçage efficace avec d’autres langages .Net,Python,C++ permettant le développement de nombreux plugins par une communauté grandissante.

Je suis pour ma part personnellement convaincu par ce logiciel, ses capacités en surfacique et la très grande liberté qu’il apporte même si, en contrepartie, sa grosse lacune est l’absence d’associativité entre les éléments.
Je pense poster régulièrement sur ce blog des articles sur ce thème afin que nous puissions, si ça vous tente, apprendre Rhino 3D ensemble et pas à pas.

Je souhaitais juste vous partager cette première rencontre avec Rhinocéros un modeleur résolument Freestyle, puissant, accessible autant d’un point de vue ergonomie que financier.
Il n’est donc pas étonnant qu’il fasse l’unanimité dans les bureaux de design.

Voilà, j’espère que cet article vous a plu.
Mais vous, que pensez vous de Rhinocéros 3D ? Laissez moi un commentaire juste en dessous Clignement d'œil

About the Author: PSX59

Technicien dans l'âme et résolument passionné d'aviation, je vous invite à découvrir la CAO sur des thèmes variés avec un seul but ... Créer !

Leave A Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *