Nomination persistante dans un modèle paramétrique. Identification non-ambiguë et appariement générique d entités topologiques.
|
|
|
- Marie-Laure Ricard
- il y a 10 ans
- Total affichages :
Transcription
1 E cole N ationale S upérieure de M écanique et d A érotechnique Ecole Doctorale des Sciences Pour l Ingénieur Université de Poitiers THESE pour l obtention du grade de DOCTEUR DE L UNIVERSITE DE POITIERS (Faculté des Sciences Fondamentales et Appliquées) (Diplôme National Arrêté du 3 mars 992) Spécialité : INFORMATIQUE Présentée et soutenue publiquement devant la Commission d Examen le jj/mm/aa par Dago AGBODAN Nomination persistante dans un modèle paramétrique. Identification non-ambiguë et appariement générique d entités topologiques. Directeurs de Thèse : Guy PIERRA, David MARCHEIX Rapporteurs : Abdelaziz BOURAS Professeur, Université Lyon 2, Lyon Yvon GARDAN Professeur, Université de Reims, Reims Examinateurs : Yves BERTRAND Professeur, Université de Poitiers, Poitiers Pascal LIENHARDT Professeur, Université de Poitiers, Poitiers David MARCHEIX Maître de Conférences, Université de Poitiers, Poitiers Guy PIERRA Professeur, LISI / ENSMA, Futuroscope JURY E cole N ationale S upérieure de M écanique et d A érotechnique Laboratoire d Informatique Scientifique et Industrielle (E.A. 232) Téléport 2, avenue Clément Ader BP Futuroscope Chasseneuil cedex France (+33/) (+33/)
2
3 Avant-propos Les travaux de recherche présentés dans ce mémoire de thèse ont été menés au sein du Laboratoire d Informatique Scientifique et Industrielle (LISI) de l Ecole Nationale Supérieure de Mécanique et d Aérotechnique (ENSMA), dans le cadre d un doctorat d informatique proposé par l Ecole Doctorale des Sciences Pour l Ingénieur (ED-SPI) rattachée à la Faculté des Sciences Fondamentales et Appliquées (SFA) de l UNIVERSITE DE POITIERS (UP). Ces travaux ont bénéficié de nombreuses compétences, apportées par divers chercheurs que je remercie chaleureusement. Cadre de la recherche Au sein du LISI, le centre d intérêt de l'équipe Ingénierie des Données et Conception Assistée par Ordinateur (CAO) est la spécification, la représentation et le traitement des données fortement structurées, telles qu on les rencontre en particulier dans le domaine technique. Dans le cadre de notre recherche, nous nous focalisons principalement, dans le domaine de la CAO, sur la modélisation géométrique paramétrique. En nous appuyant sur des travaux de recherche antérieurs, menés au sein du laboratoire (définition mathématique des systèmes paramétriques, spécification formelle du modèle de données, etc.), et riche de l expérience (prototypes, thèses, etc.) de l équipe Interface Homme-Machine (IHM) dans le domaine de la programmation sur exemple (Programming by Demonstration ou PbD), nous proposons aujourd hui, un modèle géométrique paramétrique dont la principale caractéristique est de permettre la réévaluation de la géométrie lorsque sa description en termes d historique de construction et de paramètres a changé. Ces travaux de recherche trouvent un aboutissement dans le projet NOGEMO développé dans le cadre du RNTL 2. Ce projet, financé par les ministères chargés de la Recherche et de l Industrie, a pour objectif principal la conception et le développement d un noyau géométrique modulaire, permettant d une part, de rendre les modeleurs interopérables, et, d autre part, de les affranchir de leur modèle géométrique généralement NOGEMO : NOyau GEométrique MOdulaire pour modeleur et simulateur (multi-métiers), multi-modèles, multi-dimensions. 2 RNTL : Réseau National de recherche et d'innovation en Technologies Logicielles. Ce réseau a été mis en place par les ministères chargés de la Recherche et de l Industrie, et a reçu comme mission de favoriser les coopérations entre les équipes de la R&D industrielle et les équipes de la recherche publique dans le domaine des technologies logicielles [@nogemo]. III
4 IV AVANT-PROPOS unique. Le projet NOGEMO est bâti sur les compétences complémentaires apportées par les trois partenaires. Le SIC : les fondements théoriques et leurs expériences en développement de modeleurs géométriques à base topologique. Le LISI : nos travaux théoriques et maquettés sur la modélisation géométrique paramétrique (construction et réévaluation). La société Missler : la conception, l industrialisation et la commercialisation de sa gamme intégrée TopSolid basée sur un modeleur exact 3D volumique et surfacique. Remerciements L IRCOM-SIC est une composante de l IRCOM (Institut de Recherche en Communications Optiques et Microondes : unité mixte de recherche N 665 du CNRS) installée sur le site du Futuroscope. Ses domaines de recherche sont : le Signal, l Image et les Communications (SIC) [@sic].
5 Table des matières INTRODUCTION GÉNÉRALE... MOTIVATIONS.... Contexte Problématique Objectifs TRAME DU MÉMOIRE... 3 FONDEMENTS DE LA MODÉLISATION PARAMÉTRIQUE... 7 INTRODUCTION Contexte Bref historique Notion de modèle Trame du chapitre... 2 MODÉLISATION GÉOMÉTRIQUE Modèles graphiques Modèles graphiques 2D Modèles graphiques 3D Modèles surfaciques Courbes paramétrées Surfaces paramétrées Modèles solides Modèles d instanciation de primitives Modèles de partitionnement spatial Modèles de construction géométrique solide Modèles de représentation par frontières Limites de la modélisation géométrique MODÉLISATION PAR CARACTÉRISTIQUES Concept de caractéristique Taxonomies Taxonomies spécifiques à une application Taxonomies indépendantes du contexte d application Techniques de création Reconnaissance de caractéristiques Reconnaissance interactive Reconnaissance automatique...28 V
6 VI TABLE DES MATIERES Conception par caractéristiques Approche fonctionnelle Approche équationnelle Relations entre caractéristiques Limites MODÉLISATION PARAMÉTRIQUE Taxonomie Modèle paramétrique équationnel Modèle paramétrique fonctionnel Modèle hybride Architecture commune aux modèles paramétriques Instance courante Spécification paramétrique Lien entre la géométrie et les contraintes Problème de nomination persistante dans les modèles paramétriques Nécessité du nom Nécessité d une structure de noms Nécessité d un appariement des noms Capture de différentes sémantiques État de l art Approches a posteriori Kripac Chen OCAF Wu et ses collègues Approches a priori Shapiro Raghothama Hoffmann et son équipe Discussions CONCLUSION... 5 PS 2 : UN MODÈLE À TROIS NIVEAUX... 5 INTRODUCTION Problématique Trame du chapitre CINQ POINT-CLÉS POUR UNE NOMINATION PERSISTANTE Notion de coque Distinction invariant / contingent Approche locale / globale Pondération de la topologie par la géométrie Préservation (Non-perte) de l information VUE D ENSEMBLE DU MODÈLE PARAMÉTRIQUE PS Noyau géométrique Spécification paramétrique Gestion des noms Nomination Appariement...7
7 TABLE DES MATIERES VII 4 ARCHITECTURE DU MODÈLE PARAMÉTRIQUE CONSTRUCTION Graphe orienté de coques Rôles du graphe de coques / faces Structure du graphe Liens historiques Liens hiérarchiques Étiquetage du graphe de coques / faces Distinction outil / résultat Nomination des faces et coques invariantes Faces invariantes Structure invariante à topologie fixe Structure invariante à topologie variable Coques invariantes Nomination des faces et coques contingentes Faces contingentes Coques contingentes Table des entités référencées Arêtes Sommets RÉÉVALUATION ET APPARIEMENT Réévaluation de la géométrie Appariement des graphes Appariement des faces et coques invariantes Faces invariantes Structure invariante à topologie fixe Structure invariante à topologie variable Coques invariantes Appariement des faces et coque contingentes Faces contingentes Calcul des recouvrements génériques Ratios de ressemblance δ et δ Croisement global Relations de recouvrement Calculs effectifs de l appariement : identification des faces croisées Simplification Seuil ε Longueur des chemins Coques contingentes Substitution des noms Regroupement des noms Résolution des entités référencées dans l instance courante Arêtes Sommets CONCLUSION INTÉGRATION DU MODÈLE PS 2 À UN MODELEUR GÉOMÉTRIQUE INTRODUCTION Notions de modèle d architecture d applications interactives Trame du chapitre... 29
8 VIII TABLE DES MATIERES 2 ARCHITECTURE PARAMÉTRIQUE DU MODELEUR Modèle géométrique CasCade Description paramétrique Architecture générale Spécification paramétrique Nœud / Coque Graphe Structure générale Caractéristiques de forme Paramètres Modes de fonctionnement Construction Nomination Réévaluation Appariement Appariement des graphes Résolution du nom des entités référencées DESCRIPTION DE L INTERFACE DU MODELEUR Modèle H Interface Visualisation de la géométrie Visualisation du graphe Visualisation de la spécification paramétrique et des paramètres Dialogue Construction Automates Modification Réévaluation CONCLUSION CONCLUSION GÉNÉRALE... 5 TRAVAIL RÉALISÉ Apports et résultats Domaine de validité des résultats PERSPECTIVES SYNTHÈSE BIBLIOGRAPHIE RENVOIS... 7 RÉFÉRENCES INTERNET CAO Fonds documentaires Autres liens ILLUSTRATIONS Liste des figures Liste des tableaux... 77
9 TABLE DES MATIERES IX ANNEXES... 8 DÉFINITIONS ABRÉVIATIONS EXPRESS-G EXEMPLE DE GRAPHE INDEX... 89
10
11 Introduction générale Avec l avènement d ordinateurs de plus en plus puissants et de moins en moins onéreux, la modélisation géométrique s est répandue, depuis le début des années 96, aussi bien dans le monde de la recherche universitaire que dans le monde industriel. Aujourd hui, la modélisation géométrique, c est-à-dire la représentation sous forme informatique et la manipulation virtuelle de formes géométriques d objets, est présente dans des domaines aussi variés que l architecture, la mécanique, la cinématographie, la biologie, les jeux vidéo, la médecine, etc.. En particulier, la modélisation géométrique est présente dans le domaine de la CAO / FAO (Conception / Fabrication Assistée par Ordinateur ou encore CFAO) qui se généralise dans l industrie, notamment pour la réduction des coûts et des temps de production, ainsi que pour la gestion du cycle de vie (conception, validation, fabrication, maintenance, recyclage / réutilisation, etc.) des produits. Pour faire face à ces nouveaux enjeux, les systèmes de CAO usuels (EUCLID, AutoCAD, etc.) qui représentent les objets réels sous forme de géométrie évaluée, autrement dit figée, ne suffisent plus. En effet, la description géométrique statique ne permet pas sa réutilisation sous différentes variations. En outre, cette description ne permet pas, par manque d informations pertinentes, son intégration, au-delà de la conception, au processus de fabrication (usinage, vérification, analyse, etc.) d un produit. Afin de pallier ce manque de flexibilité, il y a eu émergence de systèmes paramétriques (Pro/ENGINEER, I-DEAS, CATIA, TopSolid, etc.) qui conservent simultanément une représentation explicite de l objet conçu (la géométrie) et une représentation abstraite de celui-ci. Cette représentation abstraite peut être une suite de commandes ayant permis de construire l objet, une liste de caractéristiques de forme, un historique de fonctions de construction, un ensemble de contraintes entre les entités géométriques, etc.. Motivations La conception assistée par ordinateur étant un processus de traduction d un concept de produit vers une description compréhensible (pour l ordinateur), il est important que les concepteurs puissent disposer d outils leur permettant d associer une certaine sémantique à la géométrie des objets modélisés. En effet, la géométrie ne décrit que la forme des objets alors que leur caractérisation peut s étendre aux informations technologiques (trou, rainure, poche, etc.), aux fonctionnalités (un trou peut être : le passage d un câble, une fixation Une caractéristique de forme (ou forme fonctionnelle ou bien form feature dans la littérature anglophone) est un assemblage d entités géométriques élémentaires qui apparaît fréquemment dans la forme d un objet mécanique ou autre, et qui joue un rôle fonctionnel. Par exemple : une rainure, un bossage, un chanfrein, etc. (voir la section Modélisation par caractéristiques dans la section 3 du premier chapitre pour plus de détails).
12 2 INTRODUCTION GENERALE dans un assemblage, un élément esthétique, etc.), aux procédés de fabrication (fraisage, perçage, pliage, moulage, etc.), à la validation (inspection, état de surface, tolérance, fabricabilité, etc.), etc.. D où l apparition sur le marché de systèmes de CAO à base de caractéristiques et de systèmes de CAO paramétriques.. Contexte L ingénierie collaborative a étendu le champ d application de la conception traditionnelle en y incluant la gestion d une partie de plus en plus importante du cycle de vie des produits modélisés. L évolution progressive de la modélisation d objets réels peut schématiquement être réduit à quatre points. () Le besoin de représenter et manipuler virtuellement des objets réels, qui a donné lieu au développement des modèles géométriques ; (2) l insuffisance de cette approche et le souhait de représenter des informations autres que géométriques, notamment des informations fonctionnelles, qui a introduit les modèles à base de caractéristiques et en particulier de caractéristiques de forme ; (3) le souhait de représenter une unique fois les objets et d utiliser facilement plusieurs variations de cette représentation, qui a fait naître les modèles paramétriques ; (4) l ambition de représenter dans la même structure de données toutes les informations indispensables aux multiples phases du cycle de vie des objets, qui s est traduite par l approche modélisation produit. Nous nous intéressons essentiellement à la modélisation paramétrique, donc uniquement aux trois premiers points, et, en particulier au problème posé par la réévaluation d un modèle paramétrique lorsque celui-ci subit des variations de sa topologie..2 Problématique Le fait de conserver non seulement une représentation géométrique mais également une représentation abstraite (que nous allons appeler spécification paramétrique ou spécification) de l objet modélisé, nécessite d établir et de maintenir des liens entre ces deux représentations. La spécification et la géométrie sont gérées en parallèle, et sont fortement interdépendantes. En effet, étape après étape la spécification se base sur la géométrie existante (paramètres d entrée des fonctions, cibles des contraintes, etc.) pour générer une nouvelle géométrie (résultat des fonctions, résolution des contraintes, etc.) qui à son tour pourra être utilisée par cette spécification. Ce sont donc ces liens entre la spécification et la géométrie qui doivent être maintenus. Plus précisément, quels que soient les paramètres et quelles que soient les réévaluations d un modèle paramétrique, tous les liens entre la spécification paramétrique et la géométrie doivent rester valides. Autrement dit, lorsqu un élément de la spécification paramétrique référence une entité géométrique ou topologique, cet élément doit référencer la «même» entité quel que soit le modèle réévalué. Le problème, notre problème, est donc d assurer la robustesse des liens entre la spécification et la géométrie, c est-à-dire que ces liens restent les «mêmes» ou du moins que l évolution de ces liens soit parfaitement prédictible. Par réévaluation d un modèle paramétrique nous entendons la modification d un certain nombre de paramètres puis la reconstruction de l objet modélisé. Lorsqu il y a modification des contraintes, c est-à-dire modification de la spécification paramétrique, nous parlons d édition du modèle paramétrique.
13 MOTIVATIONS 3.3 Objectifs Pour assurer la robustesse des liens entre la spécification et la géométrie, il est d abord nécessaire, durant la phase de création, d établir ces liens en rendant identifiables, dans la spécification paramétrique, les entités géométriques et topologiques. Ensuite, durant la phase de réévaluation, les entités géométriques et topologiques doivent porter les «mêmes» identifiants, ce qui suppose, d une part, qu il soit possible de les retrouver dans le modèle réévalué, et, d autre part, qu il soit possible de définir et de qualifier le terme même qui peut varier d une application à une autre. Nous souhaitons donc proposer une structure de données globale permettant : d identifier, c est-à-dire de nommer de manière unique et non-ambiguë toutes les entités géométriques et topologiques du modèle, de retrouver ces entités lors des réévaluations, c est-à-dire de mesurer des ressemblances entre les entités géométriques et topologiques du modèle initial et celles du modèle réévalué, et de mettre en œuvre d un mécanisme générique d appariement permettant de «retrouver» la ou les entités réévaluées qui représentent au mieux une entité du modèle initial, même lorsque sa réévaluation entraîne des modifications de topologie. Pour répondre à tous ces objectifs, nous allons d abord clarifier les notions de modèle paramétrique, de nomination, d appariement, etc., puis proposer une structure de données et un ensemble de méthodes qui permettent de bâtir un système paramétrique robuste. 2 Trame du mémoire Le fil directeur de ce mémoire est la modélisation paramétrique, fil autour duquel vont se nouer divers aspects tels que la géométrie, les caractéristiques, les contraintes, les problèmes de références entre la géométrie et les contraintes, les modèles existants, leurs spécificités et insuffisances, les aspects algorithmiques, les contraintes d implémentation, etc.. Pour disserter sur tous ces aspects, nous avons subdivisé ce mémoire de thèse en trois chapitres. Fondements de la modélisation paramétrique Le premier chapitre, après un bref survol historique et un rappel sur la notion de modèle, introduit les modèles (géométriques, à base de caractéristiques et paramétriques) les plus couramment utilisés dans le domaine de la CAO. Dans un premier temps nous présentons différents modèles géométriques ; entre autres les modèles graphiques, les modèles surfaciques et les modèles solides dont en particulier les modèles par construction géométrique solide (CSG) en évoquant leurs insuffisances et en étudiant dans quelle mesure ils peuvent être considérés comme des modèles paramétriques. Nous présentons ensuite le concept de caractéristique, les différents types de caractéristiques qui existent, les techniques de
14 4 INTRODUCTION GENERALE création notamment la conception par caractéristiques qui s apparente largement à la modélisation paramétrique (de par la dualité spécification / géométrie). La dernière partie est consacrée à la modélisation paramétrique. Nous y exposons une taxonomie des différents modèles paramétriques, ainsi que leur architecture commune. Après cette mise en perspective de la modélisation paramétrique, nous abordons le cœur du problème, c està-dire la nomination des entités géométriques et topologiques. PS2 : un modèle à trois niveaux Le deuxième chapitre répond aux objectifs fixés en décrivant une structure de données (PS 2 : Persistent Solving Structure) permettant de mettre en œuvre les mécanismes de nomination et d appariement des entités géométriques et topologiques. Notre modèle paramétrique identifie (nomme) et apparie toutes les entités par rapport à leur topologie sous-jacente. Le mécanisme de nomination est basé à la fois sur la structure invariante de chaque classe de caractéristique (définie dans une taxonomie) et sur son évolution temporelle, conservée dans une structure particulière de graphe. À chaque réévaluation, le mécanisme d appariement (GM 2 : Generic Matching Method) compare le graphe initial et le graphe réévalué, établit des degrés de ressemblance et met en correspondance les entités du modèle initial et celles du modèle réévalué. Dans un premier temps nous présentons une vue d ensemble du modèle mettant en exergue les liens entre la géométrie et la spécification, spécification pour laquelle nous définissons une taxonomie de caractéristiques. Ensuite nous abordons l architecture de notre modèle en détaillant la structure de graphe de coques / faces qui nous permet () de tracer l évolution des faces et des coques, (2) de nommer toutes les entités en termes de faces et de coques, (3) d évaluer et conserver les degrés de ressemblance entre coques / faces initiales et réévaluées, et (4) de mettre en œuvre le mécanisme d appariement. Ce mécanisme d appariement est explicité dans la dernière partie où nous décrivons les approches algorithmiques permettant de définir un degré de ressemblance entre entités. Puis, nous montrons comment un appariement spécifique peut être fait à partir de ce degré de ressemblance. Intégration du modèle PS2 à un modeleur géométrique Le troisième et dernier chapitre présente l implémentation de notre modèle PS 2 sur le noyau géométrique de CasCade à l aide de l environnement de développement Visual C++. Dans la première partie nous présentons, du point de vue implémentation, d une part l architecture du modèle (géométrie, graphe, caractéristiques, paramètres), et, d autre part, la réalisation du
15 TRAME DU MEMOIRE 5 mécanisme d appariement des entités topologiques. Dans la seconde partie nous décrivons l interface utilisateur ainsi que les dialogues de construction, modification et réévaluation du modèle.
16
17 Chapitre Fondements de la modélisation paramétrique Résumé. La deuxième moitié du XX ème siècle a vu la naissance et l évolution des systèmes de CAO qui passent de simples outils d esquisse à des systèmes plus complexes conservant non seulement la géométrie mais également des informations additionnelles permettant de gérer divers aspects du cycle de vie des objets modélisés. Les modèles géométriques (CSG, BRep, G-cartes, etc.) qui ont été largement étudiés et développés pour leur aptitude à représenter simplement et fidèlement les objets, se limitent à la description de la géométrie de ces objets. Insuffisants pour appréhender les intentions du concepteur, ainsi que pour gérer l usinage des pièces, les modèles géométriques se sont enrichis d une information fonctionnelle encapsulée dans des caractéristiques. Ces modèles à base de caractéristiques et en particulier de caractéristiques de forme procurent un vocabulaire de plus haut niveau (rainure, bossage, arrondi, etc.) et plus étendu (tolérance, matériau, métrologie, etc.) que les simples entités géométriques (point, cercle, cylindre, etc.) pour décrire les gestes constructifs portant sur les objets. Lorsque cette description (géométrie, paramètres, contraintes, etc.) est conservée et exploitée dans une perspective de réutilisation (dans le sens : variations de paramètres et réévaluation de la géométrie), on parle de modèle paramétrique. Bien que connus par la communauté scientifique depuis plus d une décennie, ces modèles paramétriques posent un problème encore mal résolu, à savoir la robustesse des références entre la géométrie et les contraintes. Introduction Les modèles à base de caractéristiques et particulièrement les modèles paramétriques sont apparus en réponse aux besoins de l industrie dans les domaines de la conception et de la fabrication, notamment en réponse aux besoins de réduction de coût et de durée de développement des produits.. Contexte Nous nous intéressons essentiellement à la modélisation paramétrique dont l objectif est d une part, de représenter de manière virtuelle la forme d objets réels, et, d autre part, de faciliter les modifications de cette forme en faisant varier un certain nombre de valeurs la caractérisant. La forme des objets peut être représentée à travers la modélisation géométrique, et les informations autres que géométriques (essentiellement paramètres et contraintes) peuvent, en particulier, être représentées à travers la 7
18 8 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE modélisation par caractéristiques. La modélisation paramétrique regroupe donc aussi bien la modélisation géométrique que la modélisation par caractéristiques..2 Bref historique Ce chapitre se concentre sur les techniques et principes fondamentaux de la modélisation paramétrique, néanmoins, dans cette section, nous donnons un bref aperçu du développement historique de la CAO pour situer les systèmes actuels dans leur contexte. L histoire de la représentation d objets réels et de leur processus de construction (tracé, plan, maquette, etc.) se confond probablement avec l histoire de l architecture navale et du bâtiment, mais le traitement informatique des données date de la fin des années 95 et du début des années 96. Les premiers systèmes de CAO étaient en fait des outils d esquisse et de représentation graphique des objets. Le développement des modèles de CAO, liés à des outils spécifiques, a été influencé par quatre domaines [Requicha 8] : Les machines à commandes numériques. Elles sont apparues au début des années 95 au MIT (Massachusetts Institute of Technology). L existence d outils contrôlés numériquement a créé le besoin de modèles de représentation numérique de pièces mécaniques capables de piloter des machines à commandes numériques. L industrie aéronautique et automobile. Premières utilisatrices de machines à commandes numériques, ces industries ont très tôt développé, de façon plus ou moins simultanée, en France et aux États-Unis, des modèles basés sur les surfaces de formes libres. Nous pouvons citer les travaux pionniers de Bézier (Renault), De Casteljau (Citroën), Coon (Ford) et Ferguson (Boeing). L infographie. La nécessité de manipuler graphiquement des objets a rapidement conduit à se poser le problème de leur représentation en machine. Un système précurseur fut le Sketchpad, développé en 963 par Sutherland [Sutherland 63]. Les méthodes d éléments finis. Ce domaine s est développé de façon parallèle et séparée des autres domaines. Dans les années 97 les générateurs automatiques et semi-automatiques de maillage font leur apparition. D un strict point de vue chronologique, les développements ne se sont pas faits en respectant ce qui pourrait être admis comme une échelle de difficulté, pour passer des modèles bidimensionnels (2D) aux modèles tridimensionnels (3D), et parmi ceux-ci, du fil de fer au surfacique pour aboutir à la modélisation des solides. En effet, plusieurs travaux se sont déroulés en parallèle et ont évolué indépendamment les uns des autres. Quelques dates clés peuvent être retenues pour résumer l évolution des systèmes de CAO. Après le travail pionnier de Sutherland [Sutherland 63] qui développe un système interactif de dessin 2D, la voie est ouverte aux développements de modèles 3D. La fin des années 96 ainsi que le début des années 97 sont marquées par le passage à la 3D. Deux équipes de recherche développent en parallèle des modèles aptes à représenter des objets 3D. Les premiers modèles qui représentent la frontière (BRep) sont basés sur des représentations fil de fer, polygonales et sont développés par Braid à l Université de Cambridge [Braid 75] [Braid et al. 8]. Simultanément, à l Université de Rochester, Requicha et Voelcker proposent le modèle CSG, basé sur un ensemble fini d opérations booléennes appliquées à des demi-espaces [Requicha 77]. Après les modeleurs géométriques, la fin des années 97 voit d une part, l apparition de modeleurs à base de caractéristiques de forme permettant d intégrer la
19 INTRODUCTION 9 conception au processus de fabrication, et, d autre part, la naissance d algorithmes d extraction de caractéristiques de forme à partir de modèles géométriques. Il est possible de citer les travaux de Kyprianou sur la reconnaissance topologique automatique de caractéristiques de forme [Kyprianou 8] et les travaux de Woo sur l extraction de caractéristiques de forme par la méthode de décomposition en enveloppes convexes [Woo 82]. Les années 97 et 98 sont marquées par l introduction de surfaces de formes libres dans les modèles BRep ainsi que par l utilisation de NURBS (Non-Uniform Rational B- Spline : c est-à-dire courbe B-Spline rationnelle non-uniforme) permettant l homogénéisation des différentes surfaces de formes libres utilisées dans différents systèmes de modélisation [Gordon et al. 74]. La fin des années 98 et le début des années 99 connaissent le développement de différents prototypes de systèmes de modélisation par caractéristiques de forme, à la fois dans les laboratoires de recherche universitaires [Pratt et al. 87] [Miner 85] [Cunningham et al. 88] [Cutkosky et al. 88] [Shah et al. 88a] [Mäntylä et al. 89] et dans les bureaux d études du monde industriel avec entre autres : Pro/ENGINEER [@ptc], CasCade [@opencascade] et CATIA [@catia]. La dernière décennie du XX ème siècle est marquée par la représentation des non-variétés et des objets non-rigides (fluides, nuages, objets élastiques, etc.) ainsi que l implémentation commerciale de systèmes de modélisation paramétrique : Pro/ENGINEER [@ptc], CATIA [@catia], TopSolid [@topsolid], etc.. Aujourd hui, la tendance est à la modélisation produit (product modeling), c est-àdire la représentation, dans une structure de données globale, de toutes les informations nécessaires à la gestion des différentes phases du cycle de vie d un produit. L approche produit consiste donc à décrire un produit par un ensemble d attributs véhiculant des informations géométriques, fonctionnelles, matérielles, administratives, etc., permettant d extraire du produit des vues propres à chaque métier..3 Notion de modèle Depuis que l homme existe, ses sens lui transmettent des informations sur la réalité qui l entoure. Avec ces informations, il tente d établir des régularités en vue d obtenir une image simplifiée et une connaissance organisée de cette réalité. L observation permet de repérer de telles régularités, de trouver des relations entre elles, de les reproduire grâce à l expérimentation, puis, par la construction d un modèle, de les comprendre, de les prévoir et de les expliquer [Hachette ]. Cette interprétation de la notion de modèle n est pas la seule possible, en suivant Habrias nous pouvons distinguer trois notions de modèles [Habrias 97] : Celle de Minsky, dite aussi celle de l ingénieur : «M est un modèle d une réalité R pour un observateur O s il permet de répondre aux questions que se pose O sur R» [Minsky 86]. Un modèle est un prototype, une simulation de la réalité. Celle du mathématicien appliqué : la réalité est abstraite en utilisant des concepts mathématiques (ensembles, relations, graphes, etc.). To an observer B, an object A* is a model of an object A to the extent that B can use A* to answer questions that interest him about A. [Minsky 86]
20 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE Celle du logicien : la sémantique va être exprimée par une fonction d identificateurs vers des signifiants. En d autres termes, au lieu de dire qu un type abstrait est une description de ce qui peut être appliqué à certaines choses dans le monde, on dit que ces choses sont des «instanciations» du type. Nous retiendrons la définition de Minsky. De façon générale, nous pouvons définir un modèle comme une structure formelle utilisée pour conserver un ensemble d informations nécessaires à la représentation d un objet, pour un certain point de vue. Cette définition de modèle va nous servir de base pour établir les notions de modèles graphique, géométrique, à base de caractéristiques de forme et surtout de modèle paramétrique..4 Trame du chapitre Les parties introductives ont laissé entrevoir les liens qui existent entre la géométrie, les caractéristiques, les contraintes et le paramétrique. Nous allons donc présenter, plus en détail, chacun de ces domaines et montrer précisément comment ils s articulent entre eux. Après cette première section qui rappelle succinctement l historique de la CAO et introduit la notion de modèle, nous nous attelons, dans la section suivante, à présenter brièvement différentes méthodes de modélisations géométriques, leurs insuffisances ainsi que les nouveaux besoins qui induisent l évolution des simples systèmes d esquisse 2D aux modeleurs solides, et, à terme, aux modeleurs paramétriques. Pour chaque type de modélisation géométrique nous présentons certains modèles, en mettant en exergue ceux qui peuvent être assimilés à un «modèle paramétrique». Une troisième section est consacrée à la modélisation par caractéristiques, et plus particulièrement à la modélisation par caractéristiques de forme, qui répond au besoin d associer aux gestes constructifs une sémantique plus forte que celle véhiculée par les primitives géométriques élémentaires (point, droite, cercle, plan, cube, etc.) et les opérations de construction élémentaires (union, intersection, balayage, etc.). Finalement, nous dissertons sur la modélisation paramétrique en précisant sa problématique et en détaillant les différents travaux se rattachant à ce domaine. Notons que la présentation des différents types de modélisations d objets ne trouve pas sa justification dans une finalité didactique ou historique, mais bien dans la dimension duale des modèles paramétriques qui ont à la fois une composante géométrie et une composante spécification. Cette présentation chronologique permet très naturellement de définir chacune des composantes ; de comprendre dans quelle mesure un modèle géométrique ou à base de caractéristiques est un modèle paramétrique ; de percevoir les relations existant entre caractéristiques et par la suite entre la géométrie et la spécification ; et finalement, d appréhender la difficulté d établir et de maintenir ces relations. 2 Modélisation géométrique La représentation d objets réels du point de vue de leurs propriétés géométriques (et non pas fonctionnelles) est connue sous le terme modélisation géométrique. Il s agit donc d une partie de la modélisation d un objet ne prenant pas en compte ses aspects physiques, excepté la forme. Le but de la modélisation géométrique est de définir une représentation informatique d un objet géométrique afin de pouvoir le manipuler de manière virtuelle. Par
21 MODELISATION GEOMETRIQUE extension, un système de modélisation géométrique, encore appelé modeleur géométrique, est un programme informatique qui permet de stocker et de manipuler des structures de données qui représentent la géométrie d objets individuels ou d assemblages. Ces représentations peuvent soit être créées par un utilisateur humain à travers une interface graphique (GUI : Graphic User Interface), soit spécifiées par une application logicielle via une interface de programmation (API : Application Programming Interface). Dans une application interactive classique, un utilisateur sélectionne et manipule des primitives de modélisation (des instances de formes géométriques simples, telles que des cylindres ou des lignes) et utilise des opérations de modélisation (opérations booléennes, génération par balayage, construction par caractéristiques de forme, etc.) qui combinent ou transforment ces primitives en des représentations plus élaborées. De notre point de vue, il serait possible de répartir les modèles géométriques en deux catégories suivant que la structure de données contient ou non la manière dont les objets ont été construits et donc se déclinent ou non en modèles paramétriques. Néanmoins, nous exposons une présentation «classique» des différents modèles géométriques en précisant dans quelle mesure ils appartiennent à la famille des modèles paramétriques. De manière générale, il est possible de répartir les méthodes de modélisation géométrique en trois grandes catégories, ne s excluant pas nécessairement mutuellement : la modélisation graphique (aussi bien 2D que 3D), la modélisation surfacique et la modélisation solide. 2. Modèles graphiques Pendant longtemps les systèmes de CAO ont été non pas des systèmes de Conception Assistée par Ordinateur mais des systèmes de Dessin Assisté par Ordinateur. D abord bidimensionnels, 2D et 2D½ pour les systèmes conservant des informations sur certaines cotes, les systèmes s enrichissent d une dimension supplémentaire et deviennent 3D vers la fin des années Modèles graphiques 2D Les modèles graphiques 2D sont basés sur des primitives graphiques telles que des lignes, arcs, coniques, textes, symboles et autres notations nécessaires à la description de dessins techniques. Chaque primitive graphique possède un certain nombre d attributs graphiques (une ligne par exemple peut être en pointillé, d épaisseur 2pts, de couleur rouge, etc.) déterminant son affichage. Certains systèmes 2D et outils d esquisse proposent des primitives graphiques associatives représentant non seulement les entités graphiques mais également la manière dont elles ont été construites (sous forme de fonctions de construction ou sous forme d équations). L exemple ci-dessous décrit la succession des gestes constructifs (ici des fonctions de construction) correspondant au contour graphique.
22 2 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE D 2 D P D Construire_Droite_Horizontale (.) D2 Construire_Droite_Verticale (2.) P Construire_Point_Cartésien (.,.) C Construire_Cercle_Centre_Rayon (P, 4.) Cont Construire_Contour_Ferme ((D, D2, C)) C Figure Association entre entités graphiques et gestes constructifs permettant de conserver le processus de construction et donc de le rejouer avec des valeurs différentes. L avantage de ce type de représentation réside dans le fait que le processus de construction peut être complètement enregistré (phase de construction) et éventuellement rejoué (phase de réévaluation). Ces systèmes permettent donc la réalisation de dessins paramétriques. Paramétrique dans le sens où le dessinateur peut faire varier un certain nombre de paramètres (ici, par exemple, le rayon du cercle) et rejouer le processus de construction. Cette facilité d utilisation simplifie le processus de conception mais peut aboutir à des problèmes lors de la réévaluation. En effet, que se passe-t-il si le cercle et les droites ne sont plus jointifs? Comment traiter les solutions multiples ou inexistantes dans le cas des systèmes d équations? Tous ces problèmes vont être évoqués dans la section 4 décrivant les modèles paramétriques Modèles graphiques 3D Analogues aux modèles 2D, les modèles graphiques 3D reposent sur des primitives graphiques définies dans un espace tridimensionnel. Très utile pour sa concision, sa rapidité de visualisation et sa capacité à générer, par projection, les différentes vues typiquement utilisées dans les dessins industriels, ce modèle a été employé par la majorité des premiers systèmes de CAO pour représenter des solides. Les modèles graphiques 3D sont parfois classés, sous la terminologie modèle fil de fer (voir la section 2.3.4), dans les modèles solides [Shah et al. 95]. Remarquons que la classification du modèle fil de fer parmi les méthodes de représentation de solides, est plus liée à son utilisation initiale qu à sa réelle capacité de modélisation de solides. En effet, d une part, il est possible de représenter graphiquement des objets qui n ont aucun pendant dans le monde réel, et, d autre part, à une même représentation graphique peut correspondre plusieurs objets réels différents. La Figure 2 illustre, par deux exemples classiques, la non-validité et l ambiguïté de certaines représentations graphiques. (a) (b) Figure 2 Problèmes des modèles graphiques. (a) Non-validité : un objet sans pendant réel peut être représenter. (b) Ambiguïté : plusieurs objets peuvent avoir la même représentation.
23 MODELISATION GEOMETRIQUE Modèles surfaciques Les modèles graphiques permettent de capturer les formes géométriques simples qui correspondent aux informations géométriques de base nécessaires au dessin technique. Cependant, la géométrie de certaines pièces mécaniques ne peut pas être représentée à l aide de primitives graphiques simples. C est notamment le cas des formes complexes qui existent dans les domaines aéronautique, automobile et naval (carlingues, pales, ailes, carrosseries, coques, hélices, etc.). Pour représenter les pièces mécaniques en termes de surfaces afin de pouvoir piloter les machines à commandes numériques, les ingénieurs et chercheurs ont développé, entre autres, les courbes et surfaces paramétrées. Il existe des modèles spécialisés tels que les modèles fractals, les modèles basés sur des grammaires, etc. [Foley et al. 95] qui sont hors du cadre de notre étude Courbes paramétrées Une simple représentation analytique permet de modéliser des courbes. Il est possible d exprimer y et z comme des fonctions explicites de x ; soient y f(x) et z g(x). Les difficultés avec cette approche sont () l impossibilité d avoir plusieurs valeurs de y pour un seul x, donc les courbes telles que les cercles et les ellipses doivent être représentées par de multiples segments ; (2) qu une définition sous cette forme n est pas invariante par rapport aux transformations géométriques rigides ; (3) et que la description des courbes avec des tangentes verticales est difficile. Il est également possible de modéliser les courbes comme solutions d équations implicites (soit f(x, y, z) ). Les inconvénients de cette modélisation sont () la représentation de segments de courbes (par exemple, il faut ajouter la contrainte x à l équation implicite x 2 + y 2 r 2 pour modéliser un demi-cercle) ; (2) que cette forme est elle aussi dépendante du système de coordonnées ; (3) et qu il peut être difficile de déterminer si les tangentes aux points de jonction de courbes sont concordantes. y(u) 2 x 2 (a) y(u) P 2 P 3 (b) x C u y y u C P 4 x(u) 3u 2 2u + y(u) -2u 3 + 2u P C P 2 P 2 2 x(u) x(u) Figure 3 (a) Exemple de représentation paramétrée d une courbe 2D avec les courbes dans leur espace de paramètre (u,x) et (u,y). (b) Famille de courbes de Bézier (C, C et C ) et leurs points de contrôle. Seul le point P 2 varie pour chaque courbe. Son influence peut être assimilée à l action d un ressort entre le point de contrôle et la courbe. La représentation paramétrée des courbes, x x(u), y y(u), z z(u), résout ces problèmes. Les équations sont découplées et chaque coordonnée est exprimée en fonction d une variable additionnelle u variant généralement (mais pas nécessairement) dans l intervalle [, ]. Les fonctions x, y et z sont souvent des polynômes en u, cubiques parce que les polynômes de degré inférieur donnent trop peu de flexibilité dans le contrôle de la
24 4 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE forme d une courbe, et parce que les polynômes de degré supérieur sont plus coûteux en temps de calcul et peuvent introduire des perturbations non désirées. Les principales courbes cubiques paramétrées sont les courbes Hermitiennes, définies par les deux points extrêmes et les deux tangentes vectorielles en ces points ; les courbes de Béziers, définies par un certain nombre de points de contrôle qui définissent le polygone dans lequel doit s inscrire la courbe ; et plusieurs sortes de Splines, chacune définie par des points de contrôle (illustrée sur la Figure 3-b). Il existe différents types de Splines, les plus connues sont les B-Splines uniformes et les B-Splines non-uniformes, rationnelles ou non. Les chapitres 3, 4 et 5 de [Mortenson 97] ainsi que le chapitre 9 de [Foley et al. 95] discutent largement les courbes en modélisation géométrique Surfaces paramétrées Le principal avantage de la représentation paramétrée de courbes est qu elle peut être généralisée aux surfaces. La modélisation par des surfaces paramétrées consiste à utiliser des équations paramétriques explicites et continues, pour définir de façon exacte, en partie ou en totalité, la frontière de l objet. Une définition paramétrique de la surface S d un objet 3D peut alors s exprimer à l aide d une équation S dépendant de deux paramètres u et v : S { (x, y, z) R 3 / (u, v) [a, b ] [a 2, b 2 ] avec ( x(u, v), y(u, v), z(u, v) ) (x, y, z) }. Il existe différentes familles de surfaces paramétrées. En particulier, les surfaces Hermitiennes, les surfaces de Béziers, les surfaces B-Splines (uniformes ou non) dont une présentation est développée dans les chapitres 3, 4 et 5 de [Mortenson 97]. Hormis les surfaces paramétrées, les surfaces fréquemment utilisées sont les surfaces réglées, que le lecteur intéressé pourra retrouver dans le chapitre 9 de [Foley et al. 95]. Les modèles surfaciques abordés dans cette partie peuvent être utilisés dans la modélisation solide pour définir chacune des surfaces créant le solide. Cependant, il est à noter que ces surfaces ne représentent pas forcément la frontière d un volume. Nous avons évoqué ici les modèles basés sur des courbes ou surfaces paramétrées pour leur aspect «paramétré». Il faut noter que ces modèles ne sont pas des modèles paramétriques, dans le sens où les paramètres représentent des positions (sur la courbe ou sur la surface) et non pas une «famille» de courbes ou de surfaces (tel qu un paramètre-rayon pourrait représenter une famille de cercles). 2.3 Modèles solides Les modèles solides servent à représenter et manipuler des objets tridimensionnels. Requicha fournit une liste de propriétés formelles et informelles que devrait posséder chaque modèle solide [Requicha 8]. Le () domaine de représentation devrait être assez grand pour permettre à un ensemble utile d objets physiques d être représentés. Idéalement la représentation devrait être (2) unique : un solide ne correspond qu à une seule représentation ; (3) non-ambiguë ou encore complète : une représentation donnée correspond à un et un seul solide ; et (4) valide : chaque représentation virtuelle possède un pendant réel. La création devrait être (5) aisée : la représentation doit être facile à créer et à modifier ; et maintenir la (6) clôture ou fermeture des solides : les opérations de création, modification et de transformation rigide préservent la validité du modèle. Le modèle devrait être (7) concis : les informations sont peu redondantes et occupent peu de place en mémoire ; et de forte (8) applicabilité : la représentation doit permettre l usage d algorithmes efficaces de calcul, de modification, de manipulation, d interrogation, etc..
25 MODELISATION GEOMETRIQUE 5 Les modèles solides qui existent sont en général un compromis entre ces différentes propriétés. Plus de détails, particulièrement sur les aspects de la modélisation des objets solides, peuvent être trouvés dans [Requicha 8] [Mortenson 97] [Mäntylä 88] [Shah et al. 95]. À l origine, les modèles solides ont été développés pour pallier le problème de la non-validité et de l ambiguïté de certaines représentations graphiques et le problème de l absence de notion d intérieur / extérieur dans les modèles surfaciques. Après plus d un quart de siècle d évolution, les modèles solides sont devenus un domaine bien établi [Hoffmann 89] [Mäntylä 88] [Requicha 8] [Requicha et al. 92]. Un solide peut être vu comme un ensemble de points de l espace euclidien tridimensionnel. En général, le solide est soit défini par son volume intérieur, c est le cas des modèles d instanciation de primitives, des modèles de partitionnement spatial et des modèles de construction géométrique solide; soit défini par sa surface frontière : c est le cas des modèles de représentation par frontières Modèles d instanciation de primitives Dans l instanciation de primitives, le système de modélisation définit un ensemble de formes 3D primitives qui ont un sens pour un domaine d application donné et qui peuvent être déclinées en différentes instances par évaluation des paramètres qui les définissent. Ces primitives sont définies non seulement par des paramètres de dimensionnement mais également par des paramètres fonctionnels. Comme l illustre la Figure 4, les primitives peuvent être des formes géométriques simples (le cube) ou complexes (la section en Z) mais à topologie fixe, ou bien des objets plus élaborés tels que les engrenages dont la topologie peut varier (ici en fonction du nombre de dents). Une primitive paramétrée peut être vue comme définissant une famille (ou une classe) de composants dont les membres varient suivant quelques paramètres. L instanciation de primitives est souvent utilisée pour des objets relativement complexes, tels que les engrenages, les boulons, etc., qu il est fastidieux de définir en termes de combinaison d opérations de construction, mais qui sont aisément décrits par quelques paramètres de haut niveau. Ces systèmes sont très concis, et permettent de construire une hiérarchie ou un assemblage d instances mais qui sont issues d un ensemble restreint de primitives définies a priori ; tout enrichissement du modèle passe par une édition de code.
26 6 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE (a) (b) b Cube unité de référence h e r r r e r 2e l (c) a diamètre 3.6 moyeu.9 épaisseur. dent 2 trou.3 diamètre 5. moyeu.8 épaisseur.2 dent 8 trou.3 Figure 4 Exemples de solides paramétrés. (a) Parallélépipède cubique et quelques instances. (b) Primitive de section en Z définie par les paramètres a, b, h, l et e. Notons que r et r sont des variables internes. (c) Deux engrenages définis par instanciation de primitives. Remarquons que la topologie varie d un engrenage à l autre. (figures extraites de [Mortenson 97] et [Foley et al. 95]) Les systèmes de modélisation basés sur l instanciation de primitives sont des modeleurs paramétriques dans la mesure où la description de l assemblage est en générale conservée et peut servir à la génération de nouvelles instances de l assemblage. Il faut noter que les variations peuvent non seulement être géométriques (dimensions, positions, etc.) et topologiques, mais aussi fonctionnelles (matériaux, tolérances, etc.). C est un cas très particulier de modèle paramétrique Modèles de partitionnement spatial Dans les représentations par partitionnement spatial, un solide est représenté par un ensemble de solides élémentaires adjacents, sans intersections et assemblés par une opération de collage unique. L opération de collage peut être vue comme une forme restrictive d union dans laquelle les objets ne doivent pas s intersecter. Plusieurs types de modèles par partitionnement spatial sont couramment utilisés. L une des formes les plus générales de partitionnement spatial est la décomposition cellulaire qui décompose un solide en cellules élémentaires qui peuvent être de type, de position, de dimension différents. Cette représentation non-unique, mais non-ambiguë est utilisée en analyse par éléments finis. L énumération spatiale est un cas particulier de décomposition cellulaire dans lequel le solide est approximé par décomposition en cellules cubiques identiques (voxels) arrangées en une grille fixe et régulière. L énumération spatiale est une représentation unique et non-ambiguë utilisée en imagerie médicale. Un autre type de partitionnement spatial est la subdivision spatiale qui est une variante hiérarchique de l énumération spatiale, conçue pour répondre aux besoins de stockage de cette approche. Un exemple typique est la représentation par arbres octaux (octrees) qui sont dérivés des arbres quaternaires (quadtrees), un format de représentation 2D. Les arbres octaux subdivisent récursivement l espace 3D en octants qui peuvent être pleins, partiellement pleins ou vides (également dénommés noirs, gris et blancs, respectivement). Chaque octant partiellement plein est subdivisé en sous-octants de manière récursive jusqu à ce que tous les octants soient homogènes (ou bien pleins, ou bien vides). La Figure 5 illustre le partitionnement spatial par un exemple 2D.
27 MODELISATION GEOMETRIQUE 7 (a) (b) (c) (d) 2 3 Numérotation par quadrant 2 3 (e) Nœud avec descendants Nœud vide Nœud plein Figure 5 (a) Représentation d une pièce par (b) décomposition cellulaire avec un rectangle et un triangle rectangle comme primitives élémentaires, par (c) énumération spatiale et par (d) subdivision spatiale avec (e) la structure de données d arbre quaternaire correspondante. (exemple adapté de [Foley et al. 95]) Il faut noter que le modèle par partitionnement spatial est une structure de données permettant de décrire la forme finale des objets conçus, indépendamment des gestes constructifs. Les éventuels paramètres ne représentent que les positions et dimensions locales des cellules, sans sémantique globale à tout l objet. Les modèles de partitionnement spatial ne font donc pas partie de la famille des modèles paramétriques Modèles de construction géométrique solide L idée de base, dans les modèles constructifs, consiste à créer un objet complexe en combinant entre elles plusieurs formes simples. Ces formes simples peuvent être des formes non-bornées limitées par des surfaces implicites (planaire, cylindrique, sphérique, etc.) dans le cas des modèles de demi-espaces, ou bien des primitives bornées (bloc, sphère, cylindre, cône, tore, etc.) et paramétrées (longueur, largeur, rayon, position, etc.) dans le cas des modèles de construction géométrique solide (CSG). La liste des opérations de combinaison réalisables entre deux formes est généralement restreinte aux opérations ensemblistes de base, encore appelées opérations booléennes (en fait des opérations booléennes régularisées qui donnent toujours un solide valide). Un solide est en général représenté par un arbre comportant des opérateurs aux nœuds et des primitives aux feuilles. Certains nœuds représentent des opérateurs booléens, alors que d autres effectuent des transformations rigides (translation ou rotation) et des mises à l échelle (voir la Figure 6-a). Comme les opérations booléennes ne sont généralement pas commutatives les arêtes de l arbre sont ordonnées. Souvent, plusieurs copies (instances) d une même feuille ou d un même sous-arbre peuvent exister. L arbre ordonné de construction devient un graphe acyclique orienté.
28 8 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE (a) S 3 Π S 2 S 2 T S S 5 S 3 S 4 S 4 T 2 Π 2 (b) Π Bloc (2, 2, 4) S Rotation (Π, y, -9) S 2 Translation (S,,, 2) S 3 Union (Π, S 2 ) Π 2 Bloc (2, 2, 2) S 4 Translation (Π 2,,, ) S 5 Différence (S 3, S 4 ) S R Π Π 2 (c) S 5 (Π T R Π ) T 2 Π 2 Π Figure 6 Solide défini par CSG. (a) Le graphe de construction correspondant. Il possède 2 feuilles primitives (Π et Π 2 ), 3 nœuds de transformations (T, R et T 2 ) et 2 nœuds d opérations booléennes ( et ). Notons que la même grille de référence se superpose à chaque solide. (b) La séquence de gestes constructifs. (c) L expression algébrique équivalente. (exemple adapté de [Rossignac et al. 99]) Les opérations booléennes (union, intersection et différence ; voir la Figure 7) ne sont pas limitées aux modèles CSG puisqu elles décrivent la manière dont les objets sont construits, indépendamment de leur représentation interne. Ce qui particularise les modèles CSG c est que les opérateurs booléens sont inclus directement dans la représentation. Comme illustré sur la Figure 6-b&c, le solide peut être représenté comme une séquence d instructions (de gestes constructifs) ou bien comme une expression algébrique, ce qui permet de modifier un certain nombre de paramètres (ou de valeurs), puis de réévaluer le modèle afin d obtenir une nouvelle instance. A (a) B (b) (c) (d) (e) Figure 7 Opérations booléennes. (a) Objet A et B. (b) Union : A B { x / x A ou x B }. (c) Intersection : A B { x / x A et x B }. (d et e) Différences : A B { x / x A et x B } et B A { x / x A et x B } ; Les modèles CSG sont donc des modèles paramétriques dans le sens où ils conservent l historique de construction et permettent la modification des dimensions, positions et orientations des primitives afin d obtenir un nouvel objet Modèles de représentation par frontières Le principe des modèles de représentation par frontières est de représenter les solides par leurs frontières en décrivant les faces, arêtes et sommets qui bordent ces solides. Comme montré sur la Figure 8-a, chaque entité (face, arête, sommet) peut être décrite, de diverses façons, en fonction des autres entités. Selon les représentations nous obtenons des modèles différents. Ainsi, le modèle fil de fer utilisant l arête comme élément de base de la représentation (E : { V }) peut être considéré comme le squelette de dimension d un modèle solide représenté par frontières. Des tables d arêtes associées à
29 MODELISATION GEOMETRIQUE 9 des tables de sommets permettent pour chacune d entre elles de connaître leurs extrémités. La Figure 8-b montre la table d arêtes et de sommets permettant la modélisation par frontières d un tétraèdre. Le modèle de représentation par frontières le plus simple est le modèle polygonal, aussi appelé modèle facettisé [Mäntylä 88] qui est constitué d une liste de faces, chacune étant représentée par une liste ordonnée d arêtes (l ordre permettant de définir l orientation de chaque face de façon non-ambiguë) et chaque sommet étant associé à une position géométrique par une application appelée son plongement. La Figure 8-b montre la liste des faces associées à la représentation d un tétraèdre. Au niveau de la structure de données, ce modèle est généralement représenté avec des tables similaires à celles utilisées pour la représentation fil de fer, auxquelles sont ajoutées des listes ordonnées d arêtes définissant chaque face (V : { coordonnées }, E : { V } et F : { E }). Dans le modèle polygonal, les faces triangulaires sont fréquemment utilisées pour représenter la frontière de l objet, car contrairement aux faces polygonales quelconques, elles offrent l avantage d être toujours planes. (a) V V F V V V V E V V V V V: { V } E: { V } F: { V } E E E E E F E V E V: { E } E E E: { E } E E F: { E } E F (b) F V F F V: { F } v F E F E: { F } f 4 e f F e 6 F F F: { F } v 2 e 3 F e 4 e 2 f2 e 5 v 3 v 4 V : { (x, y, z) } sommet coordonnée v x y z v 2 x 2 y 2 z 2 v 3 x 3 y 3 z 3 v 4 x 4 y 4 z 4 f 3 F : { E } E : { V } arête sommet e v v 2 e 2 v v 3 e 3 v 2 v 3 e 4 v 4 v e 5 v 3 v 4 e 6 v 4 v 2 face arête f e e 3 f 2 e 4 e 2 f 3 e 6 e 5 f 4 e e 4 e 2 e 5 e 3 e 6 Figure 8 (a) Relations topologiques entre faces, arêtes et sommets. (b) Tétraèdre avec le modèle fil de fer associé (table E : { V }) ou le modèle polygonal associé (tables E : { V } et F : { E }). Remarquons que les faces ne font pas partie du modèle fil de fer. Notons que dans les deux modèles, les sommets sont définis par leurs coordonnées. Lorsque un plongement géométrique est associé non seulement aux sommets mais également aux arêtes ( x(u), y(u), z(u) ) et aux faces ( x(u, v), y(u, v), z(u, v) ), les modèles de représentation par frontières, dits BRep (Boundary Representation), permettent de donner une description relativement complète de la surface frontière (la «peau») d un solide. La surface frontière est décomposée en un ensemble de faces orientées, ou chaque face est représentée par une face délimitée par une liste d arêtes, qui elles-mêmes sont délimitées par deux sommets. Dans ces modèles, il existe une séparation très nette entre la topologie (faces, arêtes, sommets, etc.) et la géométrie (surfaces, courbes, points, etc.) d un solide. Par topologie, nous entendons les relations d adjacence entre les entités de différentes dimensions (faces, arêtes, sommets) définissant la surface frontière. Par géométrie, nous entendons le plongement de chaque entité topologique dans l espace euclidien 3D.
30 2 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE (a) Vol S (c) Volume Vol f 3 Coque S (b) f 4 f 6 f 2 Face f f 2... Loop L L 2... f5 5 Arête e e 2 e 3 e 4 e 5... v v 4 f e f 7 e 3 e 5 e 2 e 4 v2 v 3 Sommet v 2 v v 4 v 3... v v 4 v 3 v 2... Figure 9 (a) Exemple d un bloc troué avec (b) vue éclatée partielle des entités topologiques qui le compose et (c) représentation d une partie de sa structure de données BRep. Les modèles de représentation par frontières contiennent la description de la topologie finale et de la géométrie finale des solides, indépendamment des opérations de construction, aussi bien de haut niveau (opérations booléennes, génération par balayage, construction par caractéristiques de forme, etc.), que de bas niveau (opérations d Euler, etc.). Les modèles BRep ne peuvent donc pas être considérés comme des modèles paramétriques. Ils constituent par contre une représentation très puissante du modèle géométrique lui-même. 2.4 Limites de la modélisation géométrique La possibilité pour un modèle (graphique, surfacique, etc.) de représenter les choses qui ressemblent à des solides ne signifie pas intrinsèquement que le modèle soit adéquat pour représenter des solides, néanmoins il peut être suffisant pour les représenter d un certain point de vue. Les modèles solides sont plus proches du monde réel, mais ne possèdent en général pas toutes les propriétés définies par Requicha [Requicha 88]. En effet, concevoir un modèle avec toutes ces propriétés est difficile, et des compromis sont souvent nécessaires. Les limites des modèles présentés dans les sections précédentes sont nombreuses et varient en fonction des domaines d applications. L objectif ici n est ni de présenter toutes les limites de la modélisation géométrique, ni d en faire un comparatif (qui peuvent être trouvées dans des ouvrages plus spécialisés tels que [Mortenson 97] ou bien [Foley et al. 95]), mais de mettre en exergue ses limites en tant qu outil de CAO. La modélisation solide s est développée depuis plusieurs décennies en parallèle aux systèmes de CAO / CFAO. Il est aujourd hui possible de constater que la représentation en termes de géométrie est insuffisante pour répondre aux besoins des différentes phases (maîtrise des coûts, gestion du cycle de vie, réutilisation, etc.) de l ingénierie d un produit [van Emmerik 9] [Hoffmann et al. 93] [Requicha et al. 92] [Shah et al. 95]. En tant qu outil de CAO la modélisation géométrique possède les lacunes suivantes. Conception fastidieuse. La manipulation d entités géométriques de bas niveau (points, sphères, faces, B-Splines, etc.) rendent la conception longue et difficile. En effet, le processus de conception et les intentions de conception s expriment par abstractions de haut niveau qui doivent être décomposées en entités de base de la modélisation solide.
31 MODELISATION GEOMETRIQUE 2 Modification laborieuse. La modification de la géométrie d un solide peut être obtenue par de nouvelles opérations constructives, ou bien par la réévaluation d un historique de construction. Néanmoins, les modifications, même dans les modèles CSG, se traduisent souvent par des manipulation d entités géométriques ou par des transformations de coordonnées de bas niveau. Information fonctionnelle absente. Les représentations géométriques de la plupart des systèmes de modélisation solide sont difficilement exploitables lors des phases d analyse, de préparation de la fabrication, d usinage, etc.. De ce point de vue, le modèle géométrique est très pauvre en informations synthétiques et ne permet de représenter que très partiellement l objet réel. Les informations autres que géométriques telles que la tolérance, les propriétés du matériau, etc., ne sont pas prises en compte par ces modeleurs. Représentation figée. Dans la plupart des cas la représentation ne décrit que l objet final et ne conserve aucune trace du processus de construction. La réutilisation d une telle représentation est donc souvent limitée à la description d objet identiques 3 Modélisation par caractéristiques Les techniques de modélisation purement géométriques sont en mesure de générer des pièces de grande complexité, néanmoins elles ne permettent de capturer qu un très bas niveau de sémantique. Aux intentions de conception, sont pourtant souvent attachés des stéréotypes de formes géométriques ayant une signification fonctionnelle tels que les rainures, les trous taraudés, etc. ; d où l idée d intégrer la conception à base de caractéristiques aux modeleurs géométriques classiques. En effet, les limites des modèles géométriques évoquées dans la section précédente peuvent être repoussées en ayant recours aux caractéristiques pour exprimer et capturer, au-delà de la forme finale d un objet, les formes caractéristiques qui la constituent. La Figure montre un exemple de modélisation par caractéristiques.
32 22 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE (a) (b) r (c) h cylindre L l l r L h bloc arrondi bloc h v profil circulaire v profil rectangulaire profil rectangulaire arrondi v (d) trou débouchant rainure traversante poche arrondie (e) rotation de la perceuse r direction et profondeur de perçage rotation de la fraise chemin de fraisage chemin Figure Exemple de définition de caractéristiques (adapté de [Han et al. 98]). (a) La pièce modélisée. (b) Une définition CSG (primitive élémentaire + dimensions), (c) une définition par balayage (profil + vecteur d extrusion), (d) une définition par caractéristiques de forme et (e) une définition par caractéristiques d usinage (outil + chemin + profondeur). Cette modélisation par caractéristiques, lorsqu elle décrit et conserve tout le processus de construction, et lorsqu elle permet de générer différentes géométries par modification de certaines valeurs de ce processus de construction, est une modélisation paramétrique. C est donc dans cette perspective paramétrique que nous nous intéressons à la modélisation par caractéristiques et plus particulièrement à la modélisation par caractéristiques de forme. Après avoir rapidement évoqué le concept de caractéristique, nous allons présenter différentes taxonomies et diverses techniques de création de caractéristiques. Ces taxonomies nous seront utiles dans le deuxième chapitre (sections 2.2 et 4) pour extraire des caractéristiques un certain nombre de régularités aptes à définir un schéma de nomination. 3. Concept de caractéristique De façon générale, une caractéristique est une entité permettant d associer aux objets conçus, en plus des éléments géométriques, un certain nombre de propriétés qui les caractérisent. Ainsi, il est possible de leur adjoindre des informations liées au matériau (résistance, ductilité, etc.), à l usinage (procédé d usinage, type d outil, etc.), à la métrologie (rugosité, dispersion, etc.), à la maintenance, etc, pour faciliter le travail exécuté pendant la conception et en aval de celle ci. Selon Shah et Mäntylä, il est possible de définir une caractéristique (ou feature) comme «une entité représentant les intentions de conception ou le sens de la géométrie d une pièce ou d un assemblage» [Shah et al. 95]. La conception ou modélisation par caractéristique est donc la création de modèle géométrique au travers de caractéristiques [Faux 86] [Gardan 9] [Roller 9] [Requicha et al. 92] [Rossignac 9] [Shah et al. 88c]. Une caractéristique désigne certains aspects géométriques et physiques d un objet. Il est donc possible d exprimer une caractéristique comme : () étant un constituant ou une caractéristique physique d une pièce, (2) étant... a feature represents the engineering meaning or significance of the geometry of a part or assembly. [Shah et al. 95]
33 MODELISATION PAR CARACTERISTIQUES 23 identifiable à une forme générique, (3) véhiculant une intention de conception, (4) ayant des propriétés prédictibles [Shah et al. 88b]. Il existe différents types de caractéristiques que nous énumérons de manière non-exhaustive : Les caractéristiques de forme. Elles contiennent de la géométrie explicite et décrivent des formes génériques, souvent propre à un domaine d application donné. Les caractéristiques de fabrication. Elles regroupent les informations sur la forme des objets, sur les procédés de fabrication (usinage, moulage, soudure, etc.), sur les outils (type, chemin d accès, etc.), etc.. Les caractéristiques de tolérance. Elles capturent la déviation admissible de la forme / taille / position initiale. Les caractéristiques d assemblage. Elles regroupent divers types de caractéristiques définissant des relations d assemblage telles que les conditions de liaison, la position et l orientation des pièces, les contraintes cinématiques, etc.. Les caractéristiques fonctionnelles. Elles correspondent à l ensemble des caractéristiques relatives à des fonctions spécifiques pouvant contenir des intentions de conception, des attributs non-géométriques, des paramètres de performance, etc.. Les caractéristiques de matériau. Elles recensent la composition des matériaux, leurs traitements, etc.. Les caractéristiques d usinage, sous-classe des caractéristiques de fabrication, ont été les plus étudiées, bien qu il existe d autres travaux définissant les caractéristiques selon les critères et les habitudes de raisonnement propre à des domaines moins classiques tels que la fonderie, le moulage par injection, l analyse par éléments finis ou le pliage. Ainsi, des caractéristiques particulières ont été définies pour la conception de moules [Kruth et al. 89], pour la conception par extrusion [Dixon et al. 88], pour la conception de surfaces fonctionnelles complexes [Cavendish et al. 9], pour la conception de pièces de tôle [Shah et al. 86], pour permettre une analyse performante par éléments finis [Libardi et al. 86], pour répondre à la fabricabilité d une pièce moulée par injection [Vaghul et al. 85], pour déterminer des gammes de contrôles [Brown 9]. 3.2 Taxonomies Bien qu il soit potentiellement possible de définir une infinité de caractéristiques et de classes de caractéristiques, il est possible de les classer en fonction de propriétés communes. De manière générale, l intérêt d établir une taxonomie est () de définir des propriétés génériques et spécifiques pour chaque caractéristique et ainsi de définir des classes de caractéristiques aux méthodes communes ; (2) d adopter une terminologie commune aux différentes applications utilisant des caractéristiques, ce qui à terme peut déboucher sur une interface de modélisation standardisée. Il est possible de discerner deux grands types de taxonomies de caractéristiques : celles qui sont spécifiques à une application donnée et celles qui sont génériques, indépendantes du contexte d application, et qui peuvent donc être utilisées par plusieurs applications. Notre intérêt dans l établissement d une taxonomie est de définir des invariants (par rapport à des variations de topologie) capables de supporter un schéma de nomination. Dans cette optique, nous Cet état de l art sur les caractéristiques est en grande partie extrait de [Regli 95], de [Shah et al. 95] et de [Tehari 99].
34 24 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE étudions les taxonomies existantes, en particulier celles ayant une composante géométrique, afin de proposer une nouvelle taxonomie de caractéristiques de forme (section 2.2 du deuxième chapitre) basée sur ces invariants Taxonomies spécifiques à une application L usinage a été le domaine de fabrication qui a reçu le plus d attention aussi bien de la communauté scientifique qu industrielle. Les caractéristiques d usinage capturent l effet de l outil de coupe sur une pièce. En général, les caractéristiques d usinage modélisent les opérations d enlèvement de matière. Nombreux sont les efforts de classification de caractéristiques d usinage. En plus de la bibliothèque MRSEVs (Material Removal Shape Element Volumes) proposée par Kramer pour les caractéristiques d usinage à trois axes [Kramer 92], Nau a développé une bibliothèque de caractéristiques d usinage pour la planification [Nau 87]. Laakko et Mäntylä ont présenté une autre classification des caractéristiques d usinage [Laakko et al. 93]. Gindy a également défini une classification de caractéristiques d usinage basée sur les directions d accès externes de l outil de coupe (direction d usinage) pour enlever la matière. Dans ce cas la pièce à usiner est considérée comme un objet limité par des surfaces réelles [Gindy 89]. Clément et Deneux introduisent respectivement les notions de surfaces associées topologiquement et technologiquement (ou SATT) [Clement et al. 92], et les faces associées topologiquement [Deneux 93] qui sont des ensembles de surfaces (ou faces) ne pouvant pas être usinées séparément. Ces surfaces (ou faces) sont considérées comme un type particulier de caractéristiques d usinage. Outre les efforts académiques, il y a eu plusieurs travaux effectués par la communauté industrielle. Parmi les premiers étaient ceux du CAM-I (Consortium for Advanced Manufacturing International) [@cam-i]. Le CAM-I a produit plusieurs documents sur les problèmes technologiques des caractéristiques dans le contexte de la fabrication. Dans un autre effort industriel, Allied-Signal a présenté plusieurs travaux sur la classification des caractéristiques d usinage pour la planification des processus, notamment ceux utilisés dans le projet XCUT de Brooks [Hummel et al. 86] [Brooks et al. 87]. D autres méthodes de classification ont été proposées, telles que celles basées sur la topologie [Cavendish et al. 9], les mouvements [Cunningham et al. 88], ou le type d informations [Shah 88]. Il faut également citer les approches mathématiques de Chang qui définit des caractéristiques d usinage par la forme et la trajectoire de l outil [Chang 9] et de Vandenbrande et Requicha qui adoptent une classification similaire pour les outils de balayage [Vandenbrande 93] Taxonomies indépendantes du contexte d application Butterfield et ses collègues classent les caractéristiques de forme en formes métalliques (plates et déformées), non-rotationnelles (dépressions, protubérances et surfaces), et rotationnelles (concentriques et non-concentriques). Cet arrangement contient également une classification pour les matériaux sur la composition (acier, alliage, etc.), la forme du brut (barre, feuille, etc.), le traitement thermique et les conditions de surface [Butterfield et al. 85]. Wilson et Pratt ont présenté le premier effort de classification de caractéristiques basée sur des formes globales de caractéristiques dans le but de les intégrer dans un système de modélisation solide. Ils font la distinction entre les classes de caractéristiques implicites (puis les sous-classes dépression, protrusion, trou traversant, etc.) et explicites (puis les sous-classes modificateur, générique, etc.) selon la représentation de la forme associée [Wilson et al. 88]. Cette classification était l une des premières classifications indépendantes des applications et a servi de base pour le
35 MODELISATION PAR CARACTERISTIQUES 25 développement d une proposition de modèle de caractéristiques de forme pour l échange de données par STEP. Une des premières propositions de STEP (qui n a pas été retenue en tant que telle comme partie de STEP) divise les caractéristiques de forme en trois classes : les caractéristiques volumiques (incréments ou décréments du volume), les caractéristiques de transitions (surfaces de séparation ou de raccord entre formes), et les caractéristiques répétitives (ou pattern feature, c est-à-dire l arrangement de caractéristiques de formes simples) [ISO WD 33-48:92]. Actuellement, d autres parties de STEP s intéressent aux caractéristiques selon des points de vue spécifiques. Il s agit des ressources disponibles dans le fascicule 24 pour l industrie automobile [ISO 33-24:94] et le fascicule 224 pour les caractéristiques de fabrication [ISO :99]. Comme le montre la Figure, le fascicule 224 décline les caractéristiques de fabrication en trois classes : machining features (elles permettent d identifier la partie volumique qui doit être éliminée d un bloc initial afin d obtenir la géométrie de la pièce finale) ; replicate features (elles permettent de répéter à l identique une forme initiale (original) ; transition features (elles définissent une zone de transition entre deux surfaces). Une autre approche générique est proposée par Shah et Mäntylä qui répartissent les caractéristiques en cinq classes : basicfeature (trou extrusion, rotation, etc.) ; transition (arrondi, chanfrein, etc.) ; billet (primitives de base) ; container-feature (assemblage, répétition, etc.) et surface [Shah et al. 95]. Il ressort de tous les travaux sur les caractéristiques que l établissement de classifications de caractéristiques générales et indépendantes du contexte d application est très difficile. En effet, la sémantique des caractéristiques est par nature spécifique au point de vue technique utilisé bien que beaucoup de caractéristiques puissent avoir une signification pour plusieurs points de vue. Par exemple un trou cylindrique peut avoir une sémantique fonctionnelle en conception (passage d un câble, etc.), une sémantique de perçage pour la fabrication et enfin une sémantique de fixation pour l assemblage. Actuellement, il n existe donc pas, à notre connaissance, de taxonomie de caractéristiques générique pouvant être utilisée dans tous les domaines et durant toutes les phases du cycle de vie d un produit. STEP (STandard for Exchange of Product model data) est un ensemble de standards internationaux (sous la référence ISO 33) incluant la représentation et les mécanismes d échange de modèles de données. ISO est le sigle de International Organization for Standardization. Les données de STEP sont représentées dans le langage formel de spécification de données EXPRESS [ISO 33-:94] et peuvent, en particulier, être échangées par l intermédiaire de fichiers physiques [ISO 33-2:94]. Voir la section 3 dans les Annexes.
36 26 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE Manufacturing features Replicate features Transition features Machining features Circular pattern Fillet General outside profile General removal volume Boss Circular boss Rectangular pattern General pattern Edge round General boss Pocket Rectangular open pocket Rectangular closed pocket General pocket Chamfer Hole Round hole Counterbore hole Countersunk hole Knurl Turned knurl diagonal diamond straight Catalog knurl Slot Flat slot end type Radiused Woodruff Open Thread Inner Outer Catalog Marking Defined Catalog Figure Vue partielle des caractéristiques de fabrication définies dans le fascicule 224 de la norme STEP [ISO :99]. 3.3 Techniques de création Un modèle à base de caractéristiques représente un objet sous forme d opérations de haut niveau (trou, rainure, bosse, etc.) qui sont traduites en termes de géométrie (face,
37 MODELISATION PAR CARACTERISTIQUES 27 arête, sommet, etc.). Il est donc possible de considérer schématiquement un modèle à base de caractéristiques comme formé de deux composantes : le modèle de la géométrie (contenant les entités géométriques et topologiques, le graphe topologique, les pointeurs topologie-géométrie, etc.) et le modèle des caractéristiques (contenant les définitions de la forme, les attributs de dimension et de position, les contraintes géométriques, les attributs non-géométriques, etc.). Selon que l on déduit un modèle de l autre ou réciproquement, il est naturellement possible de classer la conception à base de caractéristiques en deux catégories [Gardan et al. 93] [Shah et al. 95] : () la reconnaissance de caractéristiques (interactive ou automatique) à partir d un modèle géométrique et (2) la conception par caractéristiques (la géométrie est créée à partir de la définition des caractéristiques). La Figure 2 ci-dessous donne un aperçu des différentes techniques de création de caractéristiques. Reconnaissance interactive Ad-hoc Restreinte Plan de coupe Décomposition en enveloppes convexes Décomposition en cellules Reconnaissance de régions à usiner Méthodes de définition de caractéristiques Reconnaissance automatique Reconnaissance de caractéristiques pré-définies Basée sur les frontières Basée sur les volumes Syntaxiques Techniques d IA Graphes Réseaux neuronaux Appariement de frontières Classification de degrés de liberté Appariement d arbres CSG Conception par caractéristiques Procédurale Déclarative Figure 2 Taxonomie de techniques de création de caractéristiques. (extrait de [Shah et al. 95]). Le domaine de recherche sur les caractéristiques est très étendu et la littérature sur les techniques de création est très abondante [Salomons et al. 93] [Regli 95] [Shah et al. 95] [Han 96] [Han et al. 98] [Anderl et al. 95]. Nous nous intéressons essentiellement à la conception par caractéristiques, néanmoins, dans un objectif de complétude, nous allons, dans la partie qui suit, exposer brièvement les principales spécificités de ces méthodes de génération de caractéristiques Reconnaissance de caractéristiques Historiquement, la reconnaissance de caractéristiques permettait de transformer un modèle géométrique (issu des bureaux de conception) en un modèle à base de caractéristiques (principalement de caractéristiques d usinage) assurant ainsi l intégration de la conception à la production. Initialement interactive, la reconnaissance de caractéristiques tend à devenir plus ou moins automatique durant les années 98.
38 28 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE Reconnaissance interactive L idée est simple, un modèle géométrique est tout d abord élaboré avec un modeleur classique puis les caractéristiques sont définies par un utilisateur humain par désignation explicite sur une vue de la pièce dessinée [Salomons et al. 94] [Suh et al. 97]. L utilisateur peut interactivement sélectionner les entités (sommets, arêtes, faces, etc.) nécessaires à la création des caractéristiques. Dans sa forme la plus simple cette méthode, de définition ou reconnaissance interactive, consiste à collecter certaines entités géométriques qui seront enrichies de données spécifiques. C est à l utilisateur de s assurer de la validation et de la complétude du modèle. Cette méthode est facile à mettre en œuvre mais présente l inconvénient de rendre ces informations additionnelles peu exploitables de façon automatique. La création interactive de caractéristiques peut être plus élaborée si elle est basée sur une bibliothèque contenant des définitions génériques de classes de caractéristiques. C est le système qui vérifie l intégrité du modèle et peut ensuite l exploiter. Cette méthode peut être assimilée à une technique de définition de caractéristiques plutôt qu à une technique de reconnaissance de caractéristiques Reconnaissance automatique Là encore, le modèle géométrique préexiste, puis un programme basé sur des algorithmes de reconnaissance et d extraction de caractéristiques, va automatiquement construire le modèle à base de caractéristiques correspondant. La reconnaissance ou extraction automatique de caractéristiques peut être subdivisée en deux domaines. Premièrement, la reconnaissance de volumes en vue de l usinage. L objectif de cette approche est de déterminer les volumes qui doivent être enlevés par usinage [Lee et al. 87] [Perng et al. 9] [Perng et al. 94]. Deuxièmement, il y a la reconnaissance des caractéristiques où il s agit de comparer certaines portions de la géométrie du modèle (soit les volumes, soit les frontières) à des caractéristiques génériques prédéfinies pour pouvoir les identifier. Cette méthode peut être décomposée en au moins cinq actions : () identifier les entités géométriques du modèle ; (2) extraire les caractéristiques identifiées ; (3) déterminer les paramètres de ces caractéristiques ; (4) compléter la géométrie de ces caractéristiques ; (5) combiner éventuellement ces caractéristiques pour obtenir des caractéristiques de plus haut niveau. De nombreuses méthodes de reconnaissance de caractéristiques ont été proposées par la communauté scientifique depuis deux décennies. Ces méthodes sont plus ou moins efficientes et plus ou moins robustes par rapport aux interactions entre caractéristiques. Il est possible, parmi bien d autres approches, de citer : Les méthodes syntaxiques ou basées sur les grammaires. Elles sont assimilables à un problème de reconnaissance de formes dans un solide 3D [Fu 82] [Staley et al. 83] [Choi et al. 84] [Jakubowski 85]. La plupart des approches concernent uniquement des formes 2D et 2D½ ou bien des coupes 2D [Grayer 76] [Jakubowski 85] [Corney et al. 93]. Les méthodes basées sur les graphes. Les systèmes de reconnaissance basés sur les graphes représentent sous forme de graphe les informations géométriques et topologiques obtenues à partir de la structure BRep de l objet. La reconnaissance de caractéristiques peut être définie comme une recherche ou bien une analyse de la structure de graphe [Kyprianou 8] [Fields et al. 94] [Venkataraman et al. ]. Ces méthodes peuvent être classées en deux catégories : celles basées sur la recherche de sous-graphes (graph searching) [De Floriani 87] [Corney et al. 9] et celles
39 MODELISATION PAR CARACTERISTIQUES 29 basées sur la mise en correspondance de sous-graphes (graph pattern matching) [Joshi et al. 88] [Chuang et al. 9] [Fields et al. 94] [Pinilla et al. 89] [Gao et al. 97]. Les méthodes basées sur les décompositions volumiques. Le principe est de déterminer un brut englobant l objet modélisé et à partir duquel, par enlèvement de matière, il est possible de reconstituer cet objet modélisé. Il est possible de distinguer les méthodes de décomposition en enveloppes convexes [Woo 82] [Kim 92] [Waco et al. 93] [Menon et al. 94] [Ferreira et al. 9] [Waco et al. 93] [Pariente et al. 95] et les méthodes de décomposition cellulaire [Sakurai et al. 93] [Sakurai et al. 94] [Coles et al. 94] [Shah et al. 94]. Les méthodes basées sur les techniques d Intelligence Artificielle (IA). L idée est d encoder la connaissance et l expérience d un expert sous forme de règles permettant d extraire, du modèle solide, les caractéristiques utiles pour sa fabrication. Citons les travaux de [Henderson 84] [Dong et al. 88] [Vandenbrande 9] [Vandenbrande et al. 93] et aussi ceux de [Prabahkar et al. 92] [Henderson et al. 94] [Peters 94] sur les réseaux neuronaux. Les méthodes hybrides. Elles mettent en œuvre plusieurs des méthodes précédentes. Il est possible de citer la reconnaissance incrémentale de caractéristiques [Laakko et al. 93], l association d IA et de graphes [Marefat et al. 9] [Trika et al. 94]. Pour être complet il faut également citer les techniques de conversion de caractéristiques, c est-à-dire de transformation d un modèle de caractéristiques en un autre modèle de caractéristiques. La transformation peut être directe ou bien se faire au travers d une représentation neutre. Ces techniques de conversion sont évoquées dans [Shah 88] [Falcidieno et al. 89] [De Martino et al. 9] [Rosen et al. 9] [De Martino et al. 94] [Suh et al. 97] [de Kraker et al. 97]. Les difficultés de reconnaissance des caractéristiques d un modèle purement géométrique ont abouti à une généralisation de l utilisation explicite de caractéristiques dès la phase de conception. C est la conception par caractéristiques, que nous présentons dans la section suivante et qui constitue le contexte dans lequel s inscrit notre travail Conception par caractéristiques La troisième technique de création de caractéristiques, et c est celle qui nous intéresse le plus, est la conception par caractéristiques. Le modèle est directement spécifié par l utilisateur sous forme de caractéristiques ; le modèle géométrique est, comme le montre la Figure 3, généré à partir de ces caractéristiques. Cette technique nécessite que le système possède une bibliothèque de caractéristiques à partir de laquelle les caractéristiques peuvent être instanciées par spécification des contraintes, des paramètres de dimension et de position, des caractéristiques cibles. Cette technique s affranchit de la reconnaissance d un modèle géométrique, mais un problème de conversion demeure pour la transformation du modèle de caractéristiques de conception en un modèle de caractéristiques de fabrication.
40 3 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE procédures de définition de la géométrie Modeleur géométrique Modèle géométrique utilisateur Modeleur à base de caractéristiques Modèle à base de caractéristiques Bibliothèque de caractéristiques Figure 3 Conception par caractéristiques. (extrait de [shah et al. 95]) Les premiers systèmes à base de caractéristiques, proches de l usinage, avaient une approche «destructive». Les objets étaient créés en soustrayant d un brut initial, des caractéristiques qui correspondaient à l enlèvement de matière par opération d usinage. Il existe plusieurs prototypes basés sur cette approche : le prototype élaboré par Arbab durant sa thèse [Arbab 82], le système NEXT-cut de l université de Stanford [Cutkosky et al. 92], le système QTC (Quick Turnaround Cell) de l université de Purdue [Chang et al. 88], le système HutCAPP [Mäntylä et al. 89] ainsi que le système α_ (alpha one) de l université de Utah [Drake et al. 89] [Sturgill et al. 95]. Tous ces systèmes utilisent un ensemble de caractéristiques d usinage prédéfinies qui sont soustraites à un brut initial. Cette approche élimine la phase de conversion vers un modèle de fabrication, mais oblige un concepteur, pas nécessairement familier du domaine, à travailler en termes d opérations liées à l usinage. Par la suite, les systèmes se sont diversifiés et ont adopté une approche moins dépendante de la fabrication par usinage, c est-à-dire que les caractéristiques pouvaient être aussi bien additives que soustractives. Plusieurs systèmes, aussi bien de recherches que commerciaux, appartiennent à cette catégorie. Il y a, entre autres, ceux issus des travaux universitaires [Miner 85] [Luby et al. 86] [Shah et al. 88] [van Emmerik 9], ainsi que ceux de l industrie tels que Pro/ENGINEER [@ptc], CATIA [@catia], TopSolid [@topsolid], etc.. Toutes ces approches proposent des bibliothèques de caractéristiques qui peuvent être combinées entres-elles et agencées à l aide de contraintes de position, de dimension, d orientation, etc.. Nous pouvons classer la gestion des contraintes par les systèmes à base de caractéristiques en deux approches distinctes : fonctionnelle ou encore procédurale (les caractéristiques constituent des compositions de fonctions), et équationnelle ou encore déclarative (les caractéristiques sont associées à des ensembles de contraintes nécessitant des solveurs pour leurs résolutions) Approche fonctionnelle La particularité qui différencie fondamentalement les systèmes fonctionnels des systèmes équationnels est l utilisation de contraintes orientées (représentables par des fonctions ou procédures) dans la définition des caractéristiques de forme. Par exemple, deux droites ne sont pas parallèles, mais l une est construite parallèlement à l autre. Dans l approche fonctionnelle ou procédurale, des caractéristiques génériques sont prédéfinies en termes de classes et de procédures. Ces dernières doivent inclure des méthodes d instanciation, de modification, de copie et de destruction de caractéristiques, ainsi que de génération de modèles géométriques, de dérivation de paramètres et de validation d opérations sur les caractéristiques. Les fonctions ou procédures peuvent être codées dans
41 MODELISATION PAR CARACTERISTIQUES 3 un langage de programmation classique ou bien utiliser un langage spécifique qui sera interprété. Plusieurs modèles fonctionnels ont été développés, notamment le système HutCAPP, élaboré à l Université Technologique de Helsinki [Mäntylä et al. 87]. Ce système est basé sur une hiérarchie de caractéristiques de forme définies à l aide du langage LISP. Interfacées à la bibliothèque du modeleur géométrique, les définitions en LISP permettent de générer dynamiquement la géométrie qui est accessible via une table d indexation. Un autre exemple, développé à l Université Technique de Berlin dans le cadre d un projet ESPRIT est le système IMPACT (Integrated Modelling of Products and Processes using Advanced Computer Technologies) [Krause et al. 9]. Le système IMPACT utilise le langage de définition de données EXPRESS qui supporte une approche orientée objet grâce à la définition de classes (ENTITY), d attributs, d attributs dérivés (DERIVE), de contraintes, de règles (RULE), d héritage (SUBTYPE, SUPERTYPE), etc.. Un point important de l approche fonctionnelle est que les entités géométriques créées par chaque classe de caractéristiques, avant interaction avec l objet dans lequel la caractéristique est insérée, peuvent être déduites de la méthode d instanciation. Ces entités, permanentes, pourront dont être nommées sans ambiguïtés Approche équationnelle L approche équationnelle, ou déclarative, sépare d une part, les entités géométriques constituant une caractéristique, et, d autre part, les contraintes définissant les relations spatiales qui doivent exister entre ces entités géométriques. Ces relations peuvent porter soit sur des volumes, soit sur des faces ou des arêtes. Cette approche permet la définition, la représentation, la résolution et la validation de contraintes, ainsi que l interfaçage dynamique avec un modeleur géométrique. Les contraintes peuvent être utilisées pour caractériser les relations () au sein d une caractéristique, (2) entre caractéristiques dans une caractéristique composite, (3) entre caractéristiques d une même pièce, (4) d assemblage entre plusieurs pièces. Les contraintes servent à positionner, orienter et dimensionner les entités géométriques d une caractéristique. Il n existe pas actuellement d ensemble de contraintes normalisées, même si des travaux normatifs sont en cours [ISO CD 33-8:2]. Nous pouvons également citer les travaux représentatifs effectués à l Université d État d Arizona [Balakrishnan 93] [Ali 94]. Les contraintes sont réparties en deux catégories : position et orientation qui se déclinent en cinq sous-classes : parallèle, perpendiculaire, angle, coplanaire et coaxial. Ces contraintes sont appliquées par l utilisateur aux entités géométriques, transformées par le modeleur en systèmes d équations, structures de graphes, etc., et résolues par un solveur. La résolution de toutes ces contraintes est un aspect important et complexe de l approche déclarative de la modélisation par caractéristiques [Shah et al. 95]. Néanmoins, en ce qui concerne notre étude, le point important est que les entités géométriques qui définissent chaque classe de caractéristiques sont explicitement définies. Elles pourront donc également être associées à des noms qui seront les racines de notre système de nomination. ESPRIT : European Strategic Programme of Research and Development in Information Technology.
42 32 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE Relations entre caractéristiques Dans un système à base de caractéristiques de forme, les entrées de l utilisateur définissent le positionnement et le dimensionnement des caractéristiques les unes par rapport aux autres. Le positionnement spatial d une nouvelle caractéristique ne se fait pas de manière absolue dans un repère global, mais de façon relative par rapport aux caractéristiques de forme préexistantes dans l objet conçu. Les premiers systèmes à base de caractéristiques n autorisent les contraintes qu entre des «points d ancrage» bien définis, appartenant à chaque caractéristique. Ainsi, le système QTC [Chang et al. 88] définit chaque caractéristique de forme comme une classe avec des attributs de position, de dimension, et des méthodes pour les créer et les modifier à partir de poignées (handle) qui sont des éléments particuliers de la géométrie de la caractéristique de forme. Comme le montre la Figure 4-a, seuls quelques points particuliers sont munis de poignées qui feront office de repères locaux pour les contraintes. Un autre exemple est celui du système Geonode de l Université Technique de Delft où la modélisation s appuie sur des primitives de volume et des systèmes de coordonnées locaux (lcs : local coordinate system) [van Emmerik 9] [van Emmerik 9]. Chaque volume est positionné et orienté par rapport à un lcs, puis un ou plusieurs autres lcs servent à spécifier ses dimensions. Par exemple, comme l illustre la Figure 4-b, un cylindre est défini par deux repères locaux, le premier (lcs 3 ) au centre du cercle inférieur et le second (lcs 4 ) sur le périmètre du cercle supérieur. La translation entre les deux repères locaux définit la hauteur et la largeur du cylindre. Les relations géométriques et topologiques entre les repères locaux sont conservées dans une structure de données d arbre géométrique. Chaque nœud (lcs) est directement manipulable et sert de paramètre d entrée aux primitives de construction. (a) (b) lcs 2 lcs 4 lcs lcs 3 lcs Figure 4 (a) Poignées pour l application des contraintes dans QTC [Chang et al. 88]. (b) Arbre géométrique de positionnement et de dimensionnement dans Geonode [van Emmerik 9]. Notons que dans un système à «points d ancrage», le problème de nomination ne se pose pas. Les points d ancrage de chaque caractéristique peuvent toujours être recréés lors de chaque réévaluation. Il en résulte que la réévaluation peut toujours être effectuée sans ambiguïté. En fait, le système à points d ancrage est rapidement apparu trop contraignant pour l utilisateur. Ce que souhaite celui-ci n est pas de positionner et de dimensionner une caractéristique par rapport à quelques points abstraits, mais bien en fonction de toutes les entités géométriques et / ou topologiques existant dans son modèle au moment où il insère la nouvelle caractéristique. Et, précisément, de telles entités peuvent ne plus exister, ou ne pas être évidentes à identifier lors d une réévaluation.
43 MODELISATION PAR CARACTERISTIQUES Limites Les techniques que nous avons décrites mentionnent la diversité des approches existant dans le domaine de la modélisation à base de caractéristiques. Les différentes techniques de création (reconnaissance interactive, extraction automatique, conception par caractéristiques et conversion de modèles) répondent à des objectifs différents et présentent des avantages et inconvénients propres. Ainsi, la reconnaissance de caractéristiques, qui permet d utiliser les nombreux modèles géométriques existant, est très sensible aux interactions de caractéristiques et difficilement généralisable aux cas réels. La conception par caractéristiques d usinage est directement exploitable lors de la fabrication, mais n est pas nécessairement naturelle pour un concepteur. L utilisation de caractéristiques génériques est actuellement l approche qui se généralise dans tous les modeleurs modernes, et c est donc le contexte dans lequel de situera notre étude. Plus précisément, nous nous intéressons essentiellement aux relations entre caractéristiques de forme qui sont à l origine des faiblesses des modèles paramétriques existant. En effet, lorsque les relations entre caractéristiques de forme ne sont pas nécessairement définies entre des points d ancrage prédéfinis (qui restreignent les choix et les possibilités du concepteur), mais peuvent être définies entre n importe quelles entités topologiques du modèle existant et de la caractéristique à insérer, il faut pouvoir s assurer que les entités topologiques référencées (sommet, arêtes, faces, etc.) existent et qu il est possible de les retrouver quelles que soient les valeurs des paramètres, c est-à-dire quels que soient les modèles réévalués. 4 Modélisation paramétrique Modélisation basée sur des contraintes, modèles à base de caractéristiques, familles variationnelles, modélisation générative, modèles historiques, modélisation variante, modélisation paramétrique, conception procédurale, conception déclarative, modèles constructifs, modèles équationnels, modélisation associative, géométrie relationnelle 2, etc., sont les termes par lesquels la littérature sur les systèmes de CAO évoque la modélisation paramétrique. La multitude de dénominations appliquées à la modélisation paramétrique, notamment l opposition des termes paramétrique / variationnel (ou bien procédural / déclaratif, ou encore fonctionnel / équationnel), rend indispensable une clarification de la terminologie que nous allons employer. Il est possible de considérer le paramétrique, par analogie avec la programmation, comme une structure duale avec d un côté les données et de l autre le programme correspondant. Un modèle paramétrique est donc composé d une part, d une représentation explicite d un objet, et, d autre part, d une représentation abstraite contenant un ensemble de paramètres ainsi qu un processus permettant de recalculer la représentation explicite lorsque les paramètres sont modifiés. Le processus de réévaluation Dans la suite de notre étude, nous nous limiterons désormais aux caractéristiques qui comportent une partie géométrique. Ces caractéristiques sont souvent regroupées sous le terme caractéristique de forme, ou forme caractéristique, ou forme fonctionnelle. 2 Constraint-based modeling, feature-based models, variational families, generative modeling, history-based models, variant modeling, parametric modeling, procedural design, declarative design, constructive models, equational models, associative modeling, relational geometry dans la littérature anglophone.
44 34 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE sera toujours constitué d un ensemble d objets, plus ou moins élémentaires (par exemple, point ou caractéristique de forme) et d un ensemble, ordonné ou non de contraintes, de type fonction et / ou équation, appliquées à cet ensemble d objets pour définir la représentation explicite. Et par extension, un modeleur paramétrique est un système de conception géométrique qui conserve non seulement la géométrie explicite de l objet conçu, mais également, sous forme de données, l ensemble des gestes constructifs ayant permis de le concevoir. Rappelons que nous dénommons cette représentation abstraite, spécification paramétrique ou encore simplement spécification. Contrairement à certains auteurs qui utilisent la dénomination «paramétrique» pour désigner uniquement ce qui est fonctionnel, nous regroupons sous le terme paramétrique à la fois ce qui est fonctionnel et ce qui est équationnel (variationnel). Cela nous amène à présenter une classification des modèles paramétriques. 4. Taxonomie Comme les modèles à base de caractéristiques que nous avons déjà largement évoqués, les modèles paramétriques peuvent être classés en deux grandes approches distinctes, suivant leur structure mathématique sous-jacente et les différentes problématiques auxquelles ils se réfèrent [Pierra et al. 94]. Nous pouvons distinguer : L approche équationnelle ou variationnelle qui consiste, comme son nom l indique, à écrire les relations comme un système d équations, entrées implicitement sous forme de contraintes (distance, tangence, parallélisme, etc.). Le système génère automatiquement les équations correspondantes (voir le Tableau ) et un solveur intégré en recherche la (ou les) solution(s) si elle(s) existe(nt). L approche fonctionnelle qui consiste, souvent en espionnant le processus de conception de l instance d un objet géométrique, à enregistrer les suites de fonctions de construction qui définissent chaque nouvelle entité en fonction des paramètres et des entités déjà générés. Contrainte Équation Fonction Distance d entre deux points d un segment A d Distance d le long d une ligne et à un angle θ donné d B B ( x x ) + ( y y ) d A B A B Sgmt_2pts (A, B) point point segment 2 Sgmt_pt_dist_angle (A, d, θ) ( xa xb ) d cosθ 2 ( y y ) d sinθ A B A θ point réel réel segment Distance d entre deux points d un segment horizontal A d B ( x x ) y A A y B B d Sgmt_horztal_pt_dist (A, d) point réel segment Tableau Contraintes géométriques avec écritures des équations et signatures des fonctions correspondantes. En fonctionnel, les contraintes sont appliquées lors de la construction de l objet.
45 MODELISATION PARAMETRIQUE Modèle paramétrique équationnel Cette approche, aussi appelée approche déclarative, vise à résoudre le problème géométrique suivant : «soit un objet géométrique avec un nombre suffisant de contraintes et une description topologique (ou éventuellement une description géométrique approchée), on veut que cet objet soit évalué automatiquement» [Roller et al. 89]. La solution peut être inconnue à l utilisateur qui pose les contraintes ; elle peut également ne pas exister. Le rôle du système est de calculer les solutions possibles. D un point de vue mathématique [Pierra et al. 96], cela se traduit par la relation suivante : soit P l ensemble des paramètres définis sur un domaine D inclus dans P (souvent P R n ) et soit V l ensemble des variables (points, courbes, valeurs numériques, etc.) qui doivent être évaluées pour décrire une instance explicite. V appartient à l ensemble V de toutes les formes possibles. Un modèle déclaratif est une équation de la forme : A(P, V) avec P D et V V, où A est un opérateur qui n est en général ni linéaire, ni convexe. Une telle structure est appelée un modèle paramétrique équationnel. De nombreuses méthodes ont été utilisées pour résoudre ce problème. Cependant, jusqu à présent, aucun mécanisme général n existe permettant d assurer le déterminisme du processus de résolution. Il y a essentiellement deux avantages qui rendent cette approche très attrayante, en particulier pour les esquisses 2D (sketch) : La simplicité de mise en œuvre. Les entités géométriques sont construites à «main levée», puis contraintes au fur et à mesure. La possibilité d utiliser et de traiter des contraintes couplées. Cette approche présente plusieurs limites intrinsèques : Le problème a en général un nombre exponentiel de solutions par rapport au nombre de contraintes non-linéaires. La recherche de toutes les solutions est impossible dès que le degré de certaines équations excède quatre. La nécessité d avoir une approximation initiale pour les calculs de convergence et des heuristiques pour discriminer plusieurs solutions. L emploi de façon exclusive de contraintes non-orientées interdit l utilisation d actions telles que l extrusion, les opérations booléennes, etc., qui sont par nature orientées. Les contraintes étant librement introduites, il est difficile : () pour l utilisateur, de savoir quand et pourquoi la pièce est sous ou sur-contrainte ; (2) pour l ordinateur de donner une solution dans le premier cas, ou bien, de montrer les conflits de contraintes dans le second. Les solutions sont très souvent calculées de manière approximative par des méthodes de résolution numérique. given a model with a sufficient number of geometric constraints and topological or approximate geometric description, we want the precise model to be evaluated automatically. [Roller et al. 89]
46 36 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE La facilité d utilisation et la convivialité de ce système ne compensent pas les inconvénients de cette approche qui seule, ne peut couvrir tous les besoins de la modélisation paramétrique Modèle paramétrique fonctionnel Cette approche fonctionnelle, ou constructive, concerne un problème différent : «soit une classe de formes dont le processus de création est bien connu et qui peut être décrit à travers l interface d un modeleur interactif, on veut que toutes les instances, caractérisées par les valeurs de leurs paramètres, soient générées automatiquement de manière déterministe» [Roller et al. 89]. Une telle structure est appelée un modèle paramétrique fonctionnel. Mathématiquement [Pierra et al. 96], en utilisant les notations précédentes, un modèle paramétrique est une fonction : F : D a V avec V F(P), où F est la fonction qui définie l instance à partir des valeurs de ses paramètres. Une caractéristique importante des modèles paramétriques fonctionnels est que la fonction F est toujours exprimée comme une composition de fonctions (qui peut être réduite au singleton) : F f n f n- f où les f i sont appelées fonctions paramétriques. Bien que le domaine D ne soit en général pas spécifié, le modèle paramétrique définit exactement une instance pour tout ensemble de valeurs de paramètres qui appartiennent à D. Cette approche a de considérables avantages, notamment : Elle est totalement déterministe et indépendante du solveur puisque basée sur des fonctions (paramétriques) qui rendent, par essence, un résultat unique. Elle peut être utilisée en 2D ou en 3D aussi bien dans les modèles basés sur la construction géométrique solide (CSG) que dans les modèles basés sur la représentation par frontières (BRep). Elle supporte des modélisations de haut niveau telles que : () les opérations booléennes sur des représentations BRep ou bien (2) les modélisations basées sur des caractéristiques de forme. Néanmoins, cette approche présente certaines limites qui sont : Le nombre limité, par les fonctions paramétriques prédéfinies, de contraintes qu il est possible d appliquer à l objet géométrique. Par exemple, il est impossible de contraindre un cercle à être tangent à trois droites, si cette contrainte (fonction) n existe pas dans le système. La rigidité de l utilisation des fonctions. Les contraintes ne peuvent être posées que lors de la construction et non pas a posteriori comme cela est possible dans le cas équationnel ; donc peu de latitudes lors des corrections. L absence de contraintes couplées, sauf cas explicitement définis. given a class of shapes whose design process is well known, and which may be supported by the interface of some design system, we want any instance, characterized by its parameter values, to be generated automatically in a deterministic way. [Roller et al. 89]
47 MODELISATION PARAMETRIQUE Modèle hybride Chaque approche ayant ses avantages et ses inconvénients (voir le Tableau 2 cidessous), il est fréquent de retrouver dans les systèmes paramétriques de CAO une utilisation conjointe de ces deux approches, chacune intervenant dans des cas particuliers (en général fonctionnelle pour les objets 3D, équationnelle pour les contours 2D). Modèle équationnel Modèle fonctionnel Nombre de solutions : n : (sur le domaine D ) Contraintes orientées Contraintes couplées CSG, Caractéristiques Structures répétitives Esquisse (à main levée) Positionnement 2D Positionnement 3D Tableau 2 Avantages et inconvénients des modèles paramétriques équationnels et fonctionnels. Remarquons que du point de vue modèle de données, ceci implique qu un système paramétrique contient nécessairement des contraintes de type fonctionnel, et chacune de ces contraintes nécessite que des entités déjà existantes et les paramètres d entrée de la fonction soient disponibles et référençables. C est tout le problème de la nomination persistante dans les modèles paramétriques. 4.2 Architecture commune aux modèles paramétriques Quelle que soit la structure mathématique d un système paramétrique, tous les systèmes partagent la même architecture logicielle et utilisent certains concepts communs, notamment celui de modèle de données à deux niveaux. Il y a d un coté l instance courante, représentée par la géométrie, et de l autre coté la spécification paramétrique, c est-à-dire un ensemble d objets et un ensemble de contraintes représentant l historique ou la suite de gestes constructifs [Pierra et al. 96] Instance courante La principale caractéristique de l approche paramétrique est que la spécification (qui est en fait un programme déclaratif ou impératif) est toujours représentée avec ses valeurs courantes. Nous appelons l ensemble de ces valeurs courantes l instance courante. Il s agira par exemple des coordonnées d un point, de la valeur d une expression, etc.. Dans un contexte paramétrique fonctionnel, les fonctions et les paramètres qui leur sont associés suffisent à définir totalement l objet. Par contre, dans une approche hybride (c està-dire à la fois fonctionnelle et équationnelle), et a fortiori dans une approche purement équationnelle, l instance courante est indispensable. En effet, les valeurs courantes de cette instance courante sont indispensables pour lever les ambiguïtés de tout système d équations non-linéaires [Pierra et al. 94]. De plus c est avec cette instance courante qu un concepteur va graphiquement interagir pour poser les contraintes.
48 38 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE Le niveau instance courante correspond à la géométrie qui a été largement évoquée dans la section Modélisation géométrique (section 2) et qui peut être étudiée en détails dans [Requicha 88] [Foley et al. 95] [Mortenson 97] Spécification paramétrique La spécification paramétrique, qui constitue une représentation abstraite de l objet modélisé contient essentiellement : () la description d un ensemble d objets, et (2) la description des contraintes entre ces objets. Dans le cas de la modélisation par caractéristiques, à laquelle nous nous intéressons, les objets correspondent en particulier aux caractéristiques développées dans la section Modélisation par caractéristiques et plus particulièrement dans les sections et sur les approches procédurales et déclaratives. Dans le cas de dessin de contours 2D à main levée, ils correspondent par exemple à des points, des segments, etc.. Les contraintes peuvent, ainsi que nous l avons vu, être réparties en deux types, les contraintes équationnelles et les contraintes fonctionnelles. Les contraintes équationnelles : comme le nom l indique, ces contraintes sont basées sur des équations qui s appliquent à des entités géométriques ou numériques. Les contraintes de parallélisme, d orthogonalité, de tangence, de distance entre points, etc., en sont quelques exemples. Les contraintes fonctionnelles : cette expression, désigne tout simplement les fonctions de construction des objets géométriques. Ainsi, la fonction construisant un segment par deux points ou bien celle insérant une caractéristique de rainurage sont typiquement des contraintes fonctionnelles. Pour parachever la présentation de la modélisation paramétrique, il nous reste à établir le lien qui doit exister entre les deux niveaux (instance courante / contraintes c està-dire géométrie / spécification paramétrique) d un tel modèle Lien entre la géométrie et les contraintes Nous avons déjà vu les relations pouvant exister entre caractéristiques de forme (voir la section ). Au-delà de la vision statique de la relation entre deux caractéristiques, il faut bien comprendre qu il s agit du lien entre la géométrie de la première caractéristique, supposée préexistante, et la spécification de la seconde caractéristique. Par exemple, une rainure n est pas posée sur un bloc, mais la fonction construisant la rainure à pour paramètre d entrée (entre autres) l une des faces du bloc. Dans un modèle paramétrique dont la géométrie est basée sur une structure BRep, il est souhaitable que toutes les entités topologiques puissent être ainsi référencées. Il faut donc, entre le modèle géométrique et la spécification paramétrique, une interface permettant à la spécification d effectuer des références géométriques lui servant de paramètres d entrée. Le système SINFONIA [Ovtcharova et al. 94] illustre clairement, comme le montre la Figure 5-a, la séparation des deux modules (Solid Modeler / Feature Modeler) et l interface (Design Feature Manager) qui gère le flux de données. Un autre exemple est le système proposé par Chen [Chen 95]. L architecture distingue bien d une part, le niveau géométrique (Evaluated Design) et le niveau de la spécification (Unevaluated Design), et, d autre part, le lien entre ces deux niveaux qui est effectué au travers d un schéma de nomination générique et d un compilateur (cf. Figure 5-b).
49 MODELISATION PARAMETRIQUE 39 (a) (b) Feature Evaluation and Identification Design Feature Manager Feature Consistency Handler Sinfonia Feature Data Collection Process Design Interface (editing) Solid Modeler Abstract Solid Modeler Solid Modeler Kernel Feature Modeler Feature Modeler Kernel Feature Graph Handler Unevaluated Design Generic Naming Design Compiler Evaluated Design Figure 5 Exemple de lien entre la géométrie et les contraintes. (a) Un gestionnaire de caractéristiques fait office d interface entre la géométrie et les caractéristiques [Ovtcharova et al. 94]. (b) Un schéma de nomination générique et un compilateur assurent le lien dans le modèle proposé par [Chen 95]. Dans la section suivante nous allons clairement montrer pourquoi une interface de nomination est nécessaire entre la géométrie et la spécification. 4.3 Problème de nomination persistante dans les modèles paramétriques Dans un modèle paramétrique un des problèmes est d identifier les entités géométriques et topologiques référencées par les contraintes. Identifier les entités consiste à les caractériser en leur donnant un nom lors de la conception afin de pouvoir les «retrouver» dans le modèle lors de la réévaluation. Il s agit de faire le matching, c est-àdire effectuer l appariement, en d autres termes, faire la mise en correspondance entre les entités du modèle initial et les entités du modèle réévalué. Ce problème est connu sous le terme de «persistent naming», c est-à-dire : nomination persistante [Hoffmann 93]. e modèle initial f bloc extrudé rainure horizontale rainure verticale arrondi de l arête e modèle réévalué f. e a e b Figure 6 Problèmes de nomination : ( er problème) pouvoir identifier toutes les entités du modèle et (2 ème problème) pouvoir retrouver ces entités après réévaluation du modèle, même en cas de variations de la topologie. Pour illustrer ce problème, prenons l exemple de la Figure 6. Le modèle initial est conçu au moyen d une spécification paramétrique contenant quatre gestes constructifs successifs : () construction d un bloc par extrusion de la face initiale f., (2) ajout d une
50 4 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE rainure horizontale, (3) ajout d une rainure verticale et (4) arrondi de l arête e. Le modèle est ensuite modifié à l étape 3 par variation du paramètre correspondant à la longueur de la rainure verticale. Il s agit alors à l étape 4 de savoir si l arrondi doit être fait, et, le cas échéant, sur quelle(s) arête(s). Dans les sections suivantes (4.3. à 4.3.4), nous allons illustrer sur cet exemple, la nécessite d avoir des noms (pour la désignation des entités lors de la mise sous contraintes et pour le référencement dans la spécification paramétrique), la nécessité d avoir une structure de noms (toute la hiérarchie, volume > coque > face > loop > arête > sommet, doit être accessible) et la nécessité d un appariement des noms (quelle que soit la réévaluation, les noms doivent désigner les «mêmes» entités) Nécessité du nom Le premier aspect de la nomination, quel que soit le type de modèle paramétrique, est la nécessité d identification des entités. En effet, les entités doivent être caractérisées de telle sorte qu elles puissent être distinguées les unes des autres, afin de permettre leur désignation lors de la mise sous contraintes. En général, la caractérisation, c est-à-dire le nom, peut être un numéro de création, un pointeur vers la géométrie, le nom de la fonction de construction, etc.. Dans un modèle non-paramétrique, il suffit que le nom existe au moment de la désignation d une entité, tandis que dans un modèle paramétrique ce n est pas seulement la forme finale qui est conservée, mais tout le processus de construction. Toutes les entités désignées sont référencées dans la spécification paramétrique et doivent donc porter un nom, même si elles n existent plus dans l instance courante. Prenons l exemple de la Figure 6 où le quatrième geste constructif consiste à arrondir l arête e. Si le modèle initial est stocké ou bien échangé après cette quatrième étape, l instance courante ne contient plus l arête e : elle a été supprimée par la fonction d arrondi. Ainsi la fonction d arrondi qui a l arête e comme paramètre d entrée ne peut plus être représentée dans la spécification paramétrique du modèle par un pointeur sur la géométrie. Des noms sont donc nécessaires pour représenter les entités référencées dans le modèle paramétrique, qu elles existent ou non dans l instance courante. Ces noms ne peuvent donc pas se résumer à de simples pointeurs temporaires vers la géométrie Nécessité d une structure de noms Dans un modèle CSG les entités de base sont positionnées globalement les unes par rapport au autres. Chaque geste constructif ne générant qu une unique entité, le nom de la fonction de construction suffit à la nommer. Par contre, dans un modèle BRep, il existe une structure hiérarchique, volume > coque > face > loop > arête > sommet, qui doit être accessible. Chaque geste constructif génère non seulement plusieurs entités mais surtout, un nombre non-prédictible d entités. Même si toutes les entités existent dans l instance courante, elles doivent être distinguées les une des autres, et donc nommées, afin de pouvoir être référencées par les gestes constructifs suivants. Il faut donc, dès la conception, avoir une structure de noms et un mécanisme de nomination, permettant de nommer chaque entité de manière unique et non-ambiguë. Toujours sur la Figure 6, nous pouvons constater que la face initiale f. est scindée en plusieurs morceaux par les fonctions de rainure horizontale et verticale. Dans le modèle
51 MODELISATION PARAMETRIQUE 4 initial, à l étape 3, il y a deux morceaux, tandis qu à l étape 3 du modèle réévalué il y en a quatre. Une nomination aussi triviale qu une numérotation n est donc pas envisageable pour ces morceaux, et à plus forte raison pour l ensemble des entités. Entité brute Entité après interaction avec d autres entités CSG BRep Résultat unique pour chacune des primitives (accessible dans sa globalité). Ex : la rainure verticale existe d un seul tenant. Un seul nom suffit. Résultats multiples pour chaque primitive (accessibles individuellement). Ex : chaque face de la rainure verticale est référençable. Nécessité d une structure de noms (qui peut être prédéfinie). Pas de nouvelles entités. Les interactions entre la rainure et le bloc existant donnent une unique nouvelle entité (résultat de la fonction de construction) accessible elle aussi dans sa globalité. Nombre non-prédictible (variable d une réévaluation à l autre) de nouvelles entités. Ex : f, donne deux ou quatre nouvelles faces aux étapes 3 et 3. Nécessité d un mécanisme de nomination. Tableau 3 Comparaison des besoins de noms au sein des modèles CSG et BRep. 3 3 Pour un modèle paramétrique, dont la topologie peut varier d une réévaluation à l autre, une simple numérotation des entités ne suffit pas Nécessité d un appariement des noms La structure topologique pouvant légèrement ou fortement varier d une réévaluation à l autre, il est nécessaire de pouvoir définir dans quelle mesure un modèle ressemble à un autre, à partir de quand une entité est identique à une autre, et à quel point une entité est identifiable à aucune, une ou plusieurs autres. Revenons à la Figure 6, et plus précisément au modèle réévalué. Nous remarquons qu à l étape 3 l arête e a été coupée en deux arêtes e a et e b. Or, l étape suivante dans la spécification paramétrique consiste à arrondir l arête e. Le problème est donc de traiter cette information en faisant, par exemple, correspondre l arête e aux arêtes e a et e b en dépit des changements de topologie. Remarquons que cet appariement est un cas particulier et que le mécanisme doit être capable de distinguer tous les cas d appariements. Dans cet exemple il y a quatre cas possibles : () e e a & e b ; ou bien (2) e e a ; ou bien (3) e e b ; ou encore (4) e. Le mécanisme de nomination à définir ( er problème) doit par conséquent être suffisamment puissant pour permettre d effectuer un appariement robuste entre les entités du modèle initial et celles du modèle réévalué selon un processus qui doit également être défini (2 ème problème) Capture de différentes sémantiques Un troisième problème est de pouvoir exprimer et représenter différentes sémantiques pour un même résultat (même instance courante). L objet représenté dans la Figure 7 illustre bien ce problème. L objet a été construit à l aide de trois gestes constructifs successifs : () création du bloc par extrusion d un contour polygonal,
52 42 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE (2) création du cylindre sur le bloc, (3) puis de l arrondi entre le bloc et le cylindre. Selon que la fonction arrondi a été exprimée entre le cylindre et la face f., ou bien entre le cylindre et la coque composée des faces f. et f.2, le modèle réévalué est différent, car la sémantique du geste constructif et donc celle exprimée dans la spécification paramétrique est différente. Dans le premier cas, on obtient le modèle (b) où l arrondi a disparu puisqu il ne peut plus être fait entre le cylindre et la face f.. Dans le second cas, on obtient le modèle (c) où l arrondi existe toujours puisqu il a pu être fait entre le cylindre et la coque composée des faces f. et f.2. (a) (b) (c) f. f.2 f. f.2 f. f.2 OU ère réévaluation modèle initial 2 nde réévaluation Figure 7 Différence de sémantique. (a) Le modèle initial est réévalué (b) sans l arrondi ou bien (c) avec l arrondi suivant que cette opération porte sur la face f. ou bien sur la coque du dessus (f. et f.2 ). Pour supporter ces différentes sémantiques (3 ème problème), le mécanisme de nomination doit gérer la nomination et l appariement d entités de haut niveau telles que les coques (agrégats de coques ou de faces). 4.4 État de l art Bien que la modélisation paramétrique se développe et se répande largement depuis plus d une décennie, aussi bien dans les milieux industriels qu universitaires, seuls une dizaine de centres de recherche ont activement publié dans ce domaine. Un travail précurseur dans le domaine du paramétrique est certainement celui de Hoffmann et Juan [Hoffmann et al. 93]. Ces dernières années, plusieurs auteurs ont étudié la structure interne d un modèle de données paramétrique, proposant différentes représentations [Hoffmann et al. 93] [Pierra et al. 94] [Hoffmann 93] [Solano et al. 94] [Pierra et al. 96] [Laakko et al. 96] [Agbodan et al. 99], analysant les structures mathématiques sous-jacentes [Pierra et al. 96] [Raghothama et al. 98], et décrivant les problèmes liés soit à la sémantique des opérations de modélisation [Hoffmann 93] [Chen et al. 95] [Lequette 96] [Agbodan et al. a], soit à la gestion des contraintes de modélisation [Bouma et al. 95]. La plupart des auteurs ont étudié principalement les phases de construction en modélisation paramétrique et n ont que très peu abordé les phases de réévaluation qui sont cruciales pour assurer la validité des modèles paramétriques. Actuellement, il est possible de discerner deux tendances concernant les problèmes de validité des modèles paramétriques. Une première approche, relative à la nomination et à l appariement, autorise une variation libre des modèles paramétriques et propose a posteriori, c est-à-dire dans le modèle réévalué, de retrouver une géométrie cohérente par rapport à la spécification. Une deuxième approche, développée plus récemment, cherche à restreindre a priori le domaine de variation des paramètres et définit ainsi des familles paramétriques de solides.
53 MODELISATION PARAMETRIQUE Approches a posteriori Dans les approches a posteriori le scénario est le suivant : () construction du modèle initial, (2) modification des paramètres, (3) création de la nouvelle géométrie, avec répétition de deux sous-phases (3.) appariement des entités (avec ou sans succès), et (3.2) obtention du modèle réévalué. Les paramètres varient donc librement (dans les limites du modèle géométrique), et un mécanisme d appariement permet de mettre en correspondance les entités du modèle initial et celles du modèle réévalué, rétablissant ainsi les relations entre la spécification paramétrique et la nouvelle géométrie. Différents mécanismes de nomination persistante ont été proposés. En particulier par Kripac et Chen qui ont étudié différentes solutions pour résoudre certains des problèmes mentionnés dans la section 4.3 [Kripac 95] [Chen 95]. Nous allons voir que Kripac a abordé principalement le problème de l appariement alors que Chen a traité essentiellement le problème de la définition d un mécanisme de nomination non-ambiguë pour la phase de construction. Il faut également citer OCAF [@opencascade], une plateforme de développement en CAO, qui propose un mécanisme de nomination élaboré avec un appariement implicite. Plus récemment Wu et ces collègues [Wu et al. ] ont développé un système paramétrique en mettant principalement l accent sur un mécanisme de nomination non-ambiguë en phase de construction Kripac À l Université Technique Tchèque de Prague, Kripac s est particulièrement intéressé au problème de l appariement des noms [Kripac 94] [Kripac 95] [Kripac 97]. Il propose une API encapsulant son système d identification topologique et garantissant la persistance des noms à l aide d une table de correspondance entre une entité du modèle initial et une ou plusieurs entités du modèle réévalué. Kripac propose d une part, une structure pour identifier les entités topologiques basée sur l historique des faces (création, subdivision, fusion et disparition), et, d autre part, un algorithme d appariement pour retrouver les entités après modification. Son système d identification topologique contient trois parties. Premièrement, un graphe de faces permettant à la fois de nommer toutes les autres entités topologiques en fonction de leur voisinage en termes de faces, et de réaliser l appariement lors de la réévaluation. Deuxièmement, une table contenant d une part, le nom des entités effectivement référencées par la spécification paramétrique, et, d autre part, pour chaque nom, une liste de pointeurs vers la géométrie correspondante dans l instance courante. Troisièmement, le modèle géométrique à base topologique de l instance géométrique courante. À chaque réévaluation, un appariement est réalisé pour chaque face du modèle géométrique ainsi que pour chaque entité référencée dans la spécification paramétrique. Les faces scindées sont nommées en termes de faces adjacentes, mais Kripac n explique pas la manière dont les faces initiales sont nommées. De plus, lors de la réévaluation, le mécanisme d appariement proposé établit dans certains cas des heuristiques de mise en correspondance tout à fait indépendantes de l action du concepteur, rendant le résultat de la réévaluation imprévisible. Enfin, dans son approche, Kripac conserve à chaque étape du processus de construction une copie du modèle géométrique.
54 44 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE Cela permet d accélérer le processus de réévaluation mais au prix d un volume mémoire difficilement compatible avec la taille des modèles réels utilisés en CAO. Par ailleurs, audelà des limitations précédentes, le modèle de Kripac ne traite pas le problème de la représentation de sémantiques différentes énoncé dans la section Chen Les travaux de Chen ont été effectués à l Université de Purdue sous la direction de Hoffmann. Le modèle de Chen est composé de deux représentations [Chen 95]. La première appelée EREP, non-évaluée et indépendante de tout modeleur géométrique est basée sur un format textuel neutre [Hoffmann et al. 93]. La deuxième représentation, évaluée et dépendante du modeleur, contient la géométrie (l instance courante). Le lien entre les deux représentations est obtenu par un schéma de nomination générique qui établit une correspondance entre les entités du modèle géométrique et les noms génériques (persistants) du modèle non-évalué. Chen définit une structure précise pour la nomination de toutes les entités brutes (avant interaction avec la géométrie existante) contenues dans une classe spécifique de caractéristiques de forme construites par extrusion ou révolution d un profil 2D. Dans ce contexte précis, chaque entité topologique est nommée par rapport aux noms des entités définissant le profil 2D et par rapport au geste constructif. Il propose également une technique d identification, très fine pour les entités issues des interactions avec la géométrie, basée sur des compositions du contexte topologique et sur l orientation des caractéristiques de forme. En fait, le contexte topologique est le voisinage topologique plus ou moins étendu. À chaque étape, chaque entité issue d interactions est décrite par le plus petit contexte topologique non-ambiguë possible [Chen 95] [Capoyleas et al. 96]. Dans l approche de Chen, chacune des entités issues d interactions est nommée. Malheureusement, Chen a étudié principalement le problème de la nomination dans la phase de construction du modèle paramétrique et n a pratiquement pas abordé la phase de réévaluation. En particulier, le mécanisme d appariement n est pas clairement défini. Il semble qu en cas d échec (nom initial non trouvé dans le modèle réévalué), l entité initiale est comparée, suivant des critères de ressemblance topologique, à un ensemble d entités candidates du modèle réévalué. De cet ensemble d entités candidates sera extrait l entité la plus ressemblante OCAF La société Matra Datavision [@matra] a déposé dans le domaine public, sous forme de logiciel libre (open source), sa plate-forme de développement OCAF (Open CasCade Application Framework) qui propose un noyau géométrique, une structure de données et un mécanisme de nomination pouvant servir de modules de base pour un système géométrique paramétrique [OCAF ] [@opencascade]. Leur mécanisme de nomination possède deux composantes : premièrement, une structure de données qui trace l évolution de toutes les entités du modèle (entités primitives, générées, modifiées, supprimées, etc.) et deuxièmement, une structure de noms qui se base elle aussi sur le voisinage. Une analyse Il y a deux phases pour chaque geste constructif, la conception de la caractéristique brute, puis son interaction avec la géométrie existante. Par exemple, une rainure brute (à base rectangulaire) est composée de six faces, puis son interaction avec un bloc existant, fait disparaître certaines de ses faces et peut scinder certaines faces du bloc.
55 MODELISATION PARAMETRIQUE 45 plus détaillée, ainsi qu un important travail de retro-conception basé sur les sources disponibles, peuvent être trouvés dans [Delmas ]. Les noms sont construits uniquement pour les entités référencées par la spécification paramétrique. Les noms sont des expressions construites à partir des faces des caractéristiques brutes, d opérateurs et du type d entité. Les opérateurs permettent de construire des ensembles d entités, puis de les filtrer (par voisinage topologique connexe) et de les raffiner jusqu à obtention d un nom minimal, unique et non-ambiguë dans l instance courante initiale. Ce nom, qui est donc une expression, est ensuite réévalué dans l instance courante du modèle réévalué, avec comme résultat aucune, une ou plusieurs entités. Le nom comporte donc, en lui, le mécanisme d appariement, ce qui évite la comparaison et la mise en correspondances de deux structures de données globales. Ne pas avoir à gérer en parallèle deux importantes structures de données simplifie considérablement la phase d appariement, mais d une part nécessite de pouvoir, en construction, établir de judicieux heuristiques de raffinage des noms, et, d autre part, peut amener à ignorer certaines entités du modèle réévalué Wu et ses collègues Une autre approche a posteriori est développée par Wu et ses collègues de l Université de Science et Technologie de Huazhong [Wu et al. ]. La nomination est faite en deux temps, d abord sur les caractéristiques brutes (uniquement les faces), puis sur le résultat des opérations booléennes (toutes les entités topologiques issues d interactions). L appariement n est pas clairement évoqué, mais laisse présager une mise en correspondance univoque, c est-à-dire une recherche du nom initial dans la nouvelle géométrie. Le nom original (original name) des faces de la caractéristique brute (balayage, révolution, chanfrein, etc.) est basé sur les entités de construction (profile, chemin, etc.). Ce nom étant insuffisant, notamment en cas de scission, il est augmenté d une information sur l espace de paramètre (u, v) des surfaces portant les faces nommées. L ordre (distance par rapport à l origine) des faces scindées dans les directions u où v permet d attribuer à chaque face un numéro qui la distingue des autres faces. Le nom original et les informations sur l espace des paramètres de la surface constituent le nom réel (real name) qui est non-ambiguë en construction. Les autres entités topologiques sont nommées par rapport aux noms réels des faces adjacentes et une information sur l espace des paramètres. Cette information sur l espace des paramètres permet assez simplement de distinguer, en construction, les entités les unes des autres, cependant cette numérotation des faces est sensible à certaines variations de topologie et peut conduire à des appariements erronés. Wu et ses collègues n ayant pas mentionné la phase de réévaluation, nous supposons que l appariement est implicite et univoque et qu il se fait par recherche d un nom identique dans le modèle réévalué ce qui peut amener à ignorer certaines entités du modèle réévalué. Une autre faiblesse du mécanisme d identification est qu il nécessite que la paramétrisation des courbes et surfaces par le noyau géométrique soient identiques d une réévaluation à une autre, d un modeleur à un autre Approches a priori Dans les approches a priori le scénario est le suivant : () construction du modèle initial, (2) modification des paramètres, (3) vérification de la validité des paramètres (estce toujours la même famille?), puis (4) obtention d un modèle réévalué valide. Chaque
56 46 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE solide, chaque caractéristique de forme varie dans sa famille paramétrique de solides. Il s agit donc soit de définir le domaine de variation des paramètres, soit de définir un évaluateur permettant de dire si deux solides appartiennent à la même famille paramétrique. Deux équipes de recherche se sont intéressées à ce problème. La première équipe [Shapiro et al. 95] [Raghothama et al. 98] propose une méthode souple, autorisant certaines variations de topologie tandis que la seconde [Hoffmann et al. ] restreint le champ d application de sa méthode à des polygones rectangles à topologie identique Shapiro Raghothama Shapiro et Vossler sont les premiers à introduire la notion de famille paramétrique de solides. Ils défendent l idée qu une définition formelle d un solide paramétrique permet de rendre sa réévaluation totalement prédictible [Shapiro et al. 95]. Ils ont établi un parallèle entre la définition d une famille paramétrique et le problème du maintient de la consistance (suivant la définition de [Requicha 8]) entre les modèles CSG et BRep d un système géométrique dual. Dans une première approche, ils définissent des familles CSG (même arbre, paramètres différents) et BRep (même topologie, plongement variable) pour représenter les objets. Des variations valides dans une des familles peuvent invalider l autre et réciproquement. Le problème est donc de trouver un domaine de variation commun ou bien de générer à partir d une famille valide l autre famille pour avoir, à nouveau, une représentation CSG / BRep valide. Les difficultés à extraire un modèle CSG d une représentation par frontières et les problèmes pour mettre en correspondance les BRep évaluées à partir de deux modèles paramétriques CGS successifs, les amènent [Raghothama et al. 99] à proposer une approche où les deux représentations sont maintenues en parallèle sans conversion entre elles. L idée est d éditer en parallèle les deux représentations et de vérifier leur consistance à chaque étape d édition. Leur approche est séduisante mais () est limitée par le CSG paramétrique et (2) nécessite de définir des équivalences d opérations CSG / BRep. Shapiro et Raghothama de l Université Wisconsin-Madison proposent une définition formelle de solides BRep et introduisent la notion de variation de frontières (Boundary Representation (BR-)variance) dans les familles paramétriques [Raghothama et al. 97] [Raghothama et al. 98]. Ils définissent une famille paramétrique de solides par un principe de continuité qui stipule que de petites variations des valeurs de paramètres entraînent de petites variations des frontières des solides. Cela implique d une part, qu il existe une application (map) mettant en correspondance les entités (cells) des modèles BRep avant et après modification (les dimensions peuvent être différentes), et, d autre part, que les deux modèles appartiennent continûment à la même famille paramétrique quelles que soient les variations continues des paramètres. Le point fort de l approche proposée par cette équipe de chercheurs est de garantir la validité des modèles paramétriques. Aucun appariement n est nécessaire puisque, pour chaque famille paramétrique, une fonction évalue à la fois la validité des variations, et la mise en correspondance des entités topologiques. Malheureusement, pour l instant, ces fonctions restent à définir pour chaque famille de caractéristique de forme. Throughout a valid parameter range, small changes in a solid s parameter values result in small changes in the solid s representation. [Raghothama et al. 97] [Raghothama et al. 98]
57 MODELISATION PARAMETRIQUE Hoffmann et son équipe Après plusieurs années d investigation de la première approche (voir la section ) ainsi que d étude de la représentation et de la résolution de contraintes dans les modèles géométriques et paramétriques [Bouma et al. 95], Hoffmann et son équipe de l Université de Purdue se sont intéressés à la validité des modèles paramétriques [Hoffmann et al. ]. La question sur le domaine de validité des paramètres pour un solide paramétrique donné étant trop vaste, ils proposent de reformuler le problème et de ramener l étude à un polygone rectangle avec uniquement des contraintes de distances verticales et horizontales 2 (traitées séparément). Hoffmann et son équipe proposent : premièrement de construire deux ensembles de segments contenant les contraintes couplées ; deuxièmement de représenter, sous forme de graphe, les segments du polygone (nœuds) et les contraintes (arcs) ; et troisièmement, pour chaque nœud d établir deux listes de segments visibles 3 contenant les distances géométriques vers les autres segments. Cette approche est très convaincante dans le cas de polygones rectangles, mais semble très difficilement généralisable à des contours quelconques et à plus forte raison à des solides 3D. Cette approche nous semble plutôt adapté à la technologie de groupe ou à la validation de bibliothèques de composants (en dehors de toute sémantique technologique) Discussions Outre la distinction a priori / a posteriori comme l illustre la Figure 8, il est possible de classer les approches a posteriori en deux catégories suivant le mécanisme d appariement qui peut être global ou local. Dans l approche globale l appariement s effectue par la comparaison de deux ensembles d entités (l un issu du modèle initial et l autre du modèle réévalué) et par la mise en correspondance de toutes ces entités. Ce calcul combinatoire est évité dans l approche locale puisque seule l entité référencée intervient. Soit elle est comparée à un ensemble d entités candidates [Chen 95], soit elle porte en elle les noms des nouvelles entités ([OCAF ] et probablement [Wu et al. ]). Given a parametric solid and its constraint schema, what are the valid ranges for its dimensional constraints and parameters? [Hoffmann et al. ] 2 Given a well-constrained rectilinear polygon P with only vertical and horizontal distance constraints, find for each constraint the range within the distance may vary without changing the original topology of P. [Hoffmann et al. ] 3 Deux segments parallèles sont visibles (en regard) lorsqu il n existe pas entre eux d autres segments parallèles.
58 48 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE Validité des modèles paramétriques Approche a posteriori Approche a priori Appariement global [Kripac 94,95,97] (LISI) Appariement local [Chen 95] [Capoyleas et al. 96] [OCAF ] [Wu et al. ] [Shapiro et al. 95] [Raghothama et al ] [Hoffmann et al. ] Figure 8 Taxonomie des méthodes de résolution des problèmes de nomination et d appariement dans les modèles paramétriques. L acronyme LISI indique notre positionnement au sein des différentes approches. Les approches a priori semblent prometteuses, mais n ont pas encore atteint le même degré de maturité que les approches a posteriori. Il est difficile de comparer les approches a priori et a posteriori car même si l objectif commun est d assurer la robustesse de la modélisation paramétrique elles diffèrent sensiblement par les restrictions qu elles imposent, et par leurs avantages et inconvénients qui sont antagoniques. Le Tableau 4 récapitule les points forts et faibles de ces approches, ainsi que ceux de chaque modèle que nous avons étudié. Approche a posteriori variation libre des paramètres. appariement peut échouer. Appariement global minimise les mauvais appariements. coût de deux structures de données à comparer. Kripac idées innovantes (historique de face et voisinages topologiques). zones d ombre sur la nomination initiale, heuristique d appariement, copie de la géométrie, «perte de morceaux». (LISI) voir le chapitre suivant pour une description de notre approche. Appariement local une seule structure de données. appariement entre une entité et un ensemble d entités candidates. Chen nomination très fine, peu de cas non-traités (en construction), étude des cas non-linéaires. appariement peu détaillé. OCAF nomination contenant l appariement. appariement (implicite) entre une entité et un ensemble d entités candidates (risque de «perte de morceaux»). Wu nomination simple si pas de variation de topologie. nomination sensible à l ordre des entités, suppression de noms de faces supprimées, appariement univoque, nomination dépendante du noyau géométrique. Approche a priori définition du domaine de validité des paramètres. pas de variation libre des paramètres (nécessité d éditer le modèle pour certaines modifications). Shapiro, Raghothama apport d une sémantique de la modification. comment définir les familles paramétriques? Hoffmann calcul du domaine de validité des paramètres. pas de variation de topologie, limité à des polygones rectangles. Tableau 4 Récapitulatif des points forts et faibles des approches existantes.
59 MODELISATION PARAMETRIQUE 49 Cette taxonomie de modèles paramétriques présente, essentiellement d un point de vue appariement, les différentes philosophies des approches que nous avons recensées (cf. Figure 8). Elles diffères sensiblement les unes des autres, cependant, un certain nombre de concepts fondamentaux sous-jacents existent dans la plupart de ces approches. En complément à cette taxonomie, nous nous proposons de dégager ces concepts communs. La distinction invariant / contingent. Cette distinction existe, de façon plus ou moins explicite dans la majorité des approches où les mécanismes de nomination sont clairement définis, ou simplement sous-entendus. Les entités invariantes (voir la section 2.2 du chapitre suivant pour une définition plus précise) ne changent pas d une réévaluation à une autre, et servent de base à la nomination des entités contingentes qui elles, varient. En général, ce sont des informations sur la connexité topologique des entités, qui constituent les noms. La conservation d un historique. La connexité topologique peut inclure des entités contingentes qui elles-mêmes, à terme, sont connexes à des entités invariantes. Ce chaînage nécessite de pouvoir tracer les évolutions topologiques de chaque entité. Les différentes approches proposent, soit de conserver cet historique dans une structure dédiée, soit d inclure dans chaque nom les évolutions des entités concernées. La nomination par rapport aux entités 2D. Il s agit du mécanisme de nomination employé pour les entités invariantes résultant de geste constructifs qui utilisent des structures topologiques bidimensionnelles comme paramètres d entrée. La plupart des modèles garantissent la persistance du nom des entités 2D en prohibant les modifications topologiques des contours 2D. La séparation géométrie / spécification paramétrique. L architecture globale la plus représentative montre une séparation entre une représentation abstraite (la spécification) et une représentation explicite (la géométrie) des objets modélisés. La gestion des relations entre ces deux niveaux est dévolue aux mécanismes de nomination et d appariement. Ces concepts fondamentaux nous servirons, dans le chapitre suivant, de principes de base pour établir une nomination persistante dans notre modèle paramétrique. 5 Conclusion Dans ce chapitre, nous avons présenté les différents types de modélisations aptes à représenter des objets réels à des fins de manipulation virtuelle et de stockage. La modélisation géométrique représente les objets uniquement du point de vue de leurs propriétés géométriques tandis que la modélisation par caractéristiques y ajoute des informations fonctionnelles qui permettent une description plus adaptée à la conception et à la fabrication. La modélisation paramétrique facilite la réutilisation des objets conçus en déclinant sous diverses variations, une même description du processus de conception. En conservant à la fois une représentation explicite (la géométrie) et une représentation abstraite (la spécification paramétrique), la modélisation paramétrique pose le problème du maintient des liens entre la spécification paramétrique et les entités qu elle référence dans la géométrie. Nous avons mis en évidence trois problèmes :
60 5 CHAPITRE FONDEMENTS DE LA MODELISATION PARAMETRIQUE La nécessité d une structure de noms pendant l étape de construction du modèle initial. La nécessité d un appariement des noms lors de la réévaluation. La nécessité d une capture de différentes sémantiques pour procurer au concepteur un vocabulaire le plus riche possible et lui permettre d exprimer très précisément ses intentions de conception. Dans ce chapitre, nous avons montré la dimension duale des modèles paramétriques et la difficulté d assurer le lien entre la représentation géométrique et la spécification paramétrique. Nous allons nous efforcer d aplanir cette difficulté dans la suite de ce mémoire.
61 Chapitre 2 PS 2 : un modèle à trois niveaux Résumé. La modélisation paramétrique pose le problème de la nomination persistante, c est-à-dire le problème de l identification d entités dans un modèle initial, puis celui de l appariement entre ces entités initiales et celles d un modèle réévalué dont la géométrie et la topologie peuvent varier. Dans cet environnement évolutif, il est essentiel de pouvoir mettre en évidence des éléments invariants auxquels peuvent s accrocher les entités du modèle paramétrique. Cependant, ces éléments invariants sont en général insuffisants, aussi l enregistrement d une partie pertinente des modifications des entités du modèle est-elle nécessaire en complément, pour répondre à ce problème de nomination persistance. L idée que nous proposons est donc, d une part, de nommer les entités invariantes de manière déterministe, unique, et non-ambiguë, et, d autre part, de suivre leurs évolutions pour être en mesure de les retrouver / reconnaître, quelles que soient les modifications du modèle. Cette analyse nous amène à proposer une architecture à trois niveaux pour notre modèle PS 2 (Persistent Solving Structure), à savoir un niveau géométrie (BRep polyédrique), un niveau spécification paramétrique (historique de construction), et, s intercalant entre ces deux niveaux, une interface gérant les noms. Cette gestion des noms se fait principalement au travers d un graphe de coques / faces qui trace l évolution historique des faces et des coques de l objet modélisé, et au travers d une table des entités référencées qui, pour chaque entité référencée par la spécification paramétrique, conserve, non seulement une caractérisation (un nom) de l entité définie en termes des nœuds du graphe de coque / faces, mais aussi un lien entre ce nom et la géométrie courante. La mise en correspondance des graphes initial et réévalué tout au long d une réévaluation, ainsi que leur parcours à la recherche d éléments communs, permettent d interpréter les références figurant dans la spécification paramétrique et donc de maintenir le lien entre la spécification et la géométrie dans l objet réévaluation, assurant de la sorte une nomination persistante. Introduction Dans le premier chapitre, nous avons posé et répondu à la question : pourquoi fautil un nom entre la géométrie et la spécification paramétrique? Dans ce chapitre-ci, la réflexion porte sur : comment construire ce nom? Nous avons établi que pour résoudre le problème de la nomination persistante dans un modèle paramétrique, il est nécessaire d identifier les entités dans le modèle initial, puis de les retrouver dans toutes les réévaluations possibles de ce modèle. Au-delà de l énoncé du problème qui explique la nécessité d avoir une structure de noms et la difficulté à retrouver ces noms, il faut bien comprendre le processus de nomination / appariement : () une entité est identifiée et 5
62 52 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX référencée dans le modèle initial, (2) un certain nombre d évolutions non-prédictibles l affecte lors de la réévaluation, puis (3) une nouvelle identification de cette entité doit être effectuée en dépit de tous les changements. Une re-formulation de la problématique permet une analyse plus fine et une meilleure compréhension des points d achoppements, et donc des éléments de solution.. Problématique Le problème de nomination et d appariement dépasse le seul cadre de la modélisation paramétrique, et se retrouve aussi bien dans le domaine informatique (reconnaissance de caractères, de la parole, etc.), que dans la vie quotidienne (état civil, reconnaissance d un visage, d empreintes digitales, etc.). Dans tous ces cas, nous remarquons que le processus de nomination / appariement ou encore le processus d identification / reconnaissance est le même. En effet, une entité (un citoyen, un phonème, un visage, etc.) est nommée / identifiée / caractérisée, puis elle subit des changements (vieillesse, acquisition dégradée, variation de topologie, etc.), et enfin elle doit, à nouveau, être identifiée, c est-à-dire reconnue parmi des entités plus ou moins semblables. De manière générale, la reconnaissance consiste à analyser un ensemble de données afin d y retrouver des configurations prédéterminées. Cette analyse peut prendre deux formes. Premièrement, la discrimination qui se base sur les différences entre classes c està-dire sur les caractères discriminants. Pour la discrimination, il s agit d assigner l entité à identifier à une des classes possibles (en nombre fini). Par exemple, reconnaître un caractère parmi les lettres de l alphabet. Deuxièmement, la caractérisation où il s agit de décider si l entité à identifier possède, ou non, les caractéristiques d une classe unique donnée. Par exemple, décider si un électrocardiogramme appartient à la classe «normal», ou bien rechercher un mot clé dans une séquence parlée. On peut supposer que la ressemblance des entités d une classe est due à la présence d invariants propres à la classe. Les invariants sont des éléments communs et stables quand on considère un ensemble d entités de la classe. Par exemple, les rectangles ont toujours quatre côtés qui forment des angles droits. Cependant, les réalisations à main levée de rectangles s éloignent fortement de cette définition. Ce qui conditionne la décision (d assimiler l esquisse à un rectangle) est le fait que la figure ressemble davantage à un rectangle qu à une autre figure géométrique ; elle en est plus proche au sens d une métrique à définir. La répartition des entités dans l espace de représentation fait rarement apparaître une parfaite séparation entre les différentes classes, ce qui provoque une ambiguïté dans les décisions. Il est dans ce cas possible d associer une valeur à la décision pour indiquer avec quelle «confiance» elle a été prise. La reconnaissance se fait par rapport à des classes d entités qui peuvent être définies en extension (un ou plusieurs prototypes définissent la classe), ou bien en intention (des propriétés décrivent la classe). Dans le cas où les classes sont représentées en extension, la ressemblance peut être mesurée, par exemple par la distance de l entité à identifier, à un prototype. Dans le cas où les classes sont représentées en intention, la ressemblance est donnée par la position de l entité à identifier par rapport aux espaces définis par les représentations des classes. Dans les deux cas il s agit d abord, de disposer
63 INTRODUCTION 53 d une information qui peut être mesurée sur la donnée à reconnaître, puis, en fonction de cette mesure, de mettre cette donnée dans telle ou telle classe. Dans le cas de la modélisation paramétrique, il ne s agit pas de classer (reconnaître une entité comme membre d une classe), mais d identifier (reconnaître une entité en tant qu instance). Par analogie avec ce qui précède, il est possible de considérer les classes comme étant réduites à l entité (au prototype) qui les définissent par extension. En effet, il s agit de reconnaître une entité parmi d autres entités bien identifiées ; chacune étant unique (dans sa classe) et différente des autres. La variété de ces entités est telle, qu il est difficile d en extraire des discriminants pertinents pour décrire l entité à identifier. En modélisation paramétrique, il est donc préférable, plutôt que de discriminer, de caractériser chaque entité. Le problème qui se pose à nous est donc, d une part, de trouver une bonne caractérisation (identification) pour chaque entité, et, d autre part, de formaliser le degré de ressemblance qui existe entre les entités..2 Trame du chapitre Ce deuxième chapitre vise à répondre au problème de la nomination persistante que nous avons introduit dans le premier chapitre, et détaillé en le raffinant dans la sous-section précédente. Pour atteindre cet objectif, nous allons commencer par présenter, dans la deuxième section, cinq point-clés qui font suite aux concepts communs des modèles paramétriques, et qui nous paraissent essentiels pour une nomination robuste et persistante dans notre modèle paramétrique. La troisième section est consacrée à une vue d ensemble du modèle paramétrique qui permet au lecteur, avant de se pencher sur les différents détails techniques, d avoir un aperçu global de l architecture de notre modèle paramétrique, de comprendre le rôle et le fonctionnement de chaque partie et d appréhender les bases des mécanismes de nomination et d appariement. Dans la section quatre, nous détaillons l architecture du modèle PS 2 avec, en particulier, la structure de graphe de coques / faces qui identifie et trace l évolution historique des coques et des faces des objets modélisés. Nous abordons également dans cette section la nomination, en phase de construction, des faces et coques ainsi que des entités référencées par la spécification paramétrique. La dernière section présente le mécanisme d appariement, mis en œuvre lors de la réévaluation du modèle, en distinguant la mise en correspondance des graphes initial et réévalué et la mise à jour des entités référencées, c est-à-dire leur mise en correspondance avec la géométrie réévaluée. 2 Cinq point-clés pour une nomination persistante Après étude du problème de nomination persistante et analyse des différentes approches proposées par la communauté scientifique, nous avons extrait, dans le premier chapitre, un certain nombre de concepts communs qui nous permettent, en les étendant, d établir cinq point-clés qui nous semblent essentiels pour élaborer un modèle paramétrique supportant une nomination robuste et persistante. Ces trois paragraphes ont largement été inspirés d un cours de [Faure 97] sur la reconnaissance de formes.
64 54 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX La notion de coque. Au-delà de l accessibilité des sommets, arêtes et faces, il est intéressant d accéder à des coques représentant totalement ou partiellement la frontière de l objet. Comment définir ces coques pour qu elles s intègrent au mieux au modèle et à son mécanisme de nomination? La distinction invariant / contingent. Une différenciation est faite entre les entités qui changent et celles qui ne changent pas d une réévaluation à une autre. Ces dernières peuvent être caractérisées de manière relativement stable. Est-il possible de totalement caractériser les entités contingentes? Ces entités contingentes peuvent-elles être décrites en termes d entités invariantes? L approche locale / globale. Lors de la recherche de la correspondance d une entité initiale dans le modèle réévalué, il est possible soit de la rechercher (en tant que singleton) dans un ensemble cible d entités réévaluées, soit de comparer un ensemble source d entités initiales (dont elle fait partie) à cet ensemble cible. Laquelle de ces deux approches apporte le plus de robustesse à la nomination persistante? La pondération de la topologie par la géométrie. Bien que moins sujette aux variations que la géométrie, la topologie ne permet pas, à elle seule, de caractériser totalement les entités d un modèle paramétrique. Cinq faces de longueur unité ontelles la même influence qu une face de longueur cinq unités? La préservation (non-perte) de l information. La mise en correspondance de deux ou plusieurs entités peut se faire suivant une «ressemblance» qui peut être totale ou partielle (jusqu à un seuil à déterminer). Faut-il conserver le degré de ressemblance? Et le cas échéant, comment faut-il le définir? le gérer? Ces cinq point-clés, issus de notre étude des modèles paramétriques, et sur lesquels portent encore certaines interrogations, vont être développés dans cette section qui pose les fondements de la nomination robuste et persistante dans les modèles paramétriques. 2. Notion de coque Un aspect important de la modélisation paramétrique, non traité dans les approches existant dans la littérature, est la possibilité de pouvoir exprimer différentes sémantiques en utilisant des paramètres de haut niveau (agrégats d entités géométriques ou topologiques). Les caractéristiques, et en particulier les caractéristiques de forme, constituent un vocabulaire plus riche que les primitives élémentaires CSG ou les entités topologiques BRep, et permettent au concepteur de décrire plus finement ses intentions de conception. Les travaux usuels dans le domaine tentent seulement de nommer les sommets, arêtes, faces et solides, mais cela peut vite s avérer limitatif et ne permet d enregistrer qu une partie restreinte des intentions du concepteur. Notre idée consiste à proposer un modèle de nomination persistante suffisamment général pour pouvoir identifier de façon persistante une notion de coque, et plus précisément de hiérarchie de coques. Par exemple, il faut pouvoir exprimer qu une caractéristique de forme est appliquée sur la coque globale plutôt que sur une face particulière. Cette préoccupation répond au problème de la capture de différentes sémantiques illustré, par la Figure 7, dans la section du premier chapitre. Notons que cette notion de coque existe indépendamment des coques (shells) de la structure topologique.
65 CINQ POINT-CLES POUR UNE NOMINATION PERSISTANTE 55 Par exemple, pour l extrusion et pour la révolution la structure hiérarchique peut être décrite en termes de coque initiale (c i ), coque latérale (c lat ) et coque finale (c f ). Dans le cas de la caractéristique crossing_flat_slot (rainure traversante) [ISO :99], la coque latérale (compte tenu de la topologie particulière de ce contour extrudé) peut être structurée en sous-coques (c lat_, et c lat_2 ) qui elles-mêmes peuvent être structurées. Par exemple, en coque latérale droite, gauche et du fond (c d, c g, c fd ). Le cas du crossing_flat_slot, représenté sur la Figure 9, illustre bien la structure hiérarchique de coques d une caractéristique de forme. (a) crossing_flat_ slot c lat c f c lat_ c d c fd c g (b) c i c g c lat c f c lat c lat2 c i c lat_2 c g c fd c d Figure 9 Notion coque : cas de la rainure traversante (crossing_flat_slot). Exemple de caractéristique issue de la norme STEP [ISO :99]. (a) Les coques sont structurées en agrégats de sous-coques (coques ou faces). (b) Représentation, sous forme de graphe, de la structure hiérarchique de coques correspondante. Nous proposons de définir les coques de manière récursive comme des agrégats de coques. Au niveau le plus bas de la hiérarchie, chaque coque représente une face (la structure complète est présentée dans les sections 4. et 4.2). Les coques présentent trois propriétés principales ; elles sont : Hiérarchiques. Elles sont structurées en coques, sous-coques, etc., afin de pouvoir appréhender la géométrie à différents niveaux de granularité et ainsi exprimer différentes sémantiques. Cette structure hiérarchique est définie pour chaque classe de caractéristique de forme (voir section 2.2). Connexes. Elles sont composées de coques jointives. Le graphe de coques / faces (cf. section 4.) a pour objectif de représenter l évolution (création, modification, scission et disparition) de la structure invariante initiale, elle-même connexe (à chaque niveau hiérarchique). Un nouveau nœud, c est-à-dire une nouvelle coque ou face de ce graphe, représente ensuite chacune des parties connexes qui apparaissent lors d une scission et permet de lui associer une identification. Il est ainsi possible de tracer l évolution de chaque nœud (coque ou face) et de rechercher sa correspondance dans un graphe réévalué. Recouvrantes. Une sous-coque peut appartenir à différentes coques ; aussi bien dans sa propre structure hiérarchique que dans une structure hiérarchique ad hoc. En effet, la structure hiérarchique recouvrante permet la création d agrégats quelconques au cours de la construction ce qui offre un mécanisme de désignation à la fois souple et très puissant. En particulier, comme nous le verrons dans la section 4.., cela s avère nécessaire lorsque l on souhaite référencer des agrégats issus de la fusion d une caractéristique de forme avec certaines parties de l objet. Concernant donc le point-clé des coques, nous proposons de représenter une structure hiérarchique de coques (qui va être enrichie dans la section suivante et complètement définie dans les sections 4. et 4.2) qui permet, d une part, de différencier
66 56 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX chaque classe de caractéristiques de forme (indispensable pour la nomination), et, d autre part, d étendre le domaine des entités reférençables de manière persistante. Cette structure hiérarchique de coques (et de faces) représente les nœuds du graphe. 2.2 Distinction invariant / contingent Afin de faciliter l identification des entités lors de la réévaluation, il est possible d extraire un certain nombre d invariants contenus dans les caractéristiques de forme composant le modèle paramétrique. Ces invariants ne changent pas dans les différentes instances du modèle, et sont donc facilement identifiables et reconnaissables, quelles que soient les variations des paramètres. Nous proposons donc d établir une distinction invariant / contingent pour définir une base à la nomination en termes d éléments qui ne changent pas d une réévaluation à une autre. Nous définissons une entité invariante comme étant une entité géométrique ou topologique pouvant être, complètement et sans ambiguïté, caractérisée par la structure d un geste constructif et par ses paramètres d entrée, indépendamment des valeurs impliquées. Par exemple, dans la Figure 6 du premier chapitre, les entités invariantes incluent la face initiale du bloc extrudé, la coque latérale de la rainure horizontale, la face résultant de l arrondi de l arête, etc.. Pour caractériser, c est-àdire nommer de telles entités, il est nécessaire de définir un mécanisme de nomination qui associe ces entités aux gestes constructifs ainsi qu à leurs paramètres d entrée. Nous définissons une entité contingente comme étant une entité géométrique ou topologique résultant d une interaction entre le modèle géométrique existant et les entités invariantes issues d un geste constructif particulier. Par exemple, dans la Figure 6, aux étapes 3 et 3, la face initiale se scinde en deux, respectivement quatre, nouvelles faces ; ces faces sont contingentes et dépendent de la valeur du paramètre représentant la longueur de la rainure verticale. Pour les entités contingentes qui dépendent du contexte d un geste constructif, un mécanisme de nomination est également indispensable pour permettre leur référencement dans la spécification paramétrique. Les entités invariantes existent quelle que soit la réévaluation et ne posent donc pas de problème d identification. Les entités contingentes, dont l existence n est pas prédictible, sont identifiées en fonction de leurs relations directes ou indirectes avec les entités invariantes. Cette distinction invariant / contingent associée à la notion de coque (en tant que structure hiérarchique) nous semble propice pour établir une nouvelle taxonomie de caractéristiques de forme plus apte à participer à la robustesse de la nomination dans un modèle paramétrique que les taxonomies existantes. En effet, la plupart des classifications actuelles de caractéristiques de forme proposent d interpréter les données de CAO d un Bien que notre définition de coque inclue à la fois les coques et les faces, nous utiliserons le terme face pour désigner les coques de plus bas niveau (équivalentes aux faces géométriques) et le terme coque pour les autres niveaux. Cependant, par commodité, nous désignerons par le terme graphe (et non plus graphe de coques / faces) la structure de données qui trace l historique aussi bien des faces que des coques.
67 CINQ POINT-CLES POUR UNE NOMINATION PERSISTANTE 57 point de vue usinage ou d un point de vue métier (cf. er chapitre - section 3.2). Ces classifications ne dégagent pas d invariants structuraux et ne sont donc pas adaptées à notre problème. L idée est de proposer une classification des caractéristiques de forme basée, non pas sur des caractéristiques de forme métiers, mais plutôt sur leur structure géométrique / topologique invariante intrinsèque. Il s agit non seulement de la structure initiale de la caractéristique de forme avant son immersion dans la géométrie, mais aussi de certains aspects de la structure issue de l interaction avec cette géométrie. Par exemple, nous considérons comme invariant le fait que systématiquement la face terminale d un trou débouchant disparaisse lors de l interaction avec l objet dans lequel ce trou débouchant est effectué. La structure invariante dépend de la manière dont la caractéristique de forme est conçue. Chaque classe de caractéristiques de forme est décrite en termes d une hiérarchie invariante de coques : () la coque globale enveloppant l objet ; (2) puis les sous-coques remarquables telles que les coques initiale, latérale et finale ; (3) puis ; (n) et enfin les faces composant l objet modélisé. Ces structures invariantes constituent les entrées 2 de notre graphe. Pour réaliser cette taxonomie, nous nous sommes basés sur une classification de caractéristiques de forme proposée par Shah et Mäntylä [Shah et al. 95], et sur une classification proposée dans le fascicule 224 de la norme STEP [ISO :99] (voir la Figure du premier chapitre). Nous avons classé ces caractéristiques de forme suivant les invariants que nous avons pu extraire pour chacune d elles (voir la Figure 2). Bien qu il soit possible de distinguer deux catégories de caractéristiques de forme, selon qu elles peuvent ou non s exprimer en fonction d invariants de coques, nous distinguons, par rapport aux invariants de coques, six classes de caractéristiques de forme. Les primitive features. Ce sont des primitives de construction qui ne sont définies ni par extrusion, ni par révolution. Elles sont caractérisées par leur coque globale et leurs faces. Il s agit, en général, du brut de départ qui sera modelé par les autres caractéristiques de forme. Les caractéristiques de forme telles que le bloc, le cylindre, etc., définies en tant que primitives (par exemple, par rapport à un repère et trois dimensions pour le bloc), font parties de cette classe de caractéristiques de forme. Les basic volume features. Ce sont des caractéristiques de forme, autres que les primitive features, définissant un volume élémentaire. Elles sont issues d une extrusion ou d une révolution. Elles sont caractérisées par leurs coques initiale, latérale et finale. Elles sont classées suivant le résultat de leur interaction avec la géométrie. Par exemple un trou non-débouchant (blind_hole), obtenu par extrusion d un cercle, est caractérisé par ces trois coques (c i, c lat, c f ) et par le fait que la coque initiale disparaît dans la géométrie. Les basic surface features. Ces caractéristiques de forme créent, non pas un volume, mais une surface. Elles sont caractérisées par leurs contours initial et final et leur coque latérale. Dans cette classe de caractéristiques de forme nous pouvons citer, par exemple, les surfaces obtenues par balayage. Les transition features. Ce sont les caractéristiques de forme qui joignent plusieurs autres caractéristiques de forme. Elles sont caractérisées par la coque Notons que c est la structure de coques qui est invariante, et que le nombre de faces peut varier. Ainsi, un bloc extrudé (extruded_feature) est toujours représenté par une coque globale composée de trois sous-coques (initiale, latérale et finale). Cependant, suivant le profil 2D, le nombre de faces est variable. 2 Par analogie avec la structure de réseau, nous appelons entrée d un graphe tout sommet sans prédécesseur.
68 58 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX globale les représentant. L arrondi entre deux faces ou deux coques, ou bien le chanfreinage d un sommet sont des exemples de cette classe de caractéristiques de forme. Les container features. Elles regroupent les agrégations de caractéristiques de forme. Il y a des agrégats spécifiques (blind_counter_sunk_hole, through_counter_ bore_hole, etc.), chacun associé à une structure invariante de coques particulière. Il y a également les agrégats de répétition (pattern feature) et les agrégats nonstructurés (assembly) représentant des assemblages de caractéristiques de forme. Les caractéristiques de forme de ces deux dernières sous-classes sont constituées uniquement de faces, et n ont pas de structure invariante de coques. Les texture features. Cette dernière classe de caractéristiques de forme regroupe les caractéristiques qui s appliquent aux surfaces (knurl, threading, etc.) ; elles n ont pas de structure invariante de coques. Les deux dernières classes de caractéristiques de forme n introduisent pas systématiquement de nouvelles entités topologiques et ne sont donc pas intéressantes pour notre étude. La terminologie utilisée dans cette section ainsi que dans la Figure 2 cidessous, notamment pour les noms des caractéristiques de forme, a été empruntée, à la fois, à Shah et Mäntylä [Shah et al. 95], et à la norme STEP [ISO :99]. Primitive feature (global shell + numbered faces) Block Cylinder... c c c c f lat i Extruded_feature Revolved_feature_partial (toroidal,spherical)... c c c c f lat i c* c lat_ lat_2 Internal_slot Rounded_end Step... c c c c f lat Internal_flat_slot i c* Internal_o_slot c lat_ lat_2... c c c g fd d Feature Basic volume feature c c c f c lat i Basic surface feature (loop i, c lat, loop f ) c c c f c* lat i c c c* f c* lat i Boss Blind_hole Closed_pocket... Through_hole Boss_to Revolved_feature_total (toroidal,spherical)... c c c f c* lat i c* c lat_ lat_2 c c c* f c* lat i c* c lat_ lat_2 Open_pocket External_slot... Crossing_slot... c c c f c* lat i c* c lat_ External_flat_slot lat_2 External_o_slot c c c g fd d... c c c* f c* lat i c* Crossing_flat_slot c lat_ lat_2 Crossing_o_slot c c c g fd... d Transition feature (c) Texture feature Container feature Rounding Chamfer... Threading Knurl... c c 2 c c f _2 c lat _2 c f _ c i_2 c lat _ c* i_ c c 2 c c f _2 c lat _2 c* f _ c* i_2 c lat _ c* i_ Blind_counter_sunk_hole... Blind_counter_bore_hole... c c 2 c* c f _2 c lat _2 c* f _ c i_2 c lat _ c* i_ c c 2 c* c f _2 c lat _2 c* f _ c* i_2 c lat _ c* i_ Through _counter_sunk_hole... Through _counter_bore_hole... pattern assembly c i coque initiale c lat coque latérale c f coque finale c* coque effacée lors de l interaction avec la géométrie pré-existante Figure 2 Classification des caractéristiques de forme par rapport à leur structure invariante de coques. Les exemples de caractéristiques proviennent du fascicule 224 de la norme STEP [ISO :99]. Le caractère étoile * indique la disparition systématique de la coque après interaction avec la géométrie. Notons que les faces ne sont pas représentées dans les exemples ci-dessus.
69 CINQ POINT-CLES POUR UNE NOMINATION PERSISTANTE 59 Concernant la notion d invariant, deux points essentiels caractérisent notre proposition. () Nous établissons une distinction entre les entités invariantes (qui ne changent pas d une réévaluation à une autre) et les entités contingentes (dont la topologie résulte de collisions entre entités invariantes). Ces entités contingentes sont identifiées en fonction de leurs relations directes ou indirectes avec les entités invariantes. (2) Nous définissons une taxonomie de caractéristiques de forme basée sur les invariants qui les caractérisent. Chaque caractéristique de forme peut alors être représentée comme un agrégat de coques (hiérarchie invariante de coques connexes à laquelle s ajoute un niveau de faces) qui constituent les entrées de notre graphe. 2.3 Approche locale / globale Pendant la phase d appariement, les entités initiales, c est-à-dire les faces et les coques du graphe initial, ainsi que les entités référencées par la spécification paramétrique, doivent être retrouvées dans le modèle réévalué. Deux options s offrent aux modèles paramétriques : soit une approche locale (recherche d un élément parmi n éléments), soit une approche globale (recherche de n éléments parmi m éléments). Dans l approche locale, l entité initiale est recherchée, en tant que singleton, dans un ensemble cible d entités réévaluées. Il suffit donc de parcourir un ensemble cible d entités réévaluées jusqu à retrouver une entité identique ou «ressemblant» à l entité initiale recherchée. Concernant les faces par exemple, l ensemble cible d entités réévaluées est créé à partir de l entité invariante de la cible correspondant à l invariant (du modèle initial) dont résulte l entité initiale recherchée. Cet ensemble contient absolument toutes les entités réévaluées ayant un «trait commun» avec l entité recherchée. Dans l approche globale, la recherche s effectue en comparant un ensemble source d entités initiales (dont l entité initiale recherchée fait partie) à un ensemble cible d entités réévaluées. Les ensembles source et cible sont toujours des sousensembles de toutes les entités existantes puisqu il serait trop coûteux de comparer toutes les entités du modèle entre elles. Ces ensembles pourront par exemple être définis à partir des successeurs historiques des deux mêmes entités invariantes (initiale et réévaluée), ou bien à partir des entités déjà appariées, et ne contiendront qu un sous-ensemble des entités pouvant se «ressembler». Pour bien différencier ces deux approches, analysons l exemple illustré par la Figure 2 dans le cadre d une résolution selon deux des approches (Kripac et OCAF) que nous avons présentées dans notre état de l art sur la modélisation paramétrique (cf. er chapitre - section 4.4). La Figure 2 schématise, vu de dessus à deux étapes successives, un bloc extrudé dont la face initiale F est scindée en deux par une rainure. Rappelons que Kripac propose une approche globale où deux ensembles de faces (initiales et réévaluées) sont comparés pour apparier toutes les faces. Ces ensembles de faces sont construits à partir d un parcours en parallèle du graphe de faces initial et du graphe de faces réévalué [Kripac 94]. Le modèle OCAF, quant à lui, propose une approche locale où un nom nonambigu est produit en construction pour l entité initiale, puis évalué dans le modèle réévalué en phase d appariement [OCAF ] [Marcheix et al. 2].
70 6 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX F 5 étape étape 2 F 4 F 5 F 4 F 3 F 3 F F F 6 F 8 F F a F b F 2 modèle initial F 4 F 6 F 8 F 2 F 3 F 5 F 7 F 9 F F F 2 F 2 F 7 F 3 F 5 F 9 F F 9 F F 5 F 4 F 5 F 4 F 3 F 3 F F F 6 F 8 F F x F y modèle réévalué F 4 F 6 F 8 F 2 F 3 F 5 F 7 F 9 F F F 2 F 2 F 3 F 4 F 7 F F 9 F F 2 Figure 2 Comparaison des approches locale et globale dans le cas de faces aux frontières très subdivisées. L objet est vu de dessus ; la ère ligne représente le modèle initial (à deux étapes successives), tandis que la 2 nde représente le modèle réévalué. Notons que le bloc reste entier, seule la face F est coupée. (exemple inspiré de [Delmas ]) Pour traiter ce cas de figure, Kripac commence par chercher si les faces apparues lors de la réévaluation (nouveau graphe) existe à l identique dans le modèle initial (ancien graphe). La face F est appariée de façon immédiate puisqu elle est invariante, et donc présente dans les deux modèles. À la deuxième étape, la face F x du nouveau graphe, quant à elle, ne possède pas de correspondance à l identique (kexactmatch) parmi les faces de l ancien graphe. La procédure consiste à remonter d une étape dans les deux graphes, ce qui permet de trouver la face F qui est commune aux deux graphes. À partir de cette face, la descente jusqu aux feuilles des deux graphes permet de récupérer, d une part, les faces F a et F b, et, d autre part, les faces F x et F y, qui constituent les deux ensembles de faces à comparer. La table de croisement ci-dessous (Tableau 5) établit les degrés de ressemblance entre les différentes faces, suivant le plus long cycle de faces adjacentes communes. F x F y F a F b ksubsetmatchrating F x et F a ont un cycle de cinq faces en commun [F 7, F 6, F 5, F, F 2 ]. ksubsetmatchrating F x et F b ont un cycle de huit faces en commun [F 3, F 4,, F ]. kdisjointmatchrating F y et F a n ont pas de faces en commun. ksubsetmatchrating F y et F b ont un cycle de six faces en commun [F,, F 4, F 8, F 9 ]. F nouveau graphe F F a F b ancien graphe F x F y Tableau 5 Table de croisement déterminant l appariement (suivant Kripac) des faces issues de scissions. La figure représente les deux graphes des faces concernées par l appariement. La face F est supposée déjà traitée (appariée).
71 CINQ POINT-CLES POUR UNE NOMINATION PERSISTANTE 6 L approche globale, mise en œuvre ici, implique un appariement univoque, ce qui laisse deux solutions possibles ; à savoir les deux diagonales de la table de croisement. L analyse de cette table met en évidence qu il n existe aucune face commune entre F y et F a qui ne peuvent donc pas être mises en correspondance ; la solution (F y F a ; F x F b ) est, de ce fait, rejetée. L appariement met donc en correspondance F x avec F a et par conséquent F y avec F b. La stratégie utilisée par OCAF diffère sensiblement de la précédente, puisque seule l entité nommée est recherchée. Supposons que la face F b soit référencée, donc nommée et donc recherchée. En construction, un nom minimal est défini par l opérateur Current(F ) dont le résultat est F a et F b. Le nom Current(F ) n étant pas suffisant puisqu il retourne deux faces, il est étendu par l opérateur FilterByNeighbors(F 3, F 4,, F 4, F 8, F 9 ) dont le résultat est l ensemble des faces adjacentes à la face F b. En résumé, la face F b est donc nommée comme étant issue de F, courante (présente) dans la géométrie et ayant un voisinage donné. En réévaluation, Current(F ), appliqué à la géométrie réévaluée, retourne les faces F x et F y, pour lesquelles il reste à confronter les voisinages avec celui contenu dans le nom de la face F b. Les faces F x, respectivement F y, ont pour voisinages FilterByNeighbors(F, F 2,, F, F 7, F 6, F 5 ), respectivement FilterByNeighbors(F, F 2, F 3, F 4, F 8, F 9 ). Aucune des deux faces ne possède la totalité des faces dans son voisinage topologique. Le résultat le plus proche est donc retenu. Comme le montre le Tableau 6-a, l appariement se fait par rapport à la face F x possédant huit des faces présentes dans l opérateur FilterByNeighbors contre six pour la face F y. (a) F x F y (b) F x F y (c) F x F y F a 5 F a 5 F a 5 F b 8 6 F b 6 6 F b 6 Tableau 6 Appariement local : influence de la subdivision des frontières. (a) Résultat dans le cas de huit faces composant la subdivision {F 3, F 4,, F } (cas de la Figure 2) : F b est appariée avec F x. (b) Résultat pour six faces : F b peut être appariée aussi bien avec F x qu avec F y. (c) Résultat pour une seule subdivision : F b est appariée avec F y. Ce résultat est critiquable pour deux raisons. Premièrement, il peut être considéré comme erroné, dans le cas où la face serait définie (pour un concepteur) relativement à sa position par rapport à la rainure (la face est à «droite» de la rainure). Cette critique est discutable, mais doit être retenue et analysée lors de la conception d un modèle paramétrique. Deuxièmement, nous pouvons observer que le résultat de cet appariement est fortement influencé par la subdivision des frontières en de nombreuses petites faces (les huit faces F 3, F 4, et F ). Ce sont exactement ces huit faces qui déterminent le nombre de faces communes entre F x et F b (elles n influencent pas les autres valeurs). Comme le montre le Tableau 6, selon que la subdivision {F 3, F 4,, F } comporte respectivement huit (cas de la Figure 2), six, ou bien une seule face, l appariement de F b se fait Une face du modèle initial correspond à une et une seule face du modèle réévalué.
72 62 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX respectivement (a) avec F x, (b) avec F x et/ou F y, ou bien (c) avec F y. Ces résultats, difficilement prédictibles, ne plaident donc pas en faveur d un appariement local. Nous pouvons constater que, par rapport à une stratégie de caractérisation similaire (le voisinage topologique), l approche globale est nettement plus stable que l approche locale. Au vu de ces résultats et malgré un calcul combinatoire moindre, un appariement basé sur une approche locale, nous semble à exclure. Nous sommes donc favorables à une approche globale pour répondre au problème de l appariement d entités dans la nomination persistante. 2.4 Pondération de la topologie par la géométrie L objectif d un modèle paramétrique est de proposer un environnement de modélisation très souple, où chaque objet décrit, peut être décliné, par simple variation des paramètres, en de multiples variantes. Le premier facteur qui varie étant la géométrie représentant l objet, la plupart des modèles paramétriques s appuient sur la topologie des entitées pour les identifier. Généralement, introduite uniquement pour répondre aux problèmes posés par la non-linéarité [Kripac 94] [Chen 95], la géométrie peut s avérer également nécessaire en polyédrique. Totalement déterministe en cas de variations de la seule géométrie, la nomination purement topologique devient en effet insuffisante lorsque la topologie change. Regardons de plus près la Figure 22 qui schématise, en construction et en réévaluation, un bloc extrudé dont la face initiale F est coupée par une rainure. Cette vue de dessus laisse bien apparaître la subdivision des frontières des faces F a et F b. Nous allons nous apercevoir que, malgré une approche globale, Kripac [Kripac 94] est très sensible cette subdivision des frontières, puisqu il se réfère uniquement à la topologie pour apparier les faces. F 4 F 3 F 2 F F F 9 étape F 4 F 3 F 2 F F F 9 étape 2 F modèle initial F F 8 F F a F 5 F 6 F b F 8 F 2 F 3 F 4 F 5 F 6 F 7 F 2 F 3 F 4 F 5 F 6 F 7 F 4 F 3 F 2 F F F 9 F 4 F 3 F 2 F F F 9 F F F F x F 5 F y modèle réévalué F 8 F 6 F 8 F 2 F 3 F 4 F 5 F 6 F 7 F 2 F 3 F 4 F 5 F 6 F 7 Figure 22 Influence de la subdivision des frontières dans un appariement exclusivement basé sur la topologie. Comme nous l exposerons ultérieurement, le traitement du résultat de l appariement (, ou n entités) est laissé à la charge de la spécification paramétrique.
73 CINQ POINT-CLES POUR UNE NOMINATION PERSISTANTE 63 Comme nous l avons déjà présenté dans la section précédente, pour Kripac, un parcours des deux graphes en montée-descente détermine les deux sous-ensembles de faces à comparer. Il s agit dans notre cas, d un coté, le sous-ensemble composé des faces F a et F b, et, de l autre coté, le sous-ensemble composé des faces F x et F y. Les faces F a et F b ont respectivement pour voisinages {F, F 2, F 3, F 4, F 5, F 6 F 5, F 4 } et {F 7, F 8, F 9, F, F, F 2 F 3, F 6 } dans le modèle initial, tandis que les faces F x et F y ont respectivement pour voisinages {F, F 5, F, F, F 2, F 3, F 4 } et {F 2, F 3, F 4, F 5, F 6, F 7, F 8, F 9, F 6 } dans le modèle réévalué. Ces voisinages permettent d établir la table de croisement présentée dans le Tableau 7. F a F b F x k3elemmatchrating F x et F a ont un cycle de trois faces en commun [F, F 5, F 4 ]. ksubsetmatchrating F x et F b ont un cycle de quatre faces en commun [F, F, F 2, F 3 ]. F y kdisjointmatchrating F y et F a ont un cycle de cinq faces en commun [F 2, F 3, F 4, F 5, F 6 ]. ksubsetmatchrating F y et F b ont un cycle de quatre faces en commun [F 7, F 8, F 9, F 6 ]. Tableau 7 Table de croisement déterminant l appariement des faces issues de scissions (suivant l approche globale de Kripac). Les deux diagonales de cette table n ont pas le même degré de ressemblance (similarity rate [Kripac 94]). Le degré de ressemblance k3elemmatchrating étant moins bon que le degré de ressemblance ksubsetmatchrating, l appariement (F y F a ; F x F b ) est retenu. Comme nous l avons déjà évoqué dans la section précédente, cet appariement peut être considéré comme erroné, d autant plus que les variations géométriques (la forme de l objet) résultant d une subdivision plus ou moins fine des faces peuvent être très faibles et imperceptibles pour un concepteur, mais fortement influencer la réévaluation. Là encore, comme précédemment, le nombre de faces composant les subdivisions est déterminant et rend de ce fait l approche de Kripac difficilement prédictible. En raison d une part, de l influence de la subdivision des frontières, et, d autre part, des résultats non-prédictibles, nous pensons que la topologie seule ne peut répondre que de façon limitée au problème de la nomination persistante. La topologie doit être secondée par une appréciation géométrique de l appariement. 2.5 Préservation (Non-perte) de l information La plupart des mécanismes de nomination conservent un certain historique ayant pour source les entités invariantes (en général, les faces invariantes). Cet historique, souvent enrichi d une description des entités, est soit représenté dans des structures dédiées [Kripac 94] [Agbodan et al. a], soit directement représenté dans la structure du nom luimême [Chen 95] [OACF ] [Wu et al. ]. En phase d appariement, il s agit d exploiter ces informations pour estimer le degré de ressemblance (entre entités initiales et entités réévaluées) et décider de la mise en correspondance. Il est rare, pour les entités contingentes, que la ressemblance soit totale, c est-à-dire que les entités existent à l identiques dans les deux modèles (initial et réévalué). La difficulté est donc de trancher si deux faces à peu près ressemblantes doivent, ou pas, être mises en correspondance. Le fait
74 64 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX de trancher à chaque étape, correspond à un appariement «tout ou rien» puisque aucune évaluation ne décrit de façon continue les degrés de ressemblance des faces. Étudions l exemple de la Figure 23 qui schématise, vu de dessus à cinq étapes successives, un bloc extrudé (en forme de lettre E ) dont la face initiale F a est scindée successivement en plusieurs faces par quatre rainures. Si les faces, aux étapes à 3, sont suffisamment ressemblantes pour justifier l appariement (F p F b ; F q F c,), puis (F r F d ; F s F e ), la question se pose pour l appariement des faces F t, F u et F v. Si la réponse est affirmative pour l appariement (F t F f ; F u F g ; F v F h ) à l étape 4, alors à l étape suivante, deux possibilités surviennent. Soit, vu qu elles ont un prédécesseur historique commun (la face F u contingente mais appariée sur la face F g ), l appariement est (F x F k ; F y F l ), mais la face F j se retrouve orpheline. Les sous-ensembles comparés sont trop restrictifs, et entraînent la perte de traçabilité de la face F j (un trou, par exemple, effectué sur cette face, ne pourra être exécuté lors de la réévaluation). Soit, vu qu elles ont un prédécesseur historique invariant commun (la face F a ), l appariement peut s effectuer entre les sept faces initiales présentes dans la géométrie {F d, F e, F h, F i, F j, F k et F l } et les six faces de la géométrie réévaluée {F r, F s, F t, F v, F x et F y }. Les sous-ensembles comparés sont bons, mais malheureusement une explosion combinatoire des ensembles de faces à comparer est inévitable dès que les objets modélisés deviennent complexes. Si la réponse est négative pour l appariement (F t F f ; F u F g ; F v F h ) à l étape 4, alors très rapidement le modèle n est plus exploitable puisque les entités référencées dans la spécification paramétrique ne sont pas identifiables dans le modèle réévalué. Cette approche tout ou rien, où un appariement définitif est décidé à chaque étape n aboutit donc à aucun résultat concluant. Une approche plus continue, calculant, conservant et propageant les degrés de ressemblance, doit pouvoir être mise en œuvre. L idée que nous proposons est de pouvoir exprimer, non seulement, que la face F t est appariée avec la face F f, la face F u avec la face F g, mais qu en plus, la face F u possède une certaine ressemblance avec la face F f (géométriquement, F u «déborde» de F g et «empiète» sur F f ). Notons que nous nous plaçons dans le cadre d un appariement global où toutes les faces sont appariées étape après étape. La création des ensembles source et cible pour l appariement à une étape donnée dépend des appariements aux étapes précédentes. Ces ensembles source et cible (créés à partir des faces déjà appariées) peuvent donc être des sous-ensembles plus ou moins pertinents pour l appariement selon que les faces déjà appariées sont plus ou moins ressemblantes. La difficulté réside dans la création de sousensembles pertinents. Remarquons que dans le cas d un appariement local, ce problème de perte de morceaux n existe pas, puisque l entité nommée est recherchée parmi absolument toutes les entités cibles (issues des mêmes invariants).
75 CINQ POINT-CLES POUR UNE NOMINATION PERSISTANTE 65 étape F j F b F b F f F g F i F k F l modèle initial F a F c F d F e F h F h F d F e F d F e F p F p F t F u F t F x F y modèle réévalué F a F q F r F s F v F r F s F r F s F v Figure 23 Perte ou non-perte de morceaux. L appariement (F t F f ; F u F g ; F v F h ) à l étape 4 peut conduire à la perte de traçabilité de la face F j à l étape 5. Ce que nous venons de montrer de manière intuitive, peut être formulé en termes de sémantiques des opérations constructives. En effet, La qualité d un appariement est très relative et dépend généralement, d une part, du type d opérations (de caractéristiques de forme), et, d autre part, de la sémantique qu un concepteur souhaite exprimer. Par exemple, la face F j de la Figure 23 peut être considérée par un concepteur de deux manières différentes : Soit, la face F j est considérée comme étant un «morceau» de la face F x, puisqu elle possède, d une part, une similitude géométrique et topologique, et, d autre part, un prédécesseur historique invariant commun (la face F a ). Soit, la face F j est considérée comme étant issue de la scission de la face F f par la quatrième opération de rainurage. La face F f étant appariée avec la face F t, la face F j ne peut alors être appariée qu avec une face résultant de la scission de la face F t. Par conséquent, dans cet exemple, F j ne serait appariée avec aucune des faces. Notre approche consiste à permettre d exprimer ces deux sémantiques en introduisant une évaluation continue du degré de ressemblance. Une telle évaluation continue permettra alors au système de proposer les deux interprétations possibles de la face F j. Comme nous l avons montré, un appariement tout ou rien s avère nettement plus restrictif étant donné que, d une part, il suppose que le modèle ne peut représenter qu un appariement univoque, et, d autre part, il ne tient pas compte du fait qu apparier une entité avec une autre signifie que les deux faces sont, d un point de vue géométrique et topologique, ressemblantes mais pas identiques. Au contraire, un appariement continu
76 66 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX permet de refléter le degré de ressemblance des entités. Malgré une gestion de l information plus lourde, cette approche nous paraît bien meilleure pour éviter la dégradation, étape après étape, du modèle paramétrique. 3 Vue d ensemble du modèle paramétrique PS 2 Le besoin du concepteur est de construire un objet initial, d en modifier certains paramètres, puis de régénérer un nouvel objet. Ce besoin pose les trois problèmes (nomination, appariement et différentes sémantiques) discutés dans la section 4.3 du premier chapitre. Dans cette vue d ensemble, nous présentons, sans entrer dans des détails techniques (discutés aux sections 4 et 5), l architecture générale et le fonctionnement du modèle paramétrique PS 2 que nous proposons pour traiter ces problèmes avec comme fondement les cinq point-clés précédemment énoncés. Du point de vue architecture, notre modèle est un modèle à trois niveaux. Pour assurer le découplage entre la spécification paramétrique (fixe) et la géométrie (destinée à être réévaluée) nous préconisons l utilisation d un niveau intermédiaire. Toute référence entre la spécification et la géométrie se fait au travers d un niveau gérant les noms. Ce niveau se compose, entre autres, du graphe représentant l évolution topologique de la structure invariante de chaque classe de caractéristiques de forme, et d une table des entités référencées liant les références aux entités géométriques courantes. Cette table ne contient que les entités référencées et elle est mise à jour pour refléter les variations de topologie. Du point de vue fonctionnement, le niveau de gestion des noms contient deux mécanismes. Un mécanisme de nomination. Il distingue d une part, deux ensembles d entités : les entités invariantes et les entités contingentes, et, d autre part, deux groupes d entités : d un côté, les faces et les coques et de l autre côté, les entités topologiques restantes (arêtes, sommets, chemins, etc.). Les faces constituent les éléments de base de notre nomination. Elles sont les moins sensibles aux variations de topologie et maximisent les probabilités de les retrouver dans un modèle réévalué. Toutes les autres entités sont identifiées par rapport aux faces. Les faces invariantes sont identifiées par un numéro généré par un algorithme de numérotation s appuyant, soit sur un parcours topologique de l objet, soit sur une méthode historique basée sur les profils 2D de l objet. Les faces contingentes sont identifiées par leur prédécesseur invariant et par leur voisinage topologique. Les coques invariantes sont définies dans notre taxonomie de caractéristiques de forme, tandis que les coques contingentes sont identifiées par les faces qui les composent. Les autres entités sont identifiées en fonction des faces qui leurs sont adjacentes et en fonction d un certain nombre d informations additionnelles. Les faces et les coques sont, toutes, représentées dans le graphe (et donc nommées), mais parmi les autres entités, seules les entités référencées sont nommées.
77 VUE D ENSEMBLE DU MODELE PARAMETRIQUE 67 Un mécanisme d appariement. Il se base sur le suivi et la comparaison de l évolution des faces et des coques. Il y a deux éléments principaux. Le suivi historique d un graphe orienté de coques. Nous utilisons une structure particulière de graphe qui trace l évolution historique de la structure hiérarchique de coques. Le graphe permet de retrouver (pour les nommer) les faces et coques contingentes en restreignant leur recherche à des sous-ensembles pertinents de faces et de coques. Précisons que par évolution historique nous entendons le suivi des variations provoquées par chaque geste constructif au sein d un même modèle. L appariement qui comporte deux phases à chaque étape de la réévaluation. Le mécanisme d appariement (que nous appelons GM 2 : Generic Matching Method) compare globalement des parties du graphe initial et des parties du graphe réévalué, puis () établit des degrés de ressemblance et (2) met en correspondance les coques et faces du modèle initial et celles du modèle réévalué. La recherche des autres entités topologiques est fait en fonction de leur voisinage topologique de faces. Nous présentons dans les trois parties de cette section, les trois niveaux du modèle paramétrique que nous proposons : noyau géométrique, spécification paramétrique et gestion des noms. Pour chaque partie nous décrivons les services fournis et nous justifions les choix qui nous ont incité à retenir telle ou telle solution. 3. Noyau géométrique Nous avons, dans le premier chapitre, constaté qu il existe de nombreux modèles géométriques, plus ou moins répandus et diversement aptes à représenter les objets réels. Pour notre modèle paramétrique, nous avons opté pour le modèle de représentation par frontières qui est l un des plus utilisés dans les modeleurs contemporains et surtout, qui offre une structure de données très intéressante. En effet, dans un modèle BRep il existe d une part, les informations topologiques (entités topologiques, graphe, adjacences, etc.), et, d autre part, les informations liées à leurs plongements dans l espace euclidien (entités géométriques, dimensions, pointeurs topologie-géométrie, etc.). Lorsque la géométrie change, comme cela survient fréquemment en réévaluation (modification de valeurs / paramètres), la topologie sous-jacente ne change pas nécessairement. C est un élément d invariance, ou du moins de stabilité, qui peut être exploité pour identifier, de manière relativement robuste, les différentes parties du modèle géométrique. En cas de variation topologique, cette structure topologique initiale seule ne suffit pas pour identifier chaque entité. Néanmoins, la notion de voisinage topologique pourra être utilisée dans le niveau de gestion des noms, pour faciliter l identification et l appariement des entités ayant fait l objet de variations. Outre l intérêt de cette structure, la représentation BRep présente l avantage d autoriser un accès à toute la hiérarchie d entités. Pour être en mesure de déterminer l évolution des faces et des coques, d extraire les voisinages topologiques et d obtenir certaines informations géométriques, le noyau géométrique doit procurer certaines fonctionnalités minimales : résultat de l évolution des faces pour chaque opération de conception, exploration de la structure topologique du modèle, et exploration du plongement géométrique des entités topologiques.
78 68 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX Tout modeleur répondant à ces trois critères convient à la mise en œuvre de notre méthode de nomination des entités initiales et d appariement des entités réévaluées. Notons que dans notre étude nous nous limitons à un modèle BRep polyédrique pour mettre en œuvre la nomination et l appariement d entités. En effet, les modèles non-polyédriques (non-linéaires) posent le problème ouvert de la caractérisation des entités topologiques. Actuellement, aucune solution générale n est proposée pour le non-linéaire où seules des heuristiques ad hoc semblent pouvoir résoudre, ponctuellement, les ambiguïtés. 3.2 Spécification paramétrique Rappelons que la spécification paramétrique est une représentation abstraite d un solide modélisé et de sa géométrie, sous forme d un ensemble de fonctions et / ou d équations et inéquations. À ce titre, il peut s agir, d une séquence de commandes, d un arbre CSG, d un ensemble de contraintes, d un historique de construction, d une liste de caractéristiques de forme associées à des contraintes de dimensionnement et de positionnement, etc.. Notre choix s est porté sur la description par caractéristiques de forme pour leur concision, leur sémantique forte, la simplicité de leur mise en œuvre et enfin parce qu elles compensent les faiblesses de la modélisation géométrique (énumérées dans le premier chapitre en section 2.4). Notre spécification paramétrique s exprime donc sous forme d une composition de fonctions où chaque fonction dimensionne et positionne une caractéristique de forme ou réalise une opération booléenne entre deux solides ainsi construits. 3.3 Gestion des noms Nous avons étudié les problèmes de la robustesse et de la persistance des liens entre la géométrie et la spécification dans un modèle paramétrique (section 4.3 du premier chapitre). Pour résoudre ces problèmes nous proposons d intercaler une interface entre la spécification et la géométrie. Cette interface est chargée de : la nomination des entités à l intérieur du modèle initial, l appariement des entités entre le modèle initial et le modèle réévalué, et l accès à la géométrie, tant en construction initiale que lors d une réévaluation à travers l invocation d un nom. La gestion des noms recouvre donc deux aspects fondamentaux : la nomination et l appariement des entités Nomination Le mécanisme de nomination qui est mis en œuvre pendant la construction du modèle initial anticipe le besoin d appariement des phases ultérieures et contient non seulement les éléments permettant l identification de chaque entité au moment de sa création mais également toute une structure facilitant leur reconnaissance dans un modèle réévalué. Le lien entre la spécification paramétrique et la géométrie s établit au travers d une table des entités référencées dans laquelle toutes les entités référencées par la spécification sont énumérées (Figure 24 et section 4.3). La table des entités référencées contient trois
79 VUE D ENSEMBLE DU MODELE PARAMETRIQUE 69 éléments principaux : () un index faisant office de nom pour chaque entité référencée par la spécification paramétrique ; (2) une caractérisation pour chaque entité du modèle initial (voir la section 4.2 pour le détail de la nomination) ; (3) une liste de pointeurs vers la géométrie (liste qui peut être vide ou réduite à un singleton). Ce découplage index / pointeur permettra de maintenir à jour la relation spécification / géométrie pendant la réévaluation et l édition d un modèle paramétrique. Par exemple dans la Figure 24, la première rainure possède comme paramètre d entrée la face f 3 (face géométrique). Cette face est nommée dans la spécification paramétrique par le premier index (index) qui est associé, dans la table des entités référencées, à la caractérisation <f.3 > et au pointeur sur la face géométrique f 3. Notons que les autres paramètres de la fonction de rainurage sont transfo qui exprime le positionnement du contour de rainurage sous forme d une matrice de transformation de repère et larg, haut et long qui exprime le dimensionnement de la rainure. Spécification paramétrique - bloc (longueurx, longueury, longueurz) 2- rainure (index, transfo, larg, haut, long) 3- rainure (index2, transfo2, larg2, haut2, long2) 4- arrondi (index3, rayon) Noms c g c f c lat f.6 c i f.5 a f 6 a f f 5 f.2 a f 2. a f 2.8 f a f a f 3 index (nom) caractérisation <f.3 > 2 <f.2 > 3 <(f 2.8, f.4 ) ;...> pointeur a f 3 a f 2 a Géométrie f f 4 f 3 f 4 e 3 f 4 f 4 f 3 f 5 f 2 f f 3 f 2 Figure 24 Modèle paramétrique à 3 niveaux : spécification / noms / géométrie. La spécification paramétrique est une liste de fonctions représentant des caractéristiques de forme. La gestion des noms est faite, d une part, à travers un graphe (partiellement représenté) qui permet l appariement d entités entre deux modèles, et, d autre part, à travers une table des entités référencées reliant la spécification à la géométrie au sein d un même modèle. La géométrie est un BRep ; seule la géométrie finale existe. La structure facilitant la reconnaissance des entités dans un modèle réévalué est le graphe qui trace, dans chaque modèle, l évolution des faces et des coques. Nous avons choisi les faces et les coques parce que toute face ou coque résulte forcément par subdivision d une et d une seule face (ou coque) et parce que toute autre entité peut, en géométrie polyédrique, s identifier simplement en termes de faces (ou coques). Lorsqu il y a création, modification, destruction ou scission des faces ou des coques nous traçons ces changements. Dans la géométrie de l exemple de la Figure 24 (qui reprend l exemple de la section 4.3 du premier chapitre : Figure 6), à la deuxième étape, la face f du bloc initial est coupée, par l opération de rainurage, en deux faces f 3 et f 4 (nommées respectivement f 2.7 et f 2.8 ). Cette scission, ainsi que tout l historique des faces et des coques, sont
80 7 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX représentés par le graphe dans le niveau des noms. Mentionnons que la structure hiérarchique (agrégation de coques) est représentée verticalement tandis que son évolution historique (ici la scission) est représentée horizontalement. Notons que coexistent deux structures de données (le graphe de coques / faces et la table des entités référencées) qui nécessitent chacune des identifiants. Dans le graphe, nous avons pour une face, en parallèle, le nom paramétrique, au format f i.j où i est le numéro d étape de construction et j est un numéro issu des algorithmes de nomination (section 4.2), et le nom géométrique que nous notons f k et qui est fourni par le modeleur géométrique (i, j et k sont des entiers). Il ne faut donc pas confondre f.4 et f 4 qui n ont, a priori, aucun lien. Dans la table, l index i représente le nom des entités référencées qui sont, par exemple, caractérisées par <f j.k > pour une face (i, j et k sont des entiers). Ainsi, la première rainure s appuie sur la face nommée (index) et caractérisée par < f.3 > dans la table qui reprend, pour sa caractérisation, le nom f.3 du graphe. Rappelons qu il ne s agit ici que d une vue d ensemble, et que les différents éléments de notre nomination persistante (nom, appariement, table d entités, etc.) sont développés ultérieurement. Toutes les entités sont identifiées par rapport aux faces. Le Tableau 8 récapitule les différentes façons de générer le nom des entités. Face Coque Autre Invariant Contingent algorithme déterministe de parcours de l objet, ou historique par rapport aux entités 2D information sur la face d origine et le voisinage topologique (faces) définies au sein de notre taxonomie de caractéristiques de forme agrégation de faces invariantes et contingentes nommées (si référencées) en fonction de leurs faces adjacentes représentées dans le graphe de faces et de coques représentées dans la table des entités référencées Tableau 8 Base de la nomination des différents types d entités. Les points essentiels de notre mécanisme de nomination sont donc : () qu une interface s intercale entre la spécification paramétrique et la géométrie ; (2) qu un graphe, permanent et appartenant à notre modèle paramétrique sauvegarde l historique des faces et des coques lors de la construction du modèle initial, garantissant la persistance des noms de faces et de coques quel que soit le modèle réévalué ; (3) que toutes les entités référencées sont nommées en termes du graphe de faces et coques, et sont donc également persistantes Appariement Le mécanisme d appariement est mis en œuvre lors de la réévaluation. À chaque geste constructif réévalué un deuxième graphe est tracé et comparé au premier. Cette évolution comparée des deux graphes nous permettra d apparier toutes les faces et les coques ainsi que les entités qui sont référencées dans la spécification paramétrique. Lors de
81 VUE D ENSEMBLE DU MODELE PARAMETRIQUE 7 la construction du modèle initial, () la table des entités référencées est remplie ; (2) la géométrie est générée, (3) la spécification est enregistrée, et (4) le graphe est tracé. Lors de la réévaluation, le mécanisme d appariement des noms a lieu à chaque étape. Après la modification des paramètres, à chaque étape, ( ) les entités référencées sont d abord recherchées dans la géométrie réévaluée, (2 ) la nouvelle géométrie est produite, et (4 ) le graphe de coques / faces de l objet réévalué est progressivement tracé, comparé et apparié au graphe initial. La Figure 25 illustre l évolution parallèle des deux modèles après modification, à l étape 3, du paramètre longueur de la rainure verticale. Les deux graphes diffèrent sensiblement puisque cette rainure coupe un certain nombre d entités, dont la face f 2.8 qui est représentée avec ses deux faces résultats f 3.5 et f 3.6. Nous constatons également que cette rainure influence l arête qui doit être arrondie. Cette influence géométrique (scission de l arête) se traduit aussi par une modification des pointeurs référençant la géométrie. Notons que la Figure 25 représente une «photographie» des modèles après la quatrième étape. Les arêtes sont arrondies et n ont donc plus d existence géométrique, d où les deux pointeurs nuls de l index 3 dans le modèle réévalué. Une photographie avant la quatrième étape, montrerait, comme dans la Figure du Tableau, les arêtes e 5 et e 52. Modèle initial - bloc (longueurx, longueury, longueurz) 2- rainure (index, transfo, larg, haut, long) 3- rainure (index2, transfo2, larg2, haut2, long2) 4- arrondi (index3, rayon) Modèle réévalué - bloc (longueurx, longueury, longueurz) 2 - rainure (index, transfo, larg, haut, long) 3 - rainure (index2, transfo2, larg2, haut2, long2) 4 - arrondi (index3, rayon) comparaison des deux graphes c g c g c lat c f f.6 c lat c f c i f c f.6 f i f f f.5 f a f f.2 f. f f.2 f a f a f 79 a f a a f f a f 52 a. f f a f a a a f 77 index (nom) caractérisation pointeur 2 <f.3 > <f.2 > a f 3 a f 2 3 <(f 2.8, f.4 ) ; > a f 4 f 3 f 4 f 2 f 3 4 index (nom) caractérisation pointeur 2 <f.3 > <f.2 > a f 53 a f 52 3 <(f 2.8, f.4 );...> a, a f 79 f 77 f 78 f 52 f 53 f 8 4 Figure 25 Appariement : exemple de la modification du paramètre longueur à l étape 3. La face f 4 (nommée f 2.8 ) s en trouve scindée en deux, ce qui entraîne une modification du graphe et une modification des pointeurs associés à l index 3 (l arête à arrondir est coupée en deux). Le mécanisme d appariement est constitué de deux parties. Il y a d une part, la mise en correspondance des graphes, c est-à-dire la recherche de la ressemblance et du «degré» de ressemblance entre les faces et coques du graphe réévalué et celles du graphe initial. D autre part, il y a la mise à jour des entités référencées, c est-à-dire la recherche, à l aide du graphe et des noms, de la nouvelle géométrie devant être associée aux entrées de l index. Le Tableau 9 et le Tableau présentent respectivement des exemples d appariement de graphe et de mise à jour d entités référencées. Notons que les mécanismes d appariement suggérés dans cette section sont présentés approximativement et qu ils seront développés, plus en détail, dans la section 5.
82 72 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX Appariement des graphes Modèle initial Modèle réévalué Cas d une face invariante. La face initiale qui porte le nom f. et qui pointe sur la face (géométrique) f est invariante. Elle ne fait intervenir que le mécanisme de nomination (cf. section 4.2.2), qui dans chaque modèle assigne le même nom à la «même» face (géométrique). Le mécanisme de nomination propose pour chaque classe de caractéristiques de forme, soit un parcours topologique unique qui s exécute à l identique quelle que soit la réévaluation, soit une méthode historique qui s appuie sur les entités 2D desquelles sont issus f f f.2. a f c g c lat c f c i f.5 f.6 f 5 c g c lat c i f.5 f f.2. a f 5 les objets. Ce mécanisme de nomination établi des noms indépendamment du nom géométrique (nom variable fourni par le noyau géométrique). L appariement est implicite (cf. section 5.2.) puisque le nom est calculé à l identique pour les faces invariantes. c f f.6 Cas d une face contingente. f 4 f 54 f 4 Dans le modèle initial, la face f (nommée f f 64 3 f53 f. ) est scindée en deux faces f 3 et f 4 (nommées f 3 f 63 f 2.7 et f 2.8 ). Cette scission est représentée dans le f 5 f graphe par un embranchement historique. Les f 2 f 52 faces f 2.7 et f 2.8 qui pointent respectivement sur les c g c g faces géométriques f 3 et f 4 sont contingentes et c c f c lat c f doivent être retrouvées dans le modèle réévalué. f lat c i.6 c i f.6 f Lors de la réévaluation la même face initiale (ici.5 f.5 f f 2.8 f 2.y.2 géométriquement identifiée comme f 5 ) est scindée f. f a f f f. f a f 64 2.x a a f 3 a a f 63 en deux faces f 63 et f 64 qui doivent être nommées (temporairement identifiées comme f 2.x et f 2.y ). Le principe est de remonter à certains nœuds préalablement identifiés (dans ce cas particulier f. qui existe dans les deux modèles) puis d en comparer tous les successeurs historiques en utilisant le voisinage topologique des faces comme caractérisation (par exemple, en simplifiant, la face du dessus est adjacente à f 2.8 mais pas à f 2.7 respectivement à f 2.y mais pas à f 2.x ). L appariement est calculé (cf. section 5.2.2) par comparaison des deux graphes. Tableau 9 Appariement des graphes de coques / faces initial et réévalué : cas d une face invariante et d une face contingente. La mise à jour des entités référencées s effectue, quant à elle, toujours après l appariement des graphes (étape par étape). Cette mise à jour est nécessaire, lors de la réévaluation du modèle, pour chacune des entités de la table des entités référencées. Le Tableau ci-dessous présente un exemple de mise à jour d entité référencée.
83 VUE D ENSEMBLE DU MODELE PARAMETRIQUE 73 Mise à jour des entités référencées Modèle initial Modèle réévalué Cas d une entité référencée : exemple d une arête. f e e 4 5 e f f f79 f 8 L arête indexée (nommée) 3, caractérisée 4 par <(f 2.8, f.4 ) ; > et géométriquement désignée f f 77 f 78 3 par e 3 doit être arrondie à la quatrième étape. 3 3 Dans la géométrie du modèle réévalué, il s agit de déterminer à quelle(s) entité(s) cette arête doit c g correspondre. La recherche d arêtes candidates se c c f lat fait en parcourant le graphe à partir du nom des f f c.6 i.6 f 3.6 f faces (f 2.8 et f.4 ) formant le nom de l arête.5 f3.5 f f 2.8 f référencée. La face f.4 a une correspondance (à f. f a f a 4 f f a f a a f f a f a 77 l identique dans ce cas simple) dans le graphe a f 76 réévalué et possède une existence géométrique (f 54 ) ; elle ne pose donc aucun problème. La face nommée f 2.8 possède, elle aussi, une correspondance dans le graphe réévalué mais n a pas d existence géométrique ; il faut donc parcourir ses successeurs historiques pour trouver toutes faces ayant une existence dans la géométrie (les feuilles). Ici les faces f 3.5 et f 3.6 (c est-à-dire f 79 et f 8 dans la géométrie). Nous pouvons donc trouver toutes les arêtes qui ont d une part f 54, et, d autre part, f 79 et f 8 comme faces adjacentes. Les arêtes e 5 et e 52 sont donc celles qui correspondent à l arête e 3 (c est-à-dire à la caractérisation <(f 2.8, f.4 ) ; >). La mise à jour des entités référencées est effectué (cf. section 5.3) pour toutes les entités de la table. Remarque : c est à la fonction paramétrique, ayant pour paramètre d entrée l entité référencée, de déterminer le traitement du résultat. Ainsi, pour une arête scindée en deux, une fonction arrondi peut accepter les deux arêtes, une fonction parallèle_à peut n en garder qu une, alors qu une fonction milieu_de peut n accepter aucune arête. Tableau Mise à jour d entités référencées : cas d une arête. Pour résumer, l appariement s effectue à chaque geste constructif réévalué. La mise en correspondance est progressive ; il faut bien noter, à chaque étape, les deux phases principales : () d abord la mise en correspondance des deux graphes (initial et réévalué) avec (.) l évaluation des ressemblances et (.2) l appariement des nœuds ; puis (2) la mise à jour des entités référencées. Le graphe établit le lien entre deux variations de modèles paramétriques et permet de restreindre la recherche des entités à des sousensembles pertinents tandis que la table des entités référencées assure le lien entre la géométrie et la spécification paramétrique. a 4 Architecture du modèle paramétrique Construction Dans les sections précédentes, nous avons présenté un aperçu général de l architecture de notre modèle paramétrique en présentant les articulations entre les différentes parties et en donnant une idée globale de la résolution du problème de nomination robuste et persistante, notamment en introduisant le rôle du graphe. Nous avons également évoqué les principes fondamentaux qui régissent notre modèle paramétrique, et qui lui donnent une assise stable pour répondre aux problèmes énumérés dans les sections et du premier chapitre. Fort de ces informations nous pouvons noter () que les agrégats de coques répondent au problème de la représentation de différentes sémantiques ; (2) que le suivi de leur évolution historique répond au problème de l appariement des noms ; et (3) que la notion d invariant / contingent, la table des
84 74 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX entités référencées ainsi que les algorithmes de numérotation répondent au problème de la nomination des entités. Dans la présente section, nous allons détailler, plus précisément, comment ces différents éléments interviennent dans la construction d une nomination persistante. Nous présenterons dans une première partie la structure du graphe des coques. Nous préciserons ensuite comment sont identifiés les sommets (nœuds) de ce graphe. Enfin dans une troisième partie, nous montrerons comment les noms de ces sommets sont utilisés pour caractériser, c est-à-dire «nommer», les entités référencées. 4. Graphe orienté de coques Le graphe orienté de coques, que nous appelons également simplement graphe est le cœur de notre modèle paramétrique PS 2 (Persistent Solving Structure) et la clef de voûte de notre mécanisme de nomination persistante. Dans cette section, nous allons d abord préciser les rôles joués dans notre modèle par le graphe orienté de coques, puis présenter sa structure interne. 4.. Rôles du graphe de coques / faces Il y a essentiellement trois rôle pour le graphe de coques / faces que nous proposons : l agrégation, la nomination et la traçabilité des entités en vue de l appariement. L agrégation. L objectif est de pouvoir appréhender la géométrie à différents niveaux de granularité, c est-à-dire d agréger les entités de bas niveau. Les faces sont en effet des entités de bas niveau, n ayant souvent pour un concepteur que très peu de sémantiques. Les coques permettent d abstraire certains invariants des caractéristiques de forme. Par exemple, lors d une extrusion il y a une unique coque latérale qui est composée de plusieurs faces latérales. Ces coques, qu il est possible de structurer, permettent donc de représenter pour chaque opération les différents niveaux de sémantique possibles, et donc en particulier celui pertinent pour un concepteur particulier. La nomination. Il s agit d être en mesure de caractériser et de nommer, c est-àdire de rendre référençable, chaque face et chaque coque de l objet modélisé. Pour cela, chaque face et chaque coque (chaque nœud du graphe), et en particulier chaque face et chaque coque contingente, contient non seulement des informations sur son historique et son appartenance hiérarchique, mais aussi des informations sur la topologie et la géométrie de l objet modélisé. Chaque nœud est étiqueté avec ces informations. Il est alors référençable par un numéro (associé à un pointeur) qui constitue donc un nom pour la face ou la coque correspondante. La traçabilité. Le but est de pouvoir suivre l évolution des faces et des coques, afin d identifier lors de la construction les faces et coques mises en jeu, puis lors des réévaluations les faces et coques effectives (dans l instance courante, c est-àdire dans la géométrie réévaluée) correspondant à ces faces et coques référencées. Cette traçabilité est nécessaire, plus précisément, pour deux raisons : Le graphe permet de restreindre la recherche des faces et coques à apparier à des sous-ensembles pertinents de faces et de coques. En effet, chaque coque initiale contient son degré de ressemblance avec les coques réévaluées (et réciproquement) ; cette information associée à l historique des faces et des coques limite les croisements à quelques faces et coques.
85 ARCHITECTURE DU MODELE PARAMETRIQUE CONSTRUCTION 75 La traçabilité permet de déterminer quelles sont les faces invariantes formant le voisinage d une face donnée. En tant que structure de données, le graphe orienté de coques est un graphe étiqueté. Nous détaillons ci-dessous, sa structure. Nous discutons à la section suivante le contenu de ses étiquettes Structure du graphe Le graphe conserve à la fois la structure des caractéristiques de forme (agrégation), l historique des faces et des coques (traçabilité) et, éventuellement, certaines relations supplémentaires d agrégations demandées par le concepteur (par exemple, le concept de «partie supérieure d un bloc» même si celle-ci a été modifiée par une succession de caractéristiques). La Figure 26 illustre la structure de graphe sur un exemple simple dans lequel un bloc extrudé est coupé successivement par deux rainures. La représentation du graphe est orientée selon deux axes orthogonaux. Le premier axe est vertical et correspond à la structure hiérarchique d agrégation des coques et des faces, tandis que le second axe est horizontal et correspond à la conservation de l évolution historique des coques et des faces. extrusion extrusion extrusion c 3.c Liens hiérarchiques Liens historiques 4.c c 2.i 2.f 2.l 4.i 4.f 4.l ème niveau de coques er niveau de coques.f.l.i bloc extrudé, pas d interaction avec la géométrie 2.l 2.l première rainure Null interaction avec la géométrie : uniquement des disparitions agrégation, pas d interaction avec la géométrie 4.l 4.l deuxième rainure Null interaction avec la géométrie : disparitions et scissions Figure 26 Vue partielle d un exemple de graphe. Notons que par souci de simplification les liens entre coques / faces modifiées (non scindées) ne sont pas représentés. Cependant, un graphe complet est présenté en section 3 des Annexes. Observons que chaque geste constructif (chaque caractéristique de forme) se traduit par l apparition dans le graphe d une structure hiérarchique invariante que nous avons défini dans notre taxonomie de caractéristiques de forme (cf. section 2.2). La structure invariante des caractéristiques de forme est représentée par des liens hiérarchiques entre les
86 76 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX coques. Cette structure hiérarchique initiale invariante de coques, qui représente les entrées du graphe, va être altérée lorsque les caractéristiques interagissent entre elles. Cette interaction produit des entités contingentes qui sont issues de l évolution de la structure hiérarchique initiale. L évolution de cette structure hiérarchique (conservée par des liens hiérarchiques) et en particulier l évolution des faces et des coques est décrite par des liens historiques. Au final, nous sommes en présence d une structure de données très particulière qui représente, orthogonalement, deux types d informations (la hiérarchie et l histoire d une coque / face). Le graphe est de ce fait constitué de deux types de liens ; à savoir les liens historiques et les liens hiérarchiques. Notons que les deux types de liens sont orientés Liens historiques Pour chaque nœud du graphe (c est-à-dire coque ou face de l objet) et en particulier pour chaque feuille de la structure hiérarchique (c est-à-dire face de l objet), son évolution historique va être tracée. Précisons que par évolution historique nous entendons le suivi des variations provoquées par chaque geste constructif au sein d un même modèle. Les évolutions sont représentées dans le graphe par les liens historiques. Pour une face ou coque donnée, il y a quatre façons d évoluer. La modification. Par modification, nous entendons toute évolution qui conserve la connexité des faces. Toute face identifiée à une étape i, et modifiée à l étape i +, est parfaitement identifiée puisque son existence dans le graphe n est pas affectée. Néanmoins, puisqu en cas de modification, le voisinage topologique varie, et que ce voisinage est primordial lors de l appariement, nous représentons cette modification par un nouveau nœud, relié à l ancien nœud par un unique lien historique (qui n est pas représenté dans la Figure 26 afin de simplifier le graphe ; voir la section 3 des Annexes pour un graphe complet). La disparition. Lors de l interaction entre la géométrie de la caractéristique de forme et la géométrie de l objet dans lequel elle est plongée, un certain nombre de faces et de coques (de la caractéristique de forme et / ou de l objet) disparaissent. Ces faces et coques sont représentées, à l étape de leur disparition, par un nœud du graphe (un nœud «poubelle»), mais sans lien vers la géométrie (le lien historique aboutit à la valeur NULL). C est un cas particulier de la modification. Par exemple, dans la Figure 26, les faces 2. et 2.2 n ont pas d existence dans l objet. La scission. Il y a scission lorsqu une face ou une coque est coupée en plusieurs morceaux non-connexes. Ainsi, une coque coupée va pointer au travers de liens historiques sur les sous-coques résultats et inversement. Par exemple, dans la Figure 26, la face 2.3 est coupée en deux faces 4.9 et 4.2 par la rainure à la quatrième étape. La fusion. Lorsque plusieurs faces ou coques ont le même plongement géométrique, il est possible de les fusionner et certains modeleurs peuvent réaliser cette opération. Nous interdisons cette opération de fusion car il s agit essentiellement d une opération d optimisation interne du modeleur (réduction du nombre de faces) qui contraint fortement les réévaluations possibles de l objet (les faces fusionnées doivent toujours se trouver avec un plongement identique) et n est en général, pas disponible en tant qu opération constructive pour le concepteur.
87 ARCHITECTURE DU MODELE PARAMETRIQUE CONSTRUCTION 77 Les liens historiques permettent ainsi de tracer l évolution (disparition, modification et scission) des entités topologiques. L historique est conservé à tous les niveaux de granularité (faces, coques, agrégats de coques, etc.), ce qui donne au modèle une puissance d expression supérieure à celui de Kripac. En effet, lorsqu une coque est coupée en plusieurs morceaux lors d une opération, il est possible d avoir accès non seulement à la coque (qui est représentée dans la hiérarchie) mais aussi à chacun des morceaux de coques (qui sont représentés dans l historique). C est par rapport à ces liens historiques que se fera le parcours du graphe lors de la phase d appariement Liens hiérarchiques La structure d une caractéristique de forme (décrite dans la section 2.2) est représentée dans le graphe par les liens hiérarchiques. Ces liens qui sont définis entre agrégats d entités, permettent de structurer les données et de dégager des agrégats invariants. Outre la représentation de la structure invariante des caractéristiques de forme, ces liens hiérarchiques permettent de représenter de nouvelles agrégations apparaissant au cours de la modélisation. La Figure 26 en donne un exemple. Une rainure est posée sur la face supérieure d un cube construit par extrusion. Une coque 3.c peut être générée (par exemple, de manière automatique ou sur demande explicite du concepteur qui souhaite manipuler cet agrégat) afin de pouvoir nommer et donc adresser l agrégat correspondant à l union de la coque de la rainure (2.c) et de la coque portant cette rainure (.f). La coque 3.c possède donc deux liens hiérarchiques vers les coques 2.c et.f. Nous pouvons de plus remarquer que cet exemple illustre le cas d un recouvrement de coques présenté dans la section 4.. puisque la coque.f appartient maintenant à deux coques distinctes.c et 3.c. La structure hiérarchique varie avec les évolutions des faces et des coques. Ainsi dans l exemple de graphe, illustré dans la Figure 26, une des coques latérales (.l2) qui est composée des faces 2.3, 2.4 et 2.5 est scindée en deux coques 4.3 et 4.4. Ces dernières sont à leur tour composées du résultat de la scission des faces 2.3, 2.4 et 2.5 de sorte qu il existe à chaque étape une nouvelle structure hiérarchique (modifiée). Une propriété importante de ce graphe, qui en simplifie la gestion, est que les liens hiérarchiques peuvent n être conservés et décrits qu au niveau des feuilles historiques du graphe. Pour prouver cette propriété, nous avons étudié de façon exhaustive (cf. Tableau ), pour deux étapes successives, et pour deux niveaux hiérarchiques successifs (deux faces et une coque de premier niveau d agrégation, mais cela s étend à deux niveaux hiérarchiques successifs quelconques) toutes les combinaisons possibles d historiques de faces et de coques. Dans la suite de ce document, quand nous évoquerons l évolution des faces ou des coques, nous appliquerons le distinguo : modification (conservation de la connexité des faces) et scission (nonconservation de la connexité des faces).
88 78 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX ère Coque NS NS NS NS S S S S ère face NS NS S S NS NS S S 2 nde face NS S NS S NS S NS S Figure 2 ème cas équivalents cas équivalents Tableau Combinaisons possibles de liens historiques et hiérarchiques pour une coque et deux faces, suivant qu elles sont scindées (S), ou nonscindées (NS). Les pointillés indiquent la scission due à une rainure. Hormis la création (nœud invariant) et la fusion (non autorisée), l évolution historique se résume à la scission, la modification et la disparition. Pour notre étude de cas nous pouvons nous limiter à la scission. En effet, la disparition et la modification créent des liens historiques univoques (entre la coque et la coque modifiée, ou bien entre la coque et la «coque-poubelle» représentant la coque disparue) qui peuvent être considérés comme des cas particuliers de la scission. Les cinq cas, issus du Tableau, et illustrés dans la Figure 27, sont donc exhaustifs. f 2.3 f 2.2 f 2.4 f. f.2 f 2. f 2.2 f 2. f 2.2 f. f 2. f 2. f 2.3 f 2.2 coque non-scindée faces non-scindées coque non-scindée face(s) scindée(s) coque scindée faces non-scindées coque scindée face (non-) scindée coque scindée 2 faces scindées c. c. c 2. c. c 2.2 c 2. c. c 2.2 c 2. c. c 2.2 c 2. f. f.2 f.2 f 2.3 f. f 2.2 f 2. f.2 f 2.2 f. f 2. f. f.2 f 2.2 f 2. f.2 f 2.4 f 2.3 f. f 2.2 f 2. Figure 27 Exemples d évolution de liens hiérarchiques. Il est possible de déduire de ces différents cas de figure que la connaissance de la structure hiérarchique de l étape i suffit pour connaître celle de l étape i -. En effet, il suffit de comparer l ordre des numéros d étape (l ordre de création) de deux coques liées hiérarchiquement. Par exemple, le 4 ème graphe de la Figure 27, illustre les deux cas qui peuvent survenir. La face f 2. qui est une sous-coque de c 2. qui a été créée après c. est donc issue d une face qui était sous-coque de c.. La face f 2. est issue de f.2 qui est donc sous-coque de c.. De même, la face f. (créée à l étape ), sous-coque de c 2., (créée à l étape 2), était sous-coque d un prédécesseur historique de c 2. (ici c. ). Ce raisonnement, appliqué à chacun des cinq cas, et étendu à des étapes i - et i quelconques et à des niveaux hiérarchiques successifs quelconques, permet de généraliser la propriété. Par exemple, dans le fragment de graphe représenté ci-dessous, si la coque B est le Père Hiérarchique de la coque D à l étape i (PH i (D) B), il est possible de déduire de l ordre de création de D et C (n (D) et n (C)), quel était le Père Hiérarchique de D (ou C selon le cas) à l étape i -. Le Tableau 2 présente les deux configurations possibles.
89 ARCHITECTURE DU MODELE PARAMETRIQUE CONSTRUCTION 79 Hiérarchie à l étape i PH i (D) B Déduction de la hiérarchie à l étape i - A C B D n (D) n (B) et n (D) i PH i - (C) A A C B D Si A B C D n (D) > n (B) et n (D) i cas impossible alors C A D B n (D) < n (B) et n (B) i PH i - (D) A C A D B Tableau 2 Les deux types de relations hiérarchiques possibles aux étapes i et i -. Le deuxième cas est impossible car si la face évolue alors la coque évolue également (donnant une hiérarchie identique à celle du premier cas). Il n y a pas de lien hiérarchique entre une coque et une sous-coque apparue ultérieurement (à la coque). Il est possible de retrouver la structure hiérarchique de l étape i -, connaissant celle de l étape i. La structure hiérarchique étant connue à l étape n (structure courante), par récurrence on peut conclure qu il est possible de conserver les liens hiérarchiques uniquement au niveau des feuilles historiques. Notons par contre, que cette propriété devrait être étendue si la fusion devait être introduite dans le graphe. Cette connaissance de l état de la structure hiérarchique de l ancien graphe à une étape quelconque est indispensable pour faire l appariement avec le graphe issu de la réévaluation. 4.2 Étiquetage du graphe de coques / faces Chaque nœud du graphe représente, dans le graphe, une coque ou une face qui existe ou a existé dans la géométrie du modèle. Les nœuds contiennent, d une part les données relatives à la structure du graphe, et, d autre part, les informations nécessaires pour caractériser les coques et les faces lors de la construction du modèle, puis pour les retrouver / apparier lors de la réévaluation. Ces informations caractérisent les coques et les faces, et constituent leurs étiquettes. Chaque étiquette est constituée : D un nom. Ce nom identifie le nœud au sein du graphe. Il comporte deux éléments : le numéro d étape, et un numéro itératif assigné par étape aux nouveaux nœuds représentés. Le numéro d étape représente l ordre de création de la caractéristique de forme, donc le numéro d étape de construction / réévaluation dans le modèle paramétrique. Dans un modèle paramétrique, ce qui ne change jamais lors d une réévaluation, c est le processus de construction. Par conséquent, le numéro d étape est un élément invariant facilitant l identification des faces et des coques. Ce double numéro est unique dans le graphe, et identifie le nœud (coque ou face). Ainsi, sur la Figure 26, la face invariante f 3.5 est identifiée par 3.5, ou bien la coque contingente composée des faces f 4.7, f 4.8 et f 4.9, est identifiée par 4.3. D une caractérisation. Déterministe en construction, une numérotation est, comme nous l avons montré, largement insuffisante en réévaluation. Elle est donc Signalons que nous considérons la modification du processus de construction (changement de la spécification paramétrique, hors variations des paramètres) comme une édition du modèle et non pas comme une réévaluation du modèle.
90 8 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX étendue par des informations qui vont caractériser chaque face et chaque coque. Les caractérisations comportent toutes les informations nécessaires à l identification (structure topologique), ainsi qu à l appariement (structure du graphe) des coques et des faces. Dans l utilisation de la structure topologique quatre cas sont à distinguer. Les faces invariantes. Elles sont caractérisées soit par le seul numéro itératif qui figure dans leur noms, c est le seul cas où ce numéro, seul, est significatif car il est issu des algorithmes de nomination ; soit par les entités 2D ayant générées la caractéristique de forme (cf. section ). Les coques invariantes. Elles sont caractérisées par identifiant (SID : Shell IDentifier) lié à la taxonomie de caractéristiques de forme (cf. section ). Les faces contingentes. Elles sont caractérisées par les faces de leur voisinage topologique, plus précisément, le voisinage de niveau invariant. Le nom des faces contingentes dans le voisinage est remplacé par celui de leur prédécesseur historique invariant (cf. section ). Les coques contingentes. Elles sont caractérisées par la liste de faces qui les composent (cf. section ). La structure de graphe. Elle participe à la caractérisation des nœuds c est-à-dire des coques / faces du graphe et est donc indispensable pour leur identification et appariement. Cependant, le graphe étant une structure globale du modèle, lorsque nous parlerons de caractérisation d un nœud dans la suite de ce mémoire, nous entendrons uniquement caractérisation topologique. De pointeurs historiques. Ces pointeurs, vers les nœuds prédécesseurs et successeurs, représentent les liens historiques. Chaque nœud connaît son évolution. Ces pointeurs peuvent être nuls. Vu que nous interdisons la fusion, il y a une liste de successeurs historiques, mais un seul prédécesseur historique. De pointeurs hiérarchiques. Ces pointeurs, vers les nœuds parents et enfants, décrivent les liens hiérarchiques. Ils représentent la structure hiérarchique initiale dont l évolution est tracée. Ces pointeurs peuvent être nuls. D un pointeur géométrique. Il réalise le lien vers le modèle géométrique. Il est mis à jour pour refléter la géométrie existante (aussi bien en construction, si la face disparaît, qu en réévaluation si la géométrie change). Sa valeur est nulle, excepté pour les feuilles historiques. Chaque nœud identifie, au travers de son nom, les faces et les coques, aussi bien invariantes que contingentes, du modèle paramétrique.
91 ARCHITECTURE DU MODELE PARAMETRIQUE CONSTRUCTION Distinction outil / résultat L identification d une entité est largement basée sur des éléments qui ne varient pas, et qui, de ce fait, la caractérisent de manière unique. Pour cette raison, nous avons introduit (en section 2.2) la notion d invariant / contingent, qui, d un point de vue fabrication, peut être assimilée à une distinction outil / résultat, où le même outil peut donner des résultats différents. Un objet modélisé peut être considéré comme le résultat de l application successive de divers outils sur un brut initial. De même dans notre modèle de construction, l objet initial (en fait une première caractéristique de forme) va être modelé, à chaque étape, par un outil abstrait, c est-à-dire par une caractéristique de forme, dont la structure invariante est connue. L interaction, entre l objet courant et cet outil abstrait (c est-à-dire entre la géométrie courante et la géométrie de la caractéristique de forme), entraîne une modification de leur géométrie et une altération de la structure invariante qui devient contingente. Remarquons que l analogie invariant / contingent et outil / résultat n est pas uniquement sémantique, mais symbolise bien le fait que la caractéristique de forme (l outil), en tant que classe, représente un invariant, même si elle est susceptible, en tant qu instance, de subir des variations d une réévaluation à une autre (cf. sections et ). Pour chaque geste constructif, il y a donc deux étapes. Premièrement, la spécification de la caractéristique de forme ; c est-à-dire que toutes les entités (invariantes) de la caractéristique de forme et en particulier les faces doivent être nommées. Deuxièmement, le plongement de la caractéristique de forme dans la géométrie de l objet existant. L interaction avec la géométrie existante entraîne la disparition et la transformation d entités et l apparition de nouvelles entités. Ces entités contingentes doivent être nommées. Nous sommes donc en présence de deux types de nominations à mettre en œuvre : une pour les faces et coques invariantes et une autre pour les faces et coques contingentes Nomination des faces et coques invariantes Bien que les coques soient définies de manière générique, en incluant à la fois, les coques et les faces, en nomination, nous allons distinguer deux cas. Il y a, d une part, les faces invariantes, et, d autre part, les coques invariantes Faces invariantes Comme nous l avons déjà mentionné, il est nécessaire de pouvoir s appuyer sur des invariants pour identifier les entités d un modèle paramétrique. Plus ces invariants sont nombreux en construction, meilleur est l appariement en réévaluation. Nous proposons donc deux approches. La première approche, basée sur une structure invariante à topologie fixe, interdit les variations topologiques des caractéristiques de forme utilisées en construction (avant interaction avec la géométrie existante). Cette approche stricte se base sur cette invariance pour générer les noms des faces, et garantit ainsi une réévaluation à l identique des caractéristiques de forme (uniquement les caractéristiques de forme avant interaction avec la géométrie existante). Ainsi, un bloc extrudé basé sur un polygone à quatre cotés, ne peut pas, comme cela est autorisé dans la seconde approche, être basé sur un profil pentagonal en réévaluation. Dans la seconde approche, plus flexible, basée sur une structure invariante à topologie variable, nous autorisons les variations de topologie des caractéristiques de forme. À l image du mécanisme mis en œuvre en 3D, nous
92 82 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX proposons de tracer ces variations et de les intégrer au mécanisme d appariement. Nous présentons ci-dessous les deux approches Structure invariante à topologie fixe Dans cette première approche, pour identifier les faces invariantes, nous allons nous baser sur la structure fixe de la topologie. Cette nomination est robuste par rapport aux variations géométriques puisque celles-ci n entraînent pas de variations au niveau de la structure topologique. Comme les variations géométriques (dimension, position, etc.) sont les seules qui s appliquent, dans ce cas, aux caractéristiques de forme, et donc aux faces et coques invariantes, cette nomination basée sur la topologie est totalement robuste par rapport aux réévaluations. Nous proposons deux méthodes pour nommer les faces invariantes selon la nature de la caractéristique de forme, soit par un parcours topologique de la caractéristique pour celles ne résultant pas de l extrusion d un contour 2D, soit par une référence aux entités 2D ayant fait l objet d extrusion pour les caractéristiques résultant de l extrusion d un contour 2D. Dans la première méthode, les faces invariantes sont caractérisées par leur numéro d ordre dans le parcours topologique. Ce numéro itératif (numéro d ordre) est issu d un parcours de l objet. L algorithme consiste à partir d une demi-arête de départ et à faire un parcours radial autour des arêtes, puis un parcours normal suivant les arêtes des contours de la face. Le parcours qui est unique (par rapport à la demi-arête de départ) et qui couvre tout l objet, permet d assigner un numéro à chaque face (voir la Figure 28-a). Ce numéro est unique en construction et assigné de façon identique en réévaluation (même demi-arête de départ, même parcours, donc même numéro itératif). Le nom des faces invariantes est donc composé du numéro d étape et du numéro de face issue du parcours topologique. Notons que par souci de simplicité, dans les exemples de la Figure 28, les numéros d étape ont été omis. (a) f f5 2 f 2 f 4 f 3 3 n ordre de parcours parcours normal parcours radial demi-arête initiale (b) v e 4 v 2 e v f e 2 e 3 e e 2 e 3 v 3 e 3 e e 2 e 4 e 3 e 4 e e 4 e e e3 e2 v f e e 3 e 2 e 3 e e 2 e 2 e 2 profil trajectoire objet balayé e 3 e 3 v f Figure 28 Mécanisme de nomination. (a) Les faces sont nommées par rapport à un parcours topologique. (b) Les faces sont nommées par rapport au produit cartésien des arêtes de la trajectoire (e, e 2, e 3 ) et des arêtes du profil (e, e 2, e 3, e 4 ). Lors de la construction et de la réévaluation, le parcours topologique (Figure 28-a) se fait de la manière suivante : () on parcourt de manière orientée le circuit de demi-arête entourant la face en cours de traitement ; (2) pour chaque demi-arête rencontrée on parcourt de manière radiale toutes les faces adjacentes (à l arête) ; (3) si ces faces ne sont pas déjà numérotées, on leur assigne un numéro et on les met dans une file ; (4) lorsque le Les caractéristiques de forme sont définies, en plus de leurs paramètres, par une demi-arête définissant le point de départ de la numérotation. Par exemple, dans un bloc extrudé, le premier sommet et la première arête du contour 2D définissent la demi-arête de départ.
93 ARCHITECTURE DU MODELE PARAMETRIQUE CONSTRUCTION 83 parcours du circuit est terminé, on prend la première face de la file et on recommence le parcours précédent en partant de la demi-arête commune à cette face et la face de plus petit numéro. Ces différents points peuvent être traduit dans l algorithme suivant. Début face_courante <- face adjacente à la demi arête Répéter Répéter Répéter face_tmp <- face suivante dans le parcours radial Si (face_tmp pas numérotée) Alors Numéroter face_tmp file <- face_tmp Fin Si Jusqu à (face_tmp face_courante) demi_arête <- demi arête suivante dans parcours normal Jusqu à fin du parcours du circuit d arête face_courante <- ôter ère face de la file demi_arête <- demi arête commune à face_courante et à la face déjà numérotée de plus petit numéro Jusqu à file vide Fin Tableau 3 Algorithme de nomination des faces invariantes par numérotation basée sur un parcours topologique. Dans le cas de la structure invariante à topologie fixe, avec la première méthode de nomination, la caractérisation (c est-à-dire le nom dans ce cas particulier) de chaque face invariante est constituée de la manière suivante : < numéro d étape ; numéro itératif >. Pour les caractéristiques résultant d une extrusion, les faces invariantes sont caractérisées par les entités 2D à partir desquelles elles ont été créées. Dans le cas d une extrusion, un profil (contour initial) est balayé le long d une trajectoire. Chaque entité topologique résultante correspond au produit cartésien entre un élément topologique de la trajectoire et un élément topologique du profil. Sur l exemple de la Figure 28-b, la face e e 4 de l objet extrudé correspond au produit cartésien de l arête génératrice e issue de la trajectoire, avec l arête génératrice e 4 issue du profil. De manière similaire, la face interne v 2 f correspond au produit cartésien du sommet v 2 avec la face f définissant le profil. L absence de variations topologiques induit la persistance des noms puisqu une même trajectoire et un même profil aboutissent à une même face, donc à un même nom. Dans le cas de la structure invariante à topologie fixe, avec la seconde méthode de nomination, la caractérisation de chaque face invariante est constituée de la manière suivante : < numéro d étape ; nom de l élément générateur appartenant à la trajectoire ; nom de l élément générateur appartenant au profil >. Notons que cet algorithme de parcours, illustré dans le cas de polyèdres sans frontières internes, est utilisable pour la nomination de n importe quelle 3D-variété, y compris celles possédant des frontières internes. Mentionnons cependant que dans la suite, nos objets polyédriques sont sans faces internes.
94 84 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX Structure invariante à topologie variable Cette seconde méthode de nomination peut en fait être étendue pour permettre certaines variations dans la topologie des caractéristiques utilisées. Dans cette seconde approche, la structure hiérarchique reste invariante (même structure hiérarchique de coques), mais la topologie est autorisée à varier (nombre et topologie variables pour les faces). Dans un tel cas, la première méthode de nomination (parcours topologique) n est plus robuste puisque la topologie varie, par contre, la seconde méthode peut être adaptée pour fournir une nomination persistante. Une nomination robuste des éléments topologiques du profil et de la trajectoire est fondamentale pour permettre une nomination robuste des faces des caractéristiques de forme. Pour cela, une correspondance est réalisée sur les profils et les trajectoires entre la construction et la réévaluation du modèle afin de garantir la persistance des noms. Des tables locales d appariement sont donc conservées lors des modifications (voir la section et la Figure 32) permettant de mettre en correspondance les éléments de profils identiques même si certaines autres parties des profils ont varié. Dans le cas de la structure invariante à topologie variable, la caractérisation est identique à la seconde méthode. La caractérisation de chaque face invariante est constituée de la manière suivante : < numéro d étape ; nom de l élément générateur appartenant à la trajectoire ; nom de l élément générateur appartenant au profil >. Cette approche est plus flexible que la première, mais nécessite deux niveaux d appariement. Le premier appariement s effectue pour chaque caractéristique de forme brute (uniquement sur sa topologie), c est-à-dire avant interaction avec la géométrie de l objet modélisé. Le second appariement intervient, à chaque étape, comme nous l avons déjà expliqué, pour l objet modélisé tout entier (géométrie et topologie courantes) Coques invariantes Les coques invariantes sont des agrégations de coques et de faces. Elles sont prédéfinies dans notre taxonomie de caractéristique de forme (voir section 2.2). La structure des coques invariantes est prédéfinie de manière unique et invariante pour chaque caractéristique de forme. Ainsi, un bloc extrudé, aura toujours une coque globale composée d une coque initiale, d une coque latérale et d une coque finale. Chaque coque de cette structure est alors associée à un identifiant unique appelé SID (Shell IDentifier). Dans le modèle paramétrique, la caractérisation de chaque coque invariante est alors composé du numéro d étape suivi du SID. La caractérisation d une coque invariante s écrit donc : < numéro d étape ; SID >. La Figure 26 montre des exemples de caractérisations de coques invariantes telles que pour la première coque globale qui est caractérisée par.c, ou bien pour la coque initiale invariante de la seconde rainure qui est caractérisée par 4.i, ou encore pour l une des coques latérales invariantes caractérisée par 2.l Nomination des faces et coques contingentes Très variantes, les faces et les coques contingentes, sont plus difficiles à identifier. Comme nous l avons établi, en introduction de ce chapitre, une caractérisation contextuelle
95 ARCHITECTURE DU MODELE PARAMETRIQUE CONSTRUCTION 85 de ces entités est nécessaire pour être en mesure de les reconnaître. Les faces et les coques contingentes vont donc être caractérisées par des informations additionnelles qui permettront, en réévaluation, de les comparer entre elles (entités initiales / entités réévaluées), et de les reconnaître et apparier suivant des critères de ressemblance prédéfinis. Cet appariement peut être réalisé en utilisant la géométrie et / ou le voisinage topologique des entités. L utilisation de la topologie permet d obtenir une robustesse de l appariement par rapport à la plupart des variations géométriques et topologiques. Toutefois, dans certains cas particuliers lorsque le modèle contient des entités nonlinéaires, les voisinages topologiques, même étendus [Chen 95], sont ambigus et ne permettent pas de caractériser de manière unique une entité de ce modèle. Il convient alors d utiliser un mécanisme géométrique supplémentaire (orientation géométrique des caractéristiques de forme, etc.) permettant de lever ces ambiguïtés [Chen 95]. Nous distinguons deux nominations : celle des faces contingentes (caractérisées par leur voisinage topologique) et celle des coques contingentes (caractérisées par les faces déjà identifiées qu elles contiennent) Faces contingentes Les faces contingentes (aussi bien modifiées que scindées) existent de façon variante et fortuite dans les différentes réévaluations. Nous proposons, en plus du numéro d étape, de caractériser les faces contingentes par leur voisinage topologique. Il y a trois possibilités pour le voisinage. Un voisinage composé de toutes les faces adjacentes à la face contingente. Malheureusement, comme le montre la Figure 29, il est possible que plusieurs faces aient, dans leur voisinage, des faces inconnues. Elles sont inconnues dans le sens où elles sont apparues à la même étape et doivent donc elles-mêmes être nommées. Par exemple, à la troisième étape, les faces Y et Z ayant respectivement pour voisinage {2.47, 3.4x, 3.5, 3.22x} et {2.47, 3.4x, 3.5, 3.2x} doivent être différenciées l une de l autre. Il faut donc pour l appariement, soit ignorer les faces inconnues, soit résoudre un système d équations. Il n est pas possible de faire l appariement en ignorant les faces inconnues étant donné que les voisinages, composés uniquement des faces restantes, ne contiennent pas suffisamment d informations pour avoir des caractérisations différentes pour les faces à nommer. Ainsi, les faces Y et Z ont, aux inconnues près, le même voisinage {2.47, 3.5}. La résolution d un système d équations est envisageable, mais complique singulièrement le processus d appariement sans que le bénéfice en apparaisse évident. Un voisinage composé des prédécesseurs historiques. En effet, pour éviter d avoir à résoudre un système d équations, il est possible de se baser sur les prédécesseurs historiques immédiats des faces (au lieu des faces apparues lors de l opération de construction). Les faces Y et Z auraient respectivement pour voisinage {2.47, 2.4, 3.5, 2.22} et {2.47, 2.4, 3.5, 2.2}. Ces voisinages caractérisent bien chacune des faces, cependant, il peut y avoir des problèmes d appariement si certains prédécesseurs historiques sont scindés en réévaluation. Il Notons que dans le voisinage topologique, seule la loop externe est prise en compte. Cela implique que pour les faces trouées leurs trous sont ignorés (dans la nomination).
96 86 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX faudrait traiter différents cas de figure, ce qui est possible, mais alourdit l appariement, sans que le bénéfice en apparaisse évident. Un voisinage composé de faces invariantes, nous semble donc le plus indiqué pour caractériser les faces contingentes. À partir des faces du voisinage topologique, les noms des prédécesseurs invariants sont collectés et conservés dans le nom de la face contingente. Par exemple, la face contingente 2.47 est remplacée par la face invariante.5. Ainsi, les faces Y et Z ont respectivement pour voisinage {.5, 2.4, 3.5, 2.22} et {.5, 2.4, 3.5, 2.2}..5 étape.4 étape 2 étape X x 3.24x 3.24y x Y 3.4x 3.4y Z 3.4x 3.4y..3 T 3.5 U Figure 29 Voisinage topologique des faces contingentes. Au final, la caractérisation d une face contingente contient le numéro d étape, ainsi que son voisinage topologique composé de faces invariantes. Il s écrit donc : < numéro d étape ; voisinage des faces adjacentes invariantes > Coques contingentes Comme pour les faces contingentes, les coques contingentes doivent être caractérisées par des éléments qui rendent leur nom unique et non-ambigu, en construction, et reconnaissable en réévaluation. Deux possibilités s offrent à nous pour caractériser les coques contingentes. Les faces composant le voisinage topologique de la coque. Cette possibilité possède les mêmes inconvénients que le non-linéaire [Chen 95], puisque deux coques coupées peuvent, dans certaines configurations particulières, avoir le même voisinage (cf. Figure 3). Dans ce cas, le nom serait ambigu, et ne pourrait donc pas être utilisé pour identifier (en construction) les coques. Des heuristiques pertinentes devraient être trouvées pour compenser cette ambiguïté. Ce cas de figure est similaire au problème de l appariement des coques contingentes, qui peuvent, dans leur contenu topologique (faces les composant), avoir des faces appariées avec plusieurs autres faces (cf. section ). Il ne s agira plus de parcourir, face par face, deux ensembles en comparant chaque face (voisine ou contenue) du premier ensemble aux k faces du second ensemble, mais en comparant chaque face du premier ensemble aux k n-uplets de faces du second ensemble (si au pire des cas chaque face du second ensemble est subdivisée en n faces). De même pour les coques.
97 ARCHITECTURE DU MODELE PARAMETRIQUE CONSTRUCTION 87 (a) (b) c i? c g??? c f?? c i c lat Figure 3 Les voisinages topologiques sont identiques, aussi bien pour (a) les coques invariantes initiale (c i ) et finale (c f ), que pour (b) les coques contingentes issues de la coque globale (c g ) après une opération booléenne. La liste des faces composant la coque. À un niveau hiérarchique donné, la liste des faces composant une coque étant unique, elle peut servir de caractérisation à la coque contingente. Le fait de se baser sur les faces (contenues dans la coque) permet de réutiliser le travail effectué en amont sur l appariement des faces. La caractérisation d une coque contingente, basée sur son contenu topologique (faces composant la coque), s écrit donc : < numéro d étape ; liste des faces contenues dans la coque >. 4.3 Table des entités référencées Toutes les faces et les coques sont nommées dans le graphe, et sont de ce fait référençables, contrairement aux autres entités topologiques. Il faut donc disposer d une autre structure de données, et définir une caractérisation particulière pour les arêtes et les sommets référencés dans la spécification paramétrique. Comme nous l avons introduit en section 3.3., nous proposons d avoir une table des entités référencées contenant toutes les entités référencées, y compris les faces et les coques. Cette table est constituée de trois éléments. Un index. Il sert d identifiant, c est-à-dire de nom, aux entités de la table pour la spécification paramétrique. Les caractéristiques de forme utilisent, comme paramètres d entrée de leur positionnement ou dimensionnement, les index correspondant aux entités référencées. Par exemple, dans la Figure 3-a, la première rainure référence le premier index (index), et non pas directement la face f 3 sur laquelle elle s appuie. Notons que cet index ne correspond en aucune manière aux numéros d étape. Une caractérisation. Il s agit d avoir, en polyédrique, une caractérisation pour chaque entité topologique référencée par la spécification paramétrique. Il y a trois cas à traiter. Les faces et les coques référencées. Elles possèdent déjà un nom (cf. section 4.2.2). Les faces et les coques référencées sont donc caractérisées par leur nom du graphe. Les arêtes référencées. Elles sont caractérisées par les faces connexes (cf. section 4.3.). Les sommets référencés. Ils sont caractérisés par faces adjacentes (cf. section 4.3.2). Des pointeurs géométriques. Ils correspondent au(x) plongement(s) de l entité référencée dans le modèle courant. Cette liste de pointeurs vers la géométrie peut contenir, notamment en réévaluation, aucun, un, ou bien plusieurs pointeurs. Ainsi,
98 88 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX le troisième index (index3) est en construction associé à un seul pointeur, tandis qu en réévaluation, il est associé à deux pointeurs puisque l arête à arrondir est coupée en deux (cf. Figure 3 et Figure 25). Remarquons que dans les références aux des entités topologiques, nous utilisons les noms des nœuds du graphe. Cela nous permet de manipuler ces références de manière simple et homogène, sans remettre en cause la robustesse des noms puisqu il y a équivalence entre le nom et la caractérisation. (a) - bloc (longueurx, longueury, longueurz) 2- rainure (index, transfo, larg, haut, long) 3- rainure (index2, transfo2, larg2, haut2, long2) 4- arrondi (index3, rayon) (b) index (nom) caractérisation pointeur (c) <f.5 > f 5 <f 2.8 > f 4 f 3 <f.4 > f 4 <f.3 > f 3 f 2 4 <f.3 > a f 3 2 <f.2 > a f 2 f 79 f 8 3 <(f 2.8, f.4 ) ; (f.3 ) ; (f.5 )> a f 77 f 78 f 53 f 52 4 Figure 3 Référencement des entités. (a) La spécification paramétrique. (b) La table des entités référencées du modèle initial. Elle contient le nom de chaque entité référencée, et relie la spécification à la géométrie courante (ici la géométrie initiale -4-). (c) La géométrie courante de l objet modélisé (en construction -4-, et en réévaluation -4 -). Signalons que dans le cas plus général du non-linéaire, les caractérisations proposées sont insuffisantes [Chen 95] et nécessitent l introduction de nouvelles heuristiques et l ajout de détrompeurs de type voisinage étendu [Chen 95] [OCAF ], ou bien de détrompeurs ad hoc [Kripac 94] [Wu et al. ]. Remarquons que ce qui est important pour la nomination persistante, c est le découplage entre la spécification paramétrique et la géométrie. C est avec cet objectif que nous avons proposé cette table, qui illustre bien ce découplage, grâce à la caractérisation qui s intercale entre l index et les pointeurs Arêtes La caractérisation des arêtes s effectue par rapport aux faces qui leur sont connexes. Les arêtes sont caractérisées et donc nommées par rapport à leurs faces adjacentes, et par rapport à leurs faces limites (faces exclusivement adjacentes à chacun des sommets). La caractérisation d une arête s écrit : < liste des faces adjacentes ; liste des faces limites du premier sommet ; liste des faces limites du second sommet >. Par exemple, sur la Figure 3, l arête référencée par l arrondi (arête sans existence dans la géométrie réévaluée de la quatrième étape) est adjacente aux faces f 2.8 et f.4, et est limitée par les faces f.3 et f.5. La caractérisation de cette arête s écrit donc <(f 2.8, f.4 ) ;
99 ARCHITECTURE DU MODELE PARAMETRIQUE CONSTRUCTION 89 (f.3 ) ; (f.5 )>. Remarquons que la liste des faces adjacentes se réduit à un couple de faces lorsque le modèle géométrique sous-jacent est polyédrique 2D-variété. De surcroît, dans la plupart des cas chaque sommet ne possède qu une seule face limite Sommets Les sommets se basent également sur les faces pour être caractérisés. La caractérisation d un sommet contient la liste des faces qui lui sont adjacentes en tournant dans le sens positif autour de la normale sortante. Elle et s écrit donc : < liste des faces adjacentes >. 5 Réévaluation et appariement La nomination persistante est incomplète sans le mécanisme d appariement que nous détaillons dans cette section. La réévaluation de notre modèle paramétrique peut se résumer à trois phases principales. () La résolution des entités référencées par la spécification paramétrique de la caractéristique de forme qui va être construite. Les entités qui sont caractérisées par des faces, doivent être mises en correspondance avec la géométrie réévaluée. (2) La construction de la nouvelle géométrie à partir de la spécification paramétrique. (3) L appariement (évaluation des ressemblances et identification des nœuds) des graphes initial et réévalué. Ces trois phases se répètent de manière cyclique pour chaque caractéristique de forme, donc pour chaque étape de réévaluation. Nous présentons successivement ci-dessous la réévaluation de la géométrie (section 5.), l appariement des graphes (section 5.2), puis la résolution des entités référencées (section 5.3). 5. Réévaluation de la géométrie La réévaluation, d un point de vue géométrique, consiste simplement à rejouer la spécification paramétrique, en exécutant séquentiellement la liste des fonctions de construction de la spécification paramétrique qui représentent les caractéristiques de forme décrivant l objet modélisé. Les gestes constructifs du concepteur sont remplacés par les fonctions de construction. Les pointés graphiques et les entrées clavier sont remplacés par les paramètres, modifiés ou non, de ces fonctions de construction. Cette réévaluation se fait, fonction par fonction, avec une phase d appariement intermédiaire. Ainsi, en nous basant sur la spécification de la Figure 3-a (quatre fonctions de construction), nous observons le quatre cycles suivants. Premier cycle. (pas d entités référencées) Construction du bloc. Appariement des deux graphes. Par exemple, le nom f.3 identifiant la face f 3 doit être mis en correspondance avec la face f 53 de la géométrie réévaluée. Dans ce cas l appariement est trivial puisque les graphes (structures hiérarchiques et numéros d ordre dans le parcours topologique) sont identiques.
100 9 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX Deuxième cycle. Résolution des entités référencées. La résolution est triviale puisque le nom f.3 de la face f 3, représenté par index, est déjà apparié (avec la face f 53 ) au travers de l appariement des graphes. Construction de la rainure ayant comme paramètre index (la face f.3 ) et des paramètres dimensionnels et positionnels éventuellement modifiés. Appariement des deux graphes. Des faces contingentes, telles que la face f 2.8, apparaissent. Elles sont appariées avec aucune, une ou plusieurs faces grâce au parcours des deux graphes (cf. section 5.2). Troisième cycle (similaire au deuxième cycle). Quatrième cycle. Résolution des entités référencées. Les quatre faces de la caractérisation <(f 2.8, f.4 ) ; (f.3 ) ; (f.5 )> de l arête à arrondir (index3) sont appariées avec la géométrie réévaluée (appariement de graphes des trois cycles précédents), mais ne représentent plus une arête. La résolution du nom produira deux arêtes (cf. section 5.3). Construction de l arrondi qui va s appliquer aux deux arêtes trouvées (toujours représentées par le paramètre index3). Comme le montre cet exemple, en réévaluation de la géométrie, la difficulté ne provient pas des fonctions de construction, mais de leurs paramètres qui doivent, s il s agit d entités topologiques, être identifiés dans le modèle réévalué. Un appariement des graphes, et une mise à jour, c est-à-dire une résolution des entités référencées sont donc indispensables pour assurer une nomination persistante. C est ce que nous détaillons dans les deux sections suivantes. 5.2 Appariement des graphes L appariement de graphes consiste à associer n faces (respectivement coques) d un modèle initial à m faces (respectivement coques) du modèle réévalué, de manière à pouvoir décider, pour chacune des n faces (respectivement coques), si elle correspond à une ou plusieurs faces (respectivement coques) du modèle réévalué, et réciproquement pour chacune des m faces (respectivement coques), si elle correspond à une ou plusieurs faces (respectivement coques) du modèle initial. Conformément à la nomination, nous distinguons l appariement des faces et coques invariantes (section 5.2.), de celui des faces et coques contingentes (section 5.2.2) Appariement des faces et coques invariantes Nous qualifions d invariante la structure hiérarchique de coques représentant les caractéristiques de forme, qui, en tant qu outils, modifient l objet modélisé. La topologie pouvant varier, en particulier dans le cas de la structure invariante à topologie variable, ces entités nécessitent un appariement.
101 REEVALUATION ET APPARIEMENT Faces invariantes En construction, nous avons proposé deux schémas de nomination pour les faces invariantes. En réévaluation, nous traitons séparément l appariement dans le cas de la structure invariante à topologie fixe, et celui dans le cas de la structure invariante à topologie variable Structure invariante à topologie fixe Dans cette approche, les variations topologiques de la caractéristique de forme (l outil) sont prohibées. L identification est triviale et l appariement immédiat puisque les deux structures hiérarchiques, ainsi que leur topologie, sont identiques. Il n y a donc pas d appariement à effectuer. La nomination basée sur le parcours topologique, ainsi que celle s appuyant sur les profils 2D, suffisent puisque cette nomination identifie à l identique toutes les faces invariantes quelle que soit la réévaluation Structure invariante à topologie variable Dans cette approche, des variations partielles de la topologie sont possibles. Les deux structures hiérarchiques peuvent être différentes au niveau des feuilles (faces) et nécessitent donc un appariement. Par exemple, sur la Figure 32-a, lors de la réévaluation, le sommet entre les arêtes e et e 4 du profil est déplacé. Cette variation, comme toute variation géométrique, est sans influence sur la nomination topologique des arêtes du profil ou de la trajectoire. À l inverse, les variations topologiques de la trajectoire et du profil par subdivision, respectivement des arêtes e et e 3, doivent être tracées de manière à garantir une nomination robuste. Notons que par souci de simplicité, dans les exemples de la Figure 32, les numéros d étape des faces et des entités 2D ont été omis. (a) modèle réévalué modèle initial e 4 v e f e 3 e 2 v e 4 e e 6 f e 2 e 5 v 4 v v 2 e e 2 e 3 v f v 2 e 2 e 5 e 4 v 3 e 3 v 3 e 2 e 4 e 3 e e e 4 e e 3 e 2 e 3 e 3 e 4 e e e3 e2 v v f e 4 e 4 e e 2 e 2 e 2 profil trajectoire objet balayé e 3 e e 2 e 4 e 5 e 4 e 3 e 4 e 5 e 6 e 2 e 6 e 3 e 3 e 3 e 6 e e e3 e2 v f e 4 e 6 e 5 e 5 e 2 e 5 e 2 e 2 e 4 e 5 e 3 e 5 v f (b) AG.i v f e 3 e 4.i.c.l.c.l.f....f e e 3 v f v 2 f (c) Trajectoire Profil réévaluation construction réévaluation construction e 4 e 5 e 2 e 3 e e e 2 e 3 e e 2 e 5 e 6 e 4 e e 2 e 3 e 3 e 4 NG v f e 3 e 4... e 4 e 6 e 5 e 6 e 4 e 5 e 5 e 5 v f v 2 f Figure 32 Appariement des structures invariantes initiales. (a) Variations topologiques et géométriques de la trajectoire et du profil initiaux. (b) Graphes (AG et NG) associés à cette structure invariante. (c) Tables locales de correspondance des entités 2D.
102 92 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX Les tables locales de correspondance (illustrées sur la Figure 32-c) permettent de conserver les relations entre les entités topologiques 2D de la trajectoire et du profil, entre la phase de construction et celle de réévaluation. Ainsi, malgré les déformations géométriques et les subdivisions topologiques de l arête e 3 issue du profil et de l arête e issue de la trajectoire, la face e 3 e 4 est identifiée de manière unique, aussi bien en construction qu en réévaluation. De manière similaire, grâce aux tables locales de correspondance, les faces e 4 e 6, e 5 e 6, e 4 e 5 et e 5 e 5 pourront être identifiées comme étant une subdivision de la face e e 3 puisque l arête e est devenue e 4 et e 5 dans la trajectoire et que l arête e 3 est devenue e 5 et e 6 dans le profil. Nous pouvons donc décrire des degrés de ressemblance entre les faces invariantes de l AG (Ancien Graphe, c est-à-dire le graphe généré lors de la construction) et celles du NG (Nouveau Graphe, c est-à-dire le graphe généré lors de la réévaluation). Ces degrés de ressemblance sont représentés sur la Figure 32-c par les liens entre les deux graphes. Mentionnons que, bien que la topologie soit autorisée à varier, certaines modifications topologiques sont prohibées. En particulier, sont exclues la suppression des sommets initial et final de la trajectoire (ici v et v ) qui sont invariants ; et toute suppression affectant la connexité du profil ou de la trajectoire puisque la structure doit restée invariante Coques invariantes Les coques invariantes sont caractérisées par leur structure hiérarchique qui est définie dans notre taxonomie de caractéristiques de formes. Il n y a donc pas d appariement à effectuer pour identifier les coques invariantes Appariement des faces et coque contingentes Nous commençons par décrire comment apparier toutes les faces (section ), puis les coques qui sont appariées récursivement en fonction de l appariement du niveau hiérarchique directement inférieur (section ) Faces contingentes Notre mécanisme d appariement des faces se décompose en deux étapes : le calcul des recouvrements génériques qui permet d évaluer les recouvrements topologiques (degrés de ressemblance) entre faces contingentes de l AG et faces contingentes du NG (section ), et le calcul effectif de l appariement qui permet de définir, en fonction des choix de l utilisateur ou bien de la sémantique des opérations, un appariement spécifique, c est-à-dire, une identification particulière des faces (cf. section ). Cette subdivision nous semble fondamentale car elle permet de faire la distinction entre un appariement continu et générique, et un appariement tout ou rien et identificatoire, à chaque étape. Dans la première étape, les ratios de recouvrement sont calculés et permettent de déterminer le degré de ressemblance entre deux faces. Dans la seconde étape, l appariement est fixé en négligeant les faibles ressemblances (cf. section 2.5). Nous définissons le recouvrement par un couple de coefficients indiquant la vraisemblance qu une face soit incluse dans une autre et réciproquement. L inclusion est évaluée d un point de vue frontière, c est-à-dire, en fonction des faces adjacentes communes. Cette approche offre de nombreux intérêts comme la possibilité de définir un système proposant un appariement par défaut que l utilisateur pourra spécialiser s il ne lui convient pas. De plus, la méthode de calcul des recouvrements est une méthode générale
103 REEVALUATION ET APPARIEMENT 93 d appariement topologique entre deux ensembles de faces, pouvant être utilisée dans d autres domaines utilisant du pattern recognition, tels que la reconnaissance de formes, la reconnaissance et l extraction de caractéristiques de forme, etc Calcul des recouvrements génériques À chaque étape de la réévaluation, nous calculons un recouvrement qui permet d évaluer les appariements topologiques entre n faces contingentes de l AG et m faces contingentes du NG. Nous parlons alors de croisement basé sur le voisinage topologique de chaque face. Pour chaque face F, le voisinage topologique (noté γ F ) correspond à la liste des faces {f, f, }, où les f i représentent les faces adjacentes à F selon un parcours orienté du circuit d arêtes définissant la frontière de la face F. Le résultat du croisement est un ensemble de relations inter-graphes décrivant les ratios de ressemblance δ Ratios de ressemblance δ et δ Nous utilisons deux ratios δ et δ pour représenter le degré de ressemblance pour certaines paires de faces contingentes du nouveau et de l ancien graphe. Soient F ag une face de l ancien graphe (AG) et F ng une face du nouveau graphe (NG). Nous définissons le ratio de ressemblance δ évaluant l inclusion de F ng dans F ag et le ratio de ressemblance δ évaluant l inclusion de F ag dans F ng, de telle sorte qu une ressemblance totale, ou nulle corresponde respectivement à δ δ, ou δ δ. Comme l illustre le Tableau 4, il est possible de dénombrer cinq types de relations pouvant exister entre une face F ag et une face F ng. Notons que certaines combinaisons de δ et de δ ne peuvent pas exister car nos ratios δ sont définis de telle façon qu un δ nul (aucune ressemblance) implique nécessairement l autre δ nul également. Voisinage topologique δ δ Graphe γ F ag est égal à γ F ng γ F ng est inclus dans γ F ag ],[ γ F ag est inclus dans γ F ng ],[ γ F ag et γ F ng se recouvrent partiellement ],[ ],[ γ F ag et γ F ng ne se recouvrent pas du tout F ag Relation inter-graphes δ o δ F ng B C Y Z Tableau 4 Différents cas de relations inter-graphes, pouvant exister entre une face de l ancien graphe (F ag ) et une face du nouveau graphe (F ng ). La définition des ratios de ressemblance δ est basée sur l inclusion des voisinages topologiques pondérés des faces comparées. Dans la section 2.4 nous avons abouti à la conclusion que le voisinage topologique seul ne pouvait pas caractériser une face de manière satisfaisante. Pour résoudre le problème de subdivisions du voisinage topologique illustré sur la Figure 22, nous proposons d introduire un coefficient permettant de pondérer l influence de chaque face du voisinage topologique, en fonction de la longueur de l arête commune. Ainsi, dans l exemple de la Figure 22, les faces {F, F 2, F 3, F 4, F 5, F 6 F 5, F 4 } du voisinage topologique de F a sont respectivement pondérées par les longueurs
104 94 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX {, 8, 2, 2, 2, 2, 4., 6} des arêtes définissant la frontière de la face F a. Ces coefficients de pondération, associés aux faces communes, nous permettent de définir les δ. Pour définir formellement les ratios de ressemblance δ, donnons en préalable, quelques notations et définitions. Rappelons qu étant donné un graphe orienté G (X, U) avec X {x i, i Ν}, X < + et U X X, on appelle usuellement : Chemin : une suite d arcs contigus et de même orientation. Ex : ( x x )( x, x ) ( x, x )( x, x ) K( x, x ) ( x, x ), i i i i i p i p i p i p i p l i K p+ l+ ik K avec x i et x i k respectivement les sommets initial et terminal du chemin et x, x. ( ) U i j i j + Circuit : un chemin fermé où le même arc ne figure pas deux fois. Ex : Le chemin ci-dessus (écrit à une permutation circulaire près) si x i x ik. Voir la Figure 33-c pour différentes écritures d un même circuit. Sous-chemin d un circuit : toute suite d arcs contigus d un circuit. Ex : ( x x )( x, x )( x x ) i, i i, i i i. k k 2 Sous-chemin partiel d un circuit : toute suite d arc obtenue à partir d un souschemin de ce circuit en supprimant un nombre quelconque d arcs Ex : ( x x )( x, x )( x x ),, k ik i i i p i p + i 2. ik (a) x 4 x a a 4 F F 4 a F 3 F a 2 F 2 x 3 x 2 x a F (b) (c) (d) (x,x )(x,x 2 )(x 2,x 3 )(x 3,x 4 )(x 4,x ) (a, a, a 2, a 3, a 4 ) {F, F, F 2, F, F 4 } (x,x 2 )(x 2,x 3 )(x 3,x 4 )(x 4,x )(x,x ) (x 3,x 4 )(x 4,x )(x,x )(x,x 2 )(x 2,x 3 ) (x,x 2 )(x 2,x 3 )(x 4,x ) (x 4,x )(x,x 2 )(x 2,x 3 ) Figure 33 (a) Face grisée F avec son voisinage topologique. (b) Le circuit de la face F, exprimé en termes de couples de sommets (x i, x j ), en termes d arcs a i (arêtes), ainsi que la liste de faces F i associées 3 à ce circuit (c est le voisinage topologique). (c) Deux autres écritures de ce même circuit. (d) Deux écritures équivalentes d un sous-chemin partiel de ce circuit. Étant donné une face non-trouée d un modèle géométrique polyédrique 2D-variété orienté, la liste d arêtes orientées qui forment sa frontière, correspond à un circuit, et Toute la théorie des graphes avec son vocabulaire et ses définitions peut être trouvée dans [Berge 73]. 2 Notons que les sous-chemins partiels d un circuit, sont toujours écrits à une permutation circulaire près. Les algorithmes utilisés nous permettrons de n extraire qu un représentant de chaque classe d équivalence. 3 Signalons que pour rendre l exemple plus explicite, deux faces portent le même nom F, même si en polyédrique ce cas ne survient que lorsqu une face est «entamée» sur son bord (par une rainure par exemple).
105 REEVALUATION ET APPARIEMENT 95 chacune de ces arêtes «appartient» à une deuxième face. Dans la suite, le terme circuit s appliquera toujours à un circuit frontière d une face. Lorsque ce circuit d arêtes est écrit en termes de faces, nous parlons de voisinage topologique (cf. Figure 33-a&b). Nous notons alors pour les faces non-trouées F et G : γ F et γ G respectivement le circuit d arêtes a i k et respectivement aux couples de sommets ( x x ) et ( ) respectivement la frontière des faces F et G., k i k + γ F ( x, i xi )( xi, xi ) K ( xi, x ) ( ) k i a k i, ai, K, a 2 + i. k ( x x )( x, x ) K ( x, x ) ( b, b,, b ) γ. G, j j j j2 jl jl j j K + i j l b j l, correspondant x x, formant, l j l + Γ F et Γ G respectivement l ensemble des sous-chemins partiels des circuits γ F et γ G. FaceAdj la fonction définie sur l ensemble des arêtes orientées et qui retourne pour une arête donnée sa face adjacente. L arête étant orientée et le modèle polyédrique 2D-variété, l arête (orientée) appartient à une seule face, ce qui permet de déterminer l unique face adjacente comme celle qui contient l arête donnée avec l orientation opposée. Ex : FaceAdj( a ) F sur la Figure 33-a. L arête a, d extrémités (x, x 2 ), appartient à la face F et possède la face F comme (unique) face adjacente. ~ Adj la relation d équivalence définie sur l ensemble des sous-chemins partiels de deux circuits, caractérisant le fait qu ils correspondent au même voisinage topologique. L équivalence s établit par rapport aux faces adjacentes, arête par arête. s ~ s s s / s s Ks Adj ( ) ( ) i i Kn i i Kn et n s s Ks et i n j { Kn} FaceAdj( s ) FaceAdj( s ) Γ F G l ensemble des couples de sous-chemins partiels appartenant respectivement à Γ F et à Γ G et qui sont en relation d équivalence ( ~ Adj ). ( s s ) { / s Γ, s Γ et s s } Γ, ~. F G F G Adj π la fonction dont le domaine de définition est l ensemble des arêtes orientées et qui retourne pour chaque arête sa longueur géométrique. i i Remarquons que ΓF G ΓF ΓG car l intersection porte sur les faces adjacentes et non pas sur les arêtes définissant les sous-chemins. Remarquons également que Γ Γ du point de vue des éléments des F G ensembles (couples de sous-chemins partiels en relation d équivalence point de vue des longueurs géométriques des sous-chemins partiels de chaque couple. G F ~ Adj ), mais que F G ΓG F Γ du
106 96 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX Π la fonction dont le domaine de définition est l ensemble C des circuits de faces et qui retourne pour chaque circuit sa longueur géométrique. Π : C R γ π a. ( ) a γ Πˆ la fonction retournant la longueur d adjacence commune à un sous-chemin partiel de Γ F et à un sous-chemin partiel de Γ G en relation d équivalence ( ~ Adj ). Cette la longueur d adjacence commune étant définie en associant à chaque couple d arêtes en correspondance, la plus petite de leur deux longueurs géométriques. Πˆ : ΓF G R n. s, s min π s, π s ( ) ( ( ) ( ) ) i Γˆ F G l ensemble des éléments maximaux de F G i i Γ par rapport à la fonction Πˆ. { F G 2 2 F G 2, 2 } [ Πˆ ( s, s ), ( s, s ) Γ ] Γˆ ( s, s ) Γ / ( s, s ) Γ, Πˆ (( s, s )) Πˆ (( s s )) F G max ( ) σ ˆ. F G. À partir de ces notations, nous définissons pour un couple de sous-chemins partiels σ σ de Γˆ Fag F, δ ng et δ les ratios de ressemblance de F Π( γ Fng ) Π( γ Fag ) ng dans F ag, respectivement de F ag dans F ng. Comme cela est illustré dans le Tableau 4, les ratios δ et δ varient dans l intervalle [,] selon la ressemblance des deux voisinages topologiques pondérés mesurant ainsi l inclusion mutuelle de ces voisinages. Reprenons l exemple de la Figure 22, pour illustrer dans le Tableau 5, le calcul des δ. Il s agit de croiser les faces F a et F b de l AG avec les faces F x et F y du NG. Voisinage topologique commun au deux sous-chemins de Γˆ. Fa F y Chaque face est associée à sa longueur minimum. Ici σ 4. γ circuit écrit en terme de F y faces pondérées. C est le voisinage topologique pondéré. Ici Π ( γ ) F y Ratios de ressemblance. Faces de l ancien Faces du graphe nouveau graphe F x F F 5 F F F 2 F 3 F F y F 6 F 2 F 3 F 4 F 5 F 6 F 7 F 8 F F a F F 2 F 3 F 4 F 5 F 6 F 5 F F F 5 F δ δ F 2 F 3 F 4 F 5 F δ δ F b F 7 F 8 F 9 F F F 2 F 3 F F F F 2 F F 7 F 8 F 9 F Tableau 5 Exemple de calcul des ratio de ressemblance δ et δ, évaluant respectivement l inclusion de F ng dans F ag, et de F ag dans F ng. Ces ratios sont calculés en fonction des voisinages topologiques, pondérés par la longueur de ces faces. Les δ correspondent à la Figure 22. δ δ δ δ Nous supposons les fonctions max et min définies sur les nombres réels et retournant respectivement la plus grande et la plus petite valeur d un ensemble de réels.
107 REEVALUATION ET APPARIEMENT 97 La prise en compte d une pondération des faces dans un voisinage topologique peut entraîner des problèmes de perte d invariance par homothétie. Dans l exemple de la Figure 34, l objet initial (un bloc rainuré) est réévalué avec une légère modification homothétique (facteur ½ sur les dimensions). Le calcul du croisement des faces A avec X et B avec Y donne des δ égaux à mais des δ différents de. En effet, les voisinages topologiques pondérés des faces X et Y sont respectivement inclus dans les voisinages topologiques pondérés des faces A et B, mais pas réciproquement (du point de vue longueur). Les ratios de ressemblance représentant les inclusions topologiques sont différents, alors que les voisinages topologiques sont identiques. étape étape 2 F modèle initial F 2 F 4 F 3 F F F 2 A F 5 F6 B F 4 F 3 F 3 modèle réévalué F F 2 F 4 F 3 F F F 2 X Y F 4 F 3 F 3 Figure 34 Perte d invariance par homothétie. Pour résoudre ce problème de perte d invariance par homothétie, il suffit de normaliser les coefficients de pondération des faces du NG avant le calcul des δ et δ. Les coefficients de pondération normalisés s écrivent de la manière suivante en notant : C l ensemble de tous les circuits de faces. C ag l ensemble des circuits de faces à croiser de l ancien graphe. C ng l ensemble des circuits de faces à croiser du nouveau graphe. I l ensemble de toutes les faces. Α l ensemble de toutes les arêtes orientées. u la fonction qui pour une face f donnée, recherche les occurrences (en terme d adjacence) de cette face dans un circuit donné et retourne la somme de leur longueur. u : C I R γ, f π a. ( ) ( ) a γ / FaceAdj ( a) f U la fonction qui pour une face f donnée, recherche les occurrences (en terme d adjacence) de cette face dans un ensemble de circuits donné et retourne la somme de leur longueur. U : ( C) I R Γ, f u γ, f. ( ) ( ) γ Γ
108 98 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX π Ν la fonction qui pour une arête et une face données, retourne la longueur normalisée de l arête par rapport aux arêtes similaires (en terme d adjacence de face) présentes à la fois dans les circuits de C ag et de C ng. π Ν : Α I R ( a, f ) π ( a) La fonction π Ν U U ( Cag, f ) ( C, f ) ng. correspond aux coefficients de pondération normalisés. À partir de ces nouvelles notations et en particulier des coefficients de pondération normalisés, nous redéfinissons les ratios δ et δ avec la fonction Πˆ redéfinissant la fonction Πˆ, l ensemble redéfinissant le coefficient réel σ. Soient : Πˆ Ν : Γ F G R Γˆ Ν F G redéfinissant l ensemble F G n ( s, s ) min( π ( s ), π ( s ) ) i i Ν i. Ν Γˆ et le coefficient réel σ Ν { F G 2 2 F G Ν Ν 2, 2 } [ Πˆ ( s, s ), ( s, s ) Γ ] Γˆ ( s, s ) Γ / ( s, s ) Γ, Πˆ (( s, s )) Πˆ (( s s )) Ν F G max ( ) σ ˆ. Ν Ν Ν F G. Au final, nous avons σ Ν δ et Π ( γ Fng ) σ Ν δ les ratios de ressemblance Π ( γ Fag ) évaluant l inclusion de F ng dans F ag, respectivement de F ag dans F ng pour un couple de sous-chemins partiels de Γˆ. Avec les nouveaux ratios δ et δ nous obtenons, pour Ν F F l exemple de la Figure 34, le tableau de croisement suivant : ag ng Somme des coefficients de pondération des faces nommées F dans le voisinage topologique de l ensemble des faces à croiser de l AG. Ici C ag {A, B} et U(F ) 6. Coefficient de pondération de la face F de γ. 2 Y Somme des coefficients de pondération des faces nommées F dans le voisinage topologique de l ensemble des faces à croiser du NG. Ici C gn {X, Y} et U(F ) 3. Faces de l ancien Faces du graphe nouveau graphe F F 2 F 3 F X Y F F 6 F 3 F A F F 2 F 3 F F F 2 F 3 F δ F F δ δ δ B F F 6 F 3 F F F δ F F 6 F 3 F Tableau 6 Exemple de calcul des ratios δ et δ, en fonction de coefficients de pondération normalisés (issus de la fonction ). Les δ correspondent à la Figure 34. π Ν δ δ 4 4 δ 4 4 Nous avons mathématiquement défini les notions de circuit, de sous-chemin d un circuit et de sous-chemin partiel d un circuit. Cependant, vu que tous les calculs
109 REEVALUATION ET APPARIEMENT 99 s effectuent par rapport aux faces adjacentes, lorsque nous serons en présence d un circuit d arêtes frontières d une face F exprimé en termes de faces adjacentes, nous parlons dans la suite du mémoire de : Voisinage topologique pour le circuit γ F. Voisinage topologique pondéré pour le circuit γ F associé aux longueurs calculées par la fonction π. Voisinage topologique pondéré normalisé pour le circuit γ F associé aux longueurs calculées par la fonction π Ν. Voisinage topologique commun à F et à G pour tout couple de sous-chemins partiels équivalents ( c, c ) ΓF G, correspondant donc à une même liste de faces adjacentes Croisement global Les calculs précédents permettent d évaluer de manière individuelle les ratios de ressemblance δ et δ évaluant l inclusion mutuelle d une face F ng dans F ag (et réciproquement), et donc d évaluer l appariement topologique entre ces deux faces. Cette approche, très locale, ne tient pas compte des appariements topologiques des autres faces. En reprenant l exemple précédent (Tableau 6), il est possible de constater que les faces X et A possèdent des voisinages topologiques identiques (δ δ ). D un point de vue topologique, ces deux faces se recouvrent donc mutuellement. Le fait d associer ces deux faces signifie que les faces F, F 2, F 3 et F 5, du voisinage topologique pondéré de A présentes dans le voisinage commun à A et X, sont «utilisées» pour identifier A à X, et que par conséquent, ces mêmes faces ne devraient pas être utilisées pour identifier A à Y. Pour tenir compte des faces des voisinages topologiques consommées, nous proposons de définir une méthode permettant d évaluer de manière globale les recouvrements entre les faces croisées. Cette méthode consiste à traiter de manière successive l ensemble des cases du tableau par ordre décroissant des ratios d appariement. Une fois les faces communes des voisinages topologiques consommées, les ratios δ et δ des faces concernées sont recalculés, et le même processus est réitéré. Après un premier calcul des δ et δ, nous proposons, sur un tableau «non-traité», le processus itératif suivant : Prendre la première case «non-traitée» du tableau dont la somme δ + δ est maximale (s il existe plusieurs cases donnant cette somme maximale, nous choisissons la première). Supposons que cette case corresponde au croisement de faces notées F ng et F ag. Décrémenter les coefficients de pondération des faces du voisinage pondéré normalisé de F ng et du voisinage pondéré de F ag suivant le poids des faces dans leur voisinage commun. Notons que désormais c est le voisinage topologique pondéré normalisé qui est utilisé pour les faces de NG. Pour les cases «non-traitées», recalculer les ratios δ et δ sur la ligne et la colonne de la case en cours de «traitement», en fonction des coefficients de pondération restant disponibles. Marquer cette case comme étant «traitée». Itérer le processus jusqu à ce que toutes les cases soient «traitées».
110 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX Remarquons que le traitement d une case dont les ratios δ et δ sont nuls (δ δ ) ne change absolument rien au tableau. Ainsi, dès lors qu une case possède ses deux ratios nuls, elle peut être marquée comme «traitée». Remarquons également qu au cours du processus de traitement, les ratios δ et δ ne peuvent que décroître. Observons, dans le Tableau 7 qui illustre les différentes phases du calcul des δ et δ, le résultat de cette méthode sur l exemple précédent (Figure 34). Il y a plusieurs phases lors de chaque itération. (phase 2.) Après un premier calcul de tous les coefficients de pondération, et de tous les ratios δ et δ, la première case est sélectionnée (case grisée) car possédant la somme des ratios maximale. (phase 2.2) Lors de la deuxième phase de cette première itération, les coefficients des faces (du voisinage pondéré normalisé de X et du voisinage pondéré de A) sont décrémentés jusqu à zéro car ils sont absolument égaux à ceux du voisinage commun, c est-à-dire de {F, F 2, F 3, F 5 } (exactement toutes les faces ont été consommées). (phase 2.3) Ensuite, les coefficients de la ligne et de la colonne sont recalculés et prennent tous la valeur zéro car il ne reste plus aucune face utilisable, ni sur X, ni sur A, pour identifier d autres faces. (phase 2.4) Les ratios δ et δ sont recalculés sur la ligne et la colonne de la case en cours de traitement, en fonction des coefficients de pondération restant disponibles. (phase 2.5) La ligne et la colonne étant traitées, la case sélectionnée peut être marquée comme étant traitée (case hachurée). Il en est de même pour les deux autres cases puisque les ratios sont nuls. (phase 2.6) Finalement, lors de la deuxième itération, il ne reste plus qu une seule case à traiter. Le traitement de cette dernière ne génère aucun calcul, pour les ratios δ et δ, puisque les cases de la ligne et de la colonne sont déjà toutes traitées. Notons que les faces du NG sont pondérées par des coefficients de pondération normalisés. phase 2. A F F 2 F 3 F F F 2 F 3 F δ / δ / F F δ 4 / 4 δ 4 / phase 2.2 X F F 2 F 3 F B F F 6 F 3 F F F δ 4 / δ 4 / 4 X F F 2 F 3 F 5 B F F 6 F 3 F F F δ? δ? Y F F 6 F 3 F F F 6 F 3 F δ 4 / 4 δ 4 / 4 Y F F 6 F 3 F A F F 2 F 3 F 5 F F 2 F 3 F δ / δ / F F δ? δ? F F 6 F 3 F δ 4 / 4 δ 4 / 4 phase 2.3 phase 2.4 A F F 2 F 3 F 5 F F 2 F 3 F δ / δ / F F 3 δ / 4 δ / X F F 2 F 3 F 5 B F F 6 F 3 F F F 3 δ? δ? X F F 2 F 3 F 5 B F F 6 F 3 F F F 3 δ / δ / 4 Y F F 6 F 3 F A F F 2 F 3 F 5 F F 2 F 3 F δ / δ / F F 3 δ? δ? F F 6 F 3 F δ 4 / 4 δ 4 / 4 Y F F 6 F 3 F F F 6 F 3 F δ 4 / 4 δ 4 / 4
111 REEVALUATION ET APPARIEMENT phase 2.5 X F F 2 F 3 F 5 Y F F 6 F 3 F A F F 2 F 3 F 5 F F 2 F 3 F δ / δ / F F 3 δ / 4 δ / B F F 6 F 3 F F F 3 δ / δ / 4 F F 6 F 3 F δ 4 / 4 δ 4 / 4 phase 2.6 X F F 2 F 3 F 5 Y F F 6 F 3 F 4 A F F 2 F 3 F 5 F F 2 F 3 F δ / δ / F F 3 δ / 4 δ / Tableau 7 Exemple de croisement global (Figure 34). (2.) Sélection de la case à la somme des δ maximale. (2.2) Les coefficients des voisinages concernés sont décrémentés de la longueur des faces consommées. (2.3) Les nouveaux coefficients pondérations de la ligne et de la colonne sont calculés. (2.4) Les ratios sont recalculés. (2.5) Les trois cases (la première et les deux dont les δ sont nulles) sont marquées comme étant traitées. (2.6) La dernière case est traitée. Le préfixe 2 des phases indique le numéro d étape. B F F 6 F 3 F 4 F F 3 δ / δ / 4 F F 6 F 3 F δ 4 / 4 δ 4 / 4 Le croisement global s effectue entre un certain nombre de faces contingentes du modèle initial et un certain nombre de faces contingentes du modèle réévalué. À chaque étape de construction, il s agit de pouvoir déterminer les faces qu il convient d utiliser dans le calcul du croisement. Ce problème est fondamental car d une part, l appariement de l ensemble des faces de l AG avec l ensemble des faces du NG est trop coûteux, et, d autre part, comme nous l avons constaté sur la Figure 23 de la section 2.5, un appariement approximatif peut générer des «pertes de morceaux» Relations de recouvrement Les recouvrements permettent de déterminer à l étape i de la réévaluation, quelles sont les faces contingentes de l AG qui doivent être croisées avec les faces du NG qui viennent d apparaître. Ces dernières sont déterminées en fonction des recouvrements obtenus aux étapes précédentes. À l étape i, les faces à utiliser dans un même croisement forment deux sous-ensembles, respectivement composés des feuilles de l AG (apparues jusqu à l étape i), et des feuilles du NG (en cours de construction). Ces sous-ensembles contiennent toutes les feuilles qui sont liées, ou dont les prédécesseurs historiques sont liés, par un lien de recouvrement. Remarquons que seuls les recouvrements apparaissant dans les feuilles du NG sont nécessaires pour connaître les faces qu il convient de croiser. Ainsi le processus est de partir du nœud d une face à apparier du NG, de remonter vers son prédécesseur historique, et de rejoindre, par les liens de recouvrement, les nœuds de l ancien graphe. Pour chaque nœud rencontré, d une part, les feuilles historiques sont récupérées, et, d autre part, les liens de recouvrement sont suivis. Pour chacune des faces nouvellement apparues (non marquées «à croiser») dans le NG à l étape i, sont créés deux ensembles de faces qu il convient de «croiser» et appartenant respectivement au NG et à l AG. L algorithme est le suivant pour chaque face nouvellement apparue : Remonter à partir de cette face à son prédécesseur historique qui devient la face courante. Processus récursif. À partir de la face courante : Marquer la face comme étant «traitée». Prendre toutes les feuilles historiques apparues jusqu à l étape i. Pour chaque feuille non marquée «à croiser» :
112 2 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX Marquer la feuille comme étant «à croiser». Ajouter la feuille au sous-ensemble du même graphe (ex : si face courante dans NG alors sous-ensemble du NG). Prendre tous les liens de recouvrement. Pour chaque lien «nonparcouru» : Marquer le lien comme étant «parcouru». Remonter à la face de l autre graphe. Cette face devient la face courante. Si la face est «non-traitée» recommencer le processus récursif. Remarquons que si toutes les faces nouvellement apparues dans le NG appartiennent à l ensemble des faces «à croiser» dans le NG, l algorithme définit les deux ensemble de faces «à croiser» ; sinon l algorithme est re-exécuté pour chaque face non encore marquée «à croisée» du NG nouvellement apparue. Pour préciser le processus de calcul des relations de recouvrement, penchons-nous sur un exemple complètement développé. Reprenons l exemple illustratif de la préservation de l information (Figure 23, section 2.5), pour mettre en œuvre un calcul de recouvrement. Observons, sur l exemple de la Figure 35 (Figure 23 détaillée), l évolution des différentes étapes de la réévaluation du modèle. Nous fixons, arbitrairement, dans cet exemple, un seuil (ε.5) pour le degré de ressemblance entre faces (ratios δ et δ supérieurs à ε). Cela permet d éliminer les recouvrements trop peu significatifs. Le choix de ce seuil dépend évidemment de la finesse du processus d appariement topologique que l on souhaite appliquer. Dans notre exemple, le modèle comptant cinq étapes de construction, il y a cinq séries de relations de recouvrement à établir. Nous anticipons ici sur la section qui présente des simplifications des relations de recouvrements, en fonction de certains critères (notamment un seuil minimum ε pour tenir compte uniquement des ratios δ et δ forts). Ces simplifications amènent à minimiser le nombre de croisement à effectuer.
113 REEVALUATION ET APPARIEMENT 3 2 modèle initial étape J 5 A B B F G I 27 K L C D E 4 H D E D E H modèle réévalué A 28X 2 2 P 2 P 2 T U 2 T Y Q 4 R S V R S 4 R S V Figure 35 Calcul de recouvrement. L objet, vu de dessus à cinq étapes successives, est un bloc extrudé dont la face initiale A est scindée successivement en plusieurs faces par quatre rainures. Notons que pour plus de lisibilité, la notation des faces à été simplifiée ; la face frontière f.2 est notée 2 (il ne s agit pas de sa longueur). Première étape de réévaluation. Initialement, il existe, entre les faces invariantes, un appariement qui est, soit immédiat dans le cas d une structure invariante à topologie fixe, soit géré par les tables locales de correspondance dans le cas d une structure invariante à topologie variable (cf. section 5.2..). Cet appariement est symbolisé par le lien de recouvrement (d identification dans ce cas particulier puisqu il s agit d une face invariante) entre la face A de l AG et la face A du NG (cf. Figure 36). Notons que le graphe (AG) du modèle initial existe complètement, mais que le graphe (NG) du modèle réévalué est construit étape par étape.... AG... A... B C E D F G H J I K L A... NG Figure 36 Relations de recouvrement (Figure 35) : première étape. Les deux faces A sont appariées en tant que faces invariantes. Remarquons que l AG est totalement construit.
114 4 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX Deuxième étape de réévaluation. À cette étape, la face A est subdivisée en deux nouvelles faces P et Q (cf. Figure 37 ci-après). Il faut donc identifier quelles faces de l AG doivent être croisées avec P et Q. La face A du NG, prédécesseur historique de ces deux faces, est liée par un lien de recouvrement (d identification dans ce cas) à la face A de l AG dont les feuilles, apparues jusqu à la deuxième étape, sont les faces B et C. Les deux faces P et Q doivent donc être croisées avec les faces B et C. Le croisement de ces deux sousensembles de faces donne le résultat contenu dans le Tableau 8 ci-dessous. phase 2. P Q B δ δ δ δ C δ δ 6 24 δ δ phase 2.2 P Q B δ δ δ 22.3 δ C δ δ.7 24 δ δ phase 2.3 P Q B δ δ δ 22.3 δ 44 C δ δ.7 24 δ δ phase 2.4 P Q B δ δ δ 22.3 δ C δ δ.7 24 δ δ Tableau 8 Croisement global (Figure 35) : calculs successifs des δ et δ à la deuxième étape. Les ratios δ et δ correspondant aux calculs de recouvrement des faces P et C (phase 4.2), étant inférieurs au seuil fixé (ε.5), le lien de recouvrement entre P et C n est pas représenté. Comme nous l avons déjà mentionné, seuls les recouvrements apparaissant dans les feuilles du NG seront nécessaires aux étapes ultérieures, pour
115 REEVALUATION ET APPARIEMENT 5 connaître les faces qu il conviendra de croiser. Le lien entre les faces A de l AG et du NG est donc éliminé. Les graphes obtenus, après la deuxième étape de réévaluation, sont représentés dans la Figure AG... A... B C E D F G H J I K L A... Q P NG Figure 37 Relations de recouvrement (Figure 35) : deuxième étape. Les faces P et Q apparaissent. Les faces B et P, puis C et Q sont reliées. Le lien de recouvrement trop faible entre C et P n est pas représenté. Troisième étape de réévaluation. À cette étape, la face Q est subdivisée en deux nouvelles faces R et S (cf. Figure 38 ci-après). La face Q du NG, prédécesseur historique de ces deux faces, est liée par un lien de recouvrement à la face C de l AG dont les feuilles, apparues jusqu à la troisième étape, sont les faces D et E. Les deux faces R et S doivent donc être croisées avec les faces D et E. Le résultat final du croisement de ces quatre faces, est donné dans le Tableau 9, et représenté dans les relations de recouvrement entre les graphes de la Figure phase 3.3 S R D δ 4 δ 6 δ 5 5 δ E δ 4 4 δ 4 4 δ 5 δ 4 Tableau 9 Croisement global (Figure 35) : calcul des δ et δ à la troisième étape.
116 6 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX... AG... A... B C E D F G H J I K L NG... A... Q P R S Figure 38 Relations de recouvrement (Figure 35) : troisième étape. Les faces R et S apparaissent. Les faces D et E issues de C sont reliées aux faces R et S issues de Q car C et Q avaient un lien de recouvrement à une étape antérieure (étape 2). Quatrième étape de réévaluation. De manière similaire, à cette étape, la face P est subdivisée en trois nouvelles faces T, U et V (cf. Figure 39 ci-après). La face P du NG, prédécesseur historique de ces trois faces, est liée par un lien de recouvrement à la face B de l AG dont les feuilles, apparues jusqu à la quatrième étape, sont les faces F, G et H. Les faces T, U et V doivent donc être croisées avec les faces F, G et H. Le croisement de ces faces donne les tableaux ci-dessous. phase 4. T U V F δ δ δ 6 5 δ 6 32 δ δ 4 32 G δ δ 3 2 δ 2 5 δ 2 2 δ δ H δ δ δ 2 5 δ 2 8 δ δ 8 8 phase 4.2 T U V F δ δ δ 6 5 δ 6 32 δ δ.5 32 G δ δ 3 2 δ 2 5 δ 2 2 δ 8.5 δ H δ 28.5 δ 8 δ 5 δ 8 δ δ 8 8
117 REEVALUATION ET APPARIEMENT 7 phase 4.3 T U V F δ δ δ 3 5 δ 3 32 δ δ.5 32 G δ 28.5 δ 2 δ 2 5 δ 2 2 δ 8.5 δ H δ 28.5 δ 8 δ 5 δ 8 δ δ 8 8 phase 4.4 T U V F δ δ δ 3 5 δ 3 32 δ δ.5 32 G 2 26 δ 28.5 δ 2 δ 2 5 δ 2 2 δ 8.5 δ H δ 28.5 δ 8 δ 5 δ 8 δ δ 8 8 phase 4.5 T U V F δ δ δ 3 5 δ 3 32 δ δ.5 32 G 2 26 δ 28.5 δ 2 δ 2 5 δ 2 2 δ 8.5 δ H δ 28.5 δ 8 δ 5 δ 8 δ δ 8 8 phase 4.6 T U V F δ δ δ 3 5 δ 3 32 δ δ.5 32 G 2 26 δ 28.5 δ 2 δ 2 5 δ 2 2 δ 8.5 δ H δ 28.5 δ 8 δ 5 δ 8 δ δ 8 8 Tableau 2 Croisement global (Figure 35) : calculs successifs des δ et δ à la quatrième étape. Les ratios δ et δ correspondant au calcul de recouvrement des faces F et V, étant inférieurs au seuil fixé (ε.5), le lien de recouvrement entre les faces F et V n est pas
118 8 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX retenu. Les graphes, obtenus après la quatrième étape de réévaluation, sont représentés dans la Figure AG... A... B C E D F G H J I K L NG... A... Q P R S V U T Figure 39 Relations de recouvrement (Figure 35) : quatrième étape. La face P est subdivisée en trois nouvelles faces T, U et V. Les faces issues des faces B et P sont reliées. Notons les liens de recouvrement entre la face F de l AG et les faces T et U du NG, ainsi que entre la face U de NG et les faces F et G de l AG. Cinquième étape de réévaluation. À cette étape, la face U du NG est subdivisée en deux nouvelles faces X et Y (cf. Figure 4 ci-après). Il faut donc déterminer avec quelles faces de l AG, les faces X et Y doivent être croisées. La face U du NG, prédécesseur historique de ces deux faces, est liée par un lien de recouvrement aux faces F et G de l AG. Les feuilles des faces F et G de l AG, apparues jusqu à la cinquième étape, sont les faces I, J, K et L qui doivent être croisées avec les faces X et Y du NG. Cependant, comme la face F de l AG est elle-même liée à la face T du NG, il faut également tenir compte, dans le croisement, des feuilles de la face T (ici T elle-même). Au final, il s agit de croiser les feuilles des faces F et G de l AG, apparues jusqu à la cinquième étape (soient les faces I, J, K et L), et les feuilles des faces T et U du NG (soient les faces T, X et Y.). Le croisement des faces T, X et Y avec les faces I, J, K et L donne les tableaux ci-dessous. phase 5. T ,7 X Y I δ δ δ δ 2 3 δ δ K δ δ δ δ δ 2.7 δ L δ 27.9 δ 7.2 δ 8.7 δ 7.2 δ δ J 25 28,7.2 δ δ.7 2,9 δ δ δ.7 δ 2.9
119 REEVALUATION ET APPARIEMENT 9 phase 5.2 T X Y I δ δ δ δ 2 3 δ δ K δ δ δ δ δ δ L δ 27.9 δ 7,2 δ 8.7 δ 7,2 δ 7,2,7 δ 7,2 7,2 J 25 28,7.2 δ δ.7 2,9 δ δ δ.7 δ 2.9 phase 5.3 T X Y I δ δ δ δ.3 3 δ 3.5 δ K δ 27.9 δ 7.2 δ 6.2 δ δ.7 δ 7.2 L δ 27.9 δ 7,2 δ 8.7 δ 7,2 δ 7,2,7 δ 7,2 7,2 J 25 28,7.2 δ δ.7 2,9 δ δ δ.7 δ 2.9 phase 5.4 T X Y I δ δ δ δ.3 3 δ δ K δ δ δ δ δ δ L δ 27.9 δ 7,2 δ 8.7 δ 7,2 δ 7,2,7 δ 7,2 7,2 J 25 28,7.2 δ δ.7 2,9 δ δ δ.7 δ 2.9 phase 5.5 T X Y I δ δ δ δ.3 3 δ 3.5 δ K δ δ δ δ δ.7 δ 7.2 L δ 27.9 δ 7,2 δ 8.7 δ 7,2 δ 7,2,7 δ 7,2 7,2 J 25 28,7 δ δ.7 2,9 δ δ δ.7 δ 2.9
120 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX phase 5.6, 5.7, 5.8 et 5.9 T X Y I δ δ δ.3 δ δ δ K δ 27.9 δ 7.2 δ δ δ δ L δ 27.9 δ 7,2 δ δ 8.7 7,2 δ 7,2,7 δ 7,2 7,2 J δ δ.7 2,9 δ δ δ.7 δ 2.9 Tableau 2 Croisement global (Figure 35) : calculs successifs des δ et δ à la cinquième étape. Les ratios δ et δ correspondant au calcul de recouvrement des faces I et X, ainsi que des faces K et Y, étant inférieurs au seuil fixé ε.5, les liens de recouvrement entre I et X et entre K et Y ne sont pas retenus. Remarquons également que le lien entre la face J et la face X, nous permet d éviter la perte de morceaux, grâce justement à cette préservation de l information. Les graphes, obtenus après la cinquième étape de réévaluation, sont représentés dans la Figure AG... A... B C E D F G H J I K L NG... A... Q P R S V U T Y X Figure 4 Relations de recouvrement (Figure 35) : cinquième étape. Apparition des faces X et Y. Entre autres, un lien de recouvrement entre les faces J et X est conservé. Il y a donc bien préservation de cette information. Au final, les nouvelles faces contingentes sont représentées avec un degré de ressemblance aux faces contingentes initiales (matérialisé par les ratios δ et δ ), mais ne sont pas identifiées dans le modèle réévalué. Par exemple, la face T est reliée à la face I, mais rien n indique si ce sont les mêmes faces ou non, d autant plus que la face I est ellemême reliée à la face Y. Au-delà des liens de recouvrement, il convient donc d identifier effectivement chacune des faces croisées Calculs effectifs de l appariement : identification des faces croisées La spécification paramétrique référence les faces du modèle initial, et nécessite donc une identification des faces du modèle réévalué pour déterminer les nouvelles faces
121 REEVALUATION ET APPARIEMENT sur lesquelles il convient d appliquer les caractéristiques de forme. Deux cas se présentent suivant que les faces sont en relation de recouvrement univoque ou non. Relation de recouvrement univoque. Si un nœud de l AG (donc une face) est relié à un et un seul nœud du NG et inversement, alors il s agit d une identification de la face initiale à la face réévaluée. Relation de recouvrement non-univoque. Si un nœud de l AG (donc une face) est relié à plusieurs nœuds du NG, ou si plusieurs nœuds de l AG sont liés au même nœud du NG, alors il s agit de propager les noms de telle sorte qu une face initiale corresponde à une ou plusieurs faces réévaluées. Malheureusement, il n y a plus unicité dans ce cas. Par exemple, en propageant les noms, la face I est appariée avec les faces T et Y, et la face L est appariée avec la face Y. Les noms ne sont plus uniques. Selon les besoins, il est possible de faire des calculs d appariement spécifiques en simplifiant les liens de recouvrement Simplification Les relations de recouvrement permettent de conserver le degré de ressemblance (quantifié par les ratios δ et δ ) entre toutes les faces contingentes qui présentent une infime ressemblance. Les relations de recouvrement représentent donc, de manière exhaustive, toutes les relations entre les faces contingentes de l ancien graphe et celle du nouveau graphe. Cela peut rapidement tendre vers une explosion combinatoire des liens et rendre les croisements coûteux. Il est donc souhaitable d une part, que soient gardés uniquement les liens de recouvrement entre faces «suffisamment» ressemblantes, et d autre part que les faces soient mises en correspondance au sens de l identification. En notant AG l ancien graphe, NG le nouveau graphe, et E l ensemble des arcs de recouvrement (liens quantifiés par les ratios δ et δ ) entre l AG et le NG apparus à cette étape, nous obtenons un graphe biparti noté G { AG, NG, E }. Un appariement spécifique consiste alors en la construction d un graphe biparti G { AG, NG, E } où E est un sousensemble de E vérifiant une contrainte particulière, et où chaque arc de E représente une relation d appariement entre deux nœuds. Nous proposons deux types de contraintes pour la simplification des liens de recouvrement : () une contrainte de seuil sur les ratios δ, et (2) une contrainte sur les longueurs topologiques (c est-à-dire le nombre d arcs) des chemins constitués d arcs de E (ce seront les arcs de E ). Notons que l une, l autre ou les deux contraintes peuvent s appliquer Seuil ε Le seuil noté ε [,], permet de définir la précision des recouvrements et des appariements que l on souhaite effectuer. Les ratios δ et δ doivent être supérieurs au seuil ε pour que le lien de recouvrement inter-graphes soit représenté. Un seuil nul (ε ) signifie que tous les recouvrements sont représentés, et que par conséquent, aucun «morceau ne se perd» lors de l appariement. À l inverse, un seuil proche de ε, signifie que seuls les recouvrements proches de l égalité sont représentés. C est une façon empirique de régler la finesse des recouvrements, et de modifier le rapport temps / précision. Dans l exemple développé précédemment, à la deuxième étape de réévaluation (Figure 35 et Tableau 8), le recouvrement entre la face P du NG et la face C de l AG, est évalué à δ.4 et δ.7. Cette ressemblance, qui est très faible, est due à la présence dans les deux voisinages topologiques de la face 6, cependant, aux yeux du concepteur, il
122 2 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX n y a pas de ressemblance entre ces deux faces. L idée est donc d utiliser le seuil ε pour éliminer les recouvrements trop peu significatifs. Dans l exemple, le seuil ε.5, fixé arbitrairement, conduit à un recouvrement exclusif des faces P et Q, respectivement avec les faces B et C. Cette simplification, locale à chaque lien de recouvrement, est simple à mettre en œuvre, peu coûteuse et permet un paramétrage fin des appariements en jouant sur la valeur du seuil ε. Plus le seuil ε est élevé, plus la ressemblance doit être forte pour que les liens soient conservés, et plus le seuil ε est bas, plus il existe de relations entre les nœuds Longueur des chemins La deuxième simplification consiste à limiter la longueur des chemins constitués d arcs de E. Un nœud peut posséder plusieurs arcs incidents de telle sorte que, de proche en proche, un chemin de longueur quelconque est susceptible d apparaître (voir la Figure 42-a pour un exemple de chemin de longueur 3). Nous proposons de contraindre E de telle sorte que les chemins qu il est possible de construire à partir des arcs de E soient de longueur inférieure ou égale à une certaine valeur. Puisque plusieurs ensembles E peuvent respecter cette contrainte, la méthode qui permet de déterminer les arcs de G devant être conservés dans G consiste à maximiser la somme des ratios δ et δ des arcs de E (arcs de E respectant la contrainte). En effet, plus cette somme est élevée, plus l appariement dans sa globalité correspond à des identifications topologiques exactes. À chaque étape le processus est le suivant : Énumération de tous les ensembles E vérifiant la contrainte sur les longueurs des chemins. a a Maximisation de la fonction Φ δ + δ sur les ensembles E. a E ' Les arcs de E sont des liens d identification, et sont stockés dans le graphe au fur et à mesure de la réévaluation. Nous donnons ci-dessous deux exemples d algorithme d appariement pouvant être utilisés selon les besoins des fonctions. Un premier exemple d algorithme d appariement spécifique est celui où G est construit de manière que chaque chemin construit à partir des arcs de E soit de longueur inférieure ou égale à. Cette contrainte signifie que chaque face sera appariée avec au plus une autre face. Le Tableau 22 énumère tous les chemins construit à partir des arcs de E et de longueur égale à. Les besoins varient selon les fonctions. Par exemple, la fonction «colorer une face» peut admettre plusieurs faces comme paramètres d entrée, mais la fonction «trouer une face» ne peut s appliquer qu à une seule face.
123 REEVALUATION ET APPARIEMENT 3 Chemins L I I J J K faces de l AG Y Y T T X X faces du NG δ + δ Tableau 22 Tous les chemins de longueur, c est-à-dire tous les arcs entre l AG et le NG. Il s agit, dans ce cas, de l ensemble E constitué des arcs apparus à la cinquième étape de l exemple précédent (cf. Figure 35 et Figure 4). Notons que les chemins (arcs) sont représentés verticalement. À partir des chemins du Tableau 22 il est possible de construire tous les ensembles E respectant la contrainte (les chemins qu il est possible de construire à partir des arcs de E doivent être de longueur inférieure ou égale à ). Le Tableau 23 représente tous les ensembles E avec l évaluation de la fonction Φ dont le maximum (5.2) est obtenu pour les appariements L Y, I T et K X. Comme nous pouvons le constater, le fait d imposer un appariement, un un au mieux, entre l ensemble des faces de L AG et l ensemble des faces du NG entraîne que la face J ne peut être appariée avec aucune face. Combinaisons de L L I L J L J L K L I J L I K L J K I I J I J I K I J K I I J I K J J K J K chemins Y YTYTYXYXYTXYTXYTX Y YTYXYXYTX T TXTX T TX X X Φ Tableau 23 Toutes les combinaisons de chemins (de longueur ) dont les arcs respectent la contrainte sur les ensembles E (les chemins qu il est possible de construire à partir des arcs de E doivent être de longueur inférieure ou égale à ). Notons que dans ce cas particulier (longueur ) chaque combinaison est un ensemble E d éléments les chemins (arcs). Le résultat à la cinquième étape de réévaluation est le graphe biparti G, représenté dans la Figure 4, où les coefficients δ + δ de chaque nœud sont calculés, et où les liens représentent une relation d appariement, c est-à-dire d identification.... AG... A... B C E D F G H J I K L NG... A... Q P R S V U T Y X Figure 4 Exemple de calcul d appariement spécifique. Représentation du graphe biparti G. Un appariement, un un au mieux (F ng F ag, ou F ag, ou F ng ), est réalisé entre les faces de l AG et les faces du NG. Remarquons que la face J n est pas appariée. Les liens d appariement des étapes précédentes sont représentés en pointillé. L exemple correspond à la Figure 35.
124 4 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX Un second exemple d algorithme d appariement spécifique est celui où G est construit de manière que chaque chemin de E soit de longueur inférieure ou égale à 2. D un point de vue sémantique, cela signifie qu une face de l AG peut être, soit appariée avec plusieurs faces du NG, soit fusionnée avec d autres faces de l AG, et appariée avec une unique face du NG. Ce choix est mutuellement exclusif, ce qui signifie qu en termes de graphe, il ne sera pas possible de représenter un appariement avec des chemins de longueur 3 (cf. Figure 42-a). Le Tableau 24 énumère tous les chemins, de longueur inférieure ou égale à 2, construits à partir des arcs de E. L I I J J K L Y I T J Chemins Y Y T T X X Y I T J X I T J X K δ + δ Tableau 24 Tous les chemins de longueur et 2, construits à partir des arcs de l ensemble E. En combinant les chemins du Tableau 24 il est possible de construire tous les ensembles E respectant la contrainte (les chemins qu il est possible de construire à partir des arcs de E doivent être de longueur inférieure ou égale à 2). Le Tableau 25 représente toutes ces combinaisons dont les arcs forment les ensembles E. Le maximum de la fonction Φ est obtenu pour les appariements L Y, I T et J & K X. Nous pouvons constater que les faces K et J de l ancien graphe (AG) sont appariées avec une seule et même face X dans le nouveau graphe (NG). Combinaisons de chemins L LILJLJLKLILTLJLIJLIKLIJLJK I IJIJIKITIJIJK I Y YTYTYXYXYTYJYXYTXYTXYTXYTX Y YTYXYXYJYXYTX T J X K K X K Φ IJIKIJ J JKJL J JLJY K KLKYKI L LTLJ Y YJ I T J TXTXTX T TXTY X XYX I X XYX I XT Y YJYX I I X T J X K I I T I T J I I X I K T T K J X K Tableau 25 Toutes les combinaisons de chemins (de longueur et 2) dont les arcs respectent la contrainte sur les ensembles E (les chemins qu il est possible de construire à partir des arcs de E doivent être de longueur inférieure ou égale à 2). Le résultat à la cinquième étape de réévaluation est le graphe biparti G, représenté dans la Figure 42-b, où les coefficients δ + δ de chaque nœud sont calculés, et où les liens représentent une relation d appariement, c est-à-dire d identification.
125 REEVALUATION ET APPARIEMENT 5 (a) (b)... 2 AG... A... B C E D F G H J I K L NG... A... Q P R S V U T Y X Figure 42 (a) Exemple de chemin de longueur 3. (b) Exemple de calcul d appariement spécifique. Graphe biparti G respectant les contraintes sur la longueur des chemins qui doit être strictement inférieure à 3. L exemple correspond à la Figure 35. La mise en œuvre de la contrainte sur les longueurs des chemins est plus coûteuse que celle des seuils, mais permet d exercer une contrainte globale à tout l appariement (à une étape donnée), contrairement au seuil qui s applique aux liens de recouvrement indépendamment les uns des autres Coques contingentes Les coques contingentes sont caractérisées par la liste des faces qui les composent, et tracées chaque fois qu une modification ou une scission survient. Deux structures de graphe sont donc à apparier, et il s agit de mettre en œuvre, au niveau coque, les mêmes mécanismes qu au niveau face, en s appuyant sur le travail déjà effectué en amont, et, en résolvant les problèmes propres aux coques. Au niveau coque, de nombreux problèmes (appariement local ou global, séparation recouvrement / appariement, subdivision des frontières / morcellement des faces, problèmes d homothétie) sont similaires à ceux rencontrés au niveau face. Une solution simple comme un dénombrement des faces communes, ne répond pas au problème d appariement, et ne peut donc pas être mise en œuvre. Il serait séduisant de généraliser directement le processus présenté précédemment, en se basant sur le voisinage topologique des coques (voisinage connu au travers des faces composant les coques). Malheureusement, utiliser le voisinage topologique aboutit aux mêmes problèmes qu en non-linéaire [Chen 95], puisque le voisinage n est pas un élément discriminant pour les coques (cf. section ). Nous proposons donc d utiliser le contenu topologique (les faces composant la coque), à la place du voisinage topologique (les faces entourant la face). Le mécanisme d appariement pour les coques contingentes est similaire à celui des faces contingentes, mais comme le montre le Tableau 26, certains éléments diffèrent, notamment la pondération et la caractérisation. Concernant la pondération, l idéal serait de pondérer les faces, composant les coques, par leur aire, mais pour ne pas contraindre d avantage les Dans notre étude de l appariement de coques contingentes, nous nous limitions aux coques recouvrantes d une même structure hiérarchique. Ainsi, une face ne peut pas appartenir à des coques de structures hiérarchiques distinctes.
126 6 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX fonctionnalités exigées du modeleur géométrique, nous avons opté pour une pondération par leur périmètre. Concernant la caractérisation, les coques contingentes sont comparées par rapport à l ensemble (non-ordonné et sans répétition) des faces communes au contenu topologique de la coque de l AG et au contenu topologique de la coque du NG. Les croisements sont basés sur les liens de recouvrement des faces contenues. Les croisements s effectuent entre toutes les coques dont les faces contenues sont liées par des liens de recouvrement. Faces contingentes Coques contingentes caractérisées par les faces (invariantes) du voisinage topologique pondérées par la longueur des arêtes adjacentes aux faces voisines comparées par rapport au sous-chemin partiel maximum commun aux deux voisinages croisées par rapport aux liens de recouvrement des étapes précédentes caractérisées par les faces du contenu topologique pondérées par le périmètre des faces contenues comparées par rapport à l ensemble (non-ordonné et sans répétition) des faces communes aux deux contenus croisées par rapport aux liens de recouvrement des faces contenues Tableau 26 Différences notables entre l appariement des faces contingentes, et celui des coques contingentes. Les autres éléments (calcul des ratios δ, consommation des faces, seuil ε, etc.) sont similaires. Prenons l exemple simple, d appariement univoque de la Figure 43, pour illustrer le processus d appariement des coques contingentes. Les faces F c et F d du NG, supposées déjà appariées, et liées par des liens de recouvrement aux faces de l AG, permettent de déterminer les coques à croiser (C et C 2 avec C x et C y ). modèle réévalué modèle initial étape étape 2 F a F c F d F c F b F F a b Fd AG F c F d F b C 2 C C y C x NG F a C F b C F b F d C x C C 2 F c C y δ δ δ δ Figure 43 Exemple d appariement univoque de coques. Le Tableau 27 montre les calculs des ratios δ et δ, de la pondération des faces, de la normalisation des périmètres, et le croisement global des coques contingentes. Les ratios δ et δ sont établis en fonction des faces communes aux deux contenus topologiques, et en fonction de leur pondération. La pondération est faite par le périmètre des faces pour les coques de l AG et le périmètre normalisé pour les coques du NG. La normalisation d une face F est effectuée, comme pour les faces contingentes, par rapport aux sommes des pondérations de F dans l AG et le NG. Pour chacune des faces communes la pondération minimale est retenue. Ainsi, pour la première case traitée (case grisée), les contenus
127 REEVALUATION ET APPARIEMENT 7 topologiques pondérés {(F b, 6) ; (F d, )} et {(F b, 6) ; (F d, 2)} respectivement de C et C x, donnent l ensemble de faces communes {(F b, 6) ; (F d, )}. La suite du processus, y compris le seuil ε, est similaire à celui décrit pour les faces contingentes. Ensemble (non-ordonné et sans répétition) des faces contenues. Ici les faces F b et F c de la coque C x. Pondération par le périmètre des faces. Pondération par le périmètre normalisé des faces. Coques du graphe Coques initial du graphe réévalué F b C x F d 6 2 6*(6/6) 2*()/(2) F c *(2/) C y F b F d 6 F b F d 6 F c C δ 26 / 26 δ 26 / 26 δ / 2 δ / 26 F c 2 F b F d F c 2 C 2 δ / 26 δ / 2 δ 2 / 2 δ 2 / 2 Ensemble pondéré, (nonordonné et sans répétition) de faces contenues communes. Ratios de ressemblance de coques. F b F d F c 2 phase 2.2 C x C y F b F d F b F c F d C 6 δ 26 / 28 δ 26 / 26 δ / δ / 26 F c 2 F b F d F c 2 C 2 δ / 28 δ / 2 δ 2 / 2 δ 2 / 2 Tableau 27 Exemple de ratios δ et δ (Figure 43), calculés en fonction des faces communes aux deux contenus topologiques, pondérées par le périmètre (ou le périmètre normalisé) de ces faces. Au-delà de ces similarités, il existe deux différences notables dont le traitement est propre à l appariement des coques contingentes. Premièrement, l appariement non nécessairement univoque des faces du contenu topologique, qui empêche une comparaison immédiate des deux contenus. Nous proposons d y remédier en effectuent une substitution des noms et une analyse spécifique. Deuxièmement, la présence multiple de la même face dans le contenu topologique. Sans orientation particulière, ni relation d ordre entre les faces du contenu topologique d une coque, nous proposons, non plus un voisinage topologique pondéré comme pour les faces contingentes, mais un contenu topologique pondéré représenté par un ensemble de faces pondérées, avec un regroupement des noms des faces qui se répètent Substitution des noms Le calcul de la ressemblance, de deux coques contingentes, est basé sur la comparaison de leur contenu topologique. La comparaison ne peut être concluante que si les faces sont comparables. Par exemple, dans la Figure 44, les coques C 2 et C x, respectivement composées des faces F b et F x, n ont rien en commun au regard des faces (de leur nom), bien qu elles soient géométriquement quasiment identiques. Lorsque l appariement au niveau face n est pas univoque, les contenus topologiques doivent être comparés en suivant tous les liens de recouvrement, puisqu une face peut être appariée
128 8 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX avec plusieurs autres faces. Dans le cas de chemin de longueur inférieure ou égale à deux (voir la section ), quatre cas se présentent. Pas d appariement (, ou ). La face ne fait pas partie des faces communes, et est simplement ignorée. Appariement. Les faces étant liées par un et un seul lien de recouvrement, elles portent le même nom, et sont présentes dans les deux contenus topologiques. Appariement n (n 2). Une face F ag de l AG est liée à plusieurs faces du NG. Dans l ensemble des faces représentant le contenu de la coque du NG, la face F ag est substituée à chaque face lui correspondant (la pondération est conservée). Appariement m (m 2). Plusieurs faces de l AG sont liées à une face F ng du NG. Dans l ensemble des faces représentant le contenu de la coque du NG, le n- uplet de faces (chacune correspondant à F ng ) est substitué à la face F ng (la pondération globale est conservée). De même pour toutes les faces du NG. (a) modèle modèle réévalué modèle initial étape étape 2 C F c F a C F b F y F x C F x z C 2 C y C z (b) modèle modèle réévalué modèle initial étape étape 2 F y F a F x F z C F b C x F c C y C z C C 2 Figure 44 Deux appariements non-univoques de coques, (a) n basé sur l appariement du niveau face (F b F x & F z et F c F y ) et (b) m, basé sur l appariement du niveau face (F x & F z F b et F y F c ). Mettons cela en application, avec l exemple de la Figure 44. Une coque composée d une unique face en forme de U, a une seule de ces branches coupée dans le modèle initial, puis les deux branches dans le modèle réévalué (Figure 44-a et Tableau 28-2.). Le scénario est inversé dans le deuxième exemple (Figure 44-b et Tableau bis). Il y a un appariement entre une seule coque d un coté (C 2 ), et deux coques de l autre (C x et C z ). Au-delà de ce cas où, de manière exclusive, des appariements n, ou m sont autorisés, il nous semble difficile d exprimer une sémantique rationnelle pour justifier le suivi de chemin de longueur supérieure.
129 REEVALUATION ET APPARIEMENT 9 F y F c 4 phase 2. F x F b 4 F z F b 4 C y C x C z F c 4 F c 4 C δ 4 / 4 δ 4 / 4 δ δ δ δ F b 8 C 2 δ δ F b 4 δ 4 / 4 δ 4 / 8 F b 4 δ 4 / 4 δ 4 / 8 phase 2. bis F c F y 4 C C 2 F b (F x, F z ) 8 F y 4 F y 4 C y δ 4 / 4 δ 4 / 4 δ δ F x 4 C x δ δ F x 4 δ 4 / 8 δ 4 / 4 F z 4 C z δ δ F z 4 δ 4 / 8 δ 4 / 4 Tableau 28 Deux exemples d appariement non-univoque de coques contingentes (Figure 44). (2.) Appariement n. Dans le NG, la face F b se substitue aux faces F x et F z, tandis que la face F c se substitue à la face F y. (2. bis) Appariement m. Le couple de faces (F x, F z ) est substitué à la face F b dans le NG. De même, F y est substitué à F c. La pondération d avant substitution est conservée Regroupement des noms Un dernier point distingue l appariement des coques contingentes de celui des faces contingentes. Il peut arriver que le contenu topologique inclue, après substitution des noms, plusieurs fois la même face. Dans ce cas, les «morceaux» de la même face, présents dans la même coque, sont regroupés, et traités comme une seule face. Les périmètres des faces (avant substitution) sont additionnés et normalisés, et pondèrent la face commune. La Figure 45 en donne un exemple. étape étape 2 C C C C 2 modèle réévalué modèle initial F a C F b F b F c F d C α F y F u F x F z F v F t F b F F a d C F AG c 2 C γ C C α C γ C β F F v b F u F z C F a F y β F x F NG t Figure 45 Appariement non-univoque de coques contingentes. Les faces F x, F y et F z sont appariées avec la face F c, les faces F u et F v sont appariées avec la face F b. Les secondes sont donc substituées aux premières dans le contenu topologique de chaque coque, notamment dans celui de la coque C γ (cf. Tableau 29 ciaprès). Son contenu topologique (F y, F v, F z ), pondéré par les périmètres (8, 2, 8), Ce cas survient également au niveau face, cependant, le voisinage topologique étant analysé par rapport aux faces adjacentes aux arêtes appartenant au sous-chemin partiel commun le plus long, la répétition des faces est incluse dans l analyse puisque masquée par les arêtes qui sont toutes distinctes les unes des autres.
130 2 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX remplacé par les noms (F c, F b, F c ), contient deux fois le nom F c. Après regroupement, le contenu est (F c, F b ) et il est pondéré par (8+8, 2) F x F c F u F b 36 8 F t F d 8 phase 2. C α C β C γ F y F v F z F c F b F c F c F b 6 2 F c F b F c F b 36 8 F c F b 6 2 C δ 44 / 44 δ 44 / 8 δ δ δ 36 / 36 δ 36 / 8 F d 8 F d 8 C 2 δ δ δ 8 / 8 δ 8 / 8 δ δ Tableau 29 Exemple de regroupement de faces lors d un appariement de coques contingentes (cf. Figure 45). Parallèlement à l appariement de graphe qui met en correspondance les coques et en particulier les faces des modèles initial et réévalué, une résolution du nom (de la caractérisation) des entités référencées, c est-à-dire une mise à jour par rapport à la géométrie réévaluée, est nécessaire, notamment pour les arêtes et les sommets, afin de réévaluer la spécification paramétrique. 5.3 Résolution des entités référencées dans l instance courante Les entités topologiques référencées par la spécification paramétrique dans le modèle initial, doivent être retrouvées dans la topologie courante du modèle réévalué. En réalité, il ne s agit pas de déterminer quelles entités du modèle initial sont appariées avec quelles entités du modèle réévalué, mais il s agit de savoir quelles entités topologiques courantes (du modèle réévalué) correspondent au nom (donc à la caractérisation) présent dans la spécification paramétrique. Le nom, c est-à-dire la caractérisation, d une entité référencée peut être considéré comme une fonction dont l évaluation avec de nouvelles valeurs (celles des faces courantes qui le caractérisent) retourne de nouvelles entités topologiques. Les faces pouvant être identifiées par rapport aux liens de recouvrement, il reste le cas des arêtes et celui des sommets Arêtes Les arêtes sont nommées par rapport aux faces qui sont appariées au travers des liens de recouvrement. Selon les modifications des faces, les caractérisations des arêtes peuvent ne correspondre à aucune arête de la géométrie courante du modèle réévalué. Pour pallier ce problème, certaines contraintes peuvent être relâchées et la résolution se faire uniquement, par exemple, par rapport aux faces adjacentes, ou par rapport aux faces adjacentes et certaines faces limites, etc.. La résolution purement topologique s étend des contraintes les plus strictes (toutes les faces de la caractérisation doivent être identiques) aux contraintes les plus lâches (une seule face peut être identique). Malheureusement, comme l illustre la Figure 46 avec le cas de l arête référencée e 2, une résolution basée uniquement sur la recherche de faces de la caractérisation ne donne pas des résultats satisfaisants. En polyédrique 2D-variété orienté où la caractérisation d une arête s appuie
131 REEVALUATION ET APPARIEMENT 2 sur la liste de faces adjacentes, la liste de faces limites du premier sommet et la liste de faces limites du second sommet, les cas suivants sont envisageables (ordre croissant de relâchement des contraintes). Faces adjacentes identiques et faces limites identiques. Cette contrainte est trop restrictive puisqu elle implique qu une arête au plus peut être retournée. Ainsi, dans la Figure 46-b, ni e 4, ni e 5 ne seraient renvoyées car elles n ont qu une seule face limite identique à celles de l arête référencée e 2. Faces adjacentes identiques et au moins une face limite identique. Cette contrainte est également trop restrictive puisque dans le cas de fortes subdivisions, les faces limites peuvent ne pas être identiques. La Figure 46-c montre l exemple de l arête e 8 dont les faces limites sont totalement différentes des faces limites de l arête référencée e 2. L arête e 8 ne serait donc pas retournée. Faces adjacentes identiques et aucune face limite identique. Cette contrainte est trop lâche puisque toutes les arêtes adjacentes sont retournées sans discrimination. Même pour une réévaluation à l identique le résultat peut être erroné. En effet, si le modèle de la Figure 46-a est réévalué à l identique, les arêtes e et e 2 seraient retournées au lieu de la seule arête référencée e 2. (a) (b) (c) e e 2 e 3 e 4 e 5 e 6 e 7 e 8 e 9 modèle initial ère réévaluation 2 nde réévaluation Figure 46 (a) L arête e 2 est référencée dans l objet initial. (b) Premier cas de réévaluation : l arête e 2 est scindée en deux arêtes par une rainure qui débouche. (c) Second cas de réévaluation : l arête e 2 est scindée en trois arêtes. Les cas précédents nous permettent d affirmer que la seule approche intéressante est celle où seules les faces adjacentes doivent être identiques puisque dans les autres cas les contraintes sont trop strictes. Pour que cette approche soit efficace, le relâchement des contraintes sur les faces limites doit s accompagner de l introduction de nouvelles contraintes. Notre idée est de contraindre les arêtes adjacentes à se situer «entre» les faces limites. Pour cela nous proposons d extraire, lorsqu il existe, le sous-chemin du circuit frontière (orienté) d une des faces adjacentes, et «limité» par les faces limites (cf. Figure 47). Les arêtes devront appartenir à la fois à ce sous-chemin et aux faces adjacentes. e 2 e 3 e 4 e 5 e e 6 e 7 e 8 e 9 modèle initial ère réévaluation 2 nde réévaluation Figure 47 Construction d un sous-chemin auquel doivent appartenir les arêtes appartenant aux faces adjacentes de la caractérisation de l arête référencée e 2. De manière purement combinatoire, d autres cas de relâchements de contraintes existent (une seule face adjacente, uniquement les faces limites, etc.), mais donnent des résultats inexploitables (trop d arêtes potentielles).
132 22 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX Nous proposons de rechercher parmi les arêtes appartenant aux faces adjacentes de la caractérisation de l arête référencée, celles se situant sur le sous-chemin extrait du circuit d une de ces faces adjacentes. Le processus est le suivant : Rechercher toutes les arêtes appartenant aux faces adjacentes. Si au moins une face adjacente f existe (non-scindée) Et la face f limite du premier sommet et qui est adjacente à f existe Et la face f 2 limite du second sommet et qui est adjacente à f existe Alors Prendre le circuit d arêtes de la face adjacente f. Trouver le sommet s intersection de f et de f, et le sommet s 2 intersection de f 2 et de f, tels que le sous-chemin de sommet initial s et de sommet terminal s 2 soit de même orientation que le circuit. Retourner toutes les arêtes appartenant à la fois aux faces adjacentes et à ce sous-chemin. Sinon Ne retourner rien. Cette contrainte supplémentaire que nous utilisons semble permettre de conclure dans la plupart des cas pratiques Sommets Notre caractérisation des sommets ne contient que peu d informations pour les discriminer. Nous proposons donc un simple dénombrement pour résoudre les noms des sommets. L algorithme ci-dessous, décrit le processus de résolution dans le cas (a) d une liste de trois faces (f, f 2, f 3 ) caractérisant le sommet référencé, ainsi que dans le cas (b) d une liste de plus de trois faces (f, f 2, f 3,, f n ) caractérisant le sommet référencé. Notons f i les faces correspondant à f i. Cas (a) Cas (b) S il existe (f, f 2, f 3 ) donnant un point alors retourner le point. Sinon pas de correspondance. S il existe (f, f 2, f 3,, f n ) donnant un unique point alors retourner le point. S il existe un triplet (f i, f j, f k ) donnant un point alors pour chaque triplet retourner le point. Sinon pas de correspondance. Rappelons que c est la fonction paramétrique, ayant pour paramètre d entrée l entité référencée, qui décide de l utilisation des paramètres topologiques multiples. Ainsi, pour une arête scindée en deux, une fonction arrondi peut accepter les deux arêtes, une fonction parallèle_à peut n en garder qu une, alors qu une fonction milieu_de peut n accepter aucune arête. Il en est de même pour les faces et les sommets.
133 REEVALUATION ET APPARIEMENT 23 Une résolution topologique enrichie d une composante géométrique pourrait être envisagée si la caractérisation des sommets contenait plus d informations géométriques. La difficulté vient de la détermination d une information géométrique pertinente. Une approche intéressante serait celle proposée par Kripac qui documente partiellement [Kripac 94], aussi bien pour les arêtes que les sommets, une typologie d intersections de faces qui apporte un supplément d informations. 6 Conclusion Après avoir précisé la notion de nomination persistante, nous avons montré les difficultés à trouver une caractérisation pour chaque entité topologique d un modèle paramétrique, permettant facilement de la retrouver lors d une réévaluation. Nous avons proposé dans ce chapitre une structure de données, ainsi que des mécanismes associés, permettant l identification et l appariement d entités topologiques dans un environnement très variant. Notre approche consiste à caractériser topologiquement les entités et de suivre leurs évolutions. L architecture de notre modèle paramétrique PS 2 comporte trois niveaux distincts : spécification paramétrique / noms / géométrie. Le niveau des noms établit la jonction entre la spécification paramétrique (liste de caractéristiques de forme) et la géométrie (BRep polyédrique). Ce niveau de noms qui est l élément essentiel de notre nomination persistante, permet : La capture de différentes sémantiques. Nous introduisons la notion de coque, en tant qu agrégat de coques ou de faces, pour accroître l expressivité de notre modèle paramétrique. L identification des entités. Toutes les faces, coques ainsi que les entités référencées sont identifiées, c est-à-dire nommées, dans notre modèle. Cette identification est basée sur : Une distinction invariant / contingent. Nous faisons une différenciation entre les entités suivant qu elles sont sûres d exister à l identique ou non, d une réévaluation à une autre. La nomination des invariants est directe, tandis que la nomination des contingents s appuie sur ces invariants. Une taxonomie de caractéristique de forme. Nous avons établi une classification des caractéristiques de forme basée sur leurs invariants. Chaque caractéristique de forme est représentée comme une structure hiérarchique et invariante de faces et de coques dont les évolutions sont ensuite tracées dans un graphe. Une caractérisation des entités en termes de coques et / ou de faces. Les différents types d entités topologiques sont toutes identifiées par rapport aux coques et aux faces invariantes et par rapport à leurs évolutions historiques représentées dans un graphe. L appariement des graphes. Lors d une réévaluation, un second graphe est tracé parallèlement au graphe initial. À chaque étape, les nouvelles entrées apparaissant dans le second graphe sont identifiées ou reliées à certaines coques présentes dans le graphe initial. Cet appariement se fait en trois phases : Un suivi des évolutions. Toutes les coques, et en particulier toutes les faces du modèle, sont représentées par les nœuds d un graphe qui représente
134 24 CHAPITRE 2 PS 2 : UN MODELE A TROIS NIVEAUX leurs évolutions à partir des coques et faces invariantes. Un graphe analogue est construit lors d une réévaluation du modèle. Une mise en correspondance des faces et coques des graphes initial et réévalué. Les nœuds des deux graphes sont, étape après étape, reliés par des liens de recouvrement décrivant le degré de ressemblance des faces ou des coques. Un appariement spécifique. Les liens de recouvrement sont transformés, suivant des critères paramétrables, en liens d identification. Les entités réévaluées sont de ce fait identifiées aux entités du modèle initial. Le découplage spécification paramétrique / géométrie. Dans un environnement évolutif, les liens pouvant exister entre les différentes parties doivent suivre les variations pour rester valides. Ce découplage s appuie () sur un graphe de coques / faces conservant pour chaque face courante un nom associé à un pointeur vers la géométrie ; (2) sur une table des entités référencées conservant les noms des entités référencées et des pointeurs (vers la géométrie) dont la mise à jour pour refléter les variations est assurée par (3) une résolution des noms dans la topologie réévaluée. La séparation des niveaux géométrique et spécification paramétrique que nous proposons permet à la fois : De «greffer» notre modèle paramétrique sur un modeleur géométrique préexistant. De sauvegarder séparément la géométrie explicite et l historique de construction. Pour résumer, la réalisation de notre travail se traduit par une structure de données dont la création, le suivi, le parcours, l évaluation, l analyse, correspondent à une proposition complète de solution pour le problème de la nomination persistante dans un modèle paramétrique. Nous avons proposé un nouveau mécanisme de nomination persistante associé à une structure hiérarchique permettant de tracer l évolution historique d invariants facilement identifiables dans chaque geste constructif. Nous avons introduit, afin de dégager de tels invariants, une nouvelle taxonomie basée sur la structure intrinsèque, et la sémantique de chaque caractéristique de forme. Cette approche offre trois principaux avantages. Premièrement cela permet d identifier de manière déterministe, unique, et non-ambiguë, les entités topologiques d un modèle paramétrique polyédrique initial. Notre approche est également valable dans le cas non-linéaire (sauf cas pathologiques bien connus) en ajoutant à la caractérisation des entités des informations supplémentaires telles que celles définies par Chen ou par OCAF par exemple. Deuxièmement cela permet de faire des appariements afin de retrouver ces mêmes entités dans un modèle réévalué, malgré les multiples variations topologiques. Finalement, un tel mécanisme, à travers les coques, autorise la capture et la désignation persistante de différentes sémantiques exprimables par un concepteur. Deux critiques orthogonales peuvent être formulées à l encontre de notre modèle paramétrique PS 2. Premièrement, la pertinence et l interprétation des ratios de ressemblance quantifiant simultanément le degré de ressemblance aussi bien topologique
135 CONCLUSION 25 que géométrique, qui rendent peu intuitive l évolution des appariements pour un concepteur dont de surcroît, les attentes (intentions) ne sont pas clairement définies. Nos calculs de ratios et de croisements s appuient sur l évaluation de maxima ce qui peut dans certains cas donner lieu à des solutions multiples. L indéterminisme potentiel devra être levé par intervention du concepteur ou bien par une évaluation déterministe des maxima. Deuxièmement, l étendu du domaine de validité de notre approche qui est, telle que présentée ici, restreinte au polyédrique 2D-variété orienté sans faces trouées. Ces limites se situant en deçà des capacités des modeleurs paramétriques existant actuellement sur le marché, il est clair qu elles devront être repoussées afin d étendre le domaine de validité étudié. En fait, le non-linéaire n a pas été absent de notre réflexion, et toute l architecture conçue vise à le supporter. Il est par contre bien connu que le non-linéaire nécessite l emploi de nombreuses heuristiques spécialisées par type de problèmes à résoudre. Différentes heuristiques ont déjà été étudiées et proposées, et leur intégration dans notre approche ne devrait pas poser de difficultés fondamentales. L approche que nous proposons trouve un aboutissement dans la maquette que nous avons développée pour valider notre proposition de solution pour le problème de la nomination persistante et pour montrer la faisabilité d implémentation de notre modèle paramétrique PS 2. Dans le troisième chapitre nous allons donc présenter, en détail, tous les aspects de cette maquette.
136
137 Chapitre 3 Intégration du modèle PS 2 à un modeleur géométrique Résumé. Ce chapitre décrit le prototype de système de CAO que nous avons développé pour valider nos propositions concernant l architecture PS 2. Les systèmes de CAO sont des applications interactives où une interface hommemachine (IHM) permet à l utilisateur d interagir avec le noyau fonctionnel qui est représenté, dans notre cas, par le modèle paramétrique. Notre système prototype basé sur le modèle PS 2 respecte cette structuration, avec une architecture paramétrique conforme à nos propositions du deuxième chapitre, et une IHM basée sur le modèle d applications interactives H 4 développé au sein de notre laboratoire. L architecture à trois niveaux du modèle paramétrique est constituée : () du noyau géométrique de CasCade ; (2) de la spécification paramétrique modélisée, dans le langage de programmation C++, par une composition de caractéristiques de forme saisies à travers l interface de dialogue ; et (3) du niveau des noms, représenté par notre graphe de coques et de faces, ainsi que par la table des entités référencées, développés eux aussi en C++. Des algorithmes de parcours et d analyse de ces structures de données, traitent les informations conservées pour décrire le modèle, afin d apparier les graphes et de résoudre les noms des entités référencées, apportant ainsi une proposition de réponse au problème de la nomination persistante. L IHM permettant l interaction (construction, visualisation, modification, etc.) avec notre modèle est basée, quant à elle, sur un dialogue structuré, supporté par une interface graphique développée à l aide des MFC (Microsoft Foundation Classes) et des services de visualisation de l environnement de développement CasCade. Cette maquette montre la faisabilité d implémentation de notre modèle PS 2, en particulier dans le cadre d objets polyédriques, 2D-variétés et orientés. Introduction La conception d une application graphique interactive, telle que dans notre cas un système de CAO, nécessite la prise en compte de trois aspects différents : ce que fait l application, la présentation qu elle offre sur l écran, et enfin le dialogue qu elle supporte avec l utilisateur. Bien que nous nous intéressions essentiellement au premier aspect, nous allons, dans cette section introductive, brosser un tableau d ensemble, de façon à décrire l architecture du prototype que nous avons dû développer pour valider les propositions présentées au deuxième chapitre. 27
138 28 CHAPITRE 3 INTEGRATION DU MODELE PS 2 A UN MODELEUR GEOMETRIQUE. Notions de modèle d architecture d applications interactives Les modèles d architecture sont utilisés pour structurer les applications interactives en plusieurs modules afin de faciliter la création d applications de taille importante, de simplifier la maintenance du code, de permettre la réutilisation de certains modules, etc.. Il existe plusieurs grandes familles de modèles d architecture d applications interactives : le modèle de Seeheim [Pfaff 85] amélioré dans le modèle Arch [Bass et al. 9] [UIMS 92] ; le modèle PAC [Coutaz 87] ; le modèle H 4 [Guittet 95], etc.. Ils ont tous pour caractéristique de décomposer une application interactive en trois grandes parties : () le noyau fonctionnel qui contient les données et les fonctions spécifiques de l application (en ce qui nous concerne, un modèle de géométrie paramétrique) ; (2) la présentation qui gère les dispositifs d entrée-sortie (souris, clavier, écran, etc.), ainsi que la visualisation du système à l écran ; et enfin, entre les deux, (3) le contrôleur de dialogue qui gère les langages de dialogue, c est-à-dire les entrées de l utilisateur et les réactions du système à ces entrées. Développer une maquette basée sur le modèle PS 2 présenté au deuxième chapitre nécessite donc de développer non seulement le modèle paramétrique lui-même, mais également les deux derniers éléments de façon à constituer une maquette crédible de système de CAO. Un système de CAO traite des tâches 2 faisant intervenir plusieurs objets, tels que, par exemple, un point, un cercle et une droite, dans la construction d une droite tangente à un cercle et passant par un point. Contrairement au paradigme objet, les tâches ne peuvent donc pas naturellement être intégrées à une unique classe d objets, et nécessitent la modélisation spécifique d un dialogue. Ce dialogue doit, de surcroît, être structuré puisque les tâches peuvent être structurées. En effet, dans l exemple de la construction de la droite, le point peut être, lui-même, le résultat du calcul d intersection de deux segments. Cet arbre de tâches / sous-tâches est une véritable phrase, associée à une structure de type syntaxique, dont le contexte doit modélisé et conservé. Deux autres particularités des systèmes de CAO sont, d une part qu ils travaillent sur des objets dont les représentations sont reliées entre elles, et, d autre part que ces objets sont eux-mêmes structurés. Cela implique que la représentation des objets du modèle ne peut pas être entièrement gérée par la couche de présentation puisque seul le noyau fonctionnel connaît la structure complexe des objets. Toutes ces singularités doivent être modélisées et gérées par l application. Le problème est donc de contrôler un dialogue structuré mettant en œuvre des objets structurés et en relation entre eux. La présentation, partie visible de l application interactive, est souvent constituée d objets d interaction tels que les fenêtres, les menus, les boutons, etc.. Ces objets d interaction, issus d une boîte à outils 3, ont deux rôles importants : () transformer les entrées en données utilisables par l application, et (2) offrir des services de gestion des périphériques de sortie, afin de permettre au système de rendre compte de son état. Bien que les objets d interaction puissent avoir le contrôle de l application à travers les Call- Cette sous-section sur les modèles d architecture d applications interactives, ainsi que toute la théorie sur le dialogue structuré et les interfaces (incluse dans la section 3.), sont directement extraites et adaptées d un mémoire de thèse sur l ingénierie des systèmes interactifs [Texier ] qui s appuie sur divers travaux [Norman 86] [Guittet 95] [Pierra 95] [Fekete 96], etc.. 2 La notion de tâche discutée, est une conceptualisation en terme de but utilisateur des fonctions remplies par un système. Une tâche correspond à un but de l utilisateur, associé à une fonction du système susceptible de l accomplir [Texier ]. 3 Une boîte à outils (toolkit) est une bibliothèque d objets d interaction (widgets: WINdow gadgets) facilitant et standardisant la conception d interfaces.
139 INTRODUCTION 29 Backs, en CAO, vu la complexité du dialogue, le contrôle doit être explicitement modélisé, et découplé de la présentation. Les entrées (par exemple un clic souris) sont transmises par la présentation, mais interprétées (c est une sélection, c est un paramètre de position, c est un pointé pour un zoom, etc.) par le contrôleur de dialogue en fonction de l état du système. Les sorties, notamment l affichage, impliquent, en CAO, l utilisation de primitives graphiques capables de représenter les éléments (en particulier les objets BRep) du noyau fonctionnel. Plus le modèle graphique (pixellaire, vectoriel 2D, 3D) est élaboré, et contient des objets graphiques proches (notamment par leur topologie) des objets du noyau fonctionnel, et plus la désignation peut être gérée par la présentation. Le problème est donc d avoir une boîte à outils facilement instanciable, et gérant des objets graphiques structurés. Nous utiliserons comme boîte à outil de dialogue les MFC associées à Visual C++, et, comme contrôleur de dialogue, celui de l architecture d applications interactives H 4 [Guittet 95], dont le modèle a été expressément créé pour permettre de concevoir assez simplement le dialogue des systèmes de CAO..2 Trame du chapitre Dans ce chapitre, nous présentons le prototype d application de CAO que nous avons développé pour valider et illustrer les concepts proposés et étudiés au chapitre précédent. Cette application permet de concevoir, en fonction de certains paramètres, des objets 3D polyédriques, 2D-variétés, orientés, en les construisant interactivement. Le processus de construction est enregistré par le système et constitue la spécification paramétrique de notre modèle PS 2. Les objets peuvent ensuite être réévalués de manière robuste grâce à un graphe de coques / faces gérant le lien entre la spécification paramétrique et la géométrie. Dans la deuxième section, nous décrivons, du point de vue paramétrique, l architecture générale du système basé sur notre modèle PS 2. L architecture s articule autour du noyau géométrique développé par CasCade, et comprend d une part le graphe contenant les noms indispensables à l appariement, et, d autre part la spécification paramétrique. Le graphe et la spécification sont développés à partir du langage de programmation orienté objet C++. La troisième section est consacrée à l interface offerte à l utilisateur. Celle-ci est développée à partir des fonctionnalités des MFC et de la bibliothèque graphique de CasCade. 2 Architecture paramétrique du modeleur Dans les deux premiers chapitres, nous avons montré la nécessité de découpler la spécification paramétrique de la géométrie. Nous retrouvons donc tout naturellement ici, d un coté le modèle géométrique (basé sur CasCade), et, de l autre coté la description paramétrique (développé en C++) regroupant la spécification paramétrique et la structure de noms. Le choix de l environnement de développement CasCade est apparu intéressant puisque, outre les services graphiques inclus, il dispose des fonctionnalités géométriques minimales requises pour la gestion des noms (cf. 2 ème chapitre - section 3.). Un Call-Back (ou fonction de rappel) est une fonction qui est appelée (par le programme de scrutation associé à la boîte à outils) lorsqu un événement arrive sur un objet d interaction (par exemple, un clic souris sur un bouton).
140 3 CHAPITRE 3 INTEGRATION DU MODELE PS 2 A UN MODELEUR GEOMETRIQUE 2. Modèle géométrique CasCade Pour la conception du système basé sur notre modèle PS 2, nous avons utilisé le modèle géométrique fourni dans l environnement de développement CasCade de la société Matra Datavision [@opencascade]. Cet environnement de développement comprend un ensemble de composants logiciels réutilisables (gestion de données, outils de visualisation, modeleur géométrique, solveur de contraintes, interfaces d échange, etc.). Dans le cadre de la conception de notre maquette, nous avons principalement utilisé deux des outils de CasCade, à savoir l outil de modélisation géométrique (discuté ici) et l outil de visualisation (cf. section 3.2). L outil de modélisation géométrique est composé de classes permettant de créer des objets 2D et 3D. Les objets bidimensionnels peuvent être créés, soit directement (par exemple, cercle par centre et rayon), soit par contraintes (par exemple, cercle tangent à trois droites). CasCade permet de construire des objets géométriques 3D par révolution, par extrusion, ou par opérations booléennes. La bibliothèque géométrique sous-jacente est basée sur un modèle BRep, et offre des mécanismes de parcours de la structure interne des objets. Le noyau géométrique de CasCade implémente une version particulière du modèle de représentation par frontières. En effet, contrairement au modeleur BRep classique, la structure de données de CasCade ne possède que des références descendantes. La hiérarchie d entités topologiques est décrite dans le Tableau 3, et est partiellement représentée dans la Figure 48-c. Entité Définition Compound Compsolid Solid Shell Face Wire Edge Vertex Groupe d entités topologiques quelconques. Solide composite formé par un ensemble de solids connectés par leurs faces. C est l extension de la notion de wire et shell aux solides. Partie de l espace 3D limitée par des shells connexes. Ensemble de faces connectées par leurs edges. Portion d une surface géométrique limitée par un ensemble de wires. Ensemble de edges connectées par leurs vertices. Entité topologique de dimension, correspondant à une courbe généralement limitée par deux vertices. Entité topologique de dimension, correspondant à un point. Tableau 3 Hiérarchie d entités topologiques de la structure BRep du noyau géométrique de CasCade. Une même instance d entité topologique peut être référencée par plusieurs instances d entités topologiques de niveau directement supérieur, n appartenant pas nécessairement au même solide. Les données topologiques sont partagées, mais chaque BRep descendant reste cohérent. On est donc en présence d une liste chaînée de points d entrée (P i ) sur la structure topologique, chacun d eux représentant le solide à une étape donnée de son histoire. L ordre de complexité de la mise à jour du modèle est sub-linéaire puisque toutes les parties non modifiées sont réutilisées sans duplication [Delmas ]. La Figure 48 illustre cette structure de données à l aide d un solide construit en deux étapes : () construction d un bloc, puis (2) rainurage de la face supérieure (f 6 ). La première racine (S ) du graphe topologique représente le bloc seul, tandis que la deuxième racine (S 2 ) représente le solide final. Il est possible de remarquer que S 2 partage avec S les faces f, f 2
141 ARCHITECTURE PARAMETRIQUE DU MODELEUR 3 et f 4, les arêtes e 2, e 6 et e 7, et les sommets v 6, v 7 et v 8. La gestion de ce type de structure de données est simple mais ne permet pas directement l exploration des objets représentés, en raison de l absence de liens ascendants. La génération d un BRep complet (possible en une unique passe descendante) est nécessaire pour explorer l instance courante. (a) f 5 e 2 v 8 e 8 f 6 5 v v 4 6 e 5 e 4 f 2 e 6 e v v 2 (b) f 5 e e f 3 f 4 e 2 e 3 v 7 e 9 e 7 v 8 v 6e44 f 62 e f 6 5 v v 4 6 e 5 v 3 v 5 e 4 f 2 v v 2 f 3 e 2 f v 2 f 9 e 34 f 8 v 9 e e 33 3 v e 6 v v 3 v 7 v 3 (c) P P 2 s s 2 f f 2 f 3 f 4 f 5 f 6 w w 2 w 3 w 4 w 5 w 6 f 3 f 5 f 6 f 62 f 7 f 8 f 9 w 3 w 5 w 6 w 62 w 7 w 8 w 9 e e 2 e 3 e 4 e 5 e 6 e 7 e 8 e 9 e e e 2 e 3 e 32 e 33 e 34 e 35 e 4 e 42 e 43 e 44 e 45 e 3 e 4 e 5 e 6 v v 2 v 3 v 4 v 5 v 6 v 7 v 8 v 9 v v v 2 v 3 v 4 v 5 v 6 Figure 48 Représentation d un bloc rainuré. (a) Le bloc seul (s ). (b) Le solide final (s 2 ). (c) Structure BRep conservant à chaque étape de construction toute la topologie. (adapté de [Delmas ]) Un autre avantage de cette structure de données est sa capacité à gérer simplement l annulation des dernières actions (undo). En effet, pour passer d une étape de construction i à une étape i -, il suffit de revenir au point d entrée p i-, et de régénérer la géométrie correspondant à cette structure topologique. Il n y a pas de liens ascendants à gérer. S appuyant sur cette structure topologique, CasCade propose un ensemble de fonctionnalités de suivi de l historique des entités, notamment des faces, sur une opération de construction. Cela nous permet de tracer et de conserver, dans le graphe, l historique de toutes les opérations de construction du modèle paramétrique. CasCade répond ainsi à nos besoins de modélisation géométrique (construction, recherche d informations, etc.), ainsi que de gestion de la topologie (historique, exploration, etc.). 2.2 Description paramétrique Il existe diverses stratégies d implémentation de la spécification paramétrique. Audelà de la distinction fonctionnel / équationnel que nous avons déjà évoquée (cf. er chapitre - section 4.), il existe plusieurs modes de définition des caractéristiques de forme. Parmi les définitions les plus courantes, citons par ordre croissant de flexibilité d implémentation [Shah et al. 95] : La définition codée «en dur». Les caractéristiques de formes sont définies dans un langage de programmation, puis compilées et intégrées (linked) au reste du Rappelons que dans l approche fonctionnelle (ou procédurale), les caractéristiques de forme sont définies sous forme de composition de fonctions, donc séquentielles, tandis que dans l approche équationnelle (ou déclarative), elles sont définies par des règles et des contraintes exprimées globalement, sans notion de séquence.
142 32 CHAPITRE 3 INTEGRATION DU MODELE PS 2 A UN MODELEUR GEOMETRIQUE système. Cette approche figée, peu apte à intégrer de nouvelles caractéristiques, est cependant simple à mettre en œuvre. La définition interprétée. Un langage interprété est utilisé pour représenter les caractéristiques de forme. Elles peuvent être éditées et intégrées dynamiquement. Cette approche est plus souple que la précédente puisqu elle permet d inclure, à la volée, de nouvelles définitions de caractéristiques. L inconvénient majeur est la lenteur propre aux langages interprétés. La définition par démonstration. Chaque instance de caractéristique de forme peut servir de modèle (template) pour définir dynamiquement une nouvelle classe de caractéristique. Le modèle peut continuellement être enrichi, mais l espionnage et l interprétation des gestes constructifs peuvent s avérer ardus. L approche la plus simple est la représentation fonctionnelle de la spécification paramétrique (pas de solveur d équations, résultat unique et déterministe, etc.) et un codage «en dur» des caractéristiques de forme (pas d interprétation, pas d espionnage, etc.). Un troisième élément important est le type de lien (d un point de vue implémentation) pouvant exister entre la spécification paramétrique et le noyau géométrique. Les principaux points significatifs sont [Shah et al. 95] : Le niveau d intégration. Le lien peut être statique (c est-à-dire hors ligne au travers d un fichier intermédiaire), ou bien dynamique (c est-à-dire en ligne au travers d appels de fonctions). Le flux de données. Le flux d informations peut être unidirectionnel (l un accède aux informations de l autre ou réciproquement), ou bidirectionnel (l un accède aux informations de l autre et réciproquement). La propagation des opérations. Elle peut être incrémentale (la géométrie est créée, modifiée, détruite à la volée de manière incrémentale), ou bien nonincrémentale (à chaque changement tout le modèle géométrique doit être régénéré). Le contrôle. L un ou l autre des modèles peut être considéré comme le programme principal. L objectif étant de valider notre modèle, nous retenons les solutions d implémentation les plus simples, tout en restant proche des systèmes du marché. Nous avons donc opté pour une liste de caractéristiques de forme, encodées «en dur» dans le système, modifiant incrémentalement la géométrie, et interfacées dynamiquement dans le sens spécification paramétrique vers noyau géométrique, avec un contrôle par la spécification paramétrique. L implémentation des différentes parties : le graphe, les caractéristiques de formes, les paramètres, la spécification paramétrique, etc., est faite dans le langage de programmation orienté objet C Architecture générale Outre le modèle géométrique, décrit à la section 2., notre modèle paramétrique contient la spécification paramétrique qui est une représentation abstraite du processus de construction, ainsi que la structure de noms (basée sur le graphe de coques) qui fait la jonction entre cette représentation abstraite et la géométrie. Bien que notre maquette
143 ARCHITECTURE PARAMETRIQUE DU MODELEUR 33 s appuie sur le langage de programmation C++, nous avons choisi de présenter notre travail, non pas par des blocs de code C++ rébarbatifs ou des diagrammes UML [Rumbaugh et al. 99] souvent ambigus, mais plutôt par des schémas EXPRESS-G [ISO 33-:94] [Schenck et al. 94], dont la représentation permet d avoir une vue synthétique de l ensemble du modèle de données Spécification paramétrique La spécification paramétrique décrit les objets modélisés en termes d entités de haut niveau : les caractéristiques de forme. Comme illustré dans la Figure 49 par un schéma EXPRESS-G, chaque objet paramétrique, modélisé par la classe Objet_ paramétrique, est constitué d une liste de Caractéristique_de_forme (détaillée en section 2.2.2), et optionnellement d une représentation géométrique grâce à l attribut optionnel objet_cascade. Cet attribut géométrique est optionnel, d une part, puisqu un modèle paramétrique (fonctionnel) peut rester valide en dehors de toute valeur géométrique, et, d autre part parce que la géométrie est accessible à travers la coque_ globale, attribut de chaque caractéristique de forme. objet_initial Modèle_ objet_réévalué paramétrique table_des_entités_ référencées L[:?] Paramètre description type index Objet_ paramétrique objet_cascade caractéristiques L[:?] coque_ globale Caractéristique_ de_forme description type Figure 49 Représentation EXPRESS-G de la spécification paramétrique. Le modèle paramétrique est constitué d une liste de paramètres et jusqu à deux objets paramétriques (initial et réévalué) qui sont décrits en termes de caractéristiques de forme. La classe Modèle_paramétrique décrivant l architecture générale de notre modèle paramétrique possède essentiellement trois attributs. Premièrement un objet_initial qui représente l objet paramétrique en construction. Deuxièmement une table_des_entités_ référencées, modélisée par la liste de Paramètre, dont certaines sous-classes, notamment celles des paramètres topologiques (cf. section 2.2.3), contiennent des noms et des caractérisations. Troisièmement, et optionnellement, un objet_réévalué qui est indispensable, lors de la réévaluation. En effet, pour une réévaluation robuste, nous utilisons les graphes initial et réévalué, et avons donc besoin de disposer des deux objets paramétriques. Chaque Caractéristique_de_forme a pour attribut une coque_globale qui est la racine de sa structure hiérarchique et historique. De ce fait, le graphe de faces et de coques n est pas directement représenté dans l objet paramétrique mais existe au travers de toutes les coques globales des caractéristiques de forme. EXPRESS est un langage formel de spécification de données [ISO 33-:94] dont le formalisme graphique appelé EXPRESS-G en simplifie la lecture (voir la section 3 dans les Annexes).
144 34 CHAPITRE 3 INTEGRATION DU MODELE PS 2 A UN MODELEUR GEOMETRIQUE Nœud / Coque Graphe Le graphe de coques / faces est la pierre angulaire de notre modèle paramétrique. Il appartient au niveau de noms, interface entre la géométrie et la spécification paramétrique, et contient tous les éléments indispensables à la nomination et à l appariement des entités du modèle paramétrique. Le graphe est défini par des nœuds représentés par la classe Coque qui, au travers de ses attributs (vers la classe Coque elle-même) décrit toute la structure historique et hiérarchique. La Figure 5 montre un schéma EXPRESS-G du graphe de coques / faces de notre modèle paramétrique. Ainsi, l attribut optionnel prédécesseur_historique et l attribut successeurs_historiques (modélisé par une liste) représentent les liens historiques traçant l évolution des faces et des coques du modèle. L attribut est optionnel et la liste peut être vide s il n y a pas de prédécesseur (par exemple pour une coque initiale), respectivement de successeurs historiques (par exemple pour une face existant dans la géométrie). De même, les attributs parents et enfants (référençant la classe Coque) représentent, par des listes, les liens de la structure hiérarchique. Ces listes peuvent également être vides. Les liens de recouvrement sont modélisés par deux listes de Ratio grâce aux attributs AG et NG reliant le graphe initial au graphe réévalué. Liens historiques successeurs_historiques L[:?] prédécesseur_historique description caractérisation Caractérisation num_étape num_itératif_ou_sid * caractérisation_ topologique L[:?] Liens hiérarchiques nom Coque parents L[:?] Nom (DER) numéro_étape (DER) numéro_itératif Liens de recouvrement enfants L[:?] face NG L[:?] * AG L[:?] delta_ delta_ Ratio Objet_CasCade Figure 5 Représentation EXPRESS-G d une Coque. La définition du graphe est comprise dans la classe Coque qui, par ses attributs-coques, représente toute la structure hiérarchique et historique, ainsi que les liens de recouvrement. La nomination est faite au travers des classes Caractérisation et Nom référencées par chaque coque. La caractérisation, telle que nous l avons décrite dans le chapitre précédent, est modélisée par la classe Caractérisation à laquelle sont associés trois attributs. Premièrement, l attribut num_étape qui représente l ordre de création de la coque. Deuxièmement, l attribut optionnel num_étape_ou_sid qui représente pour les faces invariantes (respectivement les coques invariantes) le numéro issu de l algorithme de parcours topologique (respectivement l identifiant issu de notre taxonomie de caractéristiques de forme). Et troisièmement, l attribut optionnel caractérisation_ topologique qui est une liste de noms représentant pour les faces contingentes (respectivement les coques contingentes) le voisinage topologique (respectivement le contenu topologique). Cet attribut est optionnel puisque les faces et coques invariantes ne sont pas caractérisées topologiquement. Le nom, modélisé par la classe Nom, identifie par Dans notre maquette de système de CAO, nous n avons pas modélisé les caractérisations faisant références, pour la nomination, aux entités 2D.
145 ARCHITECTURE PARAMETRIQUE DU MODELEUR 35 deux numéros (représentés par les attributs dérivés numéro_étape et numéro_itératif), de façon simple et homogène, chaque coque. Chaque nœud du graphe représentant une coque / face (modélisé par la classe Coque), possède comme attribut optionnel une face appartenant au noyau géométrique modélisé par la classe Objet_CasCade. Cet attribut face est optionnel puisqu une coque / face peut ne pas avoir de pendant géométrique Structure générale La réunion des deux schémas EXPRESS-G précédents donne, comme l illustre la Figure 5, une vue d ensemble de notre modèle paramétrique. Les trois niveaux (spécification / noms / géométrie) se distinguent très nettement, et il est, en particulier, possible de remarquer les liens existant entre ces trois niveaux. Modèle_ paramétrique objet_initial table_des_entités_ référencées L[:?] objet_réévalué Objet_ paramétrique objet_cascade caractéristiques L[:?] coque_ globale Caractéristique_ de_forme description type Spécification paramétrique successeurs_historiques L[:?] prédécesseur_historique description caractérisation Caractérisation Noms num_étape num_itératif_ou_sid * caractérisation_ topologique L[:?] Coque nom Nom (DER) numéro_étape Paramètre description type index parents L[:?] enfants L[:?] face NG L[:?] * AG L[:?] delta_ delta_ Ratio Objet_CasCade (DER) numéro_itératif Géométrie Figure 5 Représentation EXPRESS-G du modèle paramétrique PS 2. Remarquons les trois niveaux : la spécification paramétrique (classes Modèle_paramétrique, Objet_paramétrique et Caractéristique_de_forme) ; les noms (classes Coque, Ratio, Paramètre, Nom et Caractérisation) ; et la géométrie (classe Objet_CasCade). La spécification paramétrique est en relation avec le niveau des noms à travers la coque globale, point d entrée de la structure hiérarchique propre à chaque caractéristique de forme. Le lien entre ces deux niveaux est également établi à travers la liste des paramètres (attribut table_des_entités_référencées ) qui sont identifiés par un index (attribut index de la classe Paramètre) et dont certains, notamment ceux de type topologique, contiennent une caractérisation (cf. section 2.2.3). Enfin, chaque caractéristique de forme contient, pour son positionnement et son dimensionnement, des références aux paramètres de la table des entités référencées. Ce lien n est pas représenté sur la Figure 5 dans la classe abstraite Caractéristique_de_forme car il n apparaît que dans les sous-classes sous forme d un ou plusieurs index (cf. section 2.2.2) référençant les paramètres dans la table des entités référencées associée au modèle. Les coques globales, ainsi que la table des entités référencées, modélisent dans notre modèle, le découplage spécification / noms.
146 36 CHAPITRE 3 INTEGRATION DU MODELE PS 2 A UN MODELEUR GEOMETRIQUE Le niveau des noms est en relation avec la géométrie à travers l attribut optionnel face de la classe Coque. Toute la nomination étant faite par rapport aux faces, cet attribut, convenablement mis à jour, suffit à modéliser la composante nom / géométrie du découplage que nous prônons entre la spécification paramétrique et la géométrie dans un modèle paramétrique Caractéristiques de forme Les caractéristiques de forme sont définies comme des classes d objets respectant la structure de notre taxonomie de caractéristiques de forme (cf. 2 ème chapitre - section 2.2). En tant qu objet, chaque classe de caractéristiques de forme (Extrusion, Rainure, Transition, etc.) hérite de la classe Caractéristique_de_forme, est définie par un certain nombre d attributs, et est associée à des méthodes de construction, de modification, etc.. La Figure 52 présente le schéma EXPRESS-G de cette hiérarchie de classes où, par héritage, chaque classe de caractéristiques de forme possède, entre autres, une coque_ globale qui porte sa structure hiérarchique et historique, et qui la relie au graphe du modèle paramétrique. description STRING Coque coque_globale Caractéristique_ de_forme type t_type Volume_de_base Transition Texture Extrusion Rainure Arrondi Couleur * polyligne * vecteur * face_d_appui * arête_d_appui * polyligne * longueur * arête * rayon * face * teinte Figure 52 Représentation EXPRESS-G de la classe des caractéristiques de forme. Mentionnons que EXPRESS-G ne représente pas les méthodes associées aux classes, donc seuls les attributs sont représentés. Une particularité de nos caractéristiques de forme est qu elles ne contiennent pas directement leurs paramètres, mais une référence (modélisée par un entier) vers les paramètres. Nous avions déjà signalé, dans la section 3.3. du chapitre précédent, ce découplage pour les paramètres topologiques. La spécification paramétrique ne contenait qu un index correspondant à une entrée de la table des entités référencées. Nous généralisons ce découplage pour avoir un traitement homogène de tous les paramètres. Ainsi, la classe Arrondi, outre les attributs hérités, possède deux attributs : le paramètre arête qui est en fait un entier référençant un nom (attribut index de la classe Paramètre), et le paramètre rayon représenté par une référence à sa valeur conservée dans la liste des paramètres (attribut table_des_entités_référencées de la classe Modèle_ paramétrique).
147 ARCHITECTURE PARAMETRIQUE DU MODELEUR Paramètres La hiérarchie de la classe Paramètre structure les paramètres suivant leur type, en paramètres Topologique, Numérique ou Géométrique. Chaque paramètre est associé à son évaluation qui est respectivement une caractérisation, une valeur numérique, ou un objet géométrique de CasCade. La Figure 53 ci-dessous schématise en EXPRESS-G la classe Paramètre et ses attributs. description STRING INTEGER index Paramètre type t_type Topologique caractérisation Numérique valeur Géométrique objet_cascade p_coque p_face p_arête p_entier p_réel p_vecteur p_polyligne p_couleur Figure 53 Représentation EXPRESS-G de la classe des paramètres. Cette façon de définir les paramètres permet de faire correspondre la table des entités référencées à la liste des paramètres décrivant le modèle paramétrique. Chaque caractéristique de forme a pour paramètres des entiers qui constituent les points d entrée de la liste des paramètres, ce qui équivaut à l index de la table des entités référencées (modélisé par l attribut index de la classe Paramètre). Les paramètres topologiques possèdent comme attribut une caractérisation dont la résolution donnent une ou plusieurs instances géométriques du modèle courant. Ce mécanisme découple donc, comme en programmation, variable / contenu, paramètre / valeur, caractérisation / évaluation, nom / entité et finalement spécification / géométrie. 2.3 Modes de fonctionnement Il y a essentiellement deux modes de fonctionnement du système basé sur notre modèle PS 2 : () la construction du modèle dont l élément critique est la nomination ; et (2) sa modification, c est-à-dire sa réévaluation en fonction de paramètres différents, dont la robustesse est assurée par un mécanisme d appariement Construction Nomination Comme nous l avons déjà mentionné, un objet paramétrique comporte une description abstraite et une description géométrique, reliées entre-elles par un niveau de noms. Il s agit donc, lors de la construction de chaque caractéristique de forme, de gérer en parallèle ces trois niveaux. Déroulons un exemple de construction sur lequel, outre la spécification, les noms et la géométrie, nous pouvons remarquer la distinction invariant / contingent. Cet exemple regroupe tous les aspects (dialogue, fonctionnement interne, visualisation) intervenant pendant la construction d une caractéristique de forme. Pour bien comprendre le fonctionnement du système, parallèlement à la présentation théorique, nous développons l exemple d une rainure posée sur un bloc (cf. er chapitre - Figure 6, 2 ème chapitre - Figure 25 et Annexes - Figure 6).
148 38 CHAPITRE 3 INTEGRATION DU MODELE PS 2 A UN MODELEUR GEOMETRIQUE Phase invariante. Elle correspond à l évolution du modèle avant toute interaction entre la géométrie de la caractéristique de forme et la géométrie déjà existante de l objet. Construction d une nouvelle caractéristique. Nous admettons qu un objet courant existe, aussi bien dans la spécification que dans la géométrie, et qu il est parfaitement nommé. Tâche Réalisation sur l exemple Bloc extrudé existant avec les noms f., f.2,, f.6, etc.. Choix, dans un menu, du type de la Choix de rainure dans un menu. nouvelle caractéristique. Sélection graphique sur l objet courant des entités topologiques servant de paramètres à la nouvelle caractéristique. Dessin interactif de la nouvelle caractéristique. Création de la géométrie de la nouvelle caractéristique. Clic sur la face d appui f 5 et sur l arête d appui e 4, puis récupération des pointeurs vers f 5 et e 4. Construction d un contour 2D, puis extrusion de celui-ci. Conservation de certains pointeurs 2D (contour, première arête, etc.). Génération de la géométrie par CasCade. Nomination invariante. À ce stade, seule la géométrie existe, toutes les actions se sont faites par rapport à des pointeurs géométriques auxquels il faut associer des noms. On nomme d abord (table des entités référencées) les entités existantes qui servent de paramètres à la nouvelle caractéristique, puis (graphe des coques) les coques invariantes créées avant interaction avec la géométrie. Existence de pointeurs vers la face CasCade f 5 et l arête CasCade e 4. Création (sommets, arêtes, etc.) ou bien récupération (faces ou coques) du nom des entités référencées (les paramètres topologiques) par la nouvelle caractéristique. À partir de la géométrie et de la topologie de l objet courant, le graphe est parcouru à la recherche du nom des faces et des coques impliquées dans la construction. Mise en correspondance de la face CasCade f 5 avec le nom f,5. Création, pour l arête CasCade e 4, de la caractérisation <(f., f.5 ) ; (f.4 ) ; (f.2 )>, en fonction du voisinage topologique connu par CasCade et en fonction des noms déjà existant.
149 ARCHITECTURE PARAMETRIQUE DU MODELEUR 39 Nomination de la géométrie brute de la nouvelle caractéristique suivant notre taxonomie de caractéristiques de forme (pour les coques), et nos algorithmes de nomination (pour les faces). Remplissage du graphe par les invariants. Remplissage de la hiérarchie de coques (cf. Figure 9) en fonction de la topologie. Par exemple, le contour 2D indique quelle est la coque initiale. Numérotation des faces à partir de la première arête du contour 2D. Création des noms f 2., f 2.2,, f 2.5, f 2.6. Remplissage de la spécification paramétrique. Il y a principalement deux informations qui sont conservées, la table des entités référencées et la spécification proprement dite. Mise à jour de la table des entités référencées. La liste des paramètres de la nouvelle caractéristique est rajoutée. Enregistrement de la spécification en tant que représentation abstraite de l objet géométrique. Ajout des paramètres dans la table [ <f,5 > <(f., f.5 );(f.4 );(f.2 )> <p_polyligne> <p_longueur> ]. Rainure (#3, #4, #5, #6,). Les #i étant les index de la table (#3 correspond à <f,5 >). Phase contingente. Elle correspond à l interaction entre la caractéristique de forme et les caractéristiques de forme déjà existantes (géométrie de l objet courant). Construction. Le plongement de la nouvelle caractéristique de forme dans le reste de la géométrie produit des changements, en particulier des évolutions de faces qu il faut traiter. Création de la géométrie du résultat. Conservation locale de l évolution des faces par CasCade. Nomination contingente. Il s agit de suivre toutes les évolutions (disparitions, modifications et scissions) des coques et des faces. Modification des nœuds du graphe en mentionnant soit qu ils ont disparu, soit que leur voisinage / contenu a changé. Création de nouvelles faces par scission de faces existantes. La face f 2.5 disparaît et la face f.3 voit son voisinage topologique changer ; elle devient f 2.9. Apparition des faces f 2.7 et f 2.8 issues de la face f.. Notons que la table des entités référencées de la Figure 25 est une version simplifiée, et qu elle ne correspond pas totalement à notre exemple.
150 4 CHAPITRE 3 INTEGRATION DU MODELE PS 2 A UN MODELEUR GEOMETRIQUE Par rapport à la persistance des noms dans les modèles paramétriques, il a essentiellement deux algorithmes qui sont mis en œuvre : l algorithme de la nomination invariante et l algorithme de la nomination contingente. Entrées : Ancien Graphe, Caractéristique. Sorties : Ancien Graphe. Algorithme : Création de la hiérarchie de coques codée dans notre taxonomie. Parcours de la géométrie pour nommer chacune des faces (cf. 2 ème chapitre - section ). Tableau 3 Signature et algorithme de la nomination invariante. Notons que la dénomination Ancien Graphe désigne le graphe initial bien que le Nouveau Graphe n existe pas encore. Entrées : Ancien Graphe, Évolution des faces fourni par CasCade. Sorties : Ancien Graphe. Algorithme : Pour chaque face disparue : création d un nœud poubelle. Pour chaque face modifiée : création d un nouveau nœud, nomination du nœud (modification du voisinage, etc.) et mise à jour des liens historiques. Pour chaque face scindée : création de nouveaux nœuds, nomination des nœuds, et mise à jour des liens historiques. Propagation des évolutions aux coques. Tableau 32 Signature et algorithme de la nomination contingente Réévaluation Appariement La réévaluation consiste en l exécution de la spécification paramétrique avec des valeurs de paramètres différentes de celles de la construction. Les variations de topologie que cela entraîne peuvent rendre la spécification paramétrique incohérente par rapport à la géométrie existante, d où la nécessité d un appariement. Dans le chapitre précédent (cf. section 3.3.2), nous avons proposé la mise en œuvre de deux appariements distincts. Il s agit, premièrement, de la mise en correspondance des graphes initial et réévalué, afin de permettre dans un deuxième temps la résolution des entités référencées, c est-à-dire le calcul pour chaque nom, inclus dans la spécification paramétrique, de sa valeur topologique Appariement des graphes De manière stricte, l appariement des graphes recouvre une composante de nomination du nouveau graphe puisque les coques et les faces doivent être nommées, et une composante de mise en correspondance du nouveau graphe et de l ancien graphe. Pour chaque caractéristique réévaluée il y a donc une nomination similaire à celle réalisée en construction, mais avec, étape après étape, un appariement qui établit les liens de recouvrement. Le mécanisme d appariement itère, étape après étape, en passant par trois phases (pour chaque étape).
151 ARCHITECTURE PARAMETRIQUE DU MODELEUR 4 Résolution du nom des entités référencées (cf. section ). Toutes les entités topologiques dépendent pour la nomination du nom des faces dont toute modification doit être répercutée à l ensemble des entités nommées, et chaque entités référencées doit être mise à jour. Phase invariante. Elle concerne (comme en construction) la structure invariante de chaque caractéristique de forme. Nomination de la structure invariante. Les coques et les faces sont nommées comme en construction. Appariement des faces de la structure invariante. Cet appariement n est nécessaire que pour les structures invariantes à topologie variable. Un calcul de recouvrement est effectué pour toutes les faces, puis pour toutes les coques. En cas de topologie fixe ces calculs sont immédiats. Phase contingente. Elle concerne toutes les faces et les coques apparues pendant l étape en cours, et diffère principalement de la phase invariante par le calcul des liens de recouvrement entre les nœuds des graphes. Nomination des faces et coques contingente. Les faces et les coques sont nommées en un premier temps par rapport à la nouvelle géométrie. Appariement contingent. Pour toutes les faces contingentes puis toutes les coques contingentes, les calculs de recouvrement sont effectués pour des sous-ensembles de nœuds dont les prédécesseurs historiques sont reliés par des liens de recouvrement. Choix des noms définitifs en fonction des règles choisies d appariement. Rappelons que le calcul des recouvrement s effectue de façon générique, mais qu il peut être limité à des relations univoques entre faces et coques. Dans ce cas, les noms peuvent être propagés, étape après étape, de l ancien graphe au nouveau graphe Résolution du nom des entités référencées. Le nom, c est-à-dire la caractérisation, d une entité référencée peut être considéré comme une fonction. Résoudre le nom consiste donc simplement à évaluer cette fonction avec de nouvelles valeurs. Reprenons l exemple de la Figure 25 du deuxième chapitre (voir aussi la Figure 6 des Annexes) pour illustrer une résolution de nom. L arête arrondie, référencée dans CasCade par e 3, et dont la caractérisation paramétrique est <(f 2.8, f.4 ) ; (f.3 ) ; (f.5 )> en construction, doit être retrouvée en réévaluation lorsqu il s agit à nouveau d arrondir cette arête. La face f 2.8 est scindée en deux faces f 3.5 et f 3.6, tandis que les faces f.4, f.3 et f.5 n ont pas été scindées. En combinant ces noms de face il est possible de créer deux nouvelles caractérisations d arête <(f 3.5, f.4 ) ; (f.3 ) ; (f.5 )> et <(f 3.6, f.4 ) ; (f.3 ) ; (f.5 )>, mais malheureusement ces caractérisations ne correspondent à aucune arête existant dans la géométrie. Ils s agit donc de relâcher quelques contraintes et de résoudre le nom sur la géométrie réévaluée comme nous l avons décrit dans la section 5.3 du deuxième chapitre. Deux morceaux d arête sont obtenus, même s ils ne correspondent pas totalement à l arête initiale recherchée. Les résultats de la résolution du nom des entités référencées sont transmis à la fonction de construction paramétrique, qui suivant son type, accepte aucune, une ou plusieurs entités topologiques. Les fonctions paramétriques encapsulent les fonctions géométriques. Ainsi, puisqu un arrondi peut se faire sur plusieurs arêtes, la fonction
152 42 CHAPITRE 3 INTEGRATION DU MODELE PS 2 A UN MODELEUR GEOMETRIQUE paramétrique d arrondi (P_Arrondir_Arête) contient itérativement une liste de fonctions géométriques d arrondi (G_Arrondir_Arête). P_Arrondir_Arête (liste_d_arêtes, rayon) { Pour chaque arête de la liste_d_arêtes ; { G_Arrondir_Arête (arête, rayon) } } Chaque type de fonction paramétrique est un cas particulier, et l acceptation ou le refus de multiples entités est du ressort du concepteur (éventuellement de l utilisateur) de système paramétrique de CAO. Pour un arrondi, nous estimons que plusieurs arêtes sont acceptables, tandis que pour une rainure nous pensons que son application ne peut se faire qu une fois. Ainsi, la fonction paramétrique de rainurage (P_Rainure) n encapsule qu une seule fonction géométrique de rainurage (G_Rainure), et propose un traitement (application par défaut, sollicitation de l utilisateur, etc.) pour tous les autres cas. P_Rainure (liste_de_faces, liste_d_arêtes, transfo, polyligne, longueur) { Si la liste_de_faces est un singleton ET la liste_d_arêtes est un singleton ALORS { G_Rainure (face, arête, transfo, polyligne, longueur) ; } SINON { //Traitement des différents cas } } 3 Description de l interface du modeleur Le but de notre maquette est de valider notre modèle paramétrique, c est-à-dire le noyau fonctionnel de notre système de CAO, l interface homme-machine étant une préoccupation secondaire. Nous présentons donc seulement brièvement dans cette section l interaction avec ce noyau fonctionnel. Bien que mal adapté et peu efficace, l interaction avec le modèle paramétrique pourrait parfaitement s effectuer de façon statique à travers un fichier textuel. Néanmoins, vu la convivialité d une interface graphique, et la richesse des environnements de développement actuels, nous proposons un prototype proche des systèmes de CAO usuels avec, basé sur le modèle H 4, une interface et un dialogue structuré. 3. Modèle H 4 Parmi les modèles d architecture d applications interactives disponibles, nous avons choisi le modèle H 4, d une part puisqu il a été créé pour répondre aux besoins des concepteurs de systèmes de CAO en terme d architecture, et, d autre part parce qu il décrit précisément, non seulement le découpage général de l application, mais aussi le rôle des différents modules et la façon de les concevoir. Le modèle H 4 est composé de cinq modules dont deux modules d interfaçage (les adaptateurs) [Guittet 95] [Texier ].
153 DESCRIPTION DE L INTERFACE DU MODELEUR 43 Le noyau fonctionnel qui décrit le modèle de données relatif à l application, ainsi que les primitives agissant sur ce modèle. Dans notre cas il s agit du modèle paramétrique, y compris le noyau géométrique de CasCade. L adaptateur de noyau fonctionnel qui est chargé de l appel des actions du noyau fonctionnel selon les demandes de l utilisateur qui transitent par le contrôleur de dialogue. Il transforme les données venant du contrôleur de dialogue en données utilisable par le noyau fonctionnel, et gère l affichage des données du noyau fonctionnel en utilisant des primitives fournies par l adaptateur de présentation. Il assure donc une certaine indépendance entre dialogue et noyau fonctionnel. Le contrôleur de dialogue qui gère le flot des entrées de l utilisateur venant de l adaptateur de présentation. Il appel l adaptateur de noyau fonctionnel afin de réaliser des actions sur le noyau fonctionnel. Il structure le dialogue en tâches et sous-tâches. L adaptateur de présentation qui est une boîte à outils virtuelle assurant l indépendance entre l application et le système de fenêtrage avec ses objets d interaction spécifiques (boutons, menus, etc.). Il transforme les données venant de l utilisateur en données utilisables par le contrôleur de dialogue. La présentation qui gère les entrées et les sorties de l application (tant physiques que logicielles) à l aide d éléments d interaction. Elle correspond à l instanciation d une boîte à outils. Contrôleur de dialogue automates Adaptateur de noyau fonctionnel commandes Noyau fonctionnel (modèle paramétrique) Spécification paramétrique Droite(cercle, point) Noms Géométrie de CasCade Adaptateur de présentation & Présentation MFC et AIS de CasCade Figure 54 Architecture générale du système basé sur notre modèle PS 2 dont l IHM est basée sur le modèle H 4. Dans la section. nous avons vu que les interactions avec un système de CAO se fondent sur un dialogue structuré. Le modèle H 4 décrit précisément le fonctionnement du dialogue et le rôle de la couche de présentation. Pour atteindre un but de haut niveau, l utilisateur décompose celui-ci en sous-buts afin d atteindre des buts suffisamment modestes pour pouvoir être réalisés directement par des actions disponibles dans le système. Cette décomposition en buts / sous-buts [Norman 86] correspond à la notion de tâches structurées qui sont caractérisées par le fait qu elles utilisent / consomment des résultats produits par d autres tâches. Ainsi, la construction d une droite tangente à un cercle et passant par un point, qui lui-même est l intersection de
154 44 CHAPITRE 3 INTEGRATION DU MODELE PS 2 A UN MODELEUR GEOMETRIQUE deux segments, consomme un cercle et un point qui ont été produits par la fonction de désignation du cercle, et la fonction de calcul d intersection de segments. Ce dialogue structuré est modélisé dans le modèle H 4 par une hiérarchie d automates à états finis de type ATM [Woods 7] consommant et produisant des jetons qui représentent les commandes et les paramètres du système. Cette hiérarchie d automates sert à contrôler le dialogue en gérant l appel des fonctions du noyau fonctionnel. La couche de présentation et l adaptateur de présentation transforment les entrées de l utilisateur en jetons utilisables par le contrôleur. L instanciation d une boîte à outils, et la description des liens entres les objets d interaction (widgets) et les jetons, permettent à l utilisateur de communiquer avec le reste de l application. 3.2 Interface Pour programmer effectivement l interface de notre modèle, nous avons choisi les MFC (Microsoft Foundation Classes) de Microsoft [Prosise 99] et l AIS (Application Interactive Services) de CasCade, car ce couplage offre un dispositif répondant parfaitement aux besoins d un système de CAO en terme de boîte à outils. Nous disposons ainsi, non seulement des nombreuses possibilités offertes par l une des boîtes à outils les plus utilisées aujourd hui (MFC), mais aussi d un environnement graphique complet (AIS), permettant d afficher et de manipuler des formes 2D et 3D. La partie graphique de CasCade permet de visualiser un modèle BRep en instanciant des AIS_Shape qui sont des objets graphiques connaissant leur structure interne (sommets, arêtes, faces, etc.). Cela présente l avantage de permettre la désignation au niveau de la couche de présentation, sans faire appel au noyau fonctionnel. L interface du système basé sur notre modèle PS 2 possède diverses zones d affichage permettant de visualiser les différents éléments (spécification, graphe, coques, géométrie, etc.) du modèle paramétrique. Les commandes du système sont représentées par des boutons et des cases de menus. ATM : Augmented Transitions Network RTA : Réseau de Transitions Augmenté [Woods 7].
155 DESCRIPTION DE L INTERFACE DU MODELEUR 45 Figure 55 Interface du système basé sur le modèle PS 2 avec les commandes de création de caractéristiques de forme, la fenêtre de visualisation de la géométrie, la fenêtre de visualisation du graphe et la barre de dialogue. La Figure 55 montre l interface du système qui est principalement composée de deux zones de visualisation. La première, à gauche, possède deux fenêtres qui permettent pour l une, l affichage de l objet géométrique, et pour l autre, l affichage du graphe de coques et de faces. La seconde zone de visualisation, située à droite de l interface, est essentiellement composée d une barre de dialogue affichant alternativement la spécification paramétrique et toutes les informations sur les coques Visualisation de la géométrie Comme l illustre la Figure 55, l interface comporte une fenêtre pour afficher la composante géométrique des caractéristiques de forme. Cette fenêtre permet de créer interactivement et graphiquement les caractéristiques de forme et d afficher le résultat de leurs interactions sous forme de l objet géométrique final. Cette fenêtre est également utilisée pendant la construction pour la désignation des entités topologiques (faces, arêtes, etc.) intervenant comme paramètres d entrée des caractéristiques de forme Visualisation du graphe Les caractéristiques de forme peuvent également être présentées d un point de vue graphe. La structure de graphe dispose de deux zones de visualisation pour s afficher. Principalement, une fenêtre (Figure 55) qui affiche le graphe de coques / faces dans son intégralité. Les liens hiérarchiques et historiques, ainsi que l étiquette de chaque nœud sont
156 46 CHAPITRE 3 INTEGRATION DU MODELE PS 2 A UN MODELEUR GEOMETRIQUE affichés. Secondairement, une barre de dialogue (Figure 56) affichant certaines informations sur les coques. La Figure 56 ci-contre, montre cette barre de dialogue qui, à travers des onglets, rend alternativement accessibles diverses informations sur notre modèle paramétrique. En particulier, pour un nœud désigné dans la fenêtre de visualisation du graphe, l onglet «Coques», présente toutes les informations concernant ce nœud. Pour chaque nœud du graphe, c est-à-dire chaque coque / face, il s agit de son étiquette, de son statu d invariant ou de contingent, de son niveau dans la hiérarchie, de la correspondance ou non avec une face géométrique, de son voisinage topologique, de son contenu topologique, et finalement de la structure de graphe avec son ascendant et ses descendants hiérarchiques, son prédécesseur et ses successeurs historiques. Figure 56 Barre de dialogue visualisant certaines informations (nom, structure hiérarchique, historique, etc.) d une coque donnée Visualisation de la spécification paramétrique et des paramètres La barre de dialogue, à travers l onglet «Features (paramètres)» visualise les caractéristiques de forme grâce à la représentation d un arbre de construction (cf. Figure 57 ci-contre). Le premier niveau dans l arbre de construction représente la liste de caractéristiques de forme (fi), c est-à-dire la spécification paramétrique. Le deuxième niveau représente la liste des paramètres (#j), ce qui est équivalent, comme nous l avons montré dans la section 2.2.3, à la table des entités référencées. Le troisième niveau permet d afficher des informations sur le contenu (essentiellement les valeurs) des paramètres. Outre la visualisation de toutes les étapes de construction, cette barre de dialogue permet la modification des paramètres. Figure 57 Barre de dialogue affichant la spécification paramétrique sous forme d arbre de construction avec ses caractéristiques de forme (fi) et leurs paramètres (#j).
157 DESCRIPTION DE L INTERFACE DU MODELEUR Dialogue Outre les commandes de visualisation des différentes composantes du modèle paramétrique, les interactions avec le système se font principalement lors de la construction des caractéristiques de forme et pendant la modification de leurs paramètres. Comme la construction se fait graphiquement et interactivement, son dialogue structuré est basé sur des automates qui modélisent les séquences et structures de commandes propres à la conception géométrique. Pour la réévaluation, il s agit uniquement de modifications de paramètres qui peuvent s opérer grâce à la boîte de dialogue présentée en Figure Construction Automates Du point de vue dialogue, la construction est une succession de gestes constructifs modélisés par des automates à états finis. Les automates sont conçus à partir de la signature des fonctions de construction des objets paramétriques. Ainsi, comme illustré sur la Figure 58, la fonction Arrondir (arête, rayon) va être représentée par un automate comprenant trois états : () l État_initial, état par défaut de l automate dont le changement d état est activé par le jeton-commande <c_arrondir> qui valide la transition vers (2) l État_attente_arête pour lequel le jeton-paramètre <p_arête> valide la transition vers (3) l État_attente_rayon où, le jeton-paramètre <p_rayon> ramène l automate dans son état initial. L automate d arrondi d arête est activé par la réception et la consommation du jeton-commande de construction d arrondi, puis il attend la sélection d une arête. L arête sélectionnée, encapsulée dans le jeton <p_arête>, lui-même produit par l automate de désignation, est la transition qui va entraîner le changement d état et ouvrir la boîte de saisie pour entrer le réel représentant le rayon. Une fois le paramètrerayon obtenu, l automate peut appeler la commande (fonction) de construction d une arête arrondie, avant de revenir à son état initial. Circulation des <jetons> <c_arrondir> État_initial État_attente _arête <p_rayon> <p_arête> État_attente _rayon Appel de la commande paramétrique de création d une arête arrondie Figure 58 Automate gérant le dialogue de création d une arête arrondie. Les <jetons> de commandes et de paramètres activent l automate et valident les transitions entre ses différents états. Le retour à l état initial lance la commande de construction paramétrique. Chaque fonction du système est modélisée, du point de vue dialogue, par un automate à états finis, consommant et produisant des jetons qui véhiculent les commandes de l utilisateur, d automate en automate, au sein du contrôleur de dialogue Modification Réévaluation Pour simplifier les interactions graphiques, les modifications se font uniquement à travers la barre de dialogue de visualisation de la spécification paramétrique et des
158 48 CHAPITRE 3 INTEGRATION DU MODELE PS 2 A UN MODELEUR GEOMETRIQUE paramètres (cf. Figure 57). Ainsi, pour modifier le paramètre-rayon de l arrondi, l utilisateur, en cliquant et en activant la modification dans la barre de dialogue, va ouvrir une boîte de dialogue demandant la saisie d un réel. L utilisateur peut ensuite lancer la réévaluation, qui d un point de vue interaction se limite à l activation d une seule commande («réévaluer») et éventuellement à l affichage de l état de progression de la réévaluation. 4 Conclusion Dans ce chapitre, nous avons présenté, les principes et l architecture de la maquette de système de CAO que nous avons implémenté pour valider notre modèle PS 2. Le rôle de ce chapitre a été triple. Premièrement, montrer la faisabilité de l intégration de notre modèle paramétrique PS 2 au sein d un système de CAO conforme à l état actuel de l art. Pour cela, nous nous sommes efforcé, pour chaque composante de notre maquette, de présenter les stratégies d implémentation les plus courantes, et ainsi de justifier les choix que nous avons pu faire, aussi bien du point de vue de l intégration du modèle paramétrique, que du point de vue de l interface homme-machine. La spécification paramétrique est ainsi modélisée simplement par une composition de fonctions représentant les caractéristiques de forme disponibles dans le modèle. Ce choix permet une implémentation rapide du système, et est en adéquation avec les modèles paramétriques fonctionnels communs aux modeleurs 3D. L interface de notre prototype est basée sur une boîte à outils très répandue et largement utilisée dans le domaine de la CAO, rendant ainsi sa présentation, et ses interactions proches des systèmes commerciaux. Deuxièmement, montrer la faisabilité d implémentation de notre modèle paramétrique lui-même tel que nous l avons longuement exposé de façon théorique dans le chapitre précédent. Nous avons d abord formalisé toutes les structures de données nécessaires à l aide d EXPRESS-G, puis nous les avons codées en C++. Le découpage du modèle paramétrique PS 2 en trois niveaux (spécification paramétrique / noms / géométrie), les algorithmes de nomination, les mécanismes d appariement, ainsi que les structures de données (graphe de coques / faces, table des entités référencées), détaillés dans le deuxième chapitre sont ainsi mis en œuvre dans ce chapitre-ci, et implémentés à l aide des environnements de développement Visual C++ (MFC) et CasCade (AIS et géométrie). Troisièmement, proposer une architecture globale pour les systèmes de CAO paramétriques composée de trois parties : l interface, le dialogue et le noyau fonctionnel (notre modèle paramétrique). L interface graphique alimente le dialogue structuré, modélisé par des automates à états finis, qui représentent la décomposition en tâches et sous-tâches des intentions de conception de l utilisateur. Ces automates permettent alors très facilement d isoler puis d enregistrer, au sein de la spécification paramétrique du noyau fonctionnel, l historique des commandes réalisées par le concepteur. Notre travail théorique sur le modèle PS 2, présenté dans le deuxième chapitre, a été au-delà de notre implémentation de la maquette qui se restreint à des objets polyédriques 2D-variétés construits à partir d un sous-ensemble des fonctions de construction (bloc, rainure, etc.). Du point de vue graphe de coques / faces le suivi de l évolution des faces est actuellement réalisé, tandis que l historique des coques n a pas été implémenté. En l état,
159 CONCLUSION 49 cette maquette montre donc la faisabilité de l approche que nous proposons et suggère de la mettre en œuvre à une échelle plus industrielle pour la valider du point de vue de l utilisateur.
160
161 Conclusion générale La modélisation paramétrique, de part sa structure duale comprenant à la fois une représentation abstraite (la spécification paramétrique) et une représentation explicite (la géométrie), pose le problème de la nomination persistante qui résulte de la nécessité de maintenir un lien entre ces deux représentations afin de pouvoir réévaluer la seconde à partir de la première. En effet, la spécification paramétrique contient pour définir les paramètres des différentes fonctions de construction représentées, des références vers la géométrie / topologie qui, en modélisation paramétrique, peut varier d une réévaluation à l autre, rendant caduques ces références. Le problème de la nomination persistante consiste à permettre d identifier une entité dans un modèle paramétrique initial et de la retrouver dans un modèle réévalué. L analyse de ce problème nous a amené à nous poser plusieurs questions sur la modélisation paramétrique : pourquoi faut-il un nom? comment construire ce nom? que faut-il nommer? La réponse à ces questions a précisé le problème de la nomination persistante et nous a conduit à identifier trois sous-problèmes dont la résolution a constitué les objectifs de notre thèse. Nous avons donc étudié trois problèmes grandement indépendants : L identification. Il s agit de caractériser les entités topologiques d un modèle paramétrique de telle sorte qu elles soient, en construction, référençables et discernables les unes des autres. La quantification des ressemblances. Lorsque le résultat de la réévaluation n est pas isomorphe au modèle initial, la mesure de ressemblance par une fonction tout ou rien n est d aucune utilité. Il est nécessaire de quantifier plus finement les ressemblances / dissemblances entre entités. L appariement. C est la nécessité, en réévaluation, de retrouver / reconnaître les entités du modèle initial, qui constituent des paramètres d entrée de la spécification paramétrique. Ceci se traduit par la capacité de mettre en correspondance les entités initiales avec des entités du modèle réévalué. Dans la première section de cette conclusion, nous présentons le travail que nous avons réalisé en montrant notre apport, les résultats obtenus ainsi que les limites de notre modèle. L existence de ces limites nous amène à présenter, dans la deuxième section, les prolongements intéressants et les perspectives de recherche. 5
162 52 CONCLUSION GENERALE Travail réalisé Dans le premier chapitre, par notre travail d analyse de l existant, de définition de la modélisation paramétrique, ainsi que par notre étude des modèles paramétriques issus de la recherche, nous répondons à la question «pourquoi nommer?», en mettant en exergue la dualité spécification paramétrique / géométrie de ces modèles qui crée le besoin de noms permettant de relier les deux représentations. Au sein de ce chapitre, nous ébauchons également une réponse à la question «que nommer?», en étudiant l évolution du besoin de noms dans différents modèles aptes à représenter des objets réels. Ainsi, dans les modèles CSG le nom désigne l objet entier, dans les modèles BRep les noms donnent accès à toute la hiérarchie de la structure topologique, tandis que dans les modèles à base de caractéristiques de forme, certains points particuliers servent d ancrage aux noms. La nécessité d avoir un nom, ainsi que les limites des modèles existants, nous ont amenés, dans le deuxième chapitre, à répondre à la question «comment nommer?», en proposant une caractérisation des entités basée sur les faces, et sur un suivi de leurs évolutions. La question «que nommer?», à cheval sur les deux chapitres, trouve sa réponse dans le deuxième chapitre dans lequel nous proposons de rendre accessibles et référençables toutes les entités topologiques du modèle (y compris les coques), par l intermédiaire d un étiquetage de toutes les faces et de toutes les coques. Cet étiquetage des faces et des coques permet par la suite de caractériser et donc nommer toutes les autres entités, en particulier les entités référencées par la spécification paramétrique. Le troisième chapitre nous permet de concrétiser notre travail par la mise en œuvre de notre approche dans un prototype de système de CAO paramétrique qui implémente les solutions que nous avons proposées dans notre modèle PS 2. Parallèlement à la définition de notre modèle de nomination, nous avons dégagé, dans des modèles de nomination existants, un certain nombre de concepts communs, notamment : la nomination des éléments extrudés par rapport aux entités 2D, la distinction invariant / contingent, la nomination par rapport à des invariants, la séparation spécification paramétrique / géométrie et la conservation d un historique. Par ailleurs, notre analyse a montré, que malgré certains concepts communs, les différents modèles de nomination présentent des philosophies distinctes sur plusieurs autres points, dont en particulier : les approches locales / globales, les approches a priori / a posteriori, ainsi que la caractérisation topologique / géométrique. Cet état de l art nous a permis de nous positionner par rapport à l existant et de proposer notre contribution à la résolution du problème de nomination persistante dans les modèles paramétriques.. Apports et résultats En nous appuyant sur les concepts communs, et en analysant les divergences des modèles existants, nous avons pu établir des principes essentiels pour une nomination persistante. Le modèle PS 2 que nous avons proposé se base sur une approche a posteriori, globale, distinguant entités invariantes et entités contingentes, pondérant la topologie par la géométrie, conservant un historique de l évolution des coques / faces et quantifiant leurs degrés de ressemblance. Nous avons repris le principe d une nomination en fonction des faces et le principe d un suivi historique de l évolution de la topologie. Au-delà de ces emprunts, notre contribution au problème de la nomination persistante, par rapport au sousproblèmes que nous avons identifiés, est la suivante :
163 TRAVAIL REALISE 53 L identification. Nous avons décrit comment les faces invariantes qui constituent la base de nos noms, sont identifiées par rapport à leurs contours 2D pour tout objet 2D-variété orienté issu d extrusion ou de révolution, ou bien par rapport à un parcours topologique pour les autres objets. Nous avons proposé la notion de coque pour étendre le domaine des entités référençables dans un modèle paramétrique. Nous avons proposé une taxonomie de caractéristiques de forme pour nommer ces coques par rapport à des éléments invariants. Nous avons également proposé un graphe de faces et de coques qui contribue à la caractérisation des entités topologiques ; chaque nœud du graphe porte un nom. La quantification des ressemblances. Nous avons proposé des ratios de ressemblance qui permettent d évaluer les ressemblances entre les coques / faces d un modèle initial et les coques / faces d un modèle réévalué. Nous avons proposé de traduire ces ratios de ressemblance en des liens de recouvrement qui réduisent les coques / faces à considérer lors du calcul des correspondances entre entités des modèles initial et réévalué. Nous avons proposé de conserver ces ratios de ressemblance afin de ne pas figer l appariement d une entité tant que celui-ci n est pas nécessaire à la réévaluation du modèle. L appariement. Nous avons proposé un mécanisme d appariement qui peut être spécialisé suivant des besoins particuliers propres à une application. Nous avons en particulier proposé deux critères d appariement spécifiques. Notre modèle PS 2 propose un service de nomination complet, allant de la construction des noms jusqu à l appariement. Le faible couplage entre les mécanismes que procure notre modèle rend l ensemble très souple. Ainsi, il est possible de modifier le mécanisme de calcul des coefficients de ressemblance, ou le mécanisme d appariement des entités, indépendamment l un de l autre, et aussi indépendamment du mécanisme global de nomination persistante. Les mécanismes définis sont paramétrables depuis la création des noms jusqu au calcul des appariements spécifiques..2 Domaine de validité des résultats Notre proposition de solution pour le problème de la nomination persistante dans un modèle paramétrique bien que complète, possède un domaine de validité des résultats bien défini. Elle ne s applique qu à un modèle polyédrique 2D-variété orienté, et ne met donc pas en jeu des problèmes de géométrie non-linéaire pour lesquels des heuristiques ad hoc par type de problèmes s avèrent nécessaires. Par ailleurs, le problème des faces trouées (qui possèdent plusieurs voisinages topologiques) n a pas été approfondi. Enfin, lors de l évaluation de maxima (recherche de voisinages topologiques communs, calcul des recouvrements) plusieurs solutions peuvent parfois exister, rendant la méthode non complètement déterministe, même s il est possible de la rendre déterministe en prenant systématiquement le premier maximum, ce qui devraient assurer le déterminisme du comportement à topologie identique. Notre proposition de réponse au problème de la nomination persistante dans les modèles paramétriques amène donc encore de nombreux questionnements, et laisse ouvertes plusieurs questions de recherche.
164 54 CONCLUSION GENERALE 2 Perspectives Nous pensons que les perspectives de recherche et les prolongements intéressants dans le domaine de la nomination persistante sont de deux ordres, d une part, les prolongements qui concernent directement nos travaux (amélioration, industrialisation, etc.), et, d autre part, les perspectives qui s intéressent à ce problème de manière exploratoire et sous un angle plus large (généralisation, formalisation, etc.). L amélioration de notre modèle paramétrique PS 2 peut s envisager, à court terme, de plusieurs manières. Premièrement, une détection fine et une gestion efficace des configurations ou plusieurs maxima alternatifs existent seraient utiles pour garantir un comportement déterministe de notre modèle dans tous les cas. Deuxièmement la prise en compte de tous les voisinages des faces trouées est nécessaire afin d estimer et inclure leur influence sur le modèle. Troisièmement, il serait intéressant de déterminer et caractériser précisément la notion d «intention du concepteur» afin d établir un critère de ressemblance déterministe reflétant cette intention. Quatrièmement, l étude de l impact sur la réévaluation, de certaines modifications du modèle lui-même (édition) telle par exemple la permutation de fonctions, est important pour valider notre modèle de nomination dans le cadre d utilisations plus larges. Par ailleurs, une confrontation plus approfondie avec les besoins industriels serait bénéfique pour évaluer nos structures de données et nos algorithmes en situation réelle. Actuellement, un projet RNTL mené conjointement avec un autre laboratoire informatique (IRCOM-SIC) et une société de conception de logiciel de CAO (Missler) est en cours. La principale limite de notre approche du problème de la nomination persistante est qu elle se restreint aux modèles BRep polyédriques 2D-variétés orientés. Une première évolution serait l extension de notre modèle au 3D-variété qui pose le problème du voisinage topologique de faces. Parallèlement, une généralisation importante serait d étendre notre approche à un modèle BRep non-linéaire. Il s agit d un travail conséquent puisque le non-linéaire reste actuellement un problème ouvert. De surcroît, une formalisation du domaine de variation sera à terme nécessaire, particulièrement en nonlinéaire, pour réduire l influence des nombreuses heuristiques assurant la persistance des noms. 3 Synthèse Établir des ressemblances entre les entités topologiques / géométriques est problème difficile puisque si certaines configurations sont non-ambiguës, ce que les calculs de ressemblance doivent mettre en évidence, d autres configurations sont ambiguës au point que le concepteur lui-même ne saurait exprimer l appariement conforme à ses intentions. Il n est ainsi pas possible de poser formellement et de façon non-ambiguë le problème de la nomination persistante et des appariements, en particulier dans un contexte de géométrie non-linéaire. Notre proposition de solution pour le problème de la nomination persistante dans un modèle paramétrique est donc partiellement fondée sur des heuristiques, et limitée au sous-domaine des modèles géométriques constitués des modèles polyédriques 2D-variétés orientés. Néanmoins, elle permet à la fois, pour ce domaine, et d exprimer plus finement que les modèles existants les différentes sémantiques qu un
165 PERSPECTIVES 55 concepteur pourrait souhaiter associer à un geste constructif, et de réaliser un appariement «raisonnable» là où les autres modèles peuvent être pris en défaut
166
167 Bibliographie Cette bibliographie contient, par ordre alphabétique, les références des ouvrages, thèses, articles, rapport et autres documents ayant servi à la rédaction de ce mémoire, ainsi que les références d autres publications qui, par leur complémentarité, peuvent guider le lecteur intéressé dans ses recherches. Certaines publications sont directement accessibles par Internet (voir la section «Références Internet»). [Agbodan et al. a] [Agbodan et al. b] [Agbodan et al. 99] [Ali 94] [Anderl et al. 95] [Arbab 82] [Balakrishnan 93] [Bass et al. 9] D. Agbodan, D. Marcheix and G. Pierra, Persistent Naming For Parametric Models, WSCG 2, 8 th International Conference in Central Europe on Computer Graphics and Visualization and Interactive Digital Media, Plzen, Czechoslovakia, pages , February 2. D. Agbodan, D. Marcheix and G. Pierra, Nomination persistante d entités topologiques dans un modèle géométrique paramétrique, Revue Internationale de CFAO et d Infographie, Vol. 5, N, pages 3-2, 2. D. Agbodan, D. Marcheix and G. Pierra, A Data Model Architecture For Parametrics, Journal for Geometry and Graphics, Vol. 3, N, pages 7-38, 999. A. Ali, Declarative approach to form feature definition, M.S. Thesis, Department of Mechanical Engineering, Arizona State University, Arizona, USA, 994. R. Anderl and R. Mendgen, Parametric Design and its Impact on Solid Modeling Applications, Solid Modeling 95, Proceedings of the 3 rd ACM symposium on Solid Modeling and Applications, Salt Lake City, Utah USA, pages -2, 995. P. Arbab, Requirements and Architecture of CAM oriented CAD Systems for Design and Manufacture of Mechanical Parts, Ph.D. Thesis, University of California, Los Angles, California, USA, 982. G. Balakrishnan, Constraint based approach to product modeling, M.S. Thesis, Department of Mechanical Engineering, Arizona State University, Arizona, USA, 994 L. Bass, R. Pellegrino, S. Reed, S. Sheppard and M. Szezur, The Arch Model: Seeheim revisited, Proceedings User Interface Developer s Workshop,
168 58 BIBLIOGRAPHIE [Berge 73] [Bouazza 95] [Bouma et al. 95] [Bourdin et al. 9] [Braid 75] [Braid et al. 8] [Brooks et al. 87] [Brown 9] [Butterfield et al. 85] [Capoyleas et al. 96] [Cavendish et al. 9] [Chang 9] [Chang et al. 88] [Chen 95] [Chen et al. 95] C. Berge, Graphes et hypergraphes, Editions Dunod, France, ISBN , 973. M. Bouazza, Le langage EXPRESS, éditions Hermès, France, ISBN , 995. W. Bouma, I. Fudos, C.M. Hoffmann, J. Cai and R. Paige, Geometric constraint solver, Computer-Aided Design, Vol. 27, N 6, pages 487-5, June 995. O. Bourdin et Y. Godillot, «Comparaison entre la conception variationnelle et paramétrique», Proceedings of MICAD 9, pages 78-95, 99. I.C. Braid, The Synthesis of Solids Bounded by Many Faces, Communications of the ACM, Vol. 8, N 4, pages 29-26, 975. I.C. Braid, R.C. Hillyard and I.A. Stroud, Stepwise Construction of Polyhedra in Geometric Modeling, Mathematical Methods in Computer Graphics and Design, K.W. Brodlie (editor), Academic Press, London, England, pages 23-4, 98. S.L. Brooks, K.E. Hummel, and M.L. Wolf, XCUT: A rule-based expert system for the automated process planning of machined parts, ASME Winter Annual Meeting, Boston, Massachusetts, USA, pages 8-94, December 987. C.W. Brown, Ippex: an automated planing system for dimensional inspection, International Seminar on Manufacturing System, University of Twente, Enschede, The Netherlands, June 99. W.R. Butterfield, M. Green, D. Scott and Stoker, Part features for process planning, Technical Report R85-PPP-3, CAM-I, Arlington, Texas, USA, 986. V. Capoyleas, X. Chen and C.M. Hoffmann, Generic naming in generative constraint-based design, Computer-Aided Design, Vol. 28, N, pages 7-26, 996. J.C. Cavendish and S.P. Martin, Feature-based techniques for use in the design of functional surfaces, Revue Internationale de CFAO et d Infographie, Vol. 5, N 2, 99. T.C. Chang, Expert Process Planing for Manufacturing, Addison- Wesley Publishing Co., Reading, Massachusetts, USA, 99. T.C. Chang, D.C. Anderson and O.R. Mitchell, QTC an integrated design/manufacturing/inspection system for prismatic parts, ASME Computers in Engineering Conference, San Francisco, California, USA, pages , June 3 August 4, 988. X. Chen, Representation, Evaluation and Editing of Feature-Based and Constraint-Based Design, Ph.D. Thesis, Purdue University, West Lafayette, Indiana, USA, May 995. X. Chen and C.M. Hoffmann, Towards Feature Attachment, Computer-Aided Design, Vol. 27, N 9, pages , 995.
169 BIBLIOGRAPHIE 59 [Choi et al. 84] [Chuang et al. 9] [Clement et al. 92] [Coles et al. 94] [Corney et al. 9] [Corney et al. 93] [Coutaz 87] [Cunningham et al. 88] [Cutkosky et al. 88] [Cutkosky et al. 92] [Fekete 96] [De Floriani 87] [de Kraker et al. 97] [De Martino et al. 9] B.K Choi, M.M. Barash and D.C. Anderson, Automatic recognition of machined surfaces from a 3D solid model, Computer-Aided Design, Vol. 6, N 2, pages 8-86, March 984. S.H. Chuang and M.R. Henderson, Three dimensional shape pattern recognition using vertex classification and vertex-edges graphs, Computer-Aided Design, Vol. 22, N 6, pages , August 99. A Clement et P. Chollet, «Construction et fabrication par caractéristiques fonctionnelles», Séminaire MICADO sur l intégration des Fonctions Conception et Fabrication Tendances Futures, Dourdan, France, 992. J. Coles, R. Crawford and D. Miller, Form feature recognition using base volume decomposition, Proceedings ASME Design Automation Conference, pages , September 994. J. Corney and D.E.R. Clark, Method for finding holes and pockets that connect multiple faces in 2½D objects, Computer-Aided Design, Vol. 23, N, pages , December 99. J. Corney and D.E.R. Clark, Face-based feature recognition: generalizing special cases, Computer Integrated Manufacturing, Vol. 6, N and N 2, pages 39-5, 993. J. Coutaz, PAC, an Implementation Model for the User Interface, Proceedings IFIP TC3 Human-Computer Interaction (INTERACT 87), Stuttgart Germany, pages , September 987. J. Cunningham and J.R. Dixon, Designing with features: The origin of features, ASME Computers in Engineering Conference, San Francisco, California, USA, pages , June 3 August 4, 988. M.R. Cutkosky, J.M. Tenenbaum and D. Muller, «Features in process based design», ASME Computers in Engineering Conference, San Francisco, California, USA, pages , June 3 August 4, 988. M.R. Cutkosky and J.M. Tenenbaum, Toward a framework for concurrent design, International Journal of Systems Automation: Research and Application, Vol., N 3, pages , 992. J-D. Fekete, «Un modèle multicouche pour la construction d applications graphiques interactives», Thèse de Doctorat, Université Paris-Sud, Paris, France, 996. L. De Floriani, A graph-based approach to object feature recognition, Proceedings 3 rd ACM Symposium on Computational Geometry, Waterloo, Ontario, June 987. K.J. de Kraker, M. Dohmen and W.F. Bronsvoort, Maintaining multiple views in feature modeling, Solid Modeling 97, Proceedings of the 4 th ACM symposium on Solid modeling and applications, pages 23-3, Atlanta, Georgia, USA, May 997. T. De Martino, B. Falcidieno and F. Giannini, Feature-based Model transformations between different Application Contexts, Proceedings of the IFIP international conference on Computer Applications in Production and Engineering: Integration Aspects, IFIP 99, pages , 99.
170 6 BIBLIOGRAPHIE [De Martino et al. 94] [Delmas ] [Deneux 93] [Dixon et al. 88] [Dong et al. 88] [Drake et al. 89] [Falcidieno et al. 89] [Faure 97] [Faux 86] [Ferreira et al. 9] [Fields et al. 94] [Foley et al. 95] [Fu 82] [Gao et al. 97] T. De Martino, B. Falcidieno and F. Giannini, A Reference Model for Product Information Sharing in Concurrent Engineering Environment, Proceedings of the IFIP international conference on Virtual Prototyping, Paper Session: Product Modeling, Providence, Rhode Island, USA, pages 55-64, September 2-23, 994. R. Delmas, Nomination persistante d entités topologiques dans les modèles paramétriques, Rapport de stage de DEA T3IA, Université de Poitiers, ENSMA, LISI, 2. D. Deneux, «Méthodologie de reconnaissance de caractéristique d usinage, contribution à l ingénierie simultanée», Thèse de Doctorat, Université de Valenciennes et du Hainaut, Cambrésis, France, 993. J.R. Dixon and M.R. Duffey, Automating extrusion design: a case study in geometric and topological reasoning for mechanical design, Computer-Aided Design, Vol. 2, N, December 988. X. Dong and M.J. Wozny, FRAFES: A frame-based feature extraction system, Proceedings of IEEE International Conference on Computer Integrated Manufacturing, Rensselaer Polytechnic Institute, Troy, New York, USA, May 988. S. Drake and S. Sela, A foundation for features, Mechanical Engineering, Vol., N, pages 66-73, 989. B. Falcidieno and F. Giannini Automatic Recognition and Representation of Shape-Based Features in a Geometric Modeling System, Computer Vision, Graphics and Image Processing, Vol. 48, pages 93-23, 989. C. Faure, Reconnaissance des formes, École Jeunes Chercheurs CNRS Interaction Homme-Machine, Marseille Luminy, France, 7-8 juillet 997. I.D. Faux, Reconciliation of design and manufacturing requirements for product description data using functional primitive part features form a three-dimensional feature database, Technical Report R86- ANC-GM-PPP-, CAM-I, Arlington, USA, Texas, 986. J.C.E. Ferreira and S. Hinduja, Convex hull-based feature-recognition method for 2D½ components, Computer-Aided Design, Vol. 22, N, pages 4-49, June 99 M.C. Fields and D.C. Anderson, Fast feature extraction for machining applications, Computer-Aided Design, Vol. 26, N, pages 83-83, November, 994. J.D. Foley, A. van Dam, S.K. Feiner, J.F. Hughes et R.L. Phillips, Introduction à l infographie, Editions Addison-Wesley, France, ISBN , 995. K.S. Fu, Syntactic Pattern Recognition and Applications, Prentice Hall Incorporated, New Jersey, USA, ISBN , 982. S. Gao and J.J. Shah, Automatic recognition of interacting machining features based on minimal condition sub-graph, ASME Computers in Engineering, Sacramento, California, USA, September 997.
171 BIBLIOGRAPHIE 6 [Gardan 9] [Gardan et al. 93] [Gindy 89] [Gordon et al. 74] [Grayer 76] [Guittet 95] [Habrias 97] [Hachette ] [Han 96] [Han et al. 98] [Henderson 84] [Henderson et al. 94] [Hoffmann 89] Y. Gardan, La CFAO introduction, techniques et mise en œuvre, 3 ème édition, Hermès, Paris, France, ISBN , 99. Y. Gardan and C. Minich, Feature-based models for CAD/CAM and their limits, Computers in Industry CARs & FOF, Elsevier Science Publishers, 993. N.N.Z. Gindy, A hierarchical structure for form feature, International Journal of Production Research, Vol. 27, N 2, pages , 989. W.J. Gordon and R.F. Riesenfeld, Bernstein-Bézier Methods for the Computer-Aided Design of Freeform Curves and Surfaces, Journal of the ACM, Vol. 2, N 2, pages 293-3, 974. A.R. Grayer, A computer link between design and manufacture, Ph.D. Thesis, Cambridge University, Cambridge, Massachusetts, USA, 976. L. Guittet, «Contribution à l ingénierie des interfaces Homme- Machine Théorie des interacteurs et Architecture H 4 dans le système NODAOO», Thèse de Doctorat, Université de Poitiers, ENSMA, LISI, Poitiers, France, 995. H. Habrias, Dictionnaire encyclopédique du génie logiciel, Editions Masson, France, ISBN , 997. Encyclopédie Hachette 2, ASIN B5A4L3, 2. [@hachette] J. Han, Survey of Feature Research, Technical Report IRIS , Institute for Robotics and Intelligent Systems, University of Southern California, Los Angeles, California, USA, 996. J. Han and A.A.G. Requicha, Feature Recognition from CAD Models, IEEE Computer Graphics & Applications, Vol. 8, N 2 pages 8-94, March-April 998. M.R. Henderson, Extraction of feature information from three dimensional CAD data, Ph.D. Thesis, Purdue University, West Lafayette, Indiana, USA, 984. M.R. Henderson G. Srinath, R. Stage, K. Walker and W. Regli, Boundary based feature identification, Advances in feature based manufacturing, J.J. Shah, D.S. Nau and M. Mäntylä (editors), Elsevier Science Publishers B.V. (North-Holland), pages 5-38, 994. C.M. Hoffmann, Geometric and Solid Modeling, Morgan Kaufmann, San Mateo, California, USA, ISBN , 989. [Hoffmann 93] C.M. Hoffmann, On semantics of generative geometry representations, 9 th ASME Design Automation Conference, New York, New York, USA, pages 4-42, 993. [Hoffmann et al. ] [Hoffmann et al. 93] C.M. Hoffmann and K-J. Kim, Towards valid parametric CAD models, Computer-Aided Design, Vol. 33, N, pages 8-9, 2. C.M. Hoffmann and R. Juan, EREP: an editable high-level representation for geometric design and analysis, Geometric Modeling for Product Realization, P.R. Wilson, M.J. Wozny and M.J. Pratt (editors), North-Holland, The Netherlands, 993.
172 62 BIBLIOGRAPHIE [Hummel et al. 86] K.E. Hummel and S.L. Brooks, Symbolic representation of manufacturing features for an automated process planning system, ASME Winter Annual Meeting, Symposium on Knowledge-Based Expert Systems for Manufacturing, pages , Anaheim, California, USA, December 986. [ISO 33-:94] ISO 33-, Industrial Automation Systems and Integration Product Data Representation and Exchange Part, The EXPRESS language reference manual, ISO, Geneva, 994. [ISO 33-2:94] ISO 33-2, Industrial Automation Systems and Integration Product Data Representation and Exchange Part 2, Clear text encoding of the exchange structure, ISO, Geneva, 994. [ISO 33-24:94] ISO 33-24, Industrial Automation Systems and Integration Product Data Representation and Exchange Part 24, Application Protocol: Core Data for Automotive Mechanical Design Processes, ISO, Geneva, 994. [ISO :99] ISO , L. Slovensky, Industrial Automation Systems and Integration Product Data Representation and Exchange Part 224, Application Protocol: Mechanical Product Definition for Process Plans using Machining Features, ISO, Geneva, 999. [ISO CD 33-8:2] ISO CD 33-8, Industrial Automation Systems and Integration Industrial Data Integrated Application Resources Part 8, Parameterization And Constraints For Explicit Geometric Product Models, ISO, Geneva, Committee Draft, 22. [ISO WD 33-48:92] [Rumbaugh et al. 99] [Jakubowski 85] [Joshi et al. 88] ISO WD 33-48, M. Dune, Industrial Automation Systems and Integration Product Data Representation and Exchange Part 48, Form Features, 2 nd edition, Working Draft, 992. J. Rumbaugh, I. Jacobson, and, G. Booch, The Unified Software Development Process, Addison-Wesley Eds., USA, ISBN , 999. R. Jakubowski, Extraction of shape features for syntactic recognition of mechanical parts, IEEE Transactions on Systems, Man and Cybernetics, SMC, Vol. 5, N 5, 985. S. Joshi and T.C. Chang, Graph-based heuristics for recognition of machined features from a 3D solid model, Computer-Aided Design, Vol. 2, N 2, pages 58-66, March 988. [Kim 92] Y.S. Kim, Recognition of form features using convex decomposition, Computer-Aided Design, Vol. 24, N 9, pages , September 992. [Kramer 92] [Krause et al. 9] T.R. Kramer. A library of material removal shape element volumes (MRSEVs), Technical Report NISTIR 489, National Institute of Standards and Technology, Gaithersburg, Maryland, USA, 992. F-L. Krause, A. Ulbrich and F.H. Vosgereau, Feature based approach for the integration design and process planing systems IFIP 5.2 Workshop on Geometric Modeling, Rensselaerville, New York, USA, June 7-2, 99.
173 BIBLIOGRAPHIE 63 [Kripac 94] [Kripac 95] [Kripac 97] [Kruth et al. 89] [Kyprianou 8] [Laakko et al. 93] [Laakko et al. 96] [Lee et al. 87] [Lequette 96] [Libardi et al. 86] [Luby et al. 86] [Mäntylä 88] J. Kripac, Topological ID System A mechanism for persistently naming topological entities in history-based parametric solid models Ph.D. Thesis, Czech Technical University, School of Electrical Engineering, Department of Computer Science, Czech Republic, Prague, 994. J. Kripac, A mechanism for persistently naming topological entities in history-based parametric solid models (Topological ID System), Solid Modeling 95, Proceedings of the 3 rd ACM symposium on Solid Modeling and Applications, Salt Lake City, Utah, USA, pages 2-3, 995. J. Kripac, A mechanism for persistently naming topological entities in history-based parametric solid models, Computer-Aided Design, Vol. 29, N 3, pages 3-22, 997. J.P. Kruth and P. Kesteloot, New cad/cam developments for an improved competitivity of European mouldmarkers, Revue Internationale de CFAO et d Infographie, Vol. 4, N, 989. L. Kyprianou, Shape classification in computer aided design, Ph.D. Thesis, Cambridge University, Cambridge, Massachusetts, USA, 98. T. Laakko and M. Mäntylä, Feature modeling by incremental feature recognition, Computer-Aided Design, Vol. 25, N 8, pages , August 993. T. Laakko and M. Mäntylä, Incremental constraint modeling in a feature modeling system, Proceedings of Eurographics 96, Computer Graphics forum, Vol. 5, N 3, Poitiers, France, pages , 996. Y.C. Lee and K.S. Fu, Machine understanding of CSG: Extraction and unification of manufacturing features, IEEE Computer Graphics & Applications, Vol. 7, N, pages 2-32, 987. R. Lequette, Considerations on Topological Naming, Product Modeling for Computer Integrated Design and Manufacturing, Proceedings TC5/WG5.2 International Workshop on Geometric Modeling in Computer Aided Design, M. Pratt, R.D. Sriram, M.J. Wozny (editors), Airlie, Virginia, USA, pages , 9-23 May, 996. E.C. Libardi, J.R. Dixon and M.K. Simmons, Designing with features: Design analysis of extrusions as an example, ASME Spring National Design Engineering Conference, Chicago, Illinois, USA, March 986. S. Luby, J.R. Dixon and M.K. Simmons, Creating and using feature databases, Computers in Mechanical Engineering, Vol. 5, N 3, pages 25-33, 986. M. Mäntylä, An introduction to Solid Modeling, Computer Science Press Inc., USA, ISBN , 988.
174 64 BIBLIOGRAPHIE [Mäntylä et al. 87] [Mäntylä et al. 89] [Marcheix et al. 2] [Marefat et al. 9] [Menon et al. 94] [Miner 85] [Minsky 86] M. Mäntylä, J. Opas and J. Puhakka, A prototype system for generative process planing of prismatic parts, Modern Production Management Systems, APMS 87, IFIP TC5/WG5.7 Working Conference on Advances in Production Management Systems, A. Kusiak (editor), Winnipeg, Manitoba, Canada, pages 599-6, 987. M. Mäntylä, J. Opas and J. Puhakka, Generative process planing of prismatic parts by feature relaxation, Proceedings of 5 th ASME Design Automation Conference, B. Ravani (editor), New York, USA, pages 49-6, 989. D. Marcheix and G. Pierra, A survey of the persistent naming problem, Solid Modeling 2, Proceedings of the 7 th ACM symposium on Solid Modeling and Applications, Saarbrücken, Germany, pages 3-22, June 7-2, 22. M. Marefat and L. Kashyap, Geometric reasoning for recognition of three-dimensional objet features, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 2, N, pages , October 99. S. Menon and Y.S. Kim, Cylindrical features in form feature recognition using convex decomposition, International Conference on Feature Modeling and Recognition in Advanced CAD/CAM Systems, proceedings IFIP WG5.3, Valenciennes, France, pages , May 24-26, 994. R.H. Miner, «A method for the representation and manipulation of geometric features in a solid model», M.S. Thesis, Mechanical Engineering Department, MIT, Cambridge, Massachusetts, USA, 985. M. Minsky, The Society of Mind, Simon & Schuster Inc., New-York, New-York, USA, ISBN , 986. [Mortenson 97] M.E. Mortenson, Geometric Modeling, 2 nd edition, Editions John Wiley & Sons, New York, New York, USA, ISBN , 997. [Nau 87] D.S. Nau, Automated process planning using hierarchical abstraction, Texas Instruments Technical Journal, Winter 87, pages 39-46, 987. [Norman 86] [OCAF ] [Ovtcharova et al. 94] [Pariente et al. 95] D. Norman, User Centered System Design, Lawrence Erlbaum Associates, USA, ISBN , 986. D. Brunier-Coulin, D. Pascal and D. McCarthy, OCAF: Open Cascade Application Framework, White Paper, Matra Datavision, 2. J. Ovtcharova, S. Haßinger, A.S. Vieira, U. Jasnoch and J. Rix SINFONIA: an open feature-based design module, Computers in Engineering, ASME, Vol., pages 29-43, 994. F. Pariente and Y.S Kim, Incremental and localized update of convex decomposition for form feature decomposition, ASME Computers in Engineering Conference, A.A Busnaina (editor), Boston, Massachusets, USA, pages , September 7-2, 995.
175 BIBLIOGRAPHIE 65 [Perng et al. 9] [Perng et al. 94] [Peters 94] [Pfaff 85] [Pierra et al. 94] [Pierra 95] D.B. Perng, Z. Chen and R.K. Li, Automatic 3D machining feature extraction from 3D CSG solid input, Computer-Aided Design, Vol. 22, N 5, pages , June 99. D.B. Perng and C.T. Cheng, Feature-based process plan generation from 3D dsg inputs, Computers in Engineering, Vol. 26, N 3, pages , 994. T. Peters, D.W. Rosen and V. Shapiro, A topological model of limitations in design for manufacturing, Research in Engineering Design, Vol. 6, N 4, pages , 994. G.E. Pfaff, User Interface Management systems, Proceedings Workshop on User Interface Management Systems held in Seeheim, Springer-Verlag, Berlin, Germany, 985. G. Pierra, J-C. Potier and P. Girard, The EBP system: Example Based Programming, Workshop on Graphic and Modeling in Science and Technology, Springer Verlag Series, Coimbra, Portugal, June 27-28, 994. G. Pierra, Towards a taxonomy for interactive graphic systems, Proceedings of Eurographics 95, Workshop on Design, Specification, Verification of Interactive Systems, Springer Verlag Series, Bonas, pages , June 7-9, 995. [Pierra et al. 96] G. Pierra, Y. Ait-Ameur, F. Besnard, P. Girard and J-C. Potier A general framework for parametric product model within STEP and Part Library, European Conference Product Data Technology, London, England, April 8-9, 996. [Pinilla et al. 89] [Prabahkar et al. 92] [Pratt 84] [Pratt et al. 87] [Prosise 99] [Raghothama et al. 97] J.M. Pinilla, S. Finger and F.B. Prinz, Shape feature description using an augmented topology graph grammar, Proceedings NFS Engineering Design Research Conference, National Science Foundation, pages 285-3, June 989. S. Prabahkar and M.R. Henderson, Automatic form feature recognition using neural-network-based techniques on boundary representations of solid models, Computer-Aided Design, Vol. 24, N 7, pages , 992. M.J. Pratt, Solid modeling and the interface between design and manufacture, IEEE Computer Graphics and Application, Vol. 4, pages 52-59, 984. M.J. Pratt and P.R. Wilson, Conceptual design of a feature-oriented solid modeler, Draft Document 3B, General Electric Corporate R&D, 987. J. Prosise, Programming Windows with MFC, 2 nd edition, Microsoft Press, USA, ISBN , 999. S. Raghothama and V. Shapiro, Necessary Conditions for Boundary Representation Variance, SCG 97, 3 th International Annual Symposium on Computational Geometry, Nice, France, ACM Press, pages 77-86, June 4-6, 997.
176 66 BIBLIOGRAPHIE [Raghothama et al. 98] S. Raghothama and V. Shapiro, Boundary Representation Deformation in Parametric Solid Modeling, ACM Transactions on Graphics, Vol. 7, No. 4, pages , October 998. [Raghothama et al. 99] [Regli 95] [Requicha 77] [Requicha 8] [Requicha et al. 92] [Roller 9] [Roller et al. 89] [Rosen et al. 9] [Rossignac 9] [Rossignac et al. 99] [Sakurai et al. 93] [Sakurai et al. 94] [Salomons et al. 93] S. Raghothama and V. Shapiro, Consistent updates in dual representation systems, Solid Modeling 99, Proceedings of the 5 th ACM symposium on Solid Modeling and Applications, Ann Arbor, Michigan, USA, pages 65-75, June 8-, 999. W.C. Regli, Geometric Algorithms for Recognition of Features from Solid Models Ph.D. Thesis, Computer Science Department, University of Maryland, Maryland, USA, 995. A.A.G. Requicha, Mathematical Model of Rigid Solid Objects, Technical Memo N 28, Production Automation Project, University of Rochester, Rochester, New York, USA, 977. A.A.G. Requicha, Representation of solid objects Theory, methods, and systems, ACM Computing Survey, Vol. 2, N 4, pages , December 98. A.A.G. Requicha and J.R. Rossignac, Solid Modeling and beyond, IEEE Computer Graphics & Applications, Special issue on CAGD, Vol. 2, N 5, pages 3-44, September 992. D. Roller, Advanced methods for parametric design, Geometric Modeling, Methods and Application, H. Hagen and D. Roller (editors), Springer Verlag, pages , 99. D. Roller, F. Schonek and A. Verroust, Dimension-driven geometry in CAD: a survey, Theory and Practice on Geometric Modeling, Springer Verlag, pages , 989. D.W. Rosen, J.R. Dixon, X. Dong, A methodology for conversions of feature based representations, International Conference on Design Theory and Methodology DTM 9, ASME, Stauffer (editor), Miami, Florida, USA, pages 4-45, September 99. J.R. Rossignac, Issues on feature-based editing and interrogating of solid models, Computers and Graphics, Vol. 4, N 2, pages 49-72, 99. J.R Rossignac and A.A.G. Requicha, Solid Modeling, Encyclopedia of Electrical and Electronics Engineering, J. Webster (editor), John Wiley & Sons Inc., USA, ISBN , 999. H. Sakurai and C. Chin, Defining and recognizing cavity and protrusion by volume decomposition, ASME Computers in Engineering, pages 59-65, September 993. H. Sakurai and C. Chin, Defining and recognizing volume features for process planning, Advances in feature based manufacturing, J.J. Shah, D.S. Nau and M. Mäntylä (editors), Elsevier Science Publishers B.V. (North-Holland), pages 65-8, 994. O.W. Salomons, F.J.A.M. van Houten and H.J.J. Kals, Review of research in feature-based design, Journal of Manufacturing Systems, Vol. 2, N 2, pages 3-32, 993.
177 BIBLIOGRAPHIE 67 [Salomons et al. 94] [Sardet 99] [Shah 88] [Shah et al. 86] [Shah et al. 88a] [Shah et al. 88b] [Shah et al. 88c] [Shah et al. 94] [Shah et al. 95] [Shapiro et al. 95] [Schenck et al. 94] [Solano et al. 94] [Staley et al. 83] O.W. Salomons, F. van Slooten, H.G. Jonker, F.J.A.M. van Houten and H.J.J. Kals, Interactive Feature Definition, International Conference on Feature Modeling and Recognition in Advanced CAD/CAM Systems, Proceedings IFIP WG5.3, Valenciennes, France, Vol., pages 8-2, May 24-26, 994. E. Sardet, «Intégration des approches modélisation conceptuelle et structuration documentaire pour la saisie, la représentation, l échange et l exploitation d informations. Application aux catalogues de composants industriels.», Thèse de Doctorat, Université de Poitiers, SPI, ENSMA, LISI, Poitiers, France, 999. J.J. Shah, Feature transformations between application-specific feature spaces, Computer-Aided Engineering Journal, United Kingdom, Vol. 5, N 6, pages , December 988. J.J. Shah and A. Bahtnagar, GT coding scheme for sheet metal features, Technical Report, Department of Mechanical Engineering, Arizona State University, Tempe, Arizona, USA, 986. J.J. Shah and M.T. Rogers, Expert form feature modeling shell, Computer-Aided Design, Vol. 2, N 9, pages , 988. J.J. Shah, P. Sreevalsan, M.T. Rogers, R. Billo and A. Mathew, Current status of features technology, Report task, Technical Report R-88-GM-4.4, CAM-I, Arlington, Texas, USA, 988. J.J. Shah and M.T. Rogers, Functional requirements and conceptual design of the feature-based modeling system, Computer-Aided Engineering, Vol. 5, N, pages 9-5, 988. J.J. Shah, Y. Shen and A. Shirur, Determination of machining volumes from extensible sets of design features,. Advances in feature based manufacturing, J.J. Shah, D.S. Nau and M. Mäntylä (editors), Elsevier Science Publishers B.V. (North-Holland), pages 29-57, 994. J.J. Shah and M. Mäntylä, Parametric and feature-based CAD/CAM : Concepts, Techniques, Applications, John Wiley & Sons Inc., USA, ISBN , 995. V. Shapiro and D.L. Vossler, What is a parametric family of solids, Solid Modeling 95, Proceedings of the 3 rd ACM symposium on Solid modeling and applications, Salt Lake City, Utah, USA, pages 43-54, 995. D. Schenck, P. Wilson, Information Modelling The EXPRESS Way, Oxford University Press, England, 994. L. Solano and P. Brunet, Constructive Constraint-based model for parametric CAD systems, Computer-Aided Design, Vol. 26, N 8, pages 64-62, 994. S.M. Staley, M.R. Henderson and D.C. Anderson, Using syntactic pattern recognition to extract feature information from a solid geometric data base, Computers in Mechanical Engineering, Vol. 2, N 2, pages 6-66, September 983.
178 68 BIBLIOGRAPHIE [Sturgill et al. 95] [Suh et al. 97] [Sutherland 63] [Tehari 99] [Texier ] [Trika et al. 94] [UIMS 92] [Vaghul et al. 85] [van Emmerik 9] [van Emmerik 9] [Vandenbrande 9] [Vandenbrande et al. 93] [Venkataraman et al. ] M. Sturgill, E. Cohen and R.F. Riesenfeld, Feature-based 3D sketching for early stage design, ASME Computers in Engineering Conference, A.A. Busnaina (editor), Boston, Massachusetts, USA, pages , September 7-2, 995. Y.S. Suh and M.J. Wozny, Interactive Feature Extraction for a Form Feature Conversion System, Solid Modeling 97, Proceedings of the 4 th ACM symposium on Solid Modeling and Applications, C.M. Hoffmann and W. Bronsvort (editors), ACM Press, pages -22, 997. I.E. Sutherland, A Man-Machine Graphical Communication System, AFIPS Spring Joint Computer Conference 23, pages , 963. A. Tehari, «Analyse morphologique de modèles pour décrire un produit par des caractéristiques, en fonction du point de vue», Thèse de Doctorat, Université Claude Bernard Lyon, Lyon, France, 999. G. Texier, «Contribution à l ingénierie des systèmes interactifs : Un environnement de conception graphique d applications spécialisées de conception», Thèse de Doctorat, Université de Poitiers, SPI, ENSMA, LISI, Poitiers, France, 2. S. Trika and L. Kashyap, Geometric reasoning for extraction of manufacturing features in iso-oriented polyhedrons, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 6, N, pages 87-, November 994. The UIMS Workshop Tool Developers: A Metamodel for the Runtime Architecture of an Interactive System, SIGCHI Bulletin, Vol. 24, N, pages 32-37, 992. M. Vaghul and J.R. Dixon, Expert system in cad environment: Injection molding part design as an example, ASME Computers in Engineering Conference, Boston, Massachusetts, USA, August 985. M.J.G.M. van Emmerik Interactive design of parameterized 3D models by direct manipulation, Ph.D. Thesis, Delft University Press, The Netherlands, ISBN /CIP, 99. M.J.G.M. van Emmerik, Interactive design of 3D models with geometric constraints, The Visual Computer, Vol. 7, pages , 99. J.H. Vandenbrande, Automatic recognition of machinable features in solid models, Ph.D. Thesis, Electrical Engineering Department, University of Rochester, Rochester, New York, USA, 99. J.H. Vandenbrande and A.A.G. Requicha, Spatial reasoning for the automatic recognition of machinable features in solid models, IEEE Transactions on Pattern Analysis and Machining Intelligence, Vol. 5, N 2, pages , December 993. S. Venkataraman, M. Sohoni and V. Kulkarni, A graph-based framework for feature recognition, Solid Modeling, Proceedings 6 th ACM symposium on Solid modeling and applications, Ann Arbor, Michigan, USA, pages 94-25, June 2.
179 BIBLIOGRAPHIE 69 [Waco et al. 93] [Wilson et al. 88] [Woo 82] [Woods 7] [Wu et al. ] D. Waco and Y.S. Kim, Geometric reasoning for machining features using convex decomposition, Solid Modeling 93, Proceedings of the 2 nd ACM symposium on Solid Modeling and Applications, J. Rossignac, J. Turner and G. Allen (editors), ACM Press, Montreal, Canada, pages , 993. P.R. Wilson and M.J. Pratt, A taxonomy of features for solid modeling, Geometric Modeling for CAD Applications, M.J. Wozny, H.W. McLaughlin and J. Encarnaçao (editors), IFIP WG5.2 Working Conference, Elsevier Science Publishers B.V. (North- Holland), Rensselaerville, New-York, USA, pages 25-36, 988. T. Woo, Feature extraction by volume decomposition, Proceedings of Conference on CAD/CAM Technology in Mechanical Engineering, MIT, Cambridge, Massachusetts, USA, pages 76-94, March 982. W. Woods, Transition Network Grammars for Natural Language Analysis, Communications of the ACM, pages 59-66, 97. J. Wu, T. Zhang, X. Zhang and J. Zhou, A face based mechanism for naming, recording and retrieving topological entities, Computer- Aided Design, Vol. 33, N, pages , 2.
180
181 Renvois Cette partie contient les références Internet de sites utiles (entreprises de CAO, maisons d édition, fonds documentaires, laboratoires de recherche, institutions académiques, etc.) ainsi que les tables des illustrations (figures et tableaux) qui enrichissent visuellement nos travaux. Références Internet Cette section contient les adresses Internet qui nous été utiles pendant notre recherche et dont les documents n ont pas d équivalent «papier». Nous avons essayé de ne proposer que des adresses aussi pérennes que possible.. CAO Nous avons regroupé ici les adresses Internet des sociétés dont nous avons citer les systèmes de CAO. [@autocad] [@cam-i] [@catia] [@i-deas] [@matra] AutoCAD de Autodesk, ou Consortium for Advanced Manufacturing International (CAM-I), ou CATIA de Dassault Systèmes, I-deas de Electronic Data Systems (EDS), ou Groupe EADS Matra Datavision, [@opencascade] Open CASCADE ou [@ptc] Parametric Technology Corporation (PTC), ou [@topsolid] TopSolid de Missler ou Fonds documentaires Nous avons rassemblé dans cette sous-section les adresses des principaux fonds documentaires liés à la CAO. Notons que la majorité de ces cites sont payants. [@acm] Association for Computing Machinery (ACM) propose sur son site sa bibliothèque en ligne 7
182 72 RENVOIS The American Society of Mechanical Engineers (ASME) propose sur son site différentes publications. L éditeur Elsevier propose les articles de la revue Computer-Aided Design (CAD) sur son site L éditeur Hachette propose son encyclopédie sous forme de cd-rom ou bien en ligne La IEEE Computer Society met en ligne sur de nombreux articles. Le centre de documentation www-rocq.inria.fr/doc de l Institut National de Recherche en Informatique et Automatique (INRIA) propose un large fonds documentaire. Les normes ISO et en particulier les normes STEP sont disponibles sur le site Autres liens Sites institutionnels, laboratoires de recherche, etc., sont énumérés dans cette soussection. [@ensma] [@lisi] [@nogemo] Ecole Nationale Supérieure de Mécanique et d Aérotechnique (ENSMA), Laboratoire d Informatique Scientifique et Industrielle (LISI), EA 232, NOyau GÉométrique MOdulaire pour modeleur et simulateur (NOGEMO), dans le cadre du Réseau National de recherche et d'innovation en Technologies Logicielles (RNTL), [@sfa] Faculté des Sciences Fondamentales et Appliquées (SFA), sfa.univpoitiers.fr ou de l Université de Poitiers. [@sic] Institut de Recherche en Communications Optiques et Microondes Signal Image Communications (IRCOM-SIC), UMR 665, [@spi] [@up] École Doctorale Sciences Pour l Ingénieur (ED-SPI), ED 89, edspi.univ-poitiers.fr. Université de Poitiers (UP), 2 Illustrations Nous avons largement illustré ce mémoire par des tableaux et des figures afin de mettre en lumière les concepts nouveaux, et fournir au lecteur des appuis visuels, qui lui faciliteront lecture et compréhension.
183 ILLUSTRATIONS Liste des figures Figure Association entre entités graphiques et gestes constructifs permettant de conserver le processus de construction et donc de le rejouer avec des valeurs différentes Figure 2 Problèmes des modèles graphiques. (a) Non-validité : un objet sans pendant réel peut être représenter. (b) Ambiguïté : plusieurs objets peuvent avoir la même représentation Figure 3 (a) Exemple de représentation paramétrée d une courbe 2D avec les courbes dans leur espace de paramètre (u,x) et (u,y). (b) Famille de courbes de Bézier (C, C et C ) et leurs points de contrôle. Seul le point P 2 varie pour chaque courbe. Son influence peut être assimilée à l action d un ressort entre le point de contrôle et la courbe... 3 Figure 4 Exemples de solides paramétrés. (a) Parallélépipède cubique et quelques instances. (b) Primitive de section en Z définie par les paramètres a, b, h, l et e. Notons que r et r sont des variables internes. (c) Deux engrenages définis par instanciation de primitives. Remarquons que la topologie varie d un engrenage à l autre. (figures extraites de [Mortenson 97] et [Foley et al. 95])... 6 Figure 5 (a) Représentation d une pièce par (b) décomposition cellulaire avec un rectangle et un triangle rectangle comme primitives élémentaires, par (c) énumération spatiale et par (d) subdivision spatiale avec (e) la structure de données d arbre quaternaire correspondante. (exemple adapté de [Foley et al. 95])... 7 Figure 6 Solide défini par CSG. (a) Le graphe de construction correspondant. Il possède 2 feuilles primitives (Π et Π 2 ), 3 nœuds de transformations (T, R et T 2 ) et 2 nœuds d opérations booléennes ( et ). Notons que la même grille de référence se superpose à chaque solide. (b) La séquence de gestes constructifs. (c) L expression algébrique équivalente. (exemple adapté de [Rossignac et al. 99])... 8 Figure 7 Opérations booléennes. (a) Objet A et B. (b) Union : A B { x / x A ou x B }. (c) Intersection : A B { x / x A et x B }. (d et e) Différences : A B { x / x A et x B } et B A { x / x A et x B } ;... 8 Figure 8 (a) Relations topologiques entre faces, arêtes et sommets. (b) Tétraèdre avec le modèle fil de fer associé (table E : { V }) ou le modèle polygonal associé (tables E : { V } et F : { E }). Remarquons que les faces ne font pas partie du modèle fil de fer. Notons que dans les deux modèles, les sommets sont définis par leurs coordonnées Figure 9 (a) Exemple d un bloc troué avec (b) vue éclatée partielle des entités topologiques qui le compose et (c) représentation d une partie de sa structure de données BRep... 2 Figure Exemple de définition de caractéristiques (adapté de [Han et al. 98]). (a) La pièce modélisée. (b) Une définition CSG (primitive élémentaire + dimensions), (c) une définition par balayage (profil + vecteur d extrusion), (d) une définition par caractéristiques de forme et (e) une définition par caractéristiques d usinage (outil + chemin + profondeur)... 22
184 74 RENVOIS Figure Vue partielle des caractéristiques de fabrication définies dans le fascicule 224 de la norme STEP [ISO :99]...26 Figure 2 Taxonomie de techniques de création de caractéristiques. (extrait de [Shah et al. 95])...27 Figure 3 Conception par caractéristiques. (extrait de [shah et al. 95])...3 Figure 4 (a) Poignées pour l application des contraintes dans QTC [Chang et al. 88]. (b) Arbre géométrique de positionnement et de dimensionnement dans Geonode [van Emmerik 9] Figure 5 Exemple de lien entre la géométrie et les contraintes. (a) Un gestionnaire de caractéristiques fait office d interface entre la géométrie et les caractéristiques [Ovtcharova et al. 94]. (b) Un schéma de nomination générique et un compilateur assurent le lien dans le modèle proposé par [Chen 95] Figure 6 Problèmes de nomination : ( er problème) pouvoir identifier toutes les entités du modèle et (2 ème problème) pouvoir retrouver ces entités après réévaluation du modèle, même en cas de variations de la topologie...4 Figure 7 Différence de sémantique. (a) Le modèle initial est réévalué (b) sans l arrondi ou bien (c) avec l arrondi suivant que cette opération porte sur la face f. ou bien sur la coque du dessus (f. et f.2 ) Figure 8 Taxonomie des méthodes de résolution des problèmes de nomination et d appariement dans les modèles paramétriques. L acronyme LISI indique notre positionnement au sein des différentes approches Figure 9 Notion coque : cas de la rainure traversante (crossing_flat_slot). Exemple de caractéristique issue de la norme STEP [ISO :99]. (a) Les coques sont structurées en agrégats de sous-coques (coques ou faces). (b) Représentation, sous forme de graphe, de la structure hiérarchique de coques correspondante...55 Figure 2 Classification des caractéristiques de forme par rapport à leur structure invariante de coques. Les exemples de caractéristiques proviennent du fascicule 224 de la norme STEP [ISO :99]. Le caractère étoile * indique la disparition systématique de la coque après interaction avec la géométrie. Notons que les faces ne sont pas représentées dans les exemples ci-dessus Figure 2 Comparaison des approches locale et globale dans le cas de faces aux frontières très subdivisées. L objet est vu de dessus ; la ère ligne représente le modèle initial (à deux étapes successives), tandis que la 2 nde représente le modèle réévalué. Notons que le bloc reste entier, seule la face F est coupée. (exemple inspiré de [Delmas ])...6 Figure 22 Influence de la subdivision des frontières dans un appariement exclusivement basé sur la topologie...63 Figure 23 Perte ou non-perte de morceaux. L appariement (F t F f ; F u F g ; F v F h ) à l étape 4 peut conduire à la perte de traçabilité de la face F j à l étape Figure 24 Modèle paramétrique à 3 niveaux : spécification / noms / géométrie. La spécification paramétrique est une liste de fonctions représentant des caractéristiques de forme. La gestion des noms est faite, d une part, à travers un
185 ILLUSTRATIONS 75 graphe (partiellement représenté) qui permet l appariement d entités entre deux modèles, et, d autre part, à travers une table des entités référencées reliant la spécification à la géométrie au sein d un même modèle. La géométrie est un BRep ; seule la géométrie finale existe... 7 Figure 25 Appariement : exemple de la modification du paramètre longueur à l étape 3. La face f 4 (nommée f 2.8 ) s en trouve scindée en deux, ce qui entraîne une modification du graphe et une modification des pointeurs associés à l index 3 (l arête à arrondir est coupée en deux) Figure 26 Vue partielle d un exemple de graphe. Notons que par souci de simplification les liens entre coques / faces modifiées (non scindées) ne sont pas représentés. Cependant, un graphe complet est présenté en section 3 des Annexes Figure 27 Exemples d évolution de liens hiérarchiques Figure 28 Mécanisme de nomination. (a) Les faces sont nommées par rapport à un parcours topologique. (b) Les faces sont nommées par rapport au produit cartésien des arêtes de la trajectoire (e, e 2, e 3 ) et des arêtes du profil (e, e 2, e 3, e 4 ) Figure 29 Voisinage topologique des faces contingentes Figure 3 Les voisinages topologiques sont identiques, aussi bien pour (a) les coques invariantes initiale (c i ) et finale (c f ), que pour (b) les coques contingentes issues de la coque globale (c g ) après une opération booléenne Figure 3 Référencement des entités. (a) La spécification paramétrique. (b) La table des entités référencées du modèle initial. Elle contient le nom de chaque entité référencée, et relie la spécification à la géométrie courante (ici la géométrie initiale -4-). (c) La géométrie courante de l objet modélisé (en construction -4-, et en réévaluation -4 -) Figure 32 Appariement des structures invariantes initiales. (a) Variations topologiques et géométriques de la trajectoire et du profil initiaux. (b) Graphes (AG et NG) associés à cette structure invariante. (c) Tables locales de correspondance des entités 2D Figure 33 (a) Face grisée F avec son voisinage topologique. (b) Le circuit de la face F, exprimé en termes de couples de sommets (x i, x j ), en termes d arcs a i (arêtes), ainsi que la liste de faces F i associées à ce circuit (c est le voisinage topologique). (c) Deux autres écritures de ce même circuit. (d) Deux écritures équivalentes d un sous-chemin partiel de ce circuit Figure 34 Perte d invariance par homothétie Figure 35 Calcul de recouvrement. L objet, vu de dessus à cinq étapes successives, est un bloc extrudé dont la face initiale A est scindée successivement en plusieurs faces par quatre rainures. Notons que pour plus de lisibilité, la notation des faces à été simplifiée ; la face frontière f.2 est notée 2 (il ne s agit pas de sa longueur)... 4 Figure 36 Relations de recouvrement (Figure 35) : première étape. Les deux faces A sont appariées en tant que faces invariantes. Remarquons que l AG est totalement construit.... 5
186 76 RENVOIS Figure 37 Relations de recouvrement (Figure 35) : deuxième étape. Les faces P et Q apparaissent. Les faces B et P, puis C et Q sont reliées. Le lien de recouvrement trop faible entre C et P n est pas représenté...6 Figure 38 Relations de recouvrement (Figure 35) : troisième étape. Les faces R et S apparaissent. Les faces D et E issues de C sont reliées aux faces R et S issues de Q car C et Q avaient un lien de recouvrement à une étape antérieure (étape 2)..7 Figure 39 Relations de recouvrement (Figure 35) : quatrième étape. La face P est subdivisée en trois nouvelles faces T, U et V. Les faces issues des faces B et P sont reliées. Notons les liens de recouvrement entre la face F de l AG et les faces T et U du NG, ainsi que entre la face U de NG et les faces F et G de l AG. 9 Figure 4 Relations de recouvrement (Figure 35) : cinquième étape. Apparition des faces X et Y. Entre autres, un lien de recouvrement entre les faces J et X est conservé. Il y a donc bien préservation de cette information...2 Figure 4 Exemple de calcul d appariement spécifique. Représentation du graphe biparti G. Un appariement, un un au mieux (F ng F ag, ou F ag, ou F ng ), est réalisé entre les faces de l AG et les faces du NG. Remarquons que la face J n est pas appariée. Les liens d appariement des étapes précédentes sont représentés en pointillé. L exemple correspond à la Figure Figure 42 (a) Exemple de chemin de longueur 3. (b) Exemple de calcul d appariement spécifique. Graphe biparti G respectant les contraintes sur la longueur des chemins qui doit être strictement inférieure à 3. L exemple correspond à la Figure Figure 43 Exemple d appariement univoque de coques...8 Figure 44 Deux appariements non-univoques de coques, (a) n basé sur l appariement du niveau face (F b F x & F z et F c F y ) et (b) m, basé sur l appariement du niveau face (F x & F z F b et F y F c )...2 Figure 45 Appariement non-univoque de coques contingentes...2 Figure 46 (a) L arête e 2 est référencée dans l objet initial. (b) Premier cas de réévaluation : l arête e 2 est scindée en deux arêtes par une rainure qui débouche. (c) Second cas de réévaluation : l arête e 2 est scindée en trois arêtes. 22 Figure 47 Construction d un sous-chemin auquel doivent appartenir les arêtes appartenant aux faces adjacentes de la caractérisation de l arête référencée e Figure 48 Représentation d un bloc rainuré. (a) Le bloc seul (s ). (b) Le solide final (s 2 ). (c) Structure BRep conservant à chaque étape de construction toute la topologie. (adapté de [Delmas ])...3 Figure 49 Représentation EXPRESS-G de la spécification paramétrique. Le modèle paramétrique est constitué d une liste de paramètres et jusqu à deux objets paramétriques (initial et réévalué) qui sont décrits en termes de caractéristiques de forme...33 Figure 5 Représentation EXPRESS-G d une Coque. La définition du graphe est comprise dans la classe Coque qui, par ses attributs-coques, représente toute la structure hiérarchique et historique, ainsi que les liens de recouvrement...34 Figure 5 Représentation EXPRESS-G du modèle paramétrique PS 2. Remarquons les trois niveaux : la spécification paramétrique (classes Modèle_paramétrique,
187 ILLUSTRATIONS 77 Objet_paramétrique et Caractéristique_de_forme) ; les noms (classes Coque, Ratio, Paramètre, Nom et Caractérisation) ; et la géométrie (classe Objet_CasCade) Figure 52 Représentation EXPRESS-G de la classe des caractéristiques de forme. Mentionnons que EXPRESS-G ne représente pas les méthodes associées aux classes, donc seuls les attributs sont représentés Figure 53 Représentation EXPRESS-G de la classe des paramètres Figure 54 Architecture générale du système basé sur notre modèle PS 2 dont l IHM est basée sur le modèle H Figure 55 Interface du système basé sur le modèle PS 2 avec les commandes de création de caractéristiques de forme, la fenêtre de visualisation de la géométrie, la fenêtre de visualisation du graphe et la barre de dialogue Figure 56 Barre de dialogue visualisant certaines informations (nom, structure hiérarchique, historique, etc.) d une coque donnée Figure 57 Barre de dialogue affichant la spécification paramétrique sous forme d arbre de construction avec ses caractéristiques de forme (fi) et leurs paramètres (#j) Figure 58 Automate gérant le dialogue de création d une arête arrondie. Les <jetons> de commandes et de paramètres activent l automate et valident les transitions entre ses différents états. Le retour à l état initial lance la commande de construction paramétrique Figure 59 Représentation EXPRESS-G d un modèle de données décrivant les relations entre des enseignants et des étudiants Figure 6 Une représentation (presque) complète d un graphe de faces et de coques. Modèle initial Figure 6 Représentation du graphe de faces et de coques du modèle réévalué Liste des tableaux Tableau Contraintes géométriques avec écritures des équations et signatures des fonctions correspondantes. En fonctionnel, les contraintes sont appliquées lors de la construction de l objet Tableau 2 Avantages et inconvénients des modèles paramétriques équationnels et fonctionnels Tableau 3 Comparaison des besoins de noms au sein des modèles CSG et BRep Tableau 4 Récapitulatif des points forts et faibles des approches existantes Tableau 5 Table de croisement déterminant l appariement (suivant Kripac) des faces issues de scissions. La figure représente les deux graphes des faces concernées par l appariement. La face F est supposée déjà traitée (appariée) Tableau 6 Appariement local : influence de la subdivision des frontières. (a) Résultat dans le cas de huit faces composant la subdivision {F 3, F 4,, F } (cas de la Figure 2) : F b est appariée avec F x. (b) Résultat pour six faces : F b peut être appariée aussi bien avec F x qu avec F y. (c) Résultat pour une seule subdivision : F b est appariée avec F y... 62
188 78 RENVOIS Tableau 7 Table de croisement déterminant l appariement des faces issues de scissions (suivant l approche globale de Kripac) Tableau 8 Base de la nomination des différents types d entités...7 Tableau 9 Appariement des graphes de coques / faces initial et réévalué : cas d une face invariante et d une face contingente...73 Tableau Mise à jour d entités référencées : cas d une arête...74 Tableau Combinaisons possibles de liens historiques et hiérarchiques pour une coque et deux faces, suivant qu elles sont scindées (S), ou non-scindées (NS). Les pointillés indiquent la scission due à une rainure Tableau 2 Les deux types de relations hiérarchiques possibles aux étapes i et i -. Le deuxième cas est impossible car si la face évolue alors la coque évolue également (donnant une hiérarchie identique à celle du premier cas). Il n y a pas de lien hiérarchique entre une coque et une sous-coque apparue ultérieurement (à la coque)....8 Tableau 3 Algorithme de nomination des faces invariantes par numérotation basée sur un parcours topologique Tableau 4 Différents cas de relations inter-graphes, pouvant exister entre une face de l ancien graphe (F ag ) et une face du nouveau graphe (F ng ) Tableau 5 Exemple de calcul des ratio de ressemblance δ et δ, évaluant respectivement l inclusion de F ng dans F ag, et de F ag dans F ng. Ces ratios sont calculés en fonction des voisinages topologiques, pondérés par la longueur de ces faces. Les δ correspondent à la Figure Tableau 6 Exemple de calcul des ratios δ et δ, en fonction de coefficients de pondération normalisés (issus de la fonction π Ν ). Les δ correspondent à la Figure Tableau 7 Exemple de croisement global (Figure 34). (2.) Sélection de la case à la somme des δ maximale. (2.2) Les coefficients des voisinages concernés sont décrémentés de la longueur des faces consommées. (2.3) Les nouveaux coefficients pondérations de la ligne et de la colonne sont calculés. (2.4) Les ratios sont recalculés. (2.5) Les trois cases (la première et les deux dont les δ sont nulles) sont marquées comme étant traitées. (2.6) La dernière case est traitée. Le préfixe 2 des phases indique le numéro d étape...2 Tableau 8 Croisement global (Figure 35) : calculs successifs des δ et δ à la deuxième étape....6 Tableau 9 Croisement global (Figure 35) : calcul des δ et δ à la troisième étape..7 Tableau 2 Croisement global (Figure 35) : calculs successifs des δ et δ à la quatrième étape....9 Tableau 2 Croisement global (Figure 35) : calculs successifs des δ et δ à la cinquième étape... Tableau 22 Tous les chemins de longueur, c est-à-dire tous les arcs entre l AG et le NG. Il s agit, dans ce cas, de l ensemble E constitué des arcs apparus à la cinquième étape de l exemple précédent (cf. Figure 35 et Figure 4). Notons que les chemins (arcs) sont représentés verticalement....4
189 ILLUSTRATIONS 79 Tableau 23 Toutes les combinaisons de chemins (de longueur ) dont les arcs respectent la contrainte sur les ensembles E (les chemins qu il est possible de construire à partir des arcs de E doivent être de longueur inférieure ou égale à ). Notons que dans ce cas particulier (longueur ) chaque combinaison est un ensemble E d éléments les chemins (arcs) Tableau 24 Tous les chemins de longueur et 2, construits à partir des arcs de l ensemble E... 5 Tableau 25 Toutes les combinaisons de chemins (de longueur et 2) dont les arcs respectent la contrainte sur les ensembles E (les chemins qu il est possible de construire à partir des arcs de E doivent être de longueur inférieure ou égale à 2)... 6 Tableau 26 Différences notables entre l appariement des faces contingentes, et celui des coques contingentes. Les autres éléments (calcul des ratios δ, consommation des faces, seuil ε, etc.) sont similaires... 7 Tableau 27 Exemple de ratios δ et δ (Figure 43), calculés en fonction des faces communes aux deux contenus topologiques, pondérées par le périmètre (ou le périmètre normalisé) de ces faces Tableau 28 Deux exemples d appariement non-univoque de coques contingentes (Figure 44). (2.) Appariement n. Dans le NG, la face F b se substitue aux faces F x et F z, tandis que la face F c se substitue à la face F y. (2. bis) Appariement m. Le couple de faces (F x, F z ) est substitué à la face F b dans le NG. De même, F y est substitué à F c. La pondération d avant substitution est conservée Tableau 29 Exemple de regroupement de faces lors d un appariement de coques contingentes (cf. Figure 45)... 2 Tableau 3 Hiérarchie d entités topologiques de la structure BRep du noyau géométrique de CasCade... 3 Tableau 3 Signature et algorithme de la nomination invariante. Notons que la dénomination Ancien Graphe désigne le graphe initial bien que le Nouveau Graphe n existe pas encore Tableau 32 Signature et algorithme de la nomination contingente... 4
190
191 Annexes Cette partie regroupe, d une part, le glossaire rassemblant toutes les définitions et abréviations que nous avons proposées, utilisées et définies tout au long de ce mémoire, et, d autre part, des éléments informatifs complémentaires tels qu une introduction sur EXPRESS-G et un exemple de graphe. Définitions Cette section contient les définitions des principaux termes utilisés dans ce mémoire. Il y a, d une part, ceux qui sont liés de manière générale à la modélisation paramétrique, et, d autre part, ceux que nous avons introduit pour décrire certains concepts. Appariement Caractérisation Caractéristique (feature) Contenu topologique Contingent Coque Croisement Édition Mise en correspondance entre les entités d un modèle paramétrique initial et les entités du modèle réévalué. Description d une entité de façon à la discriminer de toutes les autres entités semblables. Entité représentant les intentions de conception ou le sens de la géométrie d une pièce ou d un assemblage [Shah et al. 95]. Faces composant une coque contingente, et qui lui servent de caractérisation dans la nomination. Précisons que nous utilisons contenu topologique par analogie avec voisinage topologique. Entité géométrique ou topologique qui résulte d une interaction entre le modèle géométrique existant et les entités invariantes résultant d un geste constructif particulier. Structure hiérarchique définie de manière récursive comme un agrégat de coques. Au niveau le plus bas de la hiérarchie, chaque coque représente une face. Calcul de recouvrement entre n faces (ou coques) contingentes du graphe d un modèle initial, et m faces (ou coques) contingentes du graphe d un modèle réévalué. Par opposition à la réévaluation, l édition d un modèle paramétrique consiste en la modification, hors paramètres, de la spécification paramétrique. 8
192 82 ANNEXES Identification Caractérisation d entités (ici d un modèle paramétrique), afin de les rendre discernables les unes des autres. Invariant Entité géométrique ou topologique qui peut être, complètement et sans ambiguïté, caractérisée par la structure d un geste constructif et par ses paramètres d entrée, indépendamment des valeurs impliquées. Modèle Structure formelle utilisée pour conserver un ensemble d informations nécessaires à la représentation d un objet, pour un certain point de vue. Modèle H 4 Type de modèle d architecture structurant une application interactive en cinq modules : le noyau fonctionnel, l adaptateur de noyau fonctionnel, le contrôleur de dialogue, l adaptateur de présentation et la présentation [Guittet 95]. Modèle paramétrique Nom Nomination persistante (Persistent naming) Recouvrement Réévaluation Voisinage topologique Structure formelle duale, composée d une représentation explicite d un objet (sa géométrie), et d une représentation abstraite contenant un ensemble de paramètres et un ensemble (ou une liste) de contraintes (fonctions ou équations) appliquées à l objet. Identifiant unique d une entité. Il permet de désigner l entité nommée et s appuie sur une caractérisation pour totalement décrire l entité. Identification d entités géométriques et topologiques dans un modèle paramétrique initial, puis appariement de celles-ci avec les entités d un modèle paramétrique réévalué. Évaluation de l inclusion (topologique et géométrique) d une face dans une autre et réciproquement. L inclusion est établie d un point de vue frontière, c est-à-dire, en fonction des faces adjacentes communes. La notion de recouvrement est généralisée aux coques, à travers les faces qui les composent. Modification d un certain nombre de paramètres du modèle paramétrique, puis reconstruction de l objet modélisé par «réexécution» de la spécification paramétrique. Faces adjacentes à une face contingente, et qui lui servent de caractérisation dans la nomination. 2 Abréviations Cette section contient non seulement les abréviations, acronymes et autres sigles utilisés en modélisation géométrique et paramétrique, mais aussi ceux que nous avons défini pour simplifier la compréhension de ce mémoire. AG AIS Ancien Graphe Graphe correspondant au modèle paramétrique initial. Application Interactive Services Bibliothèque graphique de CasCade fournissant un ensemble de services de présentation (visualisation, sélection, etc.).
193 ABREVIATIONS 83 API Application Programming Interface Interface de programmation. ATM Augmented Transition Network RTA : Réseau de Transitions Augmenté. BRep Boundary Representation Représentation par frontières. CAD Computer Aided Design CAO : Conception Assistée par Ordinateur. CAM Computer Aided Manufacturing FAO : Fabrication Assistée par Ordinateur. CAO Conception Assistée par Ordinateur. CFAO Conception et Fabrication Assistées par Ordinateur. CSG Constructive Solid Geometry Construction géométrique solide. FAO Fabrication Assistée par Ordinateur. GM 2 Generic Matching Method Appariement générique. GUI Graphic User Interface Interface graphique utilisateur. IA Intelligence Artificielle. IHM Interface Homme-Machine. ISO International Organization for Standardization Organisation internationale de standardisation. MRSEV Material Removal Shape Element Volumes Bibliothèque de caractéristiques d usinage par soustraction de volume. NG Nouveau Graphe Graphe correspondant au modèle paramétrique réévalué. NURBS Non-Uniform Rational B-Spline Courbe B-Spline rationnelle non-uniforme. MFC Microsoft Foundation Classes Boîte à outil basée sur le langage de programmation orienté objet C++, servant à définir des applications interactives. PS 2 Persistent Solving Structure Notre modèle paramétrique comprenant, entre autres, le graphe orienté de coques / faces et la table des entités référencées. SATT Surfaces Associées Topologiquement et Technologiquement. SID Shell IDentifier Identifiant de coque. Il est issu de la taxonomie de caractéristiques de forme. STEP STandard for Exchange of Product model data Ensemble de standards internationaux (rassemblés sous la référence ISO 33) incluant la représentation et les mécanismes d échange de modèles de données. UIMS User Interface Management Systems Systèmes de Gestion d Interface Utilisateur. UML Unified Modeling Language Langage de Modélisation Objet Unifié.
194 84 ANNEXES 3 EXPRESS-G EXPRESS [ISO 33-:94] est un langage de modélisation conceptuelle et de spécification des données conçu dans le cadre du projet STEP (STandard for the Exchange of Product model data), officiellement connu sous la référence ISO 33. Son objectif principal est la description de modèles en vue de l échange de données relatives à ces modèles [Schenck et al. 94] [Bouazza 95]. Ce langage peut être utilisé pour la spécification des données dans de très nombreux domaines de l informatique. Par contre, à la différence des formalismes de modélisation objets, il n est pas destiné à modéliser des systèmes informatiques (faisant intervenir une composante dynamique) : les objets ne possèdent pas de méthodes, et la connaissance procédurale représentable s exprime exclusivement, soit sous forme de contraintes d intégrité, soit sous forme de fonctions de dérivation exprimant comment un attribut se calcule à partir d autres attributs. STRING (DER) initiale STRING t_nom nom Personne * num_ss * t_num_ss STRING REAL * note salaire Étudiant Enseignant * t_salaire REAL suit S[:4] (INV) est_suivi_par S[:3] enseigne L[:?] (INV) est_enseigne_par Cours STRING intitulé label label label Entité Type atomique Type utilisateur Légende Relation d héritage Relation d association Relation d association optionnelle * label (DER) label (INV) label S[a:b] L[a:b] Il existe une contrainte sur label label est un attribut dérivé label est un attribut inverse Ensemble d au moins a et au plus b éléments Liste d au moins a et au plus b éléments Figure 59 Représentation EXPRESS-G d un modèle de données décrivant les relations entre des enseignants et des étudiants. La représentation textuelle des schémas EXPRESS les rend difficilement lisibles. C est pour pallier ce problème de lisibilité qu un formalisme graphique de représentation a été élaboré : EXPRESS-G [ISO 33-:94] [Schenck et al. 94]. Ce formalisme permet de donner une vue synthétique du modèle de données. De plus, une telle représentation est très adaptée dans le cadre de la phase d analyse d un problème de modélisation. Ce symbolisme de représentation ne permet d exprimer que le caractère structurel et descriptif du modèle de données. Les contraintes d intégrité ne sont pas exprimables, mais il est cependant possible de spécifier un attribut, ou bien une classe, comme possédant une contrainte dans la phase avale d écriture du modèle de données textuel, ceci par l apposition du caractère * devant l attribut ou la classe contraint. Enfin, notons que le rôle assigné aux attributs (optionnel, dérivé ou inverse), ainsi que leur type associé, est Cette section sur le langage EXPRESS est extraite de [Sardet 99].
195 EXPRESS-G 85 représenté. La représentation en EXPRESS-G d un modèle de données décrivant des enseignants et des étudiants est proposée dans la Figure Exemple de graphe Cette section propose un exemple quasiment complet du graphe de coques / faces. Pour cette étude de cas nous avons repris l exemple par lequel nous avons illustré, dans le premier chapitre, les problèmes de nomination persistante (cf. Figure 6). Cet exemple nous a servi, tout au long de ce mémoire, de soutien à notre discours (cf. Figure 24 et Figure 25). Le graphe, représenté sur la page suivante, correspond au modèle paramétrique réévalué. La Figure 6 et la Figure 6 mettent en vis-à-vis les caractéristiques de forme et les structures hiérarchiques correspondantes, ainsi que l évolution de l objet modélisé et l évolution du graphe. Pour chaque face, sont représentés le nom paramétrique au format i.j et l identifiant géométrique au format k (i, j et k sont des entiers). Les structures hiérarchiques sont issues de notre taxonomie de caractéristiques de forme (cf. 2 ème chapitre - section 2.2) et représentées verticalement. L évolution historique se lit horizontalement de la gauche vers la droite. Notons que, pour ne pas surcharger davantage ces figures, nous avons volontairement omis de représenter trois éléments. Premièrement, nous avons représenté (excepté pour la coque de l arrondi) la hiérarchie invariante sans sa structure modifiée par son immersion dans la géométrie courante. Deuxièmement, nous n avons pas représenté les nœuds-poubelles qui indiquent à quelles étapes les faces ou les coques disparaissent. Troisièmement les nœuds sont représentés sans leur caractérisation qui varie suivant les évolutions. Ainsi, dans la Figure 6, les nœuds.4, 3.24 et 4.8 qui représentent la même face géométrique 54 sont respectivement caractérisés par <le fait que la face est invariante>, <.; 3.2; 3.3; 3.4;.;.3;.6;.5> et <4.; 3.2; 3.3; 3.4; 4.;.3;.6;.5>.
196 87 ANNEXES <4.7> 3 Caractéristique de forme (invariant) <.> <.6> 6 <2.> 7 <2.5> <2.4> <2.2> 8 <2.6> 2 <.5> 5 <.4> 4 <.3> 3 <.2> 2 <2.8> 4 <2.3> 9 <2.7> 3 <.4> 4 <3.6> 2 <3.4> 8 Objet modélisé (initial) <3.2> 6 <3.> 5 <3.5> 9 <3.3> 7 <2.8> 4 <.4> 4 <2.3> 9 <2.> 5 <2.9> 3 <2.9> 3 <3.7> 3 <3.2> 6 <3.23> 2 <4.> xx <4.2> 3 <4.3> 4 3.c.c 2.i 2.c 2.l 2.f i 3.l 3.f i.l.f 2.l 2.l l 3.l c a 6 a (5) 3.4 a 8 a a a (9) 3.7 a a 4 a 2 4. <4.8> 4 <4.9> 5 <4.> 6 Bloc extrudé Rainure horizontale Rainure verticale Arrondi 4.3 a a a a a 4 2 ème niveau de coques... er niveau de coques.3. a 3 a ().5 a 5 a a 4.6 a a () 2.3 a 2.2 a 9 2. a 8 a (7) a (2) niveau faces a 3 a a 3 a 5 Figure 6 Une représentation (presque) complète d un graphe de faces et de coques. Modèle initial.
197 EXEMPLE DE GRAPHE 88 Figure 6 Représentation du graphe de faces et de coques du modèle réévalué. Caractéristique de forme (invariant) <.> 5 <.6> 56 <2.> 57 <2.5> 6 <2.4> 6 <2.2> 58 <2.6> 62 <.5> 55 <.4> 54 <.3> 53 <.2> 52 <2.8> 64 <2.3> 59 <2.7> 63 <.4> 54 <3.6> 7 <3.5> 69 <3.4> 68 Objet modélisé (réévalué) <3.2> 66 <3.> 65 <3.7> 8 <3.3> 67 <3.5> 79 <3.9> 83 <2.> 55 <2.9> 53 <2.9> 53 <3.3> 77 <3.24> 54 <3.6>8 <3.2>84 <3.4> 78 <3.8> 82 <3.22> 86 <3.2> 66 <3.2> 85 <3.23> 52 <4.> xx <4.2> 8 <4.4> 79 <4.8> 54 <4.3> 82 <4.5> 8 <4.9> 55 <4.> 66 <4.7> 53 Bloc extrudé Rainure horizontale Rainure verticale Arrondi 3.c c c 2.i 2.l 2.f i 3.l 3.f ème niveau de coques.i.l.f 2.l 2.l l 3.l c er niveau de coques.3. a 53 a (5).5 a 55 a a 54 a a (6) 2.3 a (6) 2.2 a (59) 2. a (58) a (57) a (62) a a (64) a (63) a a 66 a (65) 3.4 a 68 a a (7) 3.5 a (69) a 78 a a 8 a a a 54 a a 73 a a 75 a 74 a a a a a a a 82 a a 68 a 66 niveau faces
198
199 INDEX 89 Index Cette partie rassemble, par ordre alphabétique, les mot-clés du domaine du paramétrique, ainsi que les principaux termes utilisés dans ce mémoire. Les numéros en gras renvoient aux définitions proposées dans les Annexes tandis que les numéros en italique revoient aux abréviations listées et définies dans les Annexes. A AG...92, 83 AIS...44, 83 API..., 83 Appariement...39, 8 coque...92, 5 face...9, 92 global...47 graphe...9 local...47 univoque...6 Approche a posteriori...43 a priori...45 globale...59 locale...59 structure invariante à topologie fixe...82 à topologie variable...84 B Boîte à outils...28, 43 BRep...8, 83 C CAD...voir CAO CAO...,, 27, 83 Caractérisation...39, 52, 7, 79, 8 Caractéristique d assemblage d usinage de fabrication de forme... 23, 56, 36 de matériau de tolérance définition... 22, 8 fonctionnelles taxonomie... 23, 56 techniques de création CFAO..., 83 Circuit... 94, 99 sous-chemin sous-chemin partiel Contenu topologique... 87, 5, 8 Contingent... 56, 8 Coque... 55, 8 appariement... 92, 5 connexe hiérarchique nomination... 8, 84, 85, 86 recouvrante Croisement... 93, 6, 82 global CSG... 7, 83 D Décomposition cellulaire... 6 Discrimination... 52
200 9 INDEX E Édition Entité contingente invariante référencée... 68, 87 Énumération spatiale... 6 EXPRESS... 25, 84 EXPRESS-G... 33, 85 F FAO..., 83 Feature... 22, voir aussi Caractéristique G Globale (approche) GM , 83 Graphe AG de coques exemple de représentation 75, 87, 88 lien hiérarchique lien historique NG nœud structure H H , 82 Hiérarchique lien structure... 55, voir aussi Coque Historique (lien) I Identification... 39, 53, 82 IHM... 42, 83 Instance... 5, 34 courante Invariant... 56, 82 Invariante structure... 56, 82, 84 Lien L de recouvrement..., 34 hiérarchique... 77, 34 historique... 76, 34 Locale (approche) M Matching... voir Appariement MFC... 44, 84 Mise en correspondance... voir Appariement Modèle définition..., 82 fil de fer... 8 graphique 2D... 3D... 2 paramétrique... 33, 3, 82 équationnel fonctionnel polygonal... 9 solide... 4 BRep... 8 CSG... 7 instanciation de primitives... 5 partitionnement spatial... 6 surfacique... 3 Modélisation géométrique... paramétrique N NG... 92, 84 Nœud... 34, voir aussi Coque Nom... 4, 68, 7, 79, 82 Nomination... 68, 82 coque... 84, 86 face... 8, 85 persistante problème structure invariante à topologie fixe à topologie variable O OCAF Opérations booléennes... 8
201 INDEX 9 P Paramétrique...33 équationnel...35 fonctionnel...36 Persistent naming...39, 82 Pondération...62, 94 PS , 84 R Ratios δ et δ...93, 96, 98 Reconnaissance de caractéristiques...27 automatique...28 interactive...28 Recouvrement...92, 82 Réévaluation...2, 7, 82 Regroupement (noms)...9 S Seuil ε..., 7 SID...84, 84 Sous-chemin...94 Sous-chemin partiel...94 Spécification paramétrique...2, 34, 38, 68, 3, 33 STEP...25, 84 Subdivision spatiale... 6 Substitution (noms)... 7 T Table des entités référencées... 68, 87 locale de correspondance Tâche Taxonomie caractéristiques... 23, 56, 36 modèles paramétriques nomination et appariement techniques de création de caractéristiques U Univoque (appariement)... 6 V Voisinage topologique... 85, 99, voir aussi Circuit
202
203 Abstract Persistent naming in a parametric model. Unambiguous identification and generic matching for topological entities. 2r!!!! À KEY WORDS. CAD/CAM, geometric modeling, parametrics, feature taxonomy. p
204 Résumé 2r Nomination persistante dans un modèle paramétrique. Identification non-ambiguë et appariement générique d entités topologiques. La deuxième moitié du XX ème siècle a vu la naissance et l évolution des systèmes de CAO qui passent de simples outils d esquisse vers des systèmes plus complexes conservant non seulement la géométrie mais également des informations additionnelles permettant de gérer divers aspects du cycle de vie des objets modélisés. Les modèles géométriques (CSG, BRep, G- cartes, etc.) qui ont été largement étudié et développé pour leur aptitude à représenter simplement et fidèlement les objets se limitent à la description de la géométrie de ces objets. Insuffisant pour appréhender les intentions du concepteur, ainsi que pour gérer l usinage des pièces, les modèles géométriques se sont enrichis d une information fonctionnelle encapsulée dans des caractéristiques. Ces modèles à base de caractéristiques et en particulier de caractéristiques de forme procurent un vocabulaire de plus haut niveau (rainure, bossage, arrondi, etc.) et plus étendu (tolérance, matériau, métrologie, etc.) que les simples entités géométriques (point, cercle, cylindre, etc.) pour décrire les gestes constructifs portant sur les objets. Lorsque cette description (géométrie, paramètres, contraintes, etc.) est conservée et exploitée dans une perspective de réutilisation (dans le sens : variations de paramètres et réévaluation de la géométrie), on parle de modèle paramétrique. La modélisation paramétrique, de part sa structure duale comprenant à la fois une représentation abstraite (la spécification paramétrique) et une représentation explicite (la géométrie), pose le problème de la nomination persistante qui dérive de la nécessité de maintenir un lien entre ces deux représentations. L objectif de ce mémoire est de répondre à ce problème de nomination persistante, c està-dire au problème de l identification d entités dans un modèle initial, puis celui de l appariement entre ces entités initiales et celles d un modèle réévalué dont la géométrie et la topologie peuvent varier. Dans cet environnement extrêmement variant, une approche intéressante est d avoir des éléments invariants auxquels peuvent s accrocher les entités du modèle paramétrique. Cependant, pour pallier l insuffisance ou l absence de ces éléments invariants, l enregistrement, d une partie pertinente, des modifications des entités du modèle est nécessaire en complément, pour répondre à ce problème de nomination persistance. L idée est donc, d une part, de nommer les entités de manière déterministe, unique, et non-ambiguë, et, d autre part, de suivre leurs évolutions pour être en mesure de les retrouver / reconnaître, quelles que soient les modifications du modèle. Cette analyse nous amène à concevoir un modèle à trois niveaux, constitué d un niveau géométrie, d un niveau spécification paramétrique (représentation abstraite de la géométrie), et, s intercalant entre ces deux niveaux, une interface gérant les noms. Cette gestion des noms se fait principalement au travers d un graphe de coques / faces qui trace l évolution historique des faces et des coques de l objet modélisé, et au travers d une table des entités référencées qui, pour chaque entité référencée par la spécification paramétrique, conserve, non seulement une description (un nom) de l entité, mais aussi, un lien entre la géométrie et la spécification. La mise en correspondance des graphes initial et final, ainsi que leur parcours à la recherche d éléments invariants ou communs, permet de mettre à jour et donc de maintenir le lien entre la géométrie et la spécification, assurant de la sorte une nomination persistante. MOTS-CLES. CAO, modélisation paramétrique, nomination persistante, modélisation géométrique, classification de caractéristiques de forme. English abstract inside p
modélisation solide et dessin technique
CHAPITRE 1 modélisation solide et dessin technique Les sciences graphiques regroupent un ensemble de techniques graphiques utilisées quotidiennement par les ingénieurs pour exprimer des idées, concevoir
Conception intégrée assistée par ordinateur
Conception intégrée assistée par ordinateur par Mounib MEKHILEF Maître de conférences en Productique à la faculté des sciences de Bourges Responsable de recherche au laboratoire Productique de l École
Les algorithmes de base du graphisme
Les algorithmes de base du graphisme Table des matières 1 Traçage 2 1.1 Segments de droites......................... 2 1.1.1 Algorithmes simples.................... 3 1.1.2 Algorithmes de Bresenham (1965).............
Chapitre VIII. Les bases de données. Orientées Objet. Motivation
Chapitre VIII Motivation Le modèle relationnel connaît un très grand succès et s avère très adéquat pour les applications traditionnelles des bases de données (gestion) Les bases de données Orientées Objet
ANALYSE CATIA V5. 14/02/2011 Daniel Geffroy IUT GMP Le Mans
ANALYSE CATIA V5 1 GSA Generative Structural Analysis 2 Modèle géométrique volumique Post traitement Pré traitement Maillage Conditions aux limites 3 Ouverture du module Choix du type d analyse 4 Calcul
Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007
Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes
Calcul intégral élémentaire en plusieurs variables
Calcul intégral élémentaire en plusieurs variables PC*2 2 septembre 2009 Avant-propos À part le théorème de Fubini qui sera démontré dans le cours sur les intégrales à paramètres et qui ne semble pas explicitement
Manuel des bonnes pratiques avec CATIA V.5
2009 Manuel des bonnes pratiques avec CATIA V.5 Pour aller plus loin dans la maîtrise de l outil CAO Ce document a pour objectif de donner des méthodologies et règles de travail qui permettent de mener
Conception architecturale et modélisation déclarative
Conception architecturale et modélisation déclarative Gérard HEGRON CERMA UMR CNRS 1563 École d Architecture de Nantes Rue Massenet, BP 81931 44 319 Nantes cedex 3 [email protected] Résumé Les
Évaluation et implémentation des langages
Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation
Les nouveautés de Femap 11.1
Siemens PLM Software Les nouveautés de Femap 11.1 Amélioration de la productivité des Ingénieurs calcul Avantages Manipulation plus rapide des modèles grâce à des performances graphiques améliorées Flexibilité
MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»
MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1
Introduction au maillage pour le calcul scientifique
Introduction au maillage pour le calcul scientifique CEA DAM Île-de-France, Bruyères-le-Châtel [email protected] Présentation adaptée du tutorial de Steve Owen, Sandia National Laboratories, Albuquerque,
Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.
Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de
Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test
Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite
COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE
COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE Le cours de la première année concerne les sujets de 9ème et 10ème années scolaires. Il y a bien sûr des différences puisque nous commençons par exemple par
Formats 3D Critères d utilisation dans les échanges Frédéric CHAMBOLLE PSA Peugeot Citroën Direction des Systèmes d Information
Formats 3D Critères d utilisation dans les échanges Frédéric CHAMBOLLE PSA Peugeot Citroën Direction des Systèmes d Information Atelier Ingénierie GALIA 30 novembre 2010 Introduction Les travaux de ce
Nom de l application
Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique
Mini projet n 1 DOSSIER DE CONCEPTION Clef USB
Mini projet n 1 DOSSIER DE CONCEPTION Clef USB Dossier de conception 1/21 1. PRESENTATION GENERALE DU MINI PROJET 1.1 Contexte de l étude Situation existante avec un problème. Présentation de l objectif
Université de Bangui. Modélisons en UML
Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et
Fonctions de plusieurs variables
Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme
Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P
EUROCOPTER SAS Groupe EADS Marignane Ecole des Mines d Alès Laboratoire de Génie Informatique et d Ingénierie de Production LGI2P Nîmes Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P Titre Domaine
Utilisation du logiciel GALAAD
1 Sommaire: Présentation du logiciel GALAAD 1. Démarrer le programme........ 2. Présentation de l écran du logiciel....... Les barres d'outils, sauvegarder... 3. Créer un nouveau fichier........ 4. Préparer
Synthèse d'images I. Venceslas BIRI IGM Université de Marne La
Synthèse d'images I Venceslas BIRI IGM Université de Marne La La synthèse d'images II. Rendu & Affichage 1. Introduction Venceslas BIRI IGM Université de Marne La Introduction Objectif Réaliser une image
Analyse de la vidéo. Chapitre 4.1 - La modélisation pour le suivi d objet. 10 mars 2015. Chapitre 4.1 - La modélisation d objet 1 / 57
Analyse de la vidéo Chapitre 4.1 - La modélisation pour le suivi d objet 10 mars 2015 Chapitre 4.1 - La modélisation d objet 1 / 57 La représentation d objets Plan de la présentation 1 La représentation
Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0
Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive Sommaire - Le Robot M.I.M.I. (Multipode Intelligent à Mobilité Interactive) - Présentation du Système à Enseigner. - Composition
C.F.A.O. : Conception et Fabrication Assistées par Ordinateur.
C.F.A.O. : Conception et Fabrication Assistées par Ordinateur. La CFAO réunit dans une même démarche informatique les actions de conception et de fabrication d un objet. La technique utilisée permet à
Le Dessin Technique.
Jardin-Nicolas Hervé cours 1 / 9. Modélisation et représentation d un objet technique. La modélisation et la représentation d un objet sont deux formes de langage permettant de définir complètement la
ORIENTATIONS POUR LA CLASSE DE TROISIÈME
51 Le B.O. N 1 du 13 Février 1997 - Hors Série - page 173 PROGRAMMES DU CYCLE CENTRAL 5 e ET 4 e TECHNOLOGIE En continuité avec le programme de la classe de sixième, celui du cycle central du collège est
Traitement bas-niveau
Plan Introduction L approche contour (frontière) Introduction Objectifs Les traitements ont pour but d extraire l information utile et pertinente contenue dans l image en regard de l application considérée.
LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION
LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION DES NOMBRES par Jean-Luc BREGEON professeur formateur à l IUFM d Auvergne LE PROBLÈME DE LA REPRÉSENTATION DES NOMBRES On ne conçoit pas un premier enseignement
Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR
Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR Mickaël Bergem 25 juin 2014 Maillages et applications 1 Table des matières Introduction 3 1 La modélisation numérique de milieux urbains
Analyse,, Conception des Systèmes Informatiques
Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance
NOTICE D' UTILISATION CAMWORKS FRAISAGE. Luc Vallée Lycée Blaise Pascal Segré
NOTICE D' UTILISATION Luc Vallée Lycée Blaise Pascal Segré FRAISAGE SOMMAIRE allée Sciences et techniques Fiche n 1 - Généralités principe....page 3 Fiche n 2 - Lancer une application fraisage...page 7
Les outils «Dessin» indispensables pour Cadkey Windows 7.5/97/98/99
Les outils «Dessin» indispensables pour Cadkey Windows 7.5/97/98/99 Afficher Couches Tracer arc ou cercle Lignes construction Lignes schémas Types de vis vis d assemblage vis de pression vis de tôlerie
Moteur monocylindre de tondeuse auto-tractée. Pascal MORENTON [email protected] http://cao.etudes.ecp.fr
Formation au logiciel CATIA V5 Guide d utilisation 3.3 Moteur monocylindre de tondeuse auto-tractée Utilisation de l atelier «DMU/Space Analysis» Pascal MORENTON [email protected] http://cao.etudes.ecp.fr
Calculer avec Sage. Revision : 417 du 1 er juillet 2010
Calculer avec Sage Alexandre Casamayou Guillaume Connan Thierry Dumont Laurent Fousse François Maltey Matthias Meulien Marc Mezzarobba Clément Pernet Nicolas Thiéry Paul Zimmermann Revision : 417 du 1
LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN
LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas
LECTURE CRITIQUE. Accompagner les enseignants et formateurs dans la conception d une formation en ligne
LECTURE CRITIQUE Accompagner les enseignants et formateurs dans la conception d une formation en ligne Christian Ernst E-learning. Conception et mise en œuvre d un enseignement en ligne Guide pratique
Structuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe
Structuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe Karima Dhouib, Sylvie Després Faiez Gargouri ISET - Sfax Tunisie, BP : 88A Elbustan ; Sfax [email protected],
Méthodes d évolution de modèle produit dans les systèmes du type PLM
Résumé de thèse étendu Méthodes d évolution de modèle produit dans les systèmes du type PLM Seyed Hamedreza IZADPANAH Table des matières 1. Introduction...2 2. Approche «Ingénierie Dirigée par les Modèles»
Cours IV Mise en orbite
Introduction au vol spatial Cours IV Mise en orbite If you don t know where you re going, you ll probably end up somewhere else. Yogi Berra, NY Yankees catcher v1.2.8 by-sa Olivier Cleynen Introduction
UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU
Odile VERBAERE UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU Résumé : Cet article présente une réflexion sur une activité de construction de tableau, y compris
Introduction au Data-Mining
Introduction au Data-Mining Alain Rakotomamonjy - Gilles Gasso. INSA Rouen -Département ASI Laboratoire PSI Introduction au Data-Mining p. 1/25 Data-Mining : Kèkecé? Traduction : Fouille de données. Terme
Nicolas VAN LABEKE LORIA/CNRS, Université Henri Poincaré - Nancy I, BP 239, F-54506 Vandoeuvre les Nancy Cedex,FRANCE vanlabek@loria.
Développement d un logiciel pour l enseignement de la géométrie spatiale en partenariat Université/Second degré : démarche et présentation de Calques 3D Nicolas VAN LABEKE LORIA/CNRS, Université Henri
Programmes des classes préparatoires aux Grandes Ecoles
Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voies : Mathématiques, physique et sciences de l'ingénieur (MPSI) Physique, chimie et sciences de l ingénieur (PCSI) Physique,
LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE
LA PHYSIQUE DES MATERIAUX Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE Pr. A. Belayachi Université Mohammed V Agdal Faculté des Sciences Rabat Département de Physique - L.P.M [email protected] 1 1.Le réseau
Nouveautés de Solid Edge ST7
Siemens PLM Software Nouveautés de Solid Edge ST7 Réimaginez le champ des possibles Avantages Des centaines d améliorations réclamées par les utilisateurs Une modélisation 3D plus flexible et plus rapide
Production des Services d Assurance non-vie selon le SCN 2008
REPUBLIQUE DU CAMEROUN Paix - Travail Patrie ---------- INSTITUT NATIONAL DE LA STATISTIQUE ---------- REPUBLIC OF CAMEROON Peace - Work Fatherland ---------- NATIONAL INSTITUTE OF STATISTICS ----------
Date : 18.11.2013 Tangram en carré page
Date : 18.11.2013 Tangram en carré page Titre : Tangram en carré Numéro de la dernière page : 14 Degrés : 1 e 4 e du Collège Durée : 90 minutes Résumé : Le jeu de Tangram (appelé en chinois les sept planches
1 Création d une pièce. 2 Travail complémentaire. 1-1 Réglage des barres d outils. 1-2 Exemples de réalisation de pièces à l aide d un modeleur 3D
SolidWorks Logiciel de DAO (Dessin Assisté par Ordinateur) Palonnier Servomoteur SOMMAIRE : 1 Création d une pièce 1-1 Réglage des barres d outils 1-2 Exemples de réalisation de pièces à l aide d un modeleur
Présentation générale du projet data.bnf.fr
Présentation générale du projet data.bnf.fr La Bibliothèque nationale a mis en œuvre un nouveau projet, qui a pour but de rendre ses données plus utiles sur le web. Ceci nécessite de transformer données
Méthodologie de conceptualisation BI
Méthodologie de conceptualisation BI Business Intelligence (BI) La Business intelligence est un outil décisionnel incontournable à la gestion stratégique et quotidienne des entités. Il fournit de l information
CONCEPTION ET REALISATION D'UN GENERATEUR DE TABLEAUX DE BORD PROSPECTIFS MULTIDIMENSIONNELS
CONCEPTION ET REALISATION D'UN GENERATEUR DE TABLEAUX DE BORD PROSPECTIFS MULTIDIMENSIONNELS Nazih Selmoune (*), Zaia Alimazighi (*) [email protected], [email protected] (*) Laboratoire des systèmes
La construction du temps et de. Construction du temps et de l'espace au cycle 2, F. Pollard, CPC Bièvre-Valloire
La construction du temps et de l espace au cycle 2 Rappel de la conférence de Pierre Hess -Démarche de recherche: importance de se poser des questions, de chercher, -Envisager la démarche mentale qui permet
TUTORIAL 1 ETUDE D UN MODELE SIMPLIFIE DE PORTIQUE PLAN ARTICULE
TUTORIAL 1 ETUDE D UN MODELE SIMPLIFIE DE PORTIQUE PLAN ARTICULE L'objectif de ce tutorial est de décrire les différentes étapes dans CASTOR Concept / FEM permettant d'effectuer l'analyse statique d'une
Modélisation et Simulation
Cours de modélisation et simulation p. 1/64 Modélisation et Simulation G. Bontempi Département d Informatique Boulevard de Triomphe - CP 212 http://www.ulb.ac.be/di Cours de modélisation et simulation
Urbanisation de système d'information. PLM 3 (Product Lifecycle Management) Élaborations, versions, variantes, configurations
Urbanisation de système d'information PLM 3 (Product Lifecycle Management) Élaborations, versions, variantes, configurations 1 Mise en gestes L'existence de tout produit, et de tout service commence par
Chapitre 0 Introduction à la cinématique
Chapitre 0 Introduction à la cinématique Plan Vitesse, accélération Coordonnées polaires Exercices corrigés Vitesse, Accélération La cinématique est l étude du mouvement Elle suppose donc l existence à
COMMENT REDIGER UN RAPPORT TECHNIQUE?
COMMENT REDIGER UN RAPPORT TECHNIQUE? Christiaens Sébastien Université de Liège Département PROMETHEE Institut de Mécanique et de Génie Civil, Bât. B52 Chemin des Chevreuils, 1 B-4000 Liège, Belgique Janvier
Formula Negator, Outil de négation de formule.
Formula Negator, Outil de négation de formule. Aymerick Savary 1,2, Mathieu Lassale 1,2, Jean-Louis Lanet 1 et Marc Frappier 2 1 Université de Limoges 2 Université de Sherbrooke Résumé. Cet article présente
Sillage Météo. Notion de sillage
Sillage Météo Les représentations météorologiques sous forme d animation satellites image par image sont intéressantes. Il est dommage que les données ainsi visualisées ne soient pas utilisées pour une
L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :
La vision nous permet de percevoir et d interpreter le monde qui nous entoure. La vision artificielle a pour but de reproduire certaines fonctionnalités de la vision humaine au travers de l analyse d images.
ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab
ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab notre compétence d'éditeur à votre service créée en juin 2010, Scilab enterprises propose services et support autour
Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?
Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version
Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?
Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version
CFAO Usinage sur machine à commande numérique
CFAO Usinage sur machine à commande numérique Pour réaliser une pièce à l aide d une machine à commande numérique, on doit respecter les étapes suivantes : Dessin matriciel et dessin vectoriel : Matriciel
Formats d images. 1 Introduction
Formats d images 1 Introduction Lorsque nous utilisons un ordinateur ou un smartphone l écran constitue un élément principal de l interaction avec la machine. Les images sont donc au cœur de l utilisation
Deux disques dans un carré
Deux disques dans un carré Table des matières 1 Fiche résumé 2 2 Fiche élève Seconde - version 1 3 2.1 Le problème............................................... 3 2.2 Construction de la figure avec geogebra...............................
Créer le schéma relationnel d une base de données ACCESS
Utilisation du SGBD ACCESS Polycopié réalisé par Chihab Hanachi et Jean-Marc Thévenin Créer le schéma relationnel d une base de données ACCESS GENERALITES SUR ACCESS... 1 A PROPOS DE L UTILISATION D ACCESS...
(1,1) -1- CPLMEx_8pE_vF.indd 28/02/07, 23:26:46. CATIA PLM Express La voie rapide vers le PLM
(1,1) -1- CPLMEx_8pE_vF.indd 28/02/07, 23:26:46 CATIA PLM Express La voie rapide vers le PLM (1,1) -1- CPLMEx_8pE_vF.indd 28/02/07, 23:27:06 25 ans d excellence en conception produit au service de toutes
Baccalauréat ES/L Amérique du Sud 21 novembre 2013
Baccalauréat ES/L Amérique du Sud 21 novembre 2013 A. P. M. E. P. EXERCICE 1 Commun à tous les candidats 5 points Une entreprise informatique produit et vend des clés USB. La vente de ces clés est réalisée
Les documents primaires / Les documents secondaires
Les documents primaires / Les documents secondaires L information est la «matière première». Il existe plusieurs catégories pour décrire les canaux d information (les documents) : - Les documents primaires
Extraction d informations stratégiques par Analyse en Composantes Principales
Extraction d informations stratégiques par Analyse en Composantes Principales Bernard DOUSSET IRIT/ SIG, Université Paul Sabatier, 118 route de Narbonne, 31062 Toulouse cedex 04 [email protected] 1 Introduction
CARTE DE VOEUX À L ASSOCIAEDRE
CARTE DE VOEUX À L ASSOCIAEDRE JEAN-LOUIS LODAY Il y a cinq ans le Centre International de Rencontres Mathématiques de Luminy a envoyé ses voeux avec la carte ci-dessus. L illustration choisie par Robert
Chapitre 2 : Caractéristiques du mouvement d un solide
Chapitre 2 : Caractéristiques du mouvement d un solide I Rappels : Référentiel : Le mouvement d un corps est décris par rapport à un corps de référence et dépend du choix de ce corps. Ce corps de référence
Cours d Analyse. Fonctions de plusieurs variables
Cours d Analyse Fonctions de plusieurs variables Licence 1ère année 2007/2008 Nicolas Prioux Université de Marne-la-Vallée Table des matières 1 Notions de géométrie dans l espace et fonctions à deux variables........
La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1
La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La licence Mathématiques et Economie-MASS de l Université des Sciences Sociales de Toulouse propose sur les trois
URBANISME DES SYSTÈMES D INFORMATION
FAYCAL AYECH GL2. INSAT 2010/2011 INTRODUCTION AUX SYSTÈMES D INFORMATIONS URBANISME DES SYSTÈMES D INFORMATION De l Urbanisme à L Urbanisation des SI Urbanisme : Mise en œuvre des politiques urbaines
Introduction aux concepts d ez Publish
Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de
UML (Diagramme de classes) Unified Modeling Language
UML (Diagramme de classes) Unified Modeling Language Sommaire Introduction Objectifs Diagramme de classes Classe (Nom, attribut, opération) Visibilité et portée des constituants d une classe Association
S8 - INFORMATIQUE COMMERCIALE
S8 - INFORMATIQUE COMMERCIALE Les savoirs de l Informatique Commerciale doivent être abordés en relation avec les autres savoirs (S4 à S7). Les objectifs généraux sont : o de sensibiliser les étudiants
Introduction à l étude des Corps Finis
Introduction à l étude des Corps Finis Robert Rolland (Résumé) 1 Introduction La structure de corps fini intervient dans divers domaines des mathématiques, en particulier dans la théorie de Galois sur
Résolution d équations non linéaires
Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique
BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98. J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES
BASES DE DONNÉES CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98 J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES III. LES SYSTÈMES RÉSEAU IV. LES SYSTÈMES RELATIONNELS V. LE LANGAGE
Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS
Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS Mémento Ouvrir TI-Nspire CAS. Voici la barre d outils : L insertion d une page, d une activité, d une page où l application est choisie, pourra
Adobe Illustrator Logiciel de dessin vectoriel et de Cartographie Assistée par Ordinateur
Adobe Illustrator Logiciel de dessin vectoriel et de Cartographie Assistée par Ordinateur I- Ouverture d une nouvelle feuille de travail Fichier / Nouveau (ou ctrl + N) Indiquer dans la fenêtre qui s ouvre
FORMATION CONTINUE SUR L UTILISATION D EXCEL DANS L ENSEIGNEMENT Expérience de l E.N.S de Tétouan (Maroc)
87 FORMATION CONTINUE SUR L UTILISATION D EXCEL DANS L ENSEIGNEMENT Expérience de l E.N.S de Tétouan (Maroc) Dans le cadre de la réforme pédagogique et de l intérêt que porte le Ministère de l Éducation
GMEC1311 Dessin d ingénierie. Chapitre 1: Introduction
GMEC1311 Dessin d ingénierie Chapitre 1: Introduction Contenu du chapitre Introduction au dessin technique Normes Vues Traits Échelle Encadrement 2 Introduction Les dessins ou graphiques sont utilisés
BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE
BACCALAURÉAT GÉNÉRAL SESSION 2012 MATHÉMATIQUES Série S Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE Les calculatrices électroniques de poche sont autorisées, conformément à la
chapitre 4 Nombres de Catalan
chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C
Mastère spécialisé. «Ingénierie de l innovation et du produit nouveau De l idée à la mise en marché»
Mastère spécialisé «Ingénierie de l innovation et du produit nouveau De l idée à la mise en marché» I- Présentation détaillée du programme d enseignement Répartition par modules et crédits ECTS : Intitulé
SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique
SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des
Sujet de thèse CIFRE RESULIS / LGI2P
Ecole des Mines d Alès Laboratoire de Génie Informatique et d Ingénierie de Production LGI2P Nîmes Sujet de thèse CIFRE RESULIS / LGI2P Titre Domaine De l ingénierie des besoins à l ingénierie des exigences
Cours Fonctions de deux variables
Cours Fonctions de deux variables par Pierre Veuillez 1 Support théorique 1.1 Représentation Plan et espace : Grâce à un repère cartésien ( ) O, i, j du plan, les couples (x, y) de R 2 peuvent être représenté
Logiciel Libre Cours 3 Fondements: Génie Logiciel
Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli [email protected] Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/
Guide du/de la candidat/e pour l élaboration du dossier ciblé
Guide du/de la candidat/e pour l élaboration du dossier ciblé en vue de l obtention du titre de "Conseiller ère diplômé e en orientation professionnelle, universitaire et de carrière" par la validation
WHITE PAPER Une revue de solution par Talend & Infosense
WHITE PAPER Une revue de solution par Talend & Infosense Master Data Management pour les données de référence dans le domaine de la santé Table des matières CAS D ETUDE : COLLABORATION SOCIALE ET ADMINISTRATION
Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.
ANALYSE 5 points Exercice 1 : Léonie souhaite acheter un lecteur MP3. Le prix affiché (49 ) dépasse largement la somme dont elle dispose. Elle décide donc d économiser régulièrement. Elle a relevé qu elle
