• Aucun résultat trouvé

Chapitre II : Concepts pour l’intégration des Applications Exploitant un Maillage Applications Exploitant un Maillage

II.4 Module d’assemblage

II.4.1 Algorithmes d’assemblage

II.4.1.a Cas d’un Brep

Dans le cas d’un BRep, la construction du maillage se fait arête par arête, puis face par face, etc. Pour chaque appel d’une fonction de construction, l’algorithme d’assemblage fournit à l’identifiant de l’entité géométrique à mailler et, éventuellement, le maillage des entités

géométriques qui le compose. Par exemple, pour mailler une arête, on fournit l’identifiant de l’arête et ses extrémités (cas Construire1D(IdArete,Sommets), figure II.4-1). Soit MAretes l’ensemble des maillages des arêtes limitant une face. MAretes, ainsi que l’identifiant de la face qu’il limite, sont donnés en entrée de la fonction qui maille cette face (cas Construire2D(IdFace,MAretes), figure II.4-1).

Modeleur_géométrique

BAMGS

Module_Assemblage

Consulter(Identifiants) AssemblerBrep

1. Construire1D(IdArete, Sommets)

2. Construire2D(IdFace,MAretes)

3. Construire3D(IdSolide,MFaces)

<<include>>

<<include>>

<<include>>

<<include>>

<<include>>

<<include>>

Système de conception

figure II.4-1. Cas d'utilisation du maillage d'un Brep

Si deux faces du BRep partageant une même arête sont des surfaces paramétriques, alors une opération de collage est nécessaire et dans ce cas, la construction du maillage d’une face ne se base pas sur le maillage commun avec les arêtes voisines des arêtes qui la limite.

De même, il est possible que l’utilisateur souhaite réutiliser une face composée de plusieurs carreaux, qui remplit une fonctionnalité particulière. Cette face a peut-être déjà été maillée.

Dans ce cas, la réutilisation de ce maillage nécessite également un collage de ce maillage avec les faces qui l’entourent.

Enfin si le maillage volumique ne s’appuie pas sur un maillage surfacique, alors l’identifiant du volume est suffisant (cas Construire3D(IdSolide), figure II.4-1), sinon le maillage surfacique est ajouté aux paramètres d’entrée.

Cette manière de construire ne permet de spécifier les propriétés du maillage que pour les entités que l’on peut désigner, à savoir des arêtes, éventuellement des contours, des faces et des solides. En particulier il n’est pas possible de désigner une partie du solide constituée de plusieurs faces à moins de définir un modèle supplémentaire (tel qu’un historique de construction). Il est de plus nécessaire de spécifier les propriétés pour les entités les plus petites (arêtes), ce qui est fastidieux. L’utilisation d’un historique de construction tel un arbre CSG permet d’améliorer cela.

II.4.1.b Cas d’un arbre CSG

Le maillage d’un CSG peut se faire de 3 manières :

Par la construction d’un Brep intermédiaire, qui est ensuite maillé. L’arbre CSG est donc évalué, y compris les courbes d’intersection issues des opérations booléennes, impliquant les difficultés déjà évoquées (degré élevé des équations, impossibilité d’effectuer un calcul exact).

Par une approche globale où tout le maillage est construit sans assemblage de maillages partiels (méthodes par décomposition spatiale, ou méthode s’appuyant uniquement sur un maillage de la frontière). Cette approche n’est pas toujours possible et le contrôle qu’elle offre dans le cas d’un maillage surfacique est souvent faible (notamment la forme des éléments, l’anisotropie, etc.). Elle est essentiellement utilisée pour le maillage de fonctions implicites et est peu utilisée en CFAO1. Dans cette situation, le paramétrage de la fonction de maillage nécessite l’identifiant du solide et/ou l’identifiant de chaque objet primitif se trouvant aux feuilles de l’arbre CSG, ainsi que les paramètres de contrôle du maillage (comme la taille des mailles par exemple).

Enfin une dernière possibilité est de mailler l’arbre nœud par nœud : les feuilles de l’arbre CSG sont maillées d’abord (cas Construire1D et cas Construire2D, figure II.4-2), puis les maillages obtenus sont combinés en appliquant les opérations booléennes des nœuds supérieurs, dans un ordre allant des feuilles vers la racine (Cas Combiner, figure II.4-2).

Cette approche offre deux avantages. Tout d’abord, la structure d’un arbre CSG est généralement telle que certains sous-arbres réalisent une fonction particulière (tel sous-arbre est une poignée, tel autre décrit le logement dans lequel une autre pièce coulissera …). Une

1 Conception et Fabrication Assistées par Ordinateur

partie des spécifications de maillage sont les mêmes pour tous les nœuds de tels sous-arbres (telle que le type des mailles, leur forme, etc.), ce qui simplifie considérablement le travail de spécification. Le deuxième avantage est qu’à l’inverse de la première méthode de maillage (sur les BRep), avec laquelle elle présente quelques similitudes, cette approche combine des maillages et non des objets exacts. Ceci délivre du problème du calcul des intersections de surfaces gauche et permettrait, mais il s’agit d’un apport strictement théorique, de combiner des objets ayant des représentations hétérogènes, même lorsqu’il est impossible de calculer les courbes d’intersection exactes.

L’approche soulève aussi des difficultés : là où se rejoignent deux sous-arbres, il faut harmoniser les spécifications des deux maillages et, si l’AEM l’exige, corriger la forme des mailles au voisinage de l’intersection (des mailles triangulaires ont pu être coupées et devenir très effilées). Par ailleurs, les méthodes de maillage qui offrent le plus de contrôle (anisotropie, proportion, taille des mailles) exigent un Brep. Pour pouvoir les utiliser avec une représentation CSG, il est nécessaire de conserver le BRep de chaque objet primitif.

Modèle_géométrique

figure II.4-2. Cas d'utilisation du maillage d'un arbre CSG

La méthode que nous préconisons est la dernière car elle permet d’aboutir à des maillages satisfaisant des propriétés contraignantes comme l’anisotropie. Elle permet potentiellement de combiner des maillages portés par des modèles géométriques différents. Cependant, la deuxième méthode peut s’avérer très utilise pour le maillage des surfaces implicites complexes utilisés surtout en synthèse d’images car dans ce cas, la construction du Brep d’une feuille de l’arbre peut être très complexe.