Communications entre les systèmes de CAO et les
systèmes experts à bases de connaissances en bâtiment
Couplage CAO-IA
Ce chapitre expose la partie théorique de la thèse. On commence par décrire les méthodes classiques utilisées traditionnellement pour souligner quelques points remarquables concernant les données géométriques simples; nous essaierons après d’illustrer le concept de fonctions d’analyse à travers des exemples très didactiques. Puis nous présentons notre approche, les principes de bases, les moyens de réalisation, les points forts et les points faibles, ainsi qu’une extension du modèle proposé pour une utilisation plus générale par (‘implementation de contraintes.
Les méthodes classiques
Le dessin moyen de communication
Le dessin est un message émis par l’architecte et reçu par l’architecte et par les autres participants à l’acte de conception. Le message graphique sera interprété pour en tirer les différentes sortes d’informations [LEBAHAR J.C. 83]. Le dessin parait donc le moyen du concepteur pour partager l’information, surtout que la conception fait intervenir plusieurs acteurs et repose énormément sur la communication des idées. Les idées sont concrétisées par le dessin de plans cotés, et commentés, de coupes de façades ou autres vues de détails nécessaires pour la compréhension du projet.
Codage et décodage du dessin
Analysons plus profondément cette phase de communication: Si l’architecte passe un plan décrivant le projet à l’ingénieur, ce qui est mis en commun peut être décomposé en deux parties: -le dessin d’un plan (accompagné éventuellement de descriptifs). -La connaissance nécessaire pour lire un plan. Il ne faut pas confondre cette connaissance avec l’expertise propre de l’ingénieur, c’est plutôt le moyen de décoder le plan. Un plan est un codage spécial de l’information, et le décodage est nécessaire pour extraire cette information.Ainsi l’homme essaie de décoder un plan, ou plutôt de l’interpréter pour en tirer les informations dont il a besoin. A < ^ \ UV liste de locaux liste de parois fig.
Le décodage d’un dessin
Un plan contient beaucoup d’informations sémantiques sur le projet codées en termes d’entités géométriques (lignes, arcs, hachures,…) L’interprétation des informations à partir des entités géométriques peut changer d’un acteur à un autre suivant ses points de vues ou son intérêt dans le projet; Ê :T » fig.
Pian simple
Si un architecte interprète ce plan, il verra des locaux communicants, des parois, des cloisons, des portes, des surfaces de déplacement,… Par contre, un ingénieur de structure sera attiré par les coins, les intersections de murs qui représentent des endroits potentiels pour l’implantation de ces poteaux, et il verra l’espace du local comme la portée entre nu d’appuis pour ses poutres.
Conclusion
L’informatisation des moyens de conception a porté surtout sur l’instrumentation de la phase de dessin du projet; cependant, la partie d’interprétation d’entités géométriques en entités plus riches en sémantique n’a toujours pas été implémentée. Chapitre 4 Couplage CAO-IA 38 Pour modéliser cette nouvelle information, on va ajouter à la classe d’objet cube les champs au dessus et au dessous qui contiendront respectivement l’objet au dessus et l’objet au dessous s’ils existent. Cependant qui va remplir ces champs et comment? De même la donnée ajoutée va augmenter la taille des objets et la quantité d’informations devient tout de suite énorme pour peu de connaissances. A chaque déplacement d’un objet dans la scène il faut remettre à jour tous les champs touchés. On pense alors à équiper l’objet cube par une méthode de vérification mathématique, de lancer de rayon par exemple, pour pouvoir vérifier s’il y a ou non un objet au dessus ou en dessous. La fonction sera déclenchée à chaque appel au champ correspondant; on peut même aller plus loin en éliminant le champ et en transformant la méthode en une requête qui ramène l’objet au dessus quand elle est envoyée en message à l’objet. La base de données devient moins volumineuse, plus dynamique et sa mise à jour plus simple car il suffit de mettre à jour les entités géométriques sans s’inquiéter du reste. On va essayer d’étendre cette notion de fonction pour qu’elle puisse ramener des objets complexes qui n’ont pas été stockés. Essayons une autre manipulation de la scène avant: plaçons le cube 1 et le cube 2 au même niveau puis plaçons le prisme de façon à reposer sur les deux cubes. LP fig. 4.6 Une deuxième vue de la scène On peut tout de suite remarquer qu’un portique s’est formé, une information sémantiquement riche. Pour stocker cette nouvelle information, on est de nouveau tenté de créer une classe portique qui décrit un portique; cependant qui va instancier cette classe, et quand? N’oublions pas aussi que le nombre et la nature d’interprétations potentielles d’informations géométriques complexes est généralement difficile à prédire. En effet, différents experts regardant la scène verront l’objet complexe et l’interpréteront à leur manière [BILLET A. et AL 87], [CAMMARATA S. et AL 84], [WING J. et AL 85]. Un expert qui s’intéresse à assembler verra la scène de la façon suivante: fig. 4.7 Scène vue par assemblage alors qu’un expert qui s’intéresse à découper verra la scène de la façon suivante: ^y\ fig. Scène vue par découpage si j’impose une façon de représenter les objets, une limite rigide va vite s’établir, à moins qu’une redondance dans la description puisse prendre en compte toutes les représentations possibles, cela au prix de l’augmentation de la taille de la base de données et au prix d’un temps de saisie multiplié par le nombre de représentations. Ne serait il pas important d’avoir une base de données simple et chacun pourra la lire et l’interpréter par ses propres moyens à l’aide de méthodes qui décrivent comment rechercher ce dont il a besoin?
Exemple de données géométriques simples en 2D
Imaginons qu’un modeleur 2D ne connait qu’une seule sorte d’entité géométrique 2D: le segment (défini par ses extémités). Un utilisateur ne peut saisir que des segments et la base de données graphique du modeleur ne stocke que la topologie de segment. Supposons que l’utilisateur saisit les segments dans la configuration suivante: Chapitre 4 Couplage CAO-IA 40 A O D fig. 4.9 Des figures simples Dans le premier cas on a des segments qui forment un triangle, dans le deuxième cas ils forment un quadrilatère, et dans le troisième cas un carré. On peut saisir à l’aide d’un modeleur pareil autant de formes complexes que possible, mais le problème reste que le modeleur ne stocke que des segments et les informations de haut niveau tel que carré ou triangle ne sont pas stockées. On peut par contre créer des fonctions d’analyses qui permettent d’extraire à partir des entités géométriques simples des objets plus complexes. On peut par exemple décrire un triangle comme une suite de trois segments dont les extrémités coincident deux à deux et qui forment un pourtour fermé, ou bien un quadrilatère comme une suite de quatre segments …, et un carré comme un quadrilatère dont les quatres segments sont deux à deux parallèles, tous de même longueur et formant des angles droits. L’abstraction des objets géométriques est obtenue par les définitions de ces objets sous forme procédurale dynamique et non sous forme d’attributs statiques. Cette représentation permet à chaque utilisateur de définir à sa façon les objets dont il a besoin d’extraire. Equipé de ces fonctions d’analyses tel que décrites plus haut ce même modeleur est maintenant capable de restituer des informations complexes autres que celles qui sont stockées dans sa base simple.
Concept d’analyseurs
On peut étendre cette approche exposé plus haut à des modeleurs 3D, qui traitent plutôt de la volumétrie, et plus particulièrement celle du bâtiment. Bien que le modèle 3D dans la machine soit virtuel, sa puissance de représentation n’est guère inférieure à celle d’une vraie maquette. Une personne sait facilement interpréter une maquette, peut-on espérer doter la machine de fonctions qui lui permettent d’interpréter ce modèle? On peut imaginer que le modeleur 3D ne stocke dans sa base de données que des entités de volumes simples, leurs topologies (prisme, cube,…), leurs textures (plein, vide, transparent, …), et leurs positions dans le plan. En partant du principe que vide et plein sont des notions de bases connues par le système, on peut définir des entités plus complexes tel que paroi, local, ou cloison. Une paroi peut être définie comme un assemblage de volumes pleins con tig us séparant deux espaces vides; Un espace de local peut être défini comme un ensemble de vides contigus et délimités par des éléments pleins formant l’enveloppe.
Analyseurs et fonctions
A travers les deux exemples avant on peut noter les deux aspects suivants: -la capacité de tirer des informations sémantiques à partir de données géométriques simples permet de simplifier la représentation d’un modèle dans une base de données. -des fonctions dynamiques qui peuvent ramener des objets géométriques complexes (paroi, espace d’un local,…) ou des informations (au dessus, en dessous, …) permettent à la base de données d’être dynamique et facilite sa mise à jour. Nous allons essayer de combiner ces deux concepts d’analyseurs et de fonctions pour les exploiter dans le domaine du bâtiment. Des fonctions d’analyseurs permettent de scanner une base de données géométrique simple contenant des volumes décrits simplement pour en tirer des informations complexes riches en sémantiques tel que paroi, local, communication,…
Présentation de notre approche
Choix du système
On a vu que les données dynamiques qui évoluent tout au long de la phase de conception sont surtout des informations spatiales et géométriques décrivant le projet (espace local, communication, ouvertures,…). C’est dans cette partie des données que le maintien de cohérence et de la consistance des données est la plus critique. Elle représente aussi la majeure partie du projet qui peut être saisie à l’aide d’un système de CAO. Dans notre approche, on a essayé d’expérimenter les concepts de fonctions analyseurs. Pour cela notre système de CAO est constitué d’une base de données simples, géométriques et sémantiquement pauvres; ce système est par contre équipé d’un ensemble de fonctions d’analyse spatial et géométrique pour la reconnaissance d’entités sémantiques. On verra dans ce qui suit comment sont traités les informations géométriques et les informations non géométriques.
Les informations géométriques
Représentation
Les informations géométriques qui peuvent être saisies à l’aide du modeleur de CAO sont des volumes élémentaires; la texture (i.e. la nature des volumes) est la principale distinction entre ces éléments. Les textures utilisées sont: -vide, pour représenter les espaces vides -plein, pour représenter une partie d’une enveloppe (mur, plafond …) -transparent, pour représenter des ouvertures (portes ou fenêtres,…) Aucune autre information de haut niveau ou d’ordre sémantique n’est ajoutée à la description des données. Un projet est alors un ensemble de volumes de textures vides, pleins ou transparents et qui sont positionnés dans un système d’axes; l’ensemble est appelé « univers ». La notion mur, cloison ou linteau n’est ni mentionnée ni saisie ni désignée dans la base de données. Bien sûr le modeleur est équipé d’outils pour la manipulation graphique des volumes. On a des fonctions de création, de modification, d’extraction, de déplacement,…; un objet particulier appelé curseur permet de réaliser ces fonctions interactivement d’une façon graphique sur l’écran; il sert aussi de dispositif de pointage à l’intérieur du modèle géométrique. En parallèle, et pour faciliter la saisie, certaines fonctions de saisie complexes ont été implémentés; par exemple une fonction creer-local qui permet de créer les volumes nécessaires pour la représentation de la volumétrie d’un local en forme de parallélépipède en lui fournissant ses dimensions; il faut insister sur le fait que cette fonction ne crée aucune information pour stocker la notion local, mais se contente de créer la volumétrie, i.e. les volumes élémentaires de la géométrie du local. Avec les fonctions de haut niveau on peut piloter le logiciel de CAO à l’aide de commandes simples tel que creer-local ou creer-paroi. Les fonctions de pilotage et les fonctions d’analyse assurent la communication dans les deux sens avec le modeleur. On peut y stocker puis restituer de l’information à l’aide d’un langage évolué manipulant des entités sémantiques et ne stockant que des informations géométriques simples. L’outil est aussi muni des fonctions classiques de visualisation en perspective et en plan de l’univers ou d’une partie de celui-ci afin de faciliter la saisie et la compréhension du projet.
Les fonctions d’analyse
Au dessus du noyau physique géométrique, un ensemble de fonctions d’analyseurs est construit formant une surcouche. Ces fonctions sont capables d’identifier différentes notions de haut niveau riches en sémantiques tel que plafond, murs, cloisons, linteaux,…
Choix des fonctions
On stocke les informations pour pouvoir les restituer et les utiliser dans des processus de calcul ou de vérification. Les modules des programmes de calcul ont besoin de paramètres en entrée (input) pour produire des résultats ou des sorties (output)
Chapitre 1 Introduction |