Brevet FR3010812A1 — publié le 20150320

La présente invention appartient au domaine des procédés de conception d'objets tridimensionnels par ordinateur. Elle vise en particulier un procédé de conception d'un objet tridimensionnel volumique et une association de cet objet à un graphe de construction basé sur des primitives de formes simples permettant de décrire, de manière compacte, toutes les variantes de construction de ce même objet. La génération automatique du graphe de construction s'appuie sur une phase de décomposition de cet objet 3D initial, connu uniquement par un modèle surfacique de sa frontière, en un ensemble de primitives volumiques simples. Préambule et art antérieur Lors de la conception d'un système complet, par exemple un aéronef, il peut apparaître, par exemple du fait de modifications de cahier des charges sur le système complet, un besoin de modification des caractéristiques géométriques d'un objet connu, dont les caractéristiques géométriques et mécaniques sont connues. Une telle modification dimensionnelle d'une pièce tridimensionnelle connue implique notamment des calculs de tenue mécanique à certains efforts dimensionnants. La réalisation de ces calculs, le plus souvent par des méthodes numériques de type éléments finis, implique une modélisation de la pièce répondant aux objectifs des calculs mis en place et implique des modifications de forme. Cette modélisation comporte une phase dite d'idéalisation, dans laquelle un opérateur procède à une simplification de la pièce pour mettre en évidence les éléments de sa structure, notamment des raidisseurs, parois minces etc. modélisables par des plaques, coques etc. répondant ainsi aux objectifs des calculs correspondants. L'idéalisation se réfère ainsi à des transformations géométriques où un sous-ensemble d'un volume peut être transformé en une surface ou une ligne représentatives respectivement d'une plaque ou d'une coque ou bien d'une poutre dans le cas où l'élément géométrique est une ligne. Cette phase d'idéalisation produit un modèle de l'objet initial dit idéalisé. Ce modèle idéalisé pourra être traité par une approche de type éléments finis. Les résultats de ces calculs pourront conduire à des modifications de dimensions de l'objet initial afin de répondre aux modifications du cahier des charges. Actuellement, les transformations d'idéalisation sont essentiellement réalisées manuellement. L'accès à un paramétrage et à une décomposition d'un objet adaptés au besoin d'un métier est, au mieux, lié à l'arbre de construction de cet objet, tel qu'il existe dans un environnement CAO (conception assistée par ordinateur) ou plus, généralement, dans un logiciel de modélisation géométrique capable d'associer un arbre de construction au modèle géométrique d'un objet. Très souvent, les besoins de modification de forme ne peuvent être satisfaits simplement car : L'arbre de construction est perdu lorsque le modèle géométrique de l'objet doit être transféré entre le logiciel où il a été créé et un autre logiciel répondant au besoin d'un autre métier, l'objet 3D n'est décrit que par un seul arbre de construction tel que généré par l'utilisateur lors de la construction de l'objet. On fait référence dans la suite de la description à de nombreux termes empruntés à la théorie mathématique des graphes, de la topologie : graphe, arbre, CW-complexe, etc. Ces termes sont employés dans leur sens classique dans cette théorie. En CAO, un arbre de construction est défini comme une séquence ordonnée de processus de génération de forme (également appelés processus génératifs correspondant à la création de primitives) usuellement créés par un modeleur CAO au cours d'un processus de conception d'un objet par modélisation surfacique dite BRep (acronyme de "Boundary Representation" : modélisation surfacique d'un volume par sa frontière : faces, arêtes et sommets). Cependant, un tel arbre de construction n'apporte pas toutes les propriétés souhaitées dans de nombreuses configurations: modifications de dimensions, processus d'idéalisation pour une analyse par éléments finis... Cette remarque s'applique naturellement dans tous les cas où l'objet 3D n'est pas associé à un arbre de construction, ce qui est une situation fréquente dans le cas de conception de systèmes complets. Les logiciels CAO (conception assistée par ordinateur) et de simulation les plus connus proposent des fonctions d'idéalisation, peu automatisées et peu robustes. Ils proposent également des décompositions en formes caractéristiques ('form features') et en primitives (formes de base de type cylindre, cône, cube etc.) qui sont limitées à un seul arbre de construction et sont peu adaptés à des processus d'idéalisation car les primitives qu'ils contiennent ne conviennent souvent pas à la mise en place de processus d'idéalisation. De plus, les logiciels de CAO associent à des objets des arbres nécessairement binaires, c'est-à-dire qu'une seule primitive est ajoutée à la forme de l'objet intermédiaire à chaque étape de construction, c'est-à-dire à chaque noeud de l'arbre de construction. Exposé de l'invention L'invention vise alors un procédé de conception assistée par ordinateur d'un second objet tridimensionnel, à partir d'un premier objet tridimensionnel connu uniquement par ses surfaces limites (à travers un modèle surfacique de type B-Rep), de type plans, cylindres, cônes, sphères, tores, à l'exclusion des formes libres dans la définition de la frontière de l'objet, le procédé comportant des étapes : - de décomposition du premier objet en un ensemble de primitives volumiques simples, - d'association de ce premier objet à un graphe de construction défini à partir, d'une part, de ces primitives volumiques et, d'autre part, d'un ensemble de paramètres géométriques d'utilisation de ces primitives volumiques dans le cas spécifique de ce premier objet, - de création du second objet comme une variante du premier objet selon ce graphe de construction, par modification de certains de ces paramètres (par exemple diamètre, longueur etc.). On rappelle ici qu'un arbre est un cas particulier de graphe ne comportant pas de cycles. Un graphe de construction peut comporter des cycles, notamment, dans le cas du présent procédé, lorsque deux séquences différentes de génération du même objet sont obtenues par une première série de primitives, identiques et ordonnées de manière identique pour chacune des deux séquences, puis divergent par la forme des primitives contenues dans chaque séquence puis aboutissent à nouveau à une même forme intermédiaire, ce qui se traduit dans le graphe par deux branches terminées par deux mêmes noeuds dudit graphe. Chaque noeud d'une séquence représente une forme intermédiaire évoluant progressivement de primitives "racines" vers le même objet complet. Chacune de ces séquences représente un arbre qui est un arbre de construction de l'objet extrait du graphe de construction. Dans une mise en oeuvre particulière du procédé, ledit graphe de construction inclut toutes les variantes de construction de l'objet à l'aide de combinaisons booléennes de ces primitives. En d'autres termes, le procédé comporte une étape de modélisation du premier objet tridimensionnel sous forme de graphe de construction utilisant un ensemble prédéterminé de primitives volumiques et d'opérations booléennes déterminant la combinaison de ces primitives volumiques dans ledit objet. La méthode de décomposition utilisée dans le présent procédé permet de donner une structure à un objet (graphe de décomposition) afin de permettre des modifications simples et rapides de la forme de cet objet. Le procédé propose d'extraire un graphe de construction d'un modèle volumique (B-Rep) d'un objet, ledit modèle volumique étant classiquement obtenu grâce à un logiciel CAO, de sorte que les processus génératifs (primitives et opérations booléennes associées), identifiés dans le graphe de construction, soient utilisables pour des analyses par éléments finis et, en particulier dans ce cas, pour des processus d'idéalisation. Toutefois, le procédé n'est pas restreint au cas des analyses éléments finis mais peut être utilisé pour toute opération nécessitant une modification de paramètres ou de forme dudit modèle volumique. Dans une mise en oeuvre particulière du procédé, le graphe de décomposition, obtenu par le procédé, comporte en chaque noeud le plus grand nombre de primitives possible qui peut être appliqué à chaque étape de construction de l'objet, ce qui permet un encodage compact d'un grand nombre de possibilités de construction de cet objet contrairement aux arbres de construction de logiciels CAO qui génèrent des arbres de construction binaires. De même, des variantes de génération de primitives ne sont pas distinguées dans le graphe de construction. Par exemple, les variantes de génération par extrusion d'un parallélépipède rectangle selon trois directions différentes ne sont pas distinguées. Plus généralement, le graphe de construction comporte un ensemble de noeuds représentant un ensemble minimal, non trivial, de formes de l'objet à différentes étapes intermédiaires de sa construction. Dans une mise en oeuvre particulière du procédé, les étapes non triviales de construction de l'objet caractérisées par un noeud du graphe de construction peuvent être associées à des algorithmes simples permettant d'énumérer les variantes complémentaires non explicitées. Par exemple, un noeud comportant plusieurs primitives peut être associé à un algorithme exprimant toutes les variantes d'arbres binaires permettant de générer chacun des arbres de construction tels que produits par un logiciel de CAO. Dans une mise en oeuvre particulière du procédé, le graphe de construction est extrait à l'aide d'un opérateur de suppression de primitive qui simplifie progressivement la forme de l'objet. D'une certaine manière, le principe est de «remonter dans le temps» en partant de l'objet complet initial et en supprimant progressivement des primitives de forme de cet objet jusqu'à aboutir à au moins une primitive "racine". Classiquement, le processus de construction géométrique d'un objet à partir de primitives peut être vu comme un processus temporel où l'utilisateur part de primitives simples et les combinent progressivement avec d'autres pour complexifier la forme intermédiaire de l'objet jusqu'à obtenir la forme finale désirée. Dans une mise en oeuvre particulière du procédé, les primitives utilisées comprennent des primitives d'extrusion, définies par deux faces parallèles comportant un contour d'extrusion, et une direction d'extrusion non parallèle à ces faces. De cette manière, le procédé est capable de traiter efficacement les composants de type mécaniques, qui s'adaptent particulièrement bien à une modélisation par primitives d'extrusion. Dans un cas plus particulier, les primitives d'extrusion sont associées à chaque noeud du graphe de construction à un opérateur booléen de type union, ce qui correspond à une opération d'ajout de matière. Dans une mise en oeuvre particulière du procédé, les primitives utilisées comprennent des primitives de révolution. Ces différentes primitives de référence considérées ici sont générées à partir d'une étape d'esquisse dans un plan définissant au moins un contour fermé, le contour étant composé de segments de droites et d'arcs de cercles. Dans une mise en oeuvre particulière du procédé, celui-ci comporte une étape d'enlèvement de rayons de raccordement de l'objet initial, notamment pour les arrondis à rayon variable. Plus précisément, les rayons de raccordement enlevés sont ceux qui ne peuvent être intégrés dans les contours de primitives d'extrusion ou de révolution. Dans une mise en oeuvre particulière du procédé, la frontière de l'objet initial est transformée, sans changer la forme de l'objet, en un ensemble de faces et d'arêtes maximales. Cette nouvelle représentation est unique et intrinsèque à la forme de l'objet. Dans une mise en oeuvre particulière du procédé, celui-ci comporte une étape d'identification de primitives maximales à chaque étape de décomposition de l'objet, une primitive identifiée à une étape du processus de construction d'un objet étant dite primitive maximale si aucune autre primitive, valide à cette même étape, ne peut être entièrement insérée dans la primitive. Les primitives maximales sont identifiées sur la base des faces et arêtes maximales définissant la frontière de l'objet intermédiaire disponible à chaque étape de décomposition de l'objet initial. Dans une mise en oeuvre particulière du procédé, les processus génératifs utilisés sont de type additif, c'est-à-dire qu'ils sont exclusivement fondés sur un opérateur booléen régularisé d'union lors de la combinaison de primitives à chaque étape t de modélisation des processus génératifs. Cette disposition est particulièrement avantageuse lorsque l'intention est de générer un ensemble de processus génératifs qui correspondent le mieux aux besoins des processus d'idéalisation. En effet, les objets soumis à des transformations d'idéalisation, comme la détermination de surfaces moyennnes, sont caractérisés par des surfaces ou des lignes situées à l'intérieur de ces primitives, et les connexions entre les primitives localisent également les connexions entre leurs représentants idéalisés (lesdites surfaces et lignes précédentes) lorsque ces connexions dérivent des objectifs formulés pour un modèle éléments finis. Par conséquent, la représentation idéalisée de l'objet M, correspondant à l'objet final du graphe de construction, peut être dérivée de la représentation idéalisée de chaque primitive maximale Pi présente dans le graphe de construction de Met de ses connexions, indépendamment des autres primitives maximales présentes dans ce même graphe. Ceci s'applique dans le cas où les primitives Pi sont combinées entre elles uniquement par une opération booléenne régularisée d'union. Dans le cas où des noeuds du graphe de construction comporteraient des opérations d'enlèvement de matière, c'est-à-dire des opérations booléennes régularisées de soustraction, les transformations d'idéalisation sont plus complexes à traiter, alors que les formes de volume résultantes sont identiques, ce qui ne présente pas d'intérêt quant au recours à des opérations booléennes régularisées de soustraction dans ce cas. Cependant, si l'objet M ne peut être décomposé en un ensemble de primitives Pi combinées par des opérations booléennes régularisées d'union, le processus de génération de graphe est applicable mais produira des primitives racines qui ne seront pas des extrusions ou bien des révolutions. L'exécution de l'idéalisation de l'objet M à partir de ses primitives confère plus de robustesse à ce processus par rapport à l'art antérieur pour deux raisons: d'abord, chaque primitive maximale Pi et ses connexions déterminent tant l'emplacement 3D de la représentation idéalisée de Pi que ses connexions avec d'autres primitives idéalisées voisines, c'est-à-dire des primitives dont l'intersection booléenne avec Pi est non nulle. Deuxièmement, une classification des catégories de connexions peut être définie, ce qui est important parce que les processus d'idéalisation comptent encore sur le savoir-faire de l'utilisateur pour traiter des connexions significativement différentes de connexions simples que traitent actuellement des logiciels de CAO ou de calcul par éléments finis. Dans une mise en oeuvre particulière du procédé, les objets M initiaux décomposés en primitives sont associés à un graphe de construction ne comportant que des processus génératifs d'ajout de matière. C'est-à-dire que chaque noeud du graphe de construction associé à M ne comporte que des opérations booléennes régularisées d'union. Présentation des figures Les caractéristiques et avantages de l'invention seront mieux appréciés grâce à la description qui suit, description qui expose les caractéristiques de l'invention au travers d'un exemple non limitatif d'applications. La description s'appuie sur les figures annexées qui représentent : Figure 1 : un organigramme des étapes principales d'un procédé tel que décrit, Figure 2 : un schéma global de génération des processus génératifs correspondant à la génération du graphe de construction de l'objet initial, Figure 3 : les principales étapes de l'extraction d'une primitive Pi à une étape t de génération du graphe de processus génératifs, c'est-à-dire à partir de l'identification de cette primitive jusqu'à son retrait de l'objet intermédiaire, à cette étape, issu de l'objet initial M, Figure 4 : un organigramme global des différentes étapes d'un procédé d'idéalisation, Figure 5 : une taxonomie des morphologies associées à un segment de la MAT d'une primitive Pi, Figure 6 : une partie des interfaces possibles entre sous-domaines Dj(po lorsque ceux-ci sont de type plaque ou coque. Description détaillée d'un mode de réalisation de l'invention Dans les sections qui suivent, on fera souvent référence aux concepts et notations qui sont présentés maintenant. Le processus de génération de graphe de construction d'un objet 3D est déterminé à partir de différentes séquences de construction de cet objet. Dans l'exposé de l'invention, il est fait référence à une analogie entre la construction géométrique d'un objet et un processus comportant les marques temporelles des opérations de construction. Pour désigner une opération de construction, on se réfère ainsi à un instant t caractérisant celle-ci à l'intérieur d'une séquence décrivant un processus génératif. L'opération précédente sera ainsi repérée par (t-1). L'objet dont on cherche à déterminer le graphe de construction est noté M. C'est l'objet résultat de la combinaison des primitives contenues dans le graphe de construction. Par référence aux instants t d'une séquence, on désigne également par Mo l'objet de départ M. On désigne par M_j une évolution de l'objet Mau cours d'une séquence de construction dont l'origine est l'objet Mo et M_j est l'objet obtenu à l'instant t1 correspondant à la jième étape de la séquence avant d'atteindre l'objet Mo. Cette notation indique qu'en incluant l'étape j, il reste j étapes de construction avant que M_j n'atteigne la forme de Mo qui coïncide avec l'objet de départ M. On note ami l'ensemble des faces connectées définissant la frontière de l'objet MI. 1.1. Hypothèses et contexte de modélisation Compte tenu d'un objet cible M à analyser (par exemple analyse morphologique de M en vue d'un calcul par éléments finis), considérons d'abord l'objet indépendamment du contexte de modélisation indiqué ci-dessus. L'objet M a été généré à l'aide d'un logiciel CAO ou, plus généralement un modeleur géométrique, il est donc obtenu par le biais d'un ensemble de primitives combinées entre elles par ajout ou suppression de matière (opérations booléennes régularisées d'union ou de soustraction entre les primitives). Les combinaisons par opérations booléennes entre ces primitives créent ainsi des interactions entre leurs surfaces frontières, qui, à leur tour, produisent des intersections de courbes qui forment la frontière, c'est-à-dire les faces, les arêtes et les sommets, d'une modélisation volumique (B-Rep) de l'objet M. Dans une modélisation volumique B-Rep telle qu'utilisée dans le présent procédé, un volume est connu par sa surface frontière, avec des conditions sur cette surface d'être fermée, orientée et sans intersection avec elle-même. En conséquence, la frontière de l'objet M contient des traces des processus génératifs qui ont produit ses primitives. Ainsi, des éléments de la frontière de M, c'est-à-dire des faces, des arêtes et des sommets, peuvent être considérés comme la mémoire des processus de génération dans lesquels les primitives sont séquentiellement combinées par des opérateurs booléens régularisés. Les modeleurs CAO courants sont fondés sur les processus strictement séquentiels, où une primitive est combinée avec l'objet intermédiaire à l'aide d'un opérateur booléen régularisé, car l'utilisateur peut difficilement générer simultanément plusieurs primitives sans regarder les résultats intermédiaires, pour voir comment ils se combinent ou interagissent, et leur influence sur la forme de l'objet intermédiaire. Comme indiqué dans le préambule, il résulte de ce comportement que les arbres de construction associés à des objets sont des arbres binaires. Par conséquent, les opérateurs de modélisation volumique B-Rep dans les modeleurs CAO étant uniquement des opérateurs binaires, lors d'un processus de conception, l'opérateur choisi par l'utilisateur combine la dernière primitive générée à la forme de l'objet M à l'étape t de ce processus génératif. En outre, les modeleurs CAO fournissant des opérateurs booléens régularisés (opérateurs garantissant que le modèle géométrique résultat de l'opération est une variété de même dimension que les opérandes) les réduisent à des opérateurs binaires, alors qu'ils sont n-aires, comme classiquement définis dans les approches de modélisation volumique CSG (Constructive Solid Geometry). Dans le présent procédé, nous ne faisons aucune restriction sur la quantité de primitives éventuellement générées 'en parallèle', c'est-à-dire que l'arité des opérateurs de combinaison est n> 2. On observe que le nombre de processus génératifs possibles produisant l'objet M peut être arbitrairement grand, par exemple, même un cube peut être obtenu à partir d'un nombre arbitrairement grand d'extrusions d'étendues arbitrairement faibles combinées avec un opérateur d'union. Nous utilisons donc la notion de primitives maximales de sorte que le nombre de primitives soit fini et aussi petit que possible pour générer l'objet M. Une primitive Pi, valide, identifiée à une étape t du processus de construction de M en utilisant une face de base Fbl, est dite primitive maximale si aucune autre primitive P], valide à cette même étape t, ayant Fbl comme face de base, ne peut être entièrement insérée dans la primitive Pi (voir la section 2.1). Ceci se traduit par la condition : n* P1 # P1, où n* désigne l'opérateur booléen régularisé d'intersection (la définition d'un tel opérateur est connue de l'homme du métier). Les primitives maximales impliquent que le contour d'un croquis peut être arbitrairement complexe, ce qui n'est pas le cas dans la pratique de l'ingénierie actuelle, où l'utilisation de primitives simples facilite le processus interactif de modélisation, la paramétrisation, et les affectations de contraintes géométriques aux contours. Même Si l'utilisation de primitives maximales réduit considérablement le nombre de processus génératifs possibles, ils sont loin d'être uniques pour l'objet M. Nous considérons, dans la mise en oeuvre particulière du procédé, que les processus génératifs constitutifs du graphe de construction sont de type additif, c'est-à-dire qu'ils sont exclusivement fondés sur un opérateur d'union régularisée (la définition d'un tel opérateur est connue de l'homme du métier) lors de la combinaison de primitives à chaque étape t de construction de l'objet à l'aide de processus génératifs de M. Dans une application du graphe de construction à des idéalisations d'objets 3D, l'utilisation de processus génératifs additifs est privilégiée par rapport à des opérations d'enlèvement de matière qui ne peuvent être utilisées facilement dans des opérations d'idéalisation. Si M possède une forme telle que, localement, la décomposition ne peut être obtenue sans recours à une opération d'enlèvement de matière, le processus de décomposition produira un domaine volumique qui ne sera pas une primitive d'extrusion. Afin de réduire davantage le nombre de processus génératifs explicitement décrits dans le graphe de construction, ces processus génératifs doivent être des variantes non triviales de processus déjà identifiés. Par exemple, le même bloc parallélépipédique peut être extrudé avec trois contours de faces et orientations différents, mais ils créent le même volume. Dans le présent procédé, ces processus équivalents sont détectés par comparaison des propriétés géométriques du contour de l'objet généré. Plus généralement, les variantes triviales de processus génératifs sont implicitement décrites par des algorithmes simples rattachés à chacun des noeuds du graphe de construction. Outre, l'exemple précédent, on peut également mentionner l'algorithme qui énumère toutes les combinaisons possibles d'opérations binaires d'union régularisées entre toutes les primitives Pi présentent en un même noeud afin de réduire un processus génératif à un arbre binaire. D'autres observations similaires seront abordées dans les sections suivantes pour décrire les critères de sélection de processus génératifs significatifs. Les hypothèses ci-dessus visent à réduire le nombre de processus génératifs produisant le même objet M tout en contenant des primitives adaptées aux transformations de l'idéalisation, indépendamment du processus de conception initialement mis en place par les ingénieurs et indépendamment des contraintes topologiques communes à tous les modeleurs CAO (voir section 1.2). L'approche globale peut être représentée par le processus de la figure 1. Dans une première étape 101, un fichier STEP est fourni en entrée. Il contient le modèle volumique de l'objet M, décrit sous forme B-Rep. Dans une étape 102, un ensemble de processus génératifs est extrait qui forme des ensembles d'arbres de construction, susceptibles de produire un graphe (ensemble des arbres de constructions parvenant au même objet volumique). À cette fin, dans une étape 103, des critères qui dépendent de l'application sont utilisés pour identifier un ou plusieurs arbres de construction en fonction des besoins de l'application. Dans une étape 104, dans le cas d'analyse par éléments finis, des transformations de forme sont réalisées (idéalisation). 1.2. Décomposition de frontière intrinsèque à un modèle B-Rep à l'aide d'entités maximales Afin d'extraire des processus génératifs à partir de la décomposition d'un modèle volumique B-Rep de l'objet M, il est important d'avoir une décomposition de cet objet M qui caractérise sa frontière et donc sa forme, de façon unique. Une décomposition d'un modèle volumique B-Rep d'un objet n'est cependant pas unique (et donc ne convient pas), car elle est soumise à deux influences : 1 - Le processus de construction de cet objet, selon qu'il est réalisé de façon progressive (forward) lors d'un processus de conception ou de façon régressive (backward) comme dans le présent procédé. En effet, chaque opération impliquant une primitive divise / joint les faces et modifie leur bords (arêtes) de cette primitive et de l'objet courant concernés. Lors de l'assemblage de faces constituant la frontière de l'objet résultat, des faces adjacentes peuvent être définies par des surfaces identiques. La décomposition de la frontière de l'objet résultat n'est donc pas unique. Cependant, les modeleurs CAO peuvent ne peuvent pas fusionner les entités correspondantes dans tous les cas, produisant ainsi une décomposition de la surface limite (en faces non maximales) qui ne change pas la forme de l'objet. Ceci est conforme au théorème d'Euler-Poincaré qui établit une relation entre l'invariant topologique d'un objet volumique et la décomposition de sa frontière en faces, arêtes, sommets. Pour les besoins du présent procédé, de telles configurations de faces et de bords doivent conduire à un processus de fusion de telle sorte que la décomposition de la surface limite de l'objet soit unique pour une forme donnée. Elle devient donc intrinsèque à la forme de l'objet M; 2 - Les conditions topologiques nécessaires pour mettre en place un pavage cohérent de la frontière de l'objet, c'est-à-dire la décomposition de sa surface frontière, doivent être un CW-complexe (qui est un type d'espace topologique défini pour répondre aux besoins de la théorie de l'homotopie. Un CW'comp|8x8 est un espace construit en collant ensemble des cellules. Un CW-complexe de dimension 0 est un ensemble fini de points. Un CW-complexe de dimension 1 est un ensemble de segments. Un CW complexe de dimension 2 est un ensemble de faces...). Par conséquent, les surfaces courbes fermées doivent être partitionnées. À titre d'exemple, un cylindre est décomposé en deux demi-cylindres dans la plupart des modeleurs CAO ou est décrit avec un patch auto connecté attaché le long d'une génératrice. Dans les deux cas, le(s) bord(s) reliant les faces cylindriques sont adjacents à la même surface cylindrique et ne sont pas significatifs du point de vue de la forme de l'objet incorporant cette surface. Ainsi, pour nos fins, ce pavage ne doit pas participer à la décomposition de la surface frontière de l'objet afin que cette décomposition soit intrinsèque à la forme de l'objet. Suite à ces observations, on introduit des concepts de faces maximales et d'arêtes maximales comme un moyen de produire une décomposition intrinsèque et unique de la surface frontière d'un objet donné M. Les faces maximales sont identifiées en premier. Pour chaque face de l'objet M, une face maximale F est obtenue par fusion répétée d'une face adjacente Fa partageant une arête commune avec la face F lorsque la face Fa est définie par une surface du même type et de mêmes paramètres que F (typiquement des faces planes adjacentes qui sont définies à partir d'un seul et même plan). La face F est dite face maximale lorsqu'il n'y a plus de face Fa qui puisse être fusionnée avec F (en termes intuitifs, toute les facettes formant une face d'un objet ont été englobées). Ces faces maximales coïncident avec les "c-faces", définies dans l'art antérieur, dont il a été prouvé qu'elles définissaient l'objet M de façon unique. De même, pour chaque arête (edge) de la frontière de M, une arête maximale E ayant comme faces adjacentes F1 et F2 est obtenue par fusion répétée avec une arête Ea, adjacente à E, lorsque Ea est également adjacente à Fi et F2 (l'arête maximale E est alors la courbe brisée la plus grande ayant Fl et F2 comme faces adjacentes). Encore une fois, le bord (ou arête) E représentant une partie de la frontière d'une face F, est dit bord maximal (ou arête maximale) lorsque plus aucune arête Ea ne peut être fusionnée avec E. En conséquence de ces processus de fusion successifs, il est possible de se retrouver avec des bords fermés n'ayant pas de sommet ou avec des faces fermées qui n'ont pas de bord, c'est-à-dire pas d'arête. En raison de l'existence possible de bords maximaux sans sommets et de faces maximales sans bords, les opérations de fusion sont réalisées de façon uniquement topologique, c'est-à-dire que la représentation par modèle volumique B-Rep de l'objet reste inchangée et que sa décomposition en faces et arêtes maximales constitue une représentation topologique de sa frontière interfacée avec sa représentation B-Rep. Les faces et les bords maximaux sont générées non seulement pour le modèle M initial, mais aussi après l'enlèvement de chaque primitive lors de l'identification du graphe de processus génératifs. Les primitives maximales sont basées sur les faces et les arêtes maximales. 2. Processus génératifs Etant donné un objet volumique M d'entrée, la première étape du procédé est de le transformer en un objet sans rayons de raccordement (en anglais : "blending radii"). Pour cela, on applique des fonctions d'enlèvement de formes caractéristiques (en anglais : "defeaturing") disponibles dans la plupart des systèmes de CAO. L'élimination des rayons de raccordement concerne ceux qui ne peuvent être incorporés dans des primitives Pi. Comme on le voit sur la figure 2, à partir de l'objet M, les processus génératifs sont obtenus en deux phases: 1 - l'objet M est traité par un processus itératif d'identification et d'élimination des primitives Pi. L'objectif de cette phase est de "remonter le temps» jusqu'à atteindre les primitives racines des processus génératifs. Le résultat de cette phase est un ensemble de primitives Pi. 2 - Basé sur des hypothèses de la section 3.1, un ensemble de processus génératifs est produit en utilisant les primitives obtenues à l'issue de la première phase pour répondre aux exigences d'une application : ici l'idéalisation avant analyse par éléments finis. 2.1. Primitives d'extrusion, leur visibilité et leur attachement à l'objet M_j, une évolution de l'objet M correspondant à l'étape j d'un processus génératif La figure 3 illustre les principales étapes de l'extraction d'une primitive Pi d'un graphe de processus génératif, c'est-à-dire à partir de l'identification de cette primitive jusqu'à son retrait de M, et est expliquée plus en détail ci-dessous. Afin d'identifier les primitives d'extrusion Pi constituant l'objet M = Mo et les évolutions Mj de cet objet, en remontant à l'étape j de la génération du graphe de processus génératifs, il est obligatoire de définir les paramètres géométriques des primitives Pi ainsi que les hypothèses faites dans le présent procédé. Tout d'abord, une primitive de référence Pi n'est jamais complètement visible (il existe toujours au moins une face de la primitive Pi qui n'est pas incluse dans la surface frontière de M0) dans l'objet M ou M_1 sauf Si la primitive Pi est isolée comme une racine d'une séquence de construction, c'est-à-dire que Pi = M ou Pi = M_1. Cette situation exprime une terminaison de branche dans le graphe de construction associé à l'objet M. En dehors de ces cas particuliers, les primitives de référence Pi ne sont que partiellement visibles. Par souci de simplicité, nous nous référons à de telles primitives de référence Pi (celles qui sont isolées comme racines d'une séquence de construction) comme "primitives visibles». Une primitive Pi est la mémoire d'un processus génératif qui a eu lieu entre l'objet M_1 et l'objet M_u+1). Dans le présent procédé, l'identification des primitives basées sur des contours d'extrusion visibles permet la génération des primitives de référence ayant des contours plus simples comparativement à des primitives dont une partie du contour ne serait pas visible. En effet, à une étape j où l'objet M_1 serait constitué d'une primitive Pi et de l'objet M_u+i), tel que Pi aurait un contour partiellement inclus dans l'objet M_0+1), cette configuration donne lieu à une infinité de configurations triviales qui n'ont pas d'influence sur la forme de l'objet M_1 et pour lesquelles les parties de contour de la primitive Pi incluses dans l'objet M_u+i) pourraient être constituées d'un nombre arbitraire d'éléments géométriques (segments de droites, arcs de cercles et donc de points de raccordement entre ces entités). Dans une mise en oeuvre particulière du procédé, cette disposition consiste à minimiser l'interface, c'est-à-dire la partie commune entre la primitive Pi et l'objet M_u+1). Les paramètres intervenant dans une primitive d'extrusion de référence Pi sont les deux faces de base, Fb1 et Fb2, qui sont planes et comportent le même contour dessiné sur lequel l'extrusion a lieu. Considérant des extrusions qui ajoutent du volume à un objet préexistant, les bords de la face Fbi sont appelés bords de contour et les arêtes de ce contour sont dites convexes. Une arête convexe est telle que les normales à ses faces adjacentes définissent un angle a tel que: O Cette interface géométrique k3 peut être une surface ou un volume, ou les deux, c'est-à-dire un modèle non-variété (objet constitué de surfaces et de volumes qui n'est pas, au sens mathématique, une variété). Une des attaches les plus simples survient lorsque la primitive d'extrusion Pi a ses faces de base Fb1 et Fb2 visibles avec des contours similaires. Cela signifie que la primitive Pi est connectée à l'objet M 0,1) à travers des faces latérales seulement. Par conséquent, l'interface géométrique IG est une surface définie par l'ensemble des faces latérales qui ne sont pas visibles dans la primitive Pi. Toutes les variantes possibles d'interfaces géométriques IG doivent être évaluées pour garder celles qui sont acceptables, c'est-à-dire celles qui définissent Pi telles que Pi combinée avec l'objet M_u+i) produit effectivement M_1 . Dans un premier temps, le procédé d'extraction des primitives d'extrusion Pi peut être traduit en un algorithme permettant de les identifier (procédure fin[/ visible extrusion de l'algorithme 1). Ensuite, les primitives d'extrusion Pi sont soumises à des conditions de validité telles que décrites dans la section suivante. 2.2. Suppression de primitives en remontant dans le temps L'objectif est maintenant de décrire l'opérateur de suppression qui produit un nouvel objet M_u+1) (évolution à l'étape j+1 de l'objet Ail) antérieur à l'objet M_1. Cet opérateur de suppression est défini comme un opérateur binaire avec, la primitive d'extrusion Pi et l'objet M_1 comme opérandes, et l'objet M_u+i) en tant que résultat. Dans le contexte d'un processus de génération de graphe de construction, l'objet A4 j se rapporte à une étape j et l'objet M_0+1) à une étape (j + 1) plus ancienne dans le graphe de construction de l'objet M. Caractérisation des interfaces. Afin d'être en mesure de générer l'objet M-0+1), une fois qu'une primitive d'extrusion Pi, valide (voir la définition de la contrainte de validité ci-dessous), est identifiée, il est nécessaire de reconstruire les faces adjacentes à la primitive Pi de sorte que l'objet M_u+i) définisse un volume. À cette fin, les faces de l'objet M_1 adjacentes à la primitive Pi et à l'interface géométrique IG doivent être caractérisées. Ici, nous considérons que la primitive Pi est adjacente à d'autres sous-ensembles de primitives à travers une arête au moins. On considère, dans ce qui suit, que la face de base utilisée pour identifier Pi est Fb1 L'opérateur de suppression varie en fonction du type d'interface géométrique IG et deux catégories peuvent être mises en place pour simplifier la présentation de cette opération: 1 - L'interface géométrique IG est de type surface. Dans cette catégorie, l'opérateur de suppression devra créer des faces latérales et / ou une extension de la face de base Fb2 de sorte que la face étendue Fb2' coïncide avec l'autre face de base Fb1. De fait, cette catégorie doit être subdivisée en deux sous-catégories : 1a - L'interface géométrique IG contient seulement des faces latérales de Pi ou bien l'interface géométrique IG contient de telles faces latérales et également une extension de la face de base Fb2 et les arêtes de cette extension sont des arêtes concaves de l'objet M_u+i), 1b - L'interface géométrique IG contient des faces latérales de la primitive d'extrusion Pi, mais elle contient aussi une extension de la face de base Fb2 et les arêtes de cette extension sont des arêtes fictives de la face de base dans l'objet M_1. Ces arêtes seraient des arêtes convexes dans l'objet M_0+1) (exemple P1 sur la figure 3), 2 - L'interface géométrique IG contient au moins un sous-domaine de nature volumique. Validité. Quelle que soit la catégorie de IG, une fois que la primitive d'extrusion Pi est identifiée et que ses paramètres sont fixés (contour, distance et direction d'extrusion), il est nécessaire de valider la primitive Pi avant de définir son interface géométrique IG (étape 2 sur la figure 3). On désigne par Pi le volume de la primitive de référence, c'est-à-dire de l'ensemble de la primitive d'extrusion Pi. Afin de s'assurer que la primitive Pi est en effet une primitive de l'objet M_1 de M, la condition de validité nécessaire est formellement exprimée à l'aide d'opérateurs booléens régularisés entre ces deux volumes: (Mi U* Pi) - * A.41 = 0 (eq. 1) Cette équation indique que Pi intersecte l'objet M_1 seulement le long des bords en boucles formant son attache à l'objet M_0+1), c'est-à-dire que la primitive Pi ne franchit pas la limite de l'objet M_1 à un autre endroit que son attache. La soustraction booléenne régularisée indique que les configurations limites produisant des points communs, des segments de courbes ou des surfaces entre Pi et l'objet M_1 à d'autres endroits que l'attache de la primitive Pi sont acceptables. Cette condition de validité réduit fortement le nombre de primitives participant à la définition du graphe de construction de l'objet M. Enlèvement de la primitive Pi. L'étape suivante consiste à générer l'objet M_0+1) une fois que la primitive d'extrusion (primitive de référence) Pi a été identifiée et retirée de l'objet M_1 de M Selon le type d'interface géométrique IG, certaines faces de la primitive de référence Pi peuvent être ajoutées pour s'assurer que l'objet M_u+i) est bien un volume. Dans tous les cas, au moins une face de la primitive de référence Pi doit être modifiée pour que la partie visible de la primitive Pi décrive la totalité de dPi, définissant ainsi la primitive de référence Pi. - Si l'interface géométrique IG est de type 1G, alors les faces adjacentes aux arêtes de contour de la face de base Fbl sont orthogonales à Fbl ou bien toutes parallèles à la direction d'extrusion de Pi. Ces faces sont soit planes, soit cylindriques. L'interface géométrique IG contient les faces Fal définissant les faces latérales de Pi pour former les faces latérales de la primitive d'extrusion Pi qui ont été "entièrement cachées" dans l'objet M_1. Fal désigne un ensemble de faces. Les arêtes de l'attache de la primitive Pi appartenant aux faces latérales de Pi peuvent être des arêtes latérales (réelles ou fictives) ou des arêtes arbitraires. Les arêtes latérales limitent les faces latérales définies dans l'ensemble Fal, les arêtes arbitraires limitent l'extension des faces latérales partiellement visibles de Pi, elles appartiennent à l'ensemble Fa2. Ensuite, l'interface géométrique IG peut contenir une extension de Fb2 appelée Fa3 telle que: Fb2 U Fa3 = Fbl. Alors, la frontière de l'objet M_u+i) est définie par: 8m_0+1)= (am-1 - aPi) U (Fel U Fa2 U Fa3), (eq. 2) où am_1 est l'ensemble des faces connectées définissant la frontière de l'objet 8y_1, aPi est l'ensemble des faces connectées délimitant la partie visible de Pi. L'objet M_u+1) définit une surface fermée, orientable, sans auto-intersection. L'objet M_u+i) est donc un volume. - Si l'interface géométrique IG est de type lb, IG contient un ensemble de faces Fal étendant les faces latérales de la partie visible de la primitive Pi. Pour réduire la description des différentes configurations, concentrons-nous sur l'aspect essentiel lié à l'extension des faces Fb2 contenues dans IG. Si cette extension peut être définie comme Fa3 ci-dessus, il doit être observé que les arêtes fictives de cette extension dans l'objet M_1 sont remplacées par des arêtes convexes dans l'objet M_0+1), soit des arêtes du même type (convexe) que les arêtes correspondantes de Fbl. Sans entrer dans les détails, ces arêtes fictives peuvent être enlevées pour simplifier le contour de la primitive Pi, car ils apportent une complexité inutile à la forme de Pi et n'affecte pas la complexité de la forme de l'objet M_0+1). Cette simplification de contour peut influer sur le contenu des ensembles Fal et Fa3 ci-dessus, mais il n'a aucun impact sur l'intégrité du volume M_u+i) obtenu. - Si l'interface géométrique IG est de type 2, elle contient par définition au moins un sous domaine de nature volumique. Là encore, la diversité des configurations peut être assez large. Une première condition pour générer une interface volumique adresse les surfaces adjacentes à Pi. Si S est l'extension d'une telle surface et Si S n * Pi # 0, S peut contribuer à la création d'un sous-domaine volumique. Ensuite, chacune de ces surfaces S doit être traitée. À cette fin, toutes les arêtes attachant la primitive Pi dans l'objet M_u+i) et délimitant la même surface S dans l'objet M_u+i) sont regroupées car elles forment un sous-ensemble du contour des faces pouvant contribuer à un sous-domaine volumique définissant IG. Ces groupes sont nommés Ea. Les groupes Ea, avec d'autres ensembles d'arêtes, sont utilisés pour identifier des boucles dans les surfaces S qui définissent un sous-domaine volumique de IG qui doit satisfaire des conditions de validité non décrites ici par souci de concision. Il peut y avoir plusieurs sous-domaines volumiques valides définissant des variantes d'ensemble de faces permettant de remplacer la partie visible de Pi, aPi, dans am _1 par des séries de faces qui favorisent soit l'extension des surfaces adjacentes à Pi ou bien l'empreinte de Pi dans l'objet M_0+1) avec l'utilisation de faces appartenant à la partie cachée de Pi dans l'objet M_1. Toutes les variantes sont traitées pour évaluer leur contribution au graphe de processus génératifs. La contribution d'une primitive Pi au graphe de construction de M est décrite à la section 3. Si, dans un cadre général, il peut y avoir plusieurs variantes de l'interface géométrique IG pour définir l'évolution M_u+i) de l'objet M, ces variantes produisent toujours un volume réalisable, c'est-à-dire que l'objet M_u+i) est nécessairement bornée par une surface frontière fermée, orientée et sans auto-interse(tion qui sont des conditions nécessaires pour que l'objet M_0+1) soit un volume. L'existence de l'objet M_u+1) définie comme un volume permet, dans le processus itératif de détermination du graphe de construction de M, de garantir que l'objet M_0+1), produit à la fin d'une itération où des primitives valides Pi sont retirées de l'objet courant M_1, est un volume représenté sous forme B-Rep, comme l'est l'objet initial M. 3. Extraction du graphe de construction d'un objet M 3.1. Filtrage des processus génératifs Après avoir défini l'opérateur de suppression de primitive, le but est maintenant d'intégrer les contraintes sur les variantes d'IG, et donc sur les différentes primitives Pi valides et candidates à être intégrées dans le graphe de construction de l'objet M, afin qu'un ensemble significatif d'objets M_1, j> O puisse être généré pour produire un graphe de processus génératifs. Comme mentionné précédemment, le but est de «remonter le temps» à partir de l'objet M vers des primitives simples qui constituent les racines des arbres de construction possibles de l'objet M. À cette fin, tout retrait acceptable de primitives Pi, candidates à l'étape j de la génération du graphe doit produire une transformation de l'objet M_1 en k objets M_o_wk utilisant chacun l'interface géométrique IGk, l'une des variantes de l'interface géométrique IG, tels que les objets M_o_Fijk soient plus simples que l'objet M_1. Ce concept de simplicité est une condition nécessaire pour que la génération de graphe converge vers un ensemble d'arbres de construction ayant des primitives en tant que racines des processus de construction de l'objet M. En conséquence, la notion de simplicité de forme appliquée à la transition entre l'objet M_1 et l'objet M_o_Fijk est suffisante pour assurer la convergence du processus de génération du graphe de construction. La simplification de la forme survenant entre l'objet M_1 et M_(J+1)k peut être définie comme suit. Tout d'abord, il doit être noté que les ensembles des faces connectées délimitant l'objet M_1 et M_(J+1)k : c'est-à-dire 3m_1 et am_o_wk contiennent des faces et des arêtes maximales. En fait, après que la primitive de référence Pi ait été supprimée et remplacée (dans l'objet) par l'interface géométrique IGk pour produire l'objet M_(J+1)k, la décomposition de sa frontière est réévaluée pour contenir uniquement des faces et des arêtes maximales. Si on note n, le nombre de faces maximales dans M_1 et nu +1)k la même quantité dans l'objet M_o_wk, alors la quantité ajk: ajk = nj - )k caractérise la simplification de la forme pour la variante IGk de l'interface IG, issue de la primitive visible Pi, si ajk> O. Cette condition de validité est justifiée car elle impose une diminution du nombre de faces maximales des modèles successifs M_o_Fijk au cours de chaque étape j de génération du graphe de construction. Cette condition s'appuie sur des faces maximales qui sont des entités intrinsèques à chaque objet M_1. Le processus de génération du graphe de construction est donc intrinsèque à l'objet M. 3.2. Graphe de processus génératifs Après avoir défini la condition pour évoluer selon l'ordre inverse des processus de construction possibles de l'objet M dans le graphe des processus de génération, la création de ce graphe est résumée dans l'algorithme 1 : Procedure: Extract graph inputM ; node list 0 do for i = 0 to i = nb conf ig do Mj = get conf ig(list conf ig(i)); list conf ignew = P rocess variant(Mj ); end for nb conf ig = compare conf ig(list conf ig, list conf ignew); end while Procedure: list conf ig = P rocess variant(Mj ); ext list = f ind extrusion(Mj ); while size(ext List) > 0 do for i = 0 to i = size(ext list) do P (i) = get P i f rom list(ext list); P (i) = simplif y prim contour(P (i), Mj ); interf list(i) = generate geom interf aces(P (i), Mj ); interf list(i) = discard complex(interf list(i), P (i), Mj ); if size(interf list(i)) = 0 then remove f rom list(P (i), ext list); end if end for initialize primitive list(prim list); for i = 0 to i = size(ext list) do append(prim list, interf list(i)); end for sort primitive(prim list); nb conf ig = generate independent ext(prim list, Mj , ); for i = 0 to i = nb conf ig do prim set = extract primitive set(i, prim list); Mj = remove primitives(Mj+i, prim set); node = generate node(Mj , prim set); add node(node list, node); arc = generate arc(node, current node); add arc(arc, current arc); end for end white if size(ext List) = 0 then list conf ig = 0; end if Procedure: f ind extrusion(Mj ) ext list = f ind visible extrusions(Mj ); ext list = remove ext outside model(Mj , ext list); ext list = remove ext included ext(ext list); A une étape j de génération de ce graphe, la procédure principale extract graph traite les variantes possibles de l'objet M_(J+1)k faisant partie de la liste de noeuds node list en parcourant les processus de construction de M dans leurs ordres inverses en utilisant la procédure de traitement des variantes process variant et compare les nouvelles variantes générées M_(J+1)k aux noeuds du graphe (un noeud du graphe est ici un modèle simplifié, c'est-à-dire une évolution vers l'étape (j+1) de l'objet M) existant en utilisant la procédure compare con fig. Si les variantes M_o_wk sont identiques, les noeuds du graphe sont fusionnés, ce qui crée des cycles dans le graphe (puisque deux, ou plus, successions différentes de retraits de primitives aboutissent à une même variante de l'objet M à l'étape (j+1)). Ensuite, la procédure extract graph ajoute au graphe une structure arborescente à une variante donnée correspondant aux nouvelles variantes plus simples M_o_Fijk dérivées de M_1. Le graphe est terminé lorsqu'il n'y a pas plus de variante d'évolution de l'objet M à traiter, c'est-à-dire que la liste de noeuds du graphe node list est vide. Pour produire un graphe compact, il est obligatoire, à chaque étape j, de déterminer la plus grande quantité possible de primitives Pi satisfaisant tous les critères décrits dans les sections précédentes et de les affecter à un noeud du graphe. Ainsi, chacun des noeuds du graphe exprime le fait que toutes les primitives Pi à ce noeud du graphe pourraient être supprimées (lorsque le graphe est balayé « en remontant le temps »), une par une, dans un ordre arbitraire, ce qui évite d'avoir à décrire des variantes d'ordre triviales comme cela a déjà été mentionné Si un arbre de construction binaire de l'objet M doit être extrait du graphe de construction. Pour traiter chaque variante M_1 de l'objet M, la procédure de traitement des variantes Process variant commence par identifier des primitives d'extrusion visibles valides dans M_1 en utilisant find extrusion (voir sections 2.1 et 2.2 respectivement). Toutefois, afin de produire des primitives maximales, toutes les primitives valides qui peuvent être incluses dans d'autres primitives (parce que leur contour ou leur distance d'extrusion sont plus petits que les autres) sont enlevées (remove ext included ext) car elles produiraient des solutions triviales. Une fois que des primitives maximales valides ont été identifiées, le traitement de la variante M_1 actuelle porte sur la simplification de contour dans une procédure simplify_prim contour, Si ceci n'impacte pas la complexité de forme de l'évolution M_0+1) (voir rubrique 2.2), c'est-à-dire que l'objet (ou évolution) M_u+i) doit toujours avoir une forme plus simple que celle de l'objet M_1. Ensuite, toutes les interfaces géométriques IGk valides de chaque primitive sont générées avec une procédure generate geom interfaces (voir section 2.2) et les interfaces géométriques IGk qui augmentent la complexité de la forme de l'objet M_0+1) sont supprimées avec une procédure discard complex pour assurer la convergence de l'algorithme de génération du graphe de construction (voir section 3.1). Ici, le but est de supprimer (utilisant remove_primitives) la plus grande quantité possible de primitives d'extrusion de référence Pi dont les interfaces IGk ne se chevauchent pas les unes les autres, autrement aik ne serait pas significatif (simplification de la forme garantie par la variante IGk). Le critère de suppression exprime que n'importe quel couple de primitive (Pi,Pj), distinctes l'une de l'autre et issues de tous les traitements précédents, doit être tel que l'attache de Pi dans l'objet M_1 doit être géométriquement disjointe de l'attache de Pj. Cela signifie que les arêtes de la frontière de la partie visible de Pi dans l'objet M_1 et les arêtes de la frontière de la partie visible de Pj dans l'objet M_1 constituent des ensembles disjoints. Les ensembles de primitives indépendantes issues de tous les traitements précédents peuvent être affectés au noeud M_u+1) et sont ensuite triés pour faciliter la navigation de l'utilisateur dans le graphe. 3.3. Résultats de l'extraction du graphe de processus génératifs L'algorithme précédent a été appliqué à un ensemble de composants dont les formes sont compatibles avec des procédés d'extrusion pour rester cohérent avec l'algorithme 1 bien que ce soient des composants industriels. Ces tests permettent de mettre en évidence la convergence de l'algorithme. Dans le cas où les composants ne sont pas compatibles avec les définitions de primitives d'extrusion ou bien avec des processus génératifs d'ajout de matière, l'algorithme est toutefois opérationnel mais les objets non décomposables ne seront pas des primitives d'extrusion comme décrit dans les sections précédentes. Les exemples traités montrent également que la structure de graphe de construction est effectivement une structure nécessaire pour décrire des variantes non triviales de construction d'objets. Les formes des composants traités dans les exemples montrent que le recours à des opérations uniques d'ajout de matière pour la description de leurs processus de construction est particulièrement adaptée à l'identification de parties de ces objets qui sont bien adaptées à des transformations d'idéalisation. Si la méthode de décomposition décrite n'incorpore pas, actuellement, d'opération d'enlèvement de matière et ne peut décomposer entièrement en primitives une très grande diversité de formes d'objet, elle met néanmoins en évidence le fait que privilégier des opérations d'ajout de matière pour la description de processus de construction d'objets est un critère particulièrement bien adapté lorsque la décomposition obtenue est utilisée pour une analyse morphologique destinée à effectuer des opérations d'idéalisation préalables à des calculs éléments finis. La structure de graphe obtenue sur certains exemples montre que l'agrégation de nombreuses primitives d'extrusions en parallèle dans un seul noeud du graphe peut être atteinte et produit une représentation compacte du graphe de construction. Ces résultats montrent également la nécessité d'introduire une contrainte de continuité pour améliorer le processus de décomposition vis-à-vis des transformations d'idéalisations pour des applications de type calcul éléments finis. Cette contrainte peut être formalisée comme suit : les configurations produites par une procédure generate independent ext doivent être telles que chaque variante d'objet M_o_wk générée à partir de l'objet M_1 doit contenir un objet volumique décrit par une seule composante connexe comme c'est le cas pour l'objet M. Cette contrainte de continuité exprime le fait que l'objet M est un milieu continu et que son processus de conception suit également ce concept à chaque étape de son processus de construction géométrique. Par conséquent, chacune de ses étapes de transformation doit également vérifier cette contrainte de continuité pour assurer que tout modèle simplifié, c'est-à-dire que tout noeud du graphe, peut être utilisé comme base pour un processus d'idéalisation. Ensuite, il appartient aux idéalisations et à leurs hypothèses de lever une telle contrainte, par exemple, lors du remplacement d'une primitive par des conditions aux limites cinématiques pour exprimer un comportement local de type corps rigide. Relativement à cette contrainte de continuité, il convient d'observer que Si cette contrainte n'est pas prise en compte dans la méthode actuelle, le graphe de construction exprime une plus grande diversité de processus de construction de l'objet. Cette plus grande diversité peut faciliter la mise en place de modifications de dimensions et de forme de l'objet car la diversité des primitives et donc des dimensions qui leurs sont associées, est plus importante lorsque la contrainte de continuité ne participe pas à la génération du graphe de construction. Egalement, on peut observer que les historiques de construction d'objets, telles que décrites par les graphes de construction obtenus, sont plus faciles à comprendre pour un utilisateur que celles effectivement utilisées pour modéliser l'objet à l'aide d'un logiciel CAO. Dans ce dernier cas, en effet, le processus de construction de l'objet est décrit par un seul arbre, de type binaire. Lors de la construction d'objets de forme complexe nécessitant de nombreuses étapes (plusieurs dizaines voire plus de la centaine pour objets industriels complexes), il devient difficile pour l'utilisateur de déterminer l'impact de son choix (type et contour de primitive, opération d'ajout ou d'enlèvement de matière) à une étape j d'un processus de construction sur une étape ultérieure séparée de l'étape j par une ou plusieurs dizaines d'autres opérations élémentaires de construction. De toute évidence, les primitives d'extrusion représentant des processus d'ajout de matière répondent mieux aux exigences d'un processus d'idéalisation et sont également mieux adaptées à un processus de modification de dimensions comme détaillé dans la section 1. Il a été démontré que ce graphe est une base prometteuse pour obtenir une meilleure compréhension de la structure de la forme d'un objet et évaluer sa pertinence pour les idéalisations. 4. Génération de modèles idéalisés à partir d'un gri_eie de processus génératifs Ici, nous décrivons comment un graphe de processus génératifs obtenu avec l'algorithme 1 peut être utilisé dans des idéalisations de forme. Plus généralement, le point de départ du procédé d'idéalisation peut être définit comme suit : - un objet 3D volumique, décrit par sa frontière selon une formalisation B-Rep constitue le modèle d'entrée, il est noté M, - un graphe de construction est associé à l'objet M pour décrire son processus de construction à partir d'un ensemble de primitives de formes simples. Une telle primitive est notée Pi. Le graphe est conforme aux caractéristiques décrites jusqu'à la section 3. Ce graphe peut être réduit à un arbre binaire tel qu'il peut être généré par un logiciel de CAO. Ce graphe ou cet arbre est désigné par G. Dans tous les cas, la contrainte associée à tout graphe ou arbre lié à l'objet M concerne le fait que l'opérateur associé à chaque noeud procède par ajout de matière. Chaque primitive Pi présente dans Gc associé à l'objet M peut être décrite par une primitive d'extrusion, - Lors de la construction de l'objet M à partir de primitives Pi tel que décrit dans Go, chaque primitive Pi possède au moins une interface géométrique IG avec au moins une autre primitive présente dans le graphe de construction G. Cette interface géométrique est décrite explicitement, selon une représentation B-Rep, c'est-à-dire que l'interface géométrique IG est représentée par des faces, des arêtes, des sommets et que ces derniers portent des attributs qui les distinguent des autres faces, arêtes et sommets constituant la frontière de Pi. Conformément aux sections précédentes, l'interface géométrique IG peut constituer un modèle géométrique de type non-variété. Si le graphe de construction Gc est issu d'un logiciel de CAO, on considère donc que les primitives Pi contiennent explicitement les interfaces géométriques IG décrites précédemment. Le résultat du processus d'idéalisation est l'objet MI, issu de l'objet M. Un processus d'idéalisation d'un objet consiste à identifier des parties de cet objet dont leur morphologie répond à des proportions permettant de les placer dans des catégories prédéfinies représentatives de comportements mécaniques. Ces catégories sont en nombre limité et peuvent être énumérées comme suit : Poutre (sous-domaine géométrique d'un objet dont deux des dimensions sont faibles devant la troisième. Ces deux dimensions définissent la section de la poutre), Plaque, coque, membrane (sous-domaine géométrique d'un objet dont une des dimensions est faible devant les deux autres. Cette dimension définit l'épaisseur de la plaque, de la coque ou de la membrane), Massif 3D (sous-domaine qui ne bénéficie pas des propriétés morphologiques précédentes et qui doit être traité par un comportement mécanique tridimensionnel). D'un point de vue géométrique, le principe du procédé d'idéalisation correspond à une réduction de dimension de variété des sous-domaines identifiés. Par exemple, un sous-domaine volumique convexe (variété de dimension 3), morphologiquement de type poutre sera idéalisé en une ligne (variété de dimension 1). La ligne correspondant au lieu des centres d'inertie des sections est localisée à l'intérieur du sous-domaine volumique initial. Ensuite, pour la construction du modèle idéalisé issu de M, des opérations géométriques de connexion entre les sous-domaines idéalisés doivent être réalisées. Un avantage du graphe Gc et des interfaces géométriques IG est que les lieux géométriques des interfaces géométriques IG sur les primitives Pi permettent de localiser et borner les connexions entre les sous-domaines idéalisés. Ceci constitue une des difficultés importantes levée par le procédé d'idéalisation décrit ci-dessous. Dans l'exposé qui suit, on se réfèrera à une opération de réduction de dimension ou d'idéalisation pour désigner plus simplement une opération de réduction de dimension d'une variété géométrique d'un sous-domaine (primitive Pi ou partie de cette primitive). Un processus d'idéalisation fait significativement référence au savoir-faire de l'utilisateur afin de répondre aux objectifs d'une analyse élément finis, par exemple. Le procédé proposé permet des interventions de l'utilisateur afin d'adapter certaines idéalisations et certaines connexions entre sous-domaines idéalisés, selon son savoir-faire. 4.1. Structure du procédé d'idéalisation Le procédé d'idéalisation d'un objet M repose sur des opérations d'analyses morphologiques, des opérations d'idéalisation et des opérations de connexions entre sous-domaines idéalisés, afin de produire le modèle idéalisé de M, désigné par Mi. La figure 4 décrit les différentes étapes de ce procédé. Dans une première phase, la décomposition de l'objet M en primitives Pi telles que décrites dans le graphe Gc donne lieu à une première phase d'analyse morphologique de chacune des primitives Pi. Pour le cas de primitives d'extrusion, cette analyse morphologique permet de déterminer Si la primitive Pi possède une morphologie de type plaque, coque ou membrane plutôt que massif 3D. Cette étape est décrite à la section 4.2 et fait appel à l'intervention de l'utilisateur pour définir des seuils afin d'ajuster les frontières des catégories de morphologies. La seconde analyse morphologique concerne à nouveau toutes les primitives Pi et permet de déterminer Si celles-ci peuvent être subdivisées en sous-domaines, notés Dj(po , morphologiquement différents de celui qui leur a été affecté lors de la première analyse. Cette analyse est conduite à partir du contour d'extrusion utilisé pour la définition de la primitive Pi. La décomposition ainsi obtenue de chaque primitive Pi en sous-domaines Dj(po génère de nouvelles interfaces IG. Cette analyse fait également appel à l'utilisateur et à son savoir-faire pour ajuster les frontières des catégories de morphologies et intervenir, Si nécessaire dans les choix d'interfaces entre les sous-domaines Dj(po. Dans une seconde phase, à partir d'une typologie des connexions entre les différentes morphologies d'idéalisation, une analyse des interfaces IG entre primitives Pi est utilisée pour propager et actualiser les limites géométriques de chaque sous- domaine Dj(po. Cette phase correspond à un processus de reconstruction de l'objet M à partir des primitives Pi et des sous-domaines CV(pi) contenus dans chaque primitive Pi. Cette opération est équivalente à une opération d'union booléenne régularisée: M= U; F\= Ui* U;Dj(po représentant un processus de construction de l'objet M à partir du graphe de construction G. Cette étape, décrite en section 4.3, aboutit à la décomposition de l'objet M en nouveaux sous-domaines dont la morphologie a été catégorisée en type poutre, type plaque, membrane, coque ou type massif 3D car cette opération prend en compte l'influence des interfaces IG entre Pi et entre Dj(po. Cela peut conduire à des primitives Pi découpées en deux ou plus. Les sous-domaines modifiés ou créés par cette opération sont collectivement désignés par : D'k(po. Une nouvelle analyse morphologique de chaque D'k(po est donc nécessaire pour évaluer les évolutions de morphologies résultantes par cette opération d'union. A ce stade, il convient de noter que la morphologie de chaque D'k(po, combinée à la typologie des connexions entre les différentes morphologies d'idéalisations, permet d'identifier des sous-domaines qui peuvent être considérés comme des détails et ce, indépendamment d'une notion de taille d'élément fini. Dans une troisième phase prend place la génération de l'idéalisation de chaque sous-domaine D'k(po et, ensuite, la typologie et la localisation des interfaces géométriques IG sont utilisées pour connecter les modèles géométriques idéalisés des sous-domaines D'k(po entre eux et ainsi dériver un modèle idéalisé Mi de l'objet M. Lors de cette opération, les interfaces IG entre D'k(po sont utilisées pour borner les connexions entre D'k(po et obtenir un processus de connexion robuste. Dans une opération suivante, la typologie des connexions entre les différentes morphologies d'idéalisation est utilisée pour repositionner certaines lignes ou surfaces moyennes afin de simplifier l'objet Mi. Cette étape est décrite dans la section 4.4. Lors de cette étape, l'utilisateur peut intervenir pour modifier certaines configurations en fonction de son savoir-faire. Globalement, le processus décrit est donc un processus automatique que l'utilisateur peut interrompre pour modifier ponctuellement un nombre faible de configurations en fonction de son savoir-faire. 4.2. Evaluation des primitives pour l'idéalisation Les primitives Pi extraites du graphe Gc peuvent être utilisées pour analyser leur morphologie et évaluer leur adéquation aux idéalisations. Cette première analyse détermine Si la primitive Pi possède une morphologie de type plaque, coque ou membrane plutôt que massif 3D. Parce que les primitives sont toutes des extrusions et associées à des opérations d'ajout de matière, une première dimension caractéristique de la primitive est déterminée par la longueur d'extrusion d. Le critère morphologique utilisé pour déterminer si une primitive Pi, par défaut de type massif 3D, comporte au minimum un sous domaine géométrique Dj(pi) de type plaque, coque ou membrane est un ratio entre la longueur d'extrusion et le diamètre maximal, max ID, du cercle inscrit dans le contour d'esquisse de Pi. La détermination du diamètre maximal, max cl), peut être effectuée en appliquant une méthode de transformation par axe médian MAT ("Medial Axis Transform") à travers un algorithme correspondant à cette méthode. Le critère morphologique est exprimé par un ratio et peut être formalisé comme suit: x = max ((max 01) / d), (d / max 0)). L'utilisateur définit alors un seuil de référence que x, ne doit pas dépasser pour que la primitive soit considérée comme de type plaque, membrane ou coque. Ce seuil est définit par défaut à x, = xr =10, correspondant, en mécanique, à la morphologie de référence généralement admise dans la formulation des modèles mécaniques de structures minces de types plaque, membrane, coque. Toutefois, l'utilisateur peut réduire la valeur de ce seuil, en fonction de son savoir-faire, afin d'être plus tolérant sur la morphologie des primitives idéalisables. Ainsi, toute valeur de x>xr conduit à une primitive idéalisée automatiquement. Lorsque que x, xr. Cette configuration illustre le fait que x est constant sur ce segment et que la longueur de ce segment influe sur la morphologie de Pi. Distinguer cette morphologie par rapport à l'aplatissement de Pi, caractérisé par x, nécessite la définition d'un nouveau paramètre y= L2 / max(cP). Dans la figure 5, L2 représente un arc de la MAT de Pi appartenant à la catégorie 2 définie ci-après. Le paramètre y est représentatif de l'allongement de Pi dans le plan de son contour et permet de distinguer des primitives morphologiquement de type poutre à l'intérieur de la catégorie des primitives morphologiquement de type plaque ou coque. Afin d'établir un lien avec le paramètre x, les seuils xu et xr sont également utilisés pour spécifier des intervalles de morphologie d'allongement. Ainsi, les seuils xu, xr, appliqués aux paramètres x et y produisent les neuf configurations présentes dans le tableau de gauche. Le tableau de droite est élaboré selon le même principe, en considérant que Pi présente un premier allongement dans la direction d'extrusion et non un aplatissement comme dans le tableau précédent. Ces tableaux énumèrent les différentes morphologies possibles en prenant en compte le paramètre xu fixé par l'utilisateur. La figure 5 constitue une taxonomie des morphologies associées à un segment de la MAT de Pi. Compte tenu du fait que le contour d'extrusion de Pi est constitué de segments de droite et d'arcs de cercles, la MAT comporte des segments rectilignes et courbes. La MAT de Pi est structurée selon deux catégories de segments : 1. les segments dont un point extrémité est situé sur le contour d'extrusion de Pi et l'autre point extrémité est connecté à un autre segment de la MAT, 2. les segments dont les deux points extrémités sont connectés à d'autres segments de la MAT. Dans le cas particulier de segment ne possédant pas de point extrémité (cas de segment circulaire défini à partir d'un contour de Pi représentant une couronne circulaire), la MAT est réduite à un cercle. Ce cas particulier n'a pas d'incidence sur le procédé d'idéalisation. Les segments de catégorie 1 sont supprimés et l'analyse morphologique porte sur les segments de catégorie 2 et notés Sj(po. Sur chacun de ces segments, le rapport y possède un maximum ou bien est constant et y', représente le maximum de ce rapport qui est affecté au segment correspondant. Lorsque Pi comporte des contours intérieurs, la MAT obtenue et réduite à des segments de catégorie 2 et comporte des cycles. Dans ce cas, une MAT, notée MAT', est également déterminée en utilisant uniquement le contour extérieur de Pi. Une analyse morphologique comparative entre les segments de MAT' correspondant à un cycle dans MAT permet de traiter les configurations avec contours intérieurs et d'analyser les aplatissements correspondants pour distinguer des plaques évidées de poutres creuses. Les segments Sj(pi) sont regroupés selon trois sous-ensembles : a. les segments Sj(po formant une chaîne ouverte ne comportant qu'un seul point de bifurcation de MAT à une des extrémités de la séquence, b. les segments Sj(po formant une chaîne ouverte comportant deux points de bifurcation de MAT à chacune des extrémités de cette séquence, c. les segments Sj(po formant une chaîne fermée comportant un nombre arbitraire de points de bifurcation de MAT et représentant un cycle minimum de MAT. La morphologie de chaque segment est affectée selon la taxonomie définie dans les tableaux de la figure 5. Le découpage de Pi intervient alors sur la base des changements de classification déterminée automatiquement sur chaque Sj(po par l'analyse morphologique ou bien par la modification effectuée par l'utilisateur, en fonction de son savoir-faire. Les découpages sont localisés sur les transitions entre deux sous-ensembles pris parmi : Massif 3D, (plaque ou coque), (poutre ou ruban). Ce découpage produit les sous-domaines Dj(po de chaque primitive Pi qui vont être utilisés dans le processus d'idéalisation qui suit. Au cours de cette analyse morphologique, il apparaît que la classification des différents Sj(po de la primitive Pi peut conduire à affecter un statut de Massif 3D à un segment Sj(po alors que Pi possède un statut global initial de plaque défini par x, par exemple. Cet exemple de configuration n'est pas contradictoire avec le processus d'idéalisation mais indique que la portion de MAT de la primitive Pi correspondant à Sj(po constitue potentiellement un détail à l'intérieur de Pi car cette portion de MAT de la primitive Pi est significativement plus petite que la primitive Pi. Cette notion de détail correspond à des morphologies associées à des segments Sj(po possédant des paramètres (x, y) qui constituent une taxonomie complémentaire à la morphologie des sous-domaines décrite à la figure 5. Cette taxonomie n'est pas décrite ici pour conserver la concision de description du procédé mais il convient de noter que la notion de détail apparaissant ici est indépendante de toute méthode numérique de résolution du problème d'analyse de structure généré à partir du modèle Mi. Ceci constitue un point particulièrement nouveau par rapport à l'art antérieur. A l'issue de cette analyse morphologique, les sous-domaines Dj(po, comme partie de la primitive Pi, sont insérés ; avec leur statut morphologique, la localisation de leurs interfaces géométriques, dans le graphe G, des interfaces entre les primitives Pi décrit ci-après. 4.3. Extension de l'analyse morphologique des sous-domaines sur l'ensemble de l'objet L'analyse morphologique des primitives Pi, prises isolément, est la première application du graphe de construction Gc. Les interfaces géométriques IG entre primitives Pi et le découpage des Pi suite à leur deuxième étape d'analyse morphologique définissent un ensemble d'interfaces géométriques IG représentées dans le graphe G, des interfaces entre les primitives Pi . Les noeuds du graphe G, des interfaces entre les primitives Pi sont des sous-domaines Dj(pi) et les arcs sont des interfaces IG. La figure 6 décrit une partie des interfaces possibles entre sous-domaines Dj(po lorsque ceux-ci sont de type plaque ou coque. Cette figure illustre la codification des connexions entre sous-domaines Dj(po qui est introduite dans le graphe G, des interfaces entre les primitives Pi. Afin de structurer les informations de connexion entre sous-domaines Dj(po, les noeuds du graphe G, sont structurés comme suit : le noeud est subdivisé en trois éléments représentant la structure de sous- domaines Dj(pj), c'est-à-dire un élément représentant les faces définissant l'épaisseur de Dj(pj) et deux autres éléments représentant chacun une face de base de Dj(po. Le graphe G, des interfaces entre les primitives Pi possède alors des propriétés permettant d'identifier le rôle structurel de groupes de Dj(po. Par exemple, un cycle formé par trois sous-domaines Dj(po liés entre eux par des connexions de configuration (4) (voir figure 6) tel qu'un de ces Dj(po : Dk(pt), soit lié aux deux autres par ses faces définissant son épaisseur qui s'appuient donc sur des faces de base des deux autres sous-domaines, Dp(p1), Dchpo, et une connexion de même nature (face de base d'un sous-domaine connectée à une face définissant l'épaisseur de l'autre sous- domaine) est établie entre les sous-domaines Dp(p1) et Dchpo. Cette configuration correspond à un rôle structurel de type raidisseur de sous-domaine Dk(p1). Sur la base de la taxonomie de connexions entre sous-domaines Dj(po et en fonction du statut de chaque sous-domaine (massif 3D, plaque/coque/membrane, poutre), d'autres rôles peuvent être identifiés tels que des plaques raidies, des treillis. Chaque sous-domaine Dj(po possède un statut caractérisant la réduction dimensionnelle qui peut lui être appliquée (massif 3D, plaque/coque/membrane, poutre) auquel s'ajoute le statut de détail pour caractériser des sous-domaines Dj(po qui pourront être supprimés sans avoir d'incidence significative sur les résultats de calcul éléments finis. Sur la base de ce statut, une taxonomie a été mise en place qui permet de caractériser les classes de connections possibles entre sous-domaines Dj(po. La figure 6 donne une représentation de cette taxonomie pour des configurations de connections entre sous-domaines de type plaque/coque/membrane. Si cette figure illustre des configurations parallèles et orthogonales pour des raisons de simplicité, celles-ci peuvent être étendues à des plages angulaires plus importantes pour décrire les classes de connections, ce qui amène à englober des IG de type volumique et non uniquement de type surfacique comme indiqué sur la figure 6. La figure 6 décrit toutes les configurations valides entre deux sous-domaines 51 et S2 pour lesquels un paramètre d'épaisseur peut être attaché à chacun d'eux, ce qui est compatible avec des primitives Pi de type extrusion. Les quatre configurations valides peuvent être structurées en deux groupes : (1) et (4) forment Cl et (2) et (3) forment C2. La configuration (1) de Cl est telle que les épaisseurs el et e2 de 51 et S2 respectivement, sont influencées par IG. C'est-à-dire que la zone de recouvrement entre 51 et S2 agit comme une augmentation d'épaisseur qui raidit chacun des sous-domaines sur l'étendue d'IG. Cet accroissement de raideur peut être significatif et nécessiter son incorporation à l'aide d'une variation d'épaisseur pour mieux représenter le comportement réel de la structure. Cette zone de recouvrement peut être affectée à 51 ou S2 ou bien former un sous-domaine indépendant définit avec épaisseur (el +e2). Quelque soit la solution retenue, 51 ou S2 ou les deux sont modifiés ainsi que leur interface IG, produisant une ou deux nouvelles interfaces IG' (voir figure 6). Les interfaces IG' sont nécessairement de type (2) et coupent 51 ou S2 ou les deux en fonction de la solution retenue. De manière similaire, la configuration (4) est telle que S2 peut être raidie par S1 en fonction de l'épaisseur de S1 et/ou de la forme en 2D d'IG. Afin de simplifier la description, on fait référence ici à une forme en 2D désignant une interface surfacique. L'influence de la forme se caractérise par exemple par la différence entre une IG bornée par un seul contour fermé ou bien par une IG bornée par plusieurs contours fermés. Ce dernier cas est représentatif de S1 avec une forme de tube, IG est alors une couronne qui aura pour effet de raidir la surface de IG sur S2 qui est bornée par le contour extérieur de la couronne. Dans ce cas, l'accroissement de raideur sur une zone de S2 peut conduire à un partitionnement de S2 en sous-domaines plus petits et l'effet d'IG aura pour conséquence la production d'une configuration de type (2) avec des interfaces IG' quand S2 est découpé par Si. La configuration (1) réduit les aires d'épaisseur constante de S1 et S2 (el et e2 respectivement), ce qui peut influencer la morphologie de S1 et S2 conformément au critère d'idéalisation de primitive Pi définit dans la section précédente. La configuration (4) réduit l'aire de S2 d'épaisseur e2 mais n'a pas d'influence sur Si, ce qui influence la morphologie de S2 uniquement. Il peut donc être observé que traiter des configurations appartenant à Cl produit des configurations appartenant à C2 uniquement. Considérant maintenant les configurations de C2, aucune d'entre elle ne produit d'augmentation de raideur comparable à Cl et nécessitant un nouveau découpage de S1 ou S2. Par conséquent, les configurations de C2 ne nécessitent pas de traitement complémentaire et aucune modification de configuration effectuée dans Cl ne produit de nouvelle configuration dans C1. Cela indique que les traitements de configurations dans Cl impliquant des découpages de sous-domaines sont conservatifs par rapport à C2. La procédure de traitement des configurations Cl converge donc vers des configurations C2 uniquement. Ces observations et cette propriété permettent de mettre en place une approche algorithmique itérative qui converge nécessairement. Plus généralement, l'interface géométrique IG peut être de type volumique entre deux sous-domaines Dj(po. Cette généralisation est équivalente à considérer des configurations pour lesquelles les conditions de parallélisme et de perpendicularité entre S1 et S2 sont remplacées par des configurations où les angles entre S1 et S2 s'écartent de ces configurations de référence. De telles configurations se ramènent aux configurations de référence de Cl et C2 comme suit. Dans un premier temps, il convient d'observer que la définition des primitives Pi (voir le concept de visibilité d'une primitive dans la génération de Gc) garantit que toute primitive avec une interface IG volumique a toujours une face de base visible, donc son IG ne peut contenir qu'une seule face base de la primitive Pi. Dans les représentations 2D de la figure 6, les contours de S1 et S2 comportent les projections des faces de base Fb1 et Fb2 de chaque primitive d'extrusion définissant S1 et S2. Dans ces représentations, ce qui distingue Cl de C2 est caractérisé par le fait que les configurations (1) et (4) contiennent chacune S2 telle qu'une de ses faces de base n'intersectent pas Si. Dans le cas présent, on considère que les faces de base de S1 et S2 contiennent le contour d'extrusion des primitives correspondantes. De plus, pour distinguer la configuration (1) de la configuration (4), on observe également qu'une face de base de S1 n'admet aucune intersection avec S2 pour caractériser la configuration (1) par rapport à la configuration (4). On peut observer que la configuration (4) implique en totalité des faces latérales de S1 alors que la configuration (1) ne pourra impliquer en totalité des faces latérales de S1 et/ou S2. Dans la configuration (2) de C2, des faces latérales de S1 participent en totalité à IG alors que les faces latérales de S2 n'y participent qu'en partie. Ceci permet de distinguer cette configuration par rapport à la configuration (3) où des faces latérales de S1 et ou S2 participent, en partie, à IG. Cette description montre que la taxonomie de configurations proposée s'étend à des positions relatives quelconques de S1 et de S2. Pour des raisons de concision, la présentation des taxonomies de configurations de connexions entre (plaques et poutres, poutres et poutres, massif 3D et plaques, massif 3D et poutres n'est pas abordée). Toutefois, elles sont traitées en utilisant des principes similaires. La taxonomie de connexions de type massif 3D avec massif 3D ne présente pas d'intérêt car ces connexions n'impliquent pas de transformations d'idéalisation. Partant de la taxonomie des connexions décrite et analysée précédemment, le processus suivant consiste à prendre en compte les effets de raidissement liés à certaines connexions pour établir les connexions entre sous-domaines Dj(po conduisant éventuellement à des découpages de ces sous-domaines produisant les sous-domaines D'Ic(po et mettre à jour la morphologie des D'Ic(po afin de déterminer la nature de l'idéalisation pouvant être appliquée à chacun d'entre eux. L'analyse morphologique ainsi obtenue peut être évaluée graphiquement par l'utilisateur afin d'appliquer certains changements en fonction de son savoir-faire. Ce processus peut être synthétisé par l'algorithme suivant (voir algorithme 2). Cet algorithme est adapté aux configurations de traitement des seules connexions décrites dans la figure 6, pour simplifier sa description. La prise en compte de la totalité de la taxonomie des connexions reprend des principes similaires à ceux de l'algorithme 2. Le principe de cet algorithme est de classer chaque IG entre deux sous-domaines Dj(po telle que si IG appartient à Cl (configurations (1) et (4) dans l'algorithme 2), elle doit être transformée pour produire de nouvelles interfaces géométriques IG' (voir figure 5 où des interfaces IG' sont indiquées pour les configurations (1) et (4)) et les nouveaux sous-domaines D'Ic(po qui doivent être analysés morphologiquement (procédure Propagate morphology analysis). Selon la configuration de connexion entre deux sous-domaines Dj(po l'un des deux ou les deux sont découpés le long du contour de IG pour produire D'Ic(po. Ensuite, la transformation MAT est appliquée à chacun des sous-domaines D'Ic(po afin de mettre en place une nouvelle analyse morphologique et déterminer les paramètres morphologiques (prodédure MA morphology analysis) qui reflètent les opérations d'union entre D'Ic(po qui permettent de générer le modèle M. C'est-à-dire que la génération du modèle M à partir des Dj(po, i.e. M = U;' Pi = U;' U;Dj(po, est remplacée par : M = U;' Pi = U;' U D'k(pt) qui prend en compte le résultat de la deuxième étape de l'analyse morphologique des Pi. L'algorithme termine lorsque toutes les configurations de Cl ont été traitées. Procedure Propagate morphologyanalysis(Gc, xu) for each P in list primitives(Gc) do if P.x > then for each IG in list interfaces prim(P) ) do Pngh = Get connectedprimitive(P, IG) if IG.config = 1 or IG.config = 4 then interVol = Get interfaceVol(P, Pngh, IG) Pr = Remove interface Vol from prim(P, interVol) for i = 1 to Card(Pr) do P' = Extract partition(i, Pr) P'.x = MA morphology analysis(P') Pngh.x = MA morphology analysis(Pngh) if IG. config = 1 then if Pugh.x > then P rngh = Remove interVol from prim(Pngh, interVol) interVol.x = MA morphology analysis(interVol) for j = 1 to Card(P rngh) do P'ngh= Extract partition(j, P_rngh) rngh.X = MA morphology analysis(P'ngh) if interVol.x 1, en fonction de la forme de Pi et de Pngh. Chaque partition P' de Pr peut être de morphologie différente de celle de Pi, ce qui constitue une indication d'idéalisation plus précise pour l'utilisateur. Dans le cas de la configuration (1), l'aire de recouvrement entre Pngh et Pi doit être analysée également, de même que son influence sur Pngh qui devient P rngh. Dans ce cas également, P rngh peut posséder plusieurs partitions, i.e. Card(P rngh) k 1, et la morphologie de chaque partition P'ngh, correspondant à une collection de sous-domaines Dj(po, doit être également analysée. Si le volume commun entre P'ngh et P' n'est pas idéalisable, il est fusionné avec le plus rigide des deux sous-domaines Pngh ou Pi afin de préserver la morphologie du sous-domaine le plus adapté à une idéalisation. Dans le cas où une partition P' de Pr n'est pas idéalisable dans la configuration (4), cette partition peut être fusionnée avec Pngh si cette dernière possède une morphologie de statut identique (de type plaque/coque/membrane par exemple). Les processus de découpage des primitives, en fonction de leurs interfaces IG produisent donc des modifications des sous-domaines Dj(po pour générer les sous- domaines D'Ic(po. Ce processus a été appliqué à différents composants tests et on a pu observer que chaque sous-domaine Dj(po est strictement borné par une interface IG de la catégorie C2 ou bien par une interface IG' produite par l'algorithme précédent. Ainsi, le procédé produit une information précise sur des zones idéalisables et la nature des idéalisations possibles dans ces zones constituant le modèle M. Des zones de M correspondant à des primitives connectées selon le type (1) sur une ou deux des faces de base opposées de primitives sont subdivisées en nouveaux sous-domaines qui fournissent des informations plus précises. Toutefois, dans des empilements de configurations de type (1) comportant plus de trois sous-domaines empilés, de nouvelles configurations morphologiques peuvent émerger qui doivent être étudiées pour définir les conditions d'idéalisation correspondantes. A l'intérieur du graphe de construction Gc, le processus de propagation de l'analyse morphologique est appliqué aux différentes variantes de construction de l'objet M. Ceci permet à l'utilisateur de déterminer un compromis entre les sous- domaines idéalisables et un processus de construction particulier de l'objet M afin de pouvoir adapter au mieux le modèle idéalisé Mien fonction des objectifs de simulation associés à l'objet M. 4.4. Traitement des connexions entre les primitives idéalisées La dernière phase du processus d'idéalisation consiste à générer les modèles idéalisés de chaque sous-domaine D'k(po et de les connecter suivant la typologie et la localisation associées à chacune des interfaces IG entre sous-domaines. Suite à l'analyse morphologique décrite en section 4.2 et 4.3, le volume initial de l'objet M est segmenté en sous domaines volumiques D'k(pt) pour lesquels la forme volumique répond à une catégorie d'idéalisation de type massif 3D, plaque, coque, membrane et poutre. Dans un premier temps la géométrie idéalisée de chaque sous-domaine est générée à partir de la géométrie volumique initiale du sous-domaine. Suivant la catégorie d'idéalisation du sous-domaine, le support géométrique généré sera : - une surface moyenne plane dans le cas de sous-domaine D'k(po identifié comme plaque (voir taxonomie de la figure 5). Cette surface correspond à la surface d'esquisse du sous domaine décalée de la demi-épaisseur dans le sens de la direction d'extrusion, - Une surface moyenne dans le cas de sous-domaine identifié comme coque (voir taxonomie de la figure 5). Cette surface moyenne est générée à partir de l'extrusion de la ligne médiane de l'esquisse 2D du sous-domaine D'k(po dans la direction d'extrusion de D'k(pt). L'épaisseur de la coque est fonction du diamètre du cercle inscrit dans l'esquisse, conformément à la MAT associée à la primitive Pi correspondante, - Une ligne médiane dans le cas de sous-domaine D'ic(po identifié comme poutre. Cette ligne est générée à partir du barycentre de contour d'esquisse de D'ic(po dans le cas où la direction de la poutre correspond à la direction d'extrusion. Dans le cas où la direction de la poutre est orthogonale à la direction d'extrusion, la ligne correspond à la ligne médiane du contour d'esquisse décalée de la demi-distance d'extrusion. - Le support volumique du sous-domaine D'ic(po correspondant dans le cas de massif 3D. Dans une seconde étape, le graphe des interfaces IG est enrichi par des informations sur les contours géométriques de l'interface sur les sous-domaines, ces contours sont notés Ci(D,k). La région géométrique du contour permet de définir si ses frontières appartiennent aux faces de base Fbl et Fb2 du sous-domaine D'ic(po, ou à l'une de ses faces latérales. Ces informations sont issues du contenu du graphe G1 des interfaces entre les sous-domaines D'ic(po des primitives Pi , qui permet de distinguer les faces de base et les faces définissant l'épaisseur d'un sous-domaine D'ic(po. Dans le cas où un contour appartient à plusieurs faces latérales ou à une face de base et une ou plusieurs faces latérales, le contour est redécoupé en sous- contours notés C'l(D,k). L'étape suivante consiste à déterminer les couples de contours appartenant au même sous-domaine et ayant une partie de leurs contours en commun, autrement dit dont l'intersection booléenne est non nulle : C'l(D,k) n C'm(D!k) # 0. Les relations de voisinages entre contours d'un même sous-domaine D'Ic(po forment une structure de graphe où les noeuds sont les contours et les arcs les relations de voisinage. Ce graphe de voisinage noté G Lyk. peut être imbriqué dans le graphe des interfaces G, dans le noeud du sous-domaine D'Ic(po. A l'aide de la structure du graphe G, incluant les graphes G Lyk pour chacun des sous-domaines D'Ic(po, des algorithmes peuvent être appliqués afin de déterminer des propriétés particulières du graphe répondant à des règles de connexions, entre supports idéalisés, définies à partir de la pratique courante de préparation de modèles idéalisés à partir de modèles volumiques B-Rep. Les algorithmes correspondant sont appliqués automatiquement mais l'utilisateur a la possibilité de modifier localement les résultats proposés par les algorithmes. A titre d'exemple, dans le cas de connexions entre sous-domaines de type plaque, trois algorithmes sont utilisés pour traiter : - des configurations de groupes de plaques parallèles. Ces groupes de sous-domaines D'ic(po rassemblent les surfaces planes moyennes qui peuvent être alignées selon un même plan et ainsi ne pas nécessiter de surfaces de raccord supplémentaires entre elles. Ce décalage de surface est une règle provenant de l'utilisateur et intégrée dans les logiciels de calcul de calcul éléments finis. Cette règle autorise le décalage de surface moyenne d'une distance directement prise en compte lors de la mise en place du calcul par éléments finis par une formulation adaptée des éléments finis utilisés. Ainsi, tout chemin du graphe G, des interfaces entre les primitives Pi, passant uniquement par des arcs correspondant à des interfaces de type (2) est un groupe de surfaces planes parallèles, - des configurations de sous-domaines de bord lorsque le contour d'interface de type (4) du sous-domaine D'ic(po parallèle à l'interface est situé sur la frontière de sa face de base. Une connexion directe de la surface moyenne de D'j(po, orthogonale à l'interface, située par défaut au milieu de sous-domaine D'j(po entraine une zone de petite dimension (incluant la demi épaisseur de D'j(pi) entre la frontière de D'ic(po et la surface de raccord de surface moyenne. Ce type de géométrie est gênant lors d'une modélisation par éléments finis car il entraine la génération de mailles de petites dimensions et de mauvaise qualité. Il est alors préférable de repositionner la surface moyenne de D'j(po sur le bord de la surface moyenne de D'ic(po évitant ainsi toute zone étroite. Cette configuration, décrite par simplicité avec un positionnement orthogonal de D'j(pi) par rapport à D'ic(po se généralise à des positions angulaires quelconques comme décrit dans la section précédente, - Des configurations de cycles de connexions entre sous-domaines. Lorsqu'au moins 3 contours d'interfaces de type (4) appartenant à3 sous-domaines distincts ont une partie de leurs frontières en commun, les connexions des surfaces moyennes perpendiculaires aux interfaces 42 vers les surfaces moyennes parallèles aux interfaces doivent également être prolongées selon les directions d'extrusion des interfaces voisines dans le cycle. Ce type de configuration peut être identifié à partir du graphe G, et des graphes imbriqués Guk comme étant des cycles contenant uniquement des arcs de G, associés à des interfaces de type (4) et des noeuds de G, donc le graphe imbriqué GD'k contient un chemin entre les contours des interfaces. Ces chemins correspondent à des contours d'interfaces partageant une frontière commune. 10 La liste de configurations particulières présentée ci-dessus n'est pas exhaustive mais reflète l'utilisation faite du processus de décomposition de M et donc du graphe de construction Gc, de l'analyse morphologique de M et du graphe d'interfaces G1. D'autres configurations particulières telles que la présence de 15 raidisseurs connectés à des faces opposées de sous-domaines D'ic(po peut nécessiter également des opérations de repositionnement de la surface moyenne de ces raidisseurs lorsqu'elles sont trop proches les unes des autres dans D'Ic(po. Une fois les configurations particulières précédentes identifiées par les algorithmes 20 précédents, la dernière étape consiste à connecter les supports idéalisés des sous domaines de types poutre, coque, plaque à leurs sous domaines voisins respectifs. Les connexions entre surfaces moyennes sont réalisées par un opérateur de prolongement de surfaces moyennes. Comme les localisations précises des interfaces entre les sous-domaines D'ic(po à connecter sont connues précisément par leurs 25 contours Ci(o,k), les surfaces de connexion sont donc bornées par des zones de connexion définies par les contours rapportés sur les surfaces moyennes. Cette restriction rend robuste l'opérateur de connexion lui évitant de créer toute surface en dehors de la zone de connexion, ce qui différentie le processus décrit par rapport à l'art antérieur. L'application des opérateurs de connexion permet ainsi de générer un 30 modèle idéalisé Mi dérivé du modèle initial M. Si l'analyse morphologique de la primitive Pi est une des applications du graphe de processus génératifs, la primitive de décomposition obtenue peut être utilisée pour surveiller les idéalisations. À cette fin, une taxonomie des liens entre les 35 primitives d'extrusion est partiellement illustrée dans la figure 6. Après avoir décomposé l'objet M en primitives d'extrusion Pi, la localisation des interfaces géométriques IG entre les primitives Pi sont précisément identifiées et peuvent être utilisées pour surveiller les écarts nécessaires de surfaces moyennes pour améliorer le processus d'idéalisation et prendre en compte le savoir-faire de l'utilisateur. En particulier, les connexions avec des surfaces moyennes parallèles peuvent être traitées avec des repositionnements de surfaces moyennes et un ajustement correspondant de l'épaisseur du matériau sur les deux côtés de la surface idéalisée, comme décrit ci-dessus dans les traitements particuliers de connexions. Il s'agit d'une pratique courante dans l'analyse linéaire en mécanique des structures qui a été avantageusement mis en oeuvre en utilisant la position relative des extrusions. Avantages du procédé Les arbres de construction et les processus de génération de forme sont des approches communes pour modéliser des composants mécaniques. Ici, il a été démontré que des arbres de construction, structurés sous une forme compacte de graphe, peuvent être extraits du modèle volumique B-Rep d'un composant. Le procédé proposé comporte des critères permettant de générer des primitives de formes simples et garantissant que les objets intermédiaires ont leur forme effectivement simplifiée après chaque suppression de primitive. Ces propriétés garantissent la convergence de l'algorithme utilisé pour générer le graphe de construction. En effet, la génération de la forme d'un objet complexe à partir de primitives de formes simples suppose un processus capable de modifier une forme initiale simple incrémentalement jusqu'à obtenir une forme arbitrairement compliquée. Il a été montré que les arbres de construction sont structurés en un graphe pour représenter un ensemble non trivial de processus génératifs qui produisent le modèle volumique B-Rep d'entrée. Le graphe contient des arbres non triviaux de construction du fait que les variantes de directions d'extrusion produisant la même primitive ne sont pas codées, les opérations d'addition de matière qui peuvent être conduites en parallèle sont regroupées en un seul noeud du graphe (une seule variante d'évolution de l'objet) pour éviter la description des combinaisons combinatoires lorsque les primitives sont ajoutés séquentiellement comme dans un logiciel de CAO. Plus généralement, chaque noeud du graphe peut être associé à des algorithmes simples permettant de générer les variantes triviales de construction d'un objet. L'avantage d'un graphe de processus génératifs a été évalué dans le cadre d'idéalisations nécessaires pour une analyse par éléments finis. Les primitives de formes simples constituant le graphe sont particulièrement adaptées à une analyse morphologique précise qui permet de caractériser des plaques/coques/membranes par rapport à des poutres/rubans et par rapport à des massifs3D. Cette analyse morphologique permet également de caractériser des détails de forme par rapport aux morphologies locales et idéalisables de M et ce, indépendamment de toute méthode numérique de calcul de structure. En outre, la décomposition de l'objet produit une description précise des interfaces géométriques entre primitives, qui ont été avantageusement utilisées pour mettre en place des idéalisations. REVENDICATIONS1. Procédé de conception assistée par ordinateur d'un second objet tridimensionnel, à partir d'un premier objet tridimensionnel M connu uniquement par ses surfaces limites (à travers un modèle volumique de type B-Rep) de type plans, cylindres, cônes, sphères, tores, à l'exclusion de formes libres dans la définition de la limite de l'objet, le procédé comportant des étapes : - de décomposition du premier objet en un ensemble de primitives volumiques simples, - d'association à ce premier objet d'un graphe de construction défini à partir de ces primitives volumiques et d'un ensemble de paramètres géométriques d'utilisation de ces primitives volumiques dans le cas spécifique de ce premier objet, - de création du second objet comme une variante du premier objet selon ce graphe de construction, par modification de certains de ces paramètres. 2. Procédé selon la revendication 1, caractérisé en ce que le graphe de 15 construction inclue toutes les variantes de construction de l'objet par des combinaisons booléennes de ces primitives. 3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que le graphe de construction, comporte en chaque noeud le plus grand nombre de 20 primitives possible qui peut être appliqué à chaque étape, ce qui permet un encodage compact d'un grand nombre de possibilités de construction d'un objet. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le graphe de construction est extrait à l'aide d'un opérateur de suppression de 25 primitive qui simplifie progressivement la forme de l'objet. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que les primitives utilisées comprennent des primitives d'extrusion, définies par deux faces parallèles comportant un contour d'extrusion, et une direction d'extrusion non 30 parallèle à ces faces. 6. Procédé selon la revendication 5, caractérisé en ce que les primitives d'extrusion sont associées à chaque noeud du graphe de construction à un opérateur booléen de type union, ce qui correspond à une opération d'ajout de matière. 7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que les primitives utilisées comprennent des primitives de révolution. 8. Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce qu'il comporte une étape d'enlèvement de rayons de raccordement de l'objet initial, notamment pour les arrondis à rayon variable. 9. Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce qu'il comporte une étape d'identification de primitives maximales à chaque étape de décomposition de l'objet, une primitive identifiée à une étape t du processus de construction d'un objet M, étant dite primitive maximale Si aucune autre primitive Pj, valide à cette même étape t, ne peut être entièrement insérée dans la primitive Pi, c'est à dire : Pi n* # Pi, où n* désigne l'opérateur booléen régularisé d'intersection. 10. Procédé selon l'une quelconque des revendications 1 à 9, caractérisé en ce que les processus génératifs utilisés sont de type additif, c'est à dire qu'ils sont exclusivement fondés sur un opérateur d'union régularisée lors de la combinaison de primitives à chaque étape t de modélisation des processus génératifs.