• Aucun résultat trouvé

Description générale de l’architecture

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

II.2 Description générale de l’architecture

Les spécifications du paragraphe précédent nous ont conduit à une architecture dont les composantes et le fonctionnement général sont présentés dans cette partie. Le formalisme choisi pour représenter les données et les traitements de l’architecture proposée est UML (Unified Modelling Language) dont un bref récapitulatif est proposé en annexe A.

La première composante de l’architecture proposée est le système de conception. Nous faisons l’hypothèse qu’il comporte entre autres trois modules : un modeleur géométrique qui peut être un Brep, un CSG, ou un autre modèle, un modèle de plus haut niveau sémantique (historique de construction, modèle fonctionnel) et un module d’assemblage, dont la principale fonction est de construire un maillage de la pièce en assemblant des maillages de parties de la pièce, d’où son nom. Les modèles de haut niveau sémantique sont de plus en plus intégrés aux systèmes de conceptions actuels, par contre, le module d’assemblage est une

nouveauté qui implique une refonte des logiciels de conception. Sa présence se justifie par les raisons suivantes, qui sont vues plus en détails dans la partie II.4 :

Les modèles géométriques ne se maillent pas tous de la même façon. En effet, la procédure générale de maillage d’un BRep (arête par arête, face par face) n’est pas la même que celle d’un CSG (méthode globale de type décomposition spatiale). Par conséquent, Il faut donc avoir plusieurs algorithmes à disposition (pour les arêtes, pour les faces, pour les volumes).

Les informations pouvant servir à la construction du maillage se situent au niveau du système de conception ou plus en amont encore (analyse fonctionnelle). Or le module d’assemblage dispose de ces informations puisqu’il est intégré au système de conception.

Ne pas transférer plus d’informations sur le produit que nécessaire permet d’assurer la confidentialité des données dans le cas où l’AEM se situe chez un sous-traitant. De plus, le fait d’envoyer uniquement un maillage évite une partie des problèmes de transfert des données liés aux BRep (transfert des surfaces gauches).

Nous avons vu qu’actuellement, la construction des maillages se fait en divers endroits avec les inconvénients que cela comporte. Nous proposons de construire et adapter le maillage par un unique module de maillage.

Certaines AEM ont besoin d’un contrôle relativement important sur le maillage (contrôle du ratio d’aspect et de la taille des éléments, etc.), alors que d’autres nécessitent un maillage moins contraint mais le résultat doit être disponible rapidement. Il n’existe pas aujourd’hui d’algorithme de maillage permettant d’obtenir tout type de maillage en temps réel. Par conséquent, bien que cette voie soit intéressante, notre module de maillage prendra la forme d’une bibliothèque d’algorithmes de maillages plutôt que de se réduire à un unique algorithme.

Il s’agit d’un module extérieur à tout système, dont les fonctions sont invoquées depuis le module d’assemblage. Cette banque d’algorithmes aura en outre la faculté de fournir une liste d’algorithmes répondant à certaines exigences (être capable de mailler un domaine plan, produire des mailles triangulaires, être rapide etc.), ce qui permettra à son client de faire un choix parmi les bonnes possibilités seulement. Nous considérons donc ce module comme une bibliothèque indépendante d’algorithmes, d’où son nom : Bibliothèque d’Algorithmes de

Maillages Génériques ou Spécialisés (BAMGS). Le terme « Générique » sera justifié dans le chapitre 4, qui fait une analyse détaillée de la BAMGS. Trois raisons motivent le choix d’envisager un module de maillage indépendant :

La concision : éviter la redondance d’algorithmes pour toutes les raisons connues en génie logiciel (facilité de développement du code, de maintenance, d’assurer la cohérence et les évolutions).

La capacité à être utilisé avec différents systèmes de conception : il faut donc être indépendant du modèle géométrique, et par conséquent extérieur au système de conception.

La capacité à produire des maillages utilisables par des AEM de nature diverse : il faut donc être indépendant de ces applications.

Les autres composantes de cette architecture sont les AEM. Un scénario générique de son fonctionnement comporte les phases suivantes :

Le module d’assemblage reçoit une requête de maillage (Cas TraiterRequete, figure II.2-1) d’un opérateur qui souhaite appliquer un traitement nécessitant un maillage. Cette requête est accompagnée de spécifications sur le maillage en rapport avec l’utilisation qui va en être faite. Ces spécifications proviennent de l’analyse fonctionnelle, donc elles sont fournies par la base de connaissances du système de CAO dans la mesure du possible, ainsi que par l’opérateur.

Modeleur_Géométrique Module_Assemblage

Selon le type de modeleur et le langage associé à l’historique de construction, le module d’assemblage va procéder différemment pour mailler le solide et spécifier les paramètres du maillage (cas Assembler, figure II.2-1). Par exemple pour un Brep, l’entrée des

Les méthodes de maillage de la BAMGS, qu’il s’agisse de construction, d’adaptation ou d’autres opérations, ont besoin de consulter la géométrie. Pour cela, nous supposons que les entités géométriques peuvent être caractérisées par un identifiant et un modeleur.

Lorsque le module d’assemblage invoque les méthodes de la bibliothèque d’algorithmes de maillage, il fournit les identifiants car il connaît le modeleur géométrique. La BAMGS appelle les fonctions du modeleur en désignant les entités par leur identifiant (Cas Services_Geometriques, figure II.2-1).

Tout en assemblant le maillage, le module d’assemblage associe les entités du maillage (nœuds et mailles) aux entités du modèle géométrique et éventuellement aux

spécifications données par l’analyse fonctionnelle ou l’opérateur concernant l’AEM (par exemple les conditions aux limites pour un calcul par élément finis, ou la position des sources lumineuses et de la caméra pour un rendu réaliste). (Cas Transférer_Maillage, figure II.2-1). Le maillage peut alors être envoyé à l’AEM.

L’AEM exécute le traitement qui lui incombe (Cas RealiserTraitement). Pour cela, il est possible qu’elle ait besoin de déplacer des nœuds, d’affiner le maillage ou d’en changer certaines spécifications. Selon les cas (voir II.5), l’AEM adresse alors une requête de modification du maillage soit au module d’assemblage ou directement à la BAMGS. (cas Modifier, figure II.2-1). C’est ce type de requête qui rend obligatoire l’association décrite à l’étape précédente entre, d’un côté, les entités du maillage et, de l’autre, les entités géométriques et les spécifications.