Table des matières

Transcription

Table des matières
Product Engineering Optimizer
Préface
Nouveautés
Mise en route
Tâches de
l'utilisateur
Description
de l'atelier
Glossaire
© Dassault Systèmes 1994-2000. Tous droits réservés.
Préface
L'optimisation joue un rôle essentiel dans la conception de structures. L'importance de la
conception de structures d'un poids minimal est reconnue dans la plupart des secteurs
d'activité, soit parce que le poids du système influe sur ses performances, soit à cause de
l'épuisement des sources d'énergie traditionnelles. Mais l'optimisation n'est pas seulement
une question de poids, elle peut être utilisée pour n'importe quel type de données. Dans le
contexte réel de la production, il est fréquent de minimiser une fonction objectif décrivant des
données, telles que le volume total, la durée de vie ou le coût d'une structure.
L'outil Product Engineering Optimizer constitue la réponse de CATIA aux questions
d'optimisation. Il représente, pour les ingénieurs chargés de concevoir des structures, un
outil facile à utiliser reposant sur des techniques itératives. L'utilisation de Product
Engineering Optimizer est surtout une question de pratique et de méthode.
L'outil Product Engineering Optimizer peut fonctionner avec deux algorithmes : le gradient
conjugué et le recuit simulé. Pour lancer une optimisation, sélectionnez l'un ou l'autre, selon
la fonction à analyser. Bien qu'une préparation aux techniques de l'optimisation ne soit pas
obligatoire, si vous voulez en savoir plus sur le fonctionnement de ces algorithmes, vous
trouverez des informations détaillées dans les publications suivantes :
Numerical Recipes in C - The Art of Scientific Computing - ISBN - 0 - 521 - 43108 - 5,
1988 - 1992
Nonconvex Minimization Calculations and the Conjugate Gradient Method, Powell,
M.J.D., Lecture Notes in Mathematics, Vol. 1066, pp.122-141, 1984. [Etude
approfondie sur le gradient conjugué pour les fonctions non convexes.]
Optimization by Simulated Annealings, Randelman, R. E., and Grest, G.S., N-City
Traveling Salesman Problem - , J.Stat.Phys. 45, 885-890, 1986.
Function Minimization by Conjugate Gradients, Fletcher, R. and Reeves, C.M., Comp,
J. 7, 149-154, 1964.[Article approfondi sur le gradient conjugué pour les fonctions non
convexes.]
Nouveautés
Nouvelle tâche
Utilisation de contraintes.
Mise en route
Pour vous initier aux fonctions de CATIA Product Engineering Optimizer, vous
allez travailler sur un exemple simple. Pour vous familiariser avec les
principes de base de CATIA Product Engineering Optimizer, il vous suffit de
suivre pas à pas les instructions décrites ci-après. Pour plus d'informations
sur les données d'optimisation et sur les algorithmes à exécuter,
reportez-vous à la section A propos de l'optimisation.
L'objectif de cette tâche est de vous donner un bref aperçu du fonctionnement
de l'optimiseur lors de la recherche d'une valeur objectif dans les deux modes
d'exploitation. Aucune valeur calculée n'est fournie, dans la mesure où :
le comportement du processus d'optimisation dépend de la plate-forme
utilisée (cela se vérifie tout particulièrement pour l'algorithme de recuit
simulé) ;
les algorithmes subissent parfois des modifications d'une version à une
autre.
Recherche d'une valeur objectif à l'aide de
l'algorithme de recuit simulé
1. Ouvrez le document KwoGettingStarted.CATPart.
2. Si nécessaire, vérifiez :
. les options Paramètres et Relations dans l'onglet Afficher de la
boîte de dialogue Outils ->Options ->Conception mécanique ->
Part Design ;
b. les options Avec valeur, Avec formule et Chargement des librairies
d'extension du langage dans l'onglet Connaissance de la
boîte de dialogue Outils ->Options ->Général ->Paramètres.
3. Sélectionnez l'entité racine dans l'arbre des spécifications, puis la
commande Démarrer ->Infrastructure ->Product Engineering Optimizer
dans la barre de menus standard. La boîte de dialogue Optimisation
s'affiche.
4. Dans l'onglet Problème, entrez les données suivantes dans les champs
appropriés :
Type d'optimisation
Objectif
Paramètre à optimiser
Volume.1
Valeur objectif
800cm3
Paramètres libres
xA, yA, xB, yB,
PartBody\Pad.1\FirstLimit\Length
Algorithme
Recuit simulé
Vitesse de convergence : Rapide
Ne modifiez pas les critères de terminaison par défaut.
Cochez la case Sauvegarder les données, ou les données d'optimisation
ne seront pas sauvegardées et vous ne pourrez pas afficher les courbes
d'optimisation.
Cochez la case Mise à jour de la géométrie.
N'entrez rien dans les champs de l'onglet Contraintes.
5. Cliquez sur Lancer l'optimisation.
. Une fenêtre de sélection de fichiers s'affiche. Sélectionnez le
chemin d'accès.
b. Cliquez sur Ouvrir pour lancer le processus d'optimisation. Une
fenêtre affiche les données calculées pour chaque itération. Au
cours de l'optimisation, vous pouvez observer la modification de la
valeur Volume.1 dans l'arbre des spécifications.
c. Une fois le calcul terminé, les valeurs des paramètres libres
apparaissent dans la boîte de dialogue Optimisation.
6. Cliquez sur Afficher les courbes... Environ 100 évaluations sont
nécessaires pour que Volume.1 atteigne une valeur stable.
7. Cliquez sur OK et enregistrez le document sous un nouveau nom.
Recherche d'une valeur objectif à l'aide de
l'algorithme de gradient
1. Ouvrez à nouveau le document KwoGettingStarted.CATPart.
2. Effectuez les mêmes actions que celles décrites ci-dessus, mais
indiquez un algorithme de gradient dans la boîte de dialogue
Optimisation.
N'entrez rien dans les champs de l'onglet Contraintes.
3. Une fois le calcul terminé, cliquez sur Afficher les courbes... Environ
75 évaluations sont nécessaires pour que Volume.1 atteigne une valeur
stable. La valeur objectif est atteinte plus rapidement qu'avec la
méthode du recuit simulé.
A propos de l'optimisation
L'optimisation consiste à obtenir le meilleur résultat possible d'une opération donnée tout en
respectant certaines restrictions ou contraintes. La conception de structures d'un poids
minimal constitue un exemple d'optimisation dans le secteur aéronautique, où la conception
de la structure des avions importe souvent plus que leur coût. La notion d'optimisation
présuppose que l'opération à améliorer ou à optimiser est décrite par une fonction dont la
variation peut être exprimée en fonction d'un ensemble de paramètres, également appelés
variables ou paramètres libres.
Définition d'une optimisation
Définition de l'algorithme à exécuter
Boîte de dialogue Optimisation
Interprétation des résultats
Définition d'une optimisation
Soit f(x), un paramètre CATIA dont la valeur est déterminée par d'autres paramètres
CATIA. L'atelier Product Engineering Optimizer propose trois modes d'exploitation par le
biais desquels vous pouvez rechercher la valeur minimale de f(x), la valeur maximale de
f(x) ou une valeur définie de f(x).
Ces modes d'exploitation sont respectivement appelés les modes Minimisation,
Maximisation et Valeur objectif.
Parmi les paramètres utilisés pour définir f(x), ceux dont la valeur peut changer sont
appelés les paramètres libres.
Il n'est possible d'optimiser qu'un seul paramètre à la fois.
La valeur du paramètre doit toujours être identique. Les paramètres à valeurs multiples ne
peuvent pas être utilisés comme paramètres libres.
Si vous utilisez comme paramètre libre un paramètre contraint par une relation, le résultat
obtenu est imprévisible.
Définition de l'algorithme à exécuter
Les types d'algorithmes
Pour exécuter une optimisation, vous pouvez utiliser l'un des algorithmes suivants :
Le gradient conjugué (GC).
Si les propriétés de la fonction objectif sont connues (continue, différenciable en tous
points et avec un optimum unique), le gradient peut être utilisé directement. Il est
généralement plus rapide que l'algorithme de recuit simulé.
Le recuit simulé
Si la forme de la fonction objectif est inconnue, il est recommandé de commencer
avec un recuit simulé, puis d'affiner les résultats avec un gradient. Cette opération est
lente mais efficace pour un plus grand nombre de fonctions.
Si vous utilisez le recuit simulé, vous pouvez atteindre plus rapidement une solution
en indiquant un faible nombre d'itérations consécutives sans amélioration (15 ou 20).
Pour ces deux algorithmes, il est possible d'affiner le résultat. Pour ce faire, supprimez des
variables de la liste des paramètres libres puis relancez le calcul.
Les critères de terminaison
Lorsqu'une optimisation est en cours, une boîte de message affiche les données de chaque
itération. Vous pouvez interrompre le calcul en cliquant sur le bouton d'arrêt. Si vous
n'intervenez pas dans le processus de calcul, celui-ci s'arrêtera :
soit lorsque la valeur (minimale, maximale ou objectif) aura été trouvée
soit lorsqu'un des critères de terminaison spécifiés aura été atteint.
Les critères de terminaison à spécifier sont les suivants :
Nombre maximal d'itérations
Nombre d'itérations sans amélioration
Durée de calcul maximale
Interprétation des résultats
Le fichier de résultats
Si vous voulez étudier les résultats du calcul après l'exécution d'une optimisation, cochez la
case Sauvegarder les données. Si nécessaire, modifiez le chemin d'accès par défaut. Le
fichier généré contient, pour chaque itération, la valeur de la fonction objectif et des
paramètres libres.
Les courbes d'optimisation sont générées à partir des données issues de ce fichier de
résultats.
Les courbes d'optimisation
Cliquez sur Afficher les courbes... pour afficher les courbes d'optimisation. Les abscisses
représentent le nombre d'itérations, les ordonnées représentent soit la valeur de la fonction
objectif, soit la valeur des paramètres libres. Vous devez cliquer sur la touche correspondant
à la courbe de votre choix, située à droite des courbes, pour obtenir les valeurs correctes sur
l'axe des ordonnées.
Les courbes d'optimisation sont générées à partir du fichier de résultats. Pour afficher les
courbes d'optimisation, vous devez avoir coché la case Sauvegarde des données.
Cliquez sur une des touches pour afficher les valeurs correspondantes sur l'axe des
ordonnées.
Boîte de dialogue Optimisation
La boîte de dialogue qui s'affiche lorsque vous cliquez sur l'icône
onglets.
Onglet Problème
comporte deux
Type d'optimisation
La liste contient les éléments Minimisation, Maximisation et Valeur objectif.
Paramètre à optimiser
Cliquez sur Sélectionner pour afficher la liste des paramètres pouvant être optimisés.
Paramètres libres
Pour définir des paramètres libres, cliquez sur le bouton "Modifier la liste...". Pour définir les
limites d'un paramètre libre, sélectionnez le paramètre concerné dans la liste "Paramètres
libres", puis cliquez sur "Modifier les bornes et le pas...".La boîte de dialogue qui s'affiche
permet également d'indiquer un pas.
Algorithme
Reportez-vous à la section Définition de l'algorithme à exécuter.
Critères de terminaison
Si vous ignorez comment la fonction objectif va se comporter, exécutez l'algorithme avec les
valeurs par défaut. Le cas échéant, vous avez toujours la possibilité de réexécuter
l'algorithme si le processus semble nécessiter davantage d'itérations.
Données d'optimisation
Pour pouvoir exploiter les courbes d'optimisation, vous devez sauvegarder les données
d'optimisation. Lorsque la case "Sauvegarder les données" est cochée et que vous cliquez
sur "Lancer l'optimisation", une fenêtre de sélection de fichiers s'affiche.
Onglet Contraintes
Création d'une contrainte
Pour créer une contrainte, cliquez sur le bouton Nouveau. L'éditeur qui s'affiche n'est pas
inconnu des utilisateurs du produit Knowledge Advisor. Il est impossible de regrouper les
contraintes. Vous devez les entrer une à une. Lors de la spécification de contraintes, vous
ne pouvez utiliser que les opérateurs suivants :
==
(Recuit simulé uniquement)
<, > (les deux algorithmes).
Une fois la contrainte spécifiée, l'écart par rapport à la valeur de la contrainte s'affiche. Une
icône indique si la valeur initiale complète la contrainte.
Activation d'une contrainte
Pour activer ou désactiver une contrainte, utilisez le champ Activité. L'algorithme
d'optimisation ignore la contrainte si elle est désactivée.
Recuit simulé et Gradient
Recuit simulé
Gradient
Contraintes d'égalité autorisées
La précision est gérée comme un critère de terminaison.
La contrainte x == A est vérifiée lorsque
abs (x - A) < précision
Contraintes d'égalité non
autorisées
Aucune précision
Contraintes d'égalité autorisées
Contraintes d'égalité non
autorisées
Peut être exécuté uniquement avec des contraintes et sans
fonction objectif.
Doit être exécuté avec
une fonction objectif, avec
ou sans contraintes
spécifiques.
Il n'est pas nécessaire de commencer par des contraintes
satisfaites.
Les contraintes doivent
être satisfaites avant
l'exécution de
l'optimisation.
Tâches de l'utilisateur
Recherche d'une valeur maximale
Recherche d'une valeur minimale
Utilisation de contraintes
Recherche d'une valeur maximale
Le scénario ci-après illustre le mode d'exploitation Maximisation. L'algorithme
recherche les valeurs des paramètres correspondant à la valeur maximale de
Fonction2.La méthode du recuit simulé est utilisée. Les limites inférieure et
supérieure (-10 et +10) sont indiquées pour l'argument x.
Pour plus d'informations sur les données d'optimisation et sur les algorithmes
à exécuter, reportez-vous à la section A propos de l'optimisation.
1. Ouvrez le document KwoGoal0.CATPart ou ajoutez à n'importe quel
document les paramètres et les formules décrits dans l'arbre des
spécifications présenté ci-après :
2. Ouvrez l'atelier Knowledge Optimizer et cliquez sur l'icône
de dialogue Optimisation s'affiche.
.La boîte
3. Définissez les données requises pour lancer l'algorithme d'optimisation
de la manière suivante :
Type d'optimisation
Paramètres libres
Paramètre à optimiser
Algorithme
Maximisation
x - Limite inférieure : -10 ; limite supérieure :
+10
Fonction2
Recuit simulé Vitesse de convergence : Rapide
Nombre maximal de
200
mises à jour
Nombre de mises à jour
consécutives sans
50
amélioration
Durée maximale
5 minutes
4. Cochez la case Sauvegarder les données, ou les données d'optimisation
ne seront pas sauvegardées et vous ne pourrez pas afficher les courbes
d'optimisation.
5. Cliquez sur Lancer l'optimisation.
. Une fenêtre de sélection de fichiers s'affiche. Sélectionnez le
chemin d'accès.
b. Cliquez sur Ouvrir. Le processus d'optimisation démarre. Une
fenêtre affiche les données calculées pour chaque itération. Au
cours de l'exécution de l'optimisation, vous pouvez observer la
modification des valeurs Fonction2 et x dans l'arbre des
spécifications.
c. La valeur de 500 est atteinte rapidement pour Fonction2.
Les paramètres libres, tels que la valeur Fonction2, sont mis à jour
dans l'arbre des spécifications.
6. Répétez le même scénario avec un nombre maximal d'itérations de 50,
puis de 20.
7. Cliquez sur OK ou sur Annuler pour quitter la boîte de dialogue
Optimisation.
Recherche d'une valeur minimale
Le scénario ci-après illustre le mode d'exploitation Minimisation. L'algorithme recherche
les valeurs des paramètres correspondant à la valeur minimale de Fonction2. La méthode
du gradient est utilisée.
Pour plus d'informations sur les données d'optimisation et sur les algorithmes à exécuter,
reportez-vous à la section A propos de l'optimisation.
1. Ouvrez le document KwoGoal0.CATPart ou ajoutez à n'importe quel document les
paramètres et les formules décrits dans l'arbre des spécifications présenté ci-après :
Les paramètres x, y, z, Fonction1 et Fonction2 doivent être de type réel. Il n'est pas
nécessaire de définir leur valeur d'origine.
Si nécessaire, reportez-vous au manuel CATIA Knowledge Advisor - Guide de
l'utilisateur pour plus d'informations sur la création de paramètres et de formules.
2. Ouvrez l'atelier Knowledge Optimizer et cliquez sur l'icône
dialogue Optimisation s'affiche.
. La boîte de
3. Définissez les données requises pour lancer l'algorithme d'optimisation de la
manière suivante :
Type d'optimisation: .................................. Minimisation
Paramètre à optimiser: .............................. Fonction2
Paramètres libres: ............................................. x
Algorithme : ........................................... Gradient
Nombre maximal d'évaluations : ............................... 400
Nombre d'évaluations consécutives sans convergence: ............. 100
Durée de calcul maximale: ......................... 5 minutes
4. Cliquez sur Lancer l'optimisation.
. La boîte de message Optimisation affiche les données de chaque itération.
N'intervenez pas au cours de l'exécution de l'algorithme (ne sélectionnez pas
l'option d'arrêt à la prochaine itération) et laissez se dérouler le processus
jusqu'à ce qu'une valeur objectif ait été trouvée ou que l'une des conditions
d'arrêt ait été satisfaite.
b. Le paramètre x et la valeur Fonction2 sont mis à jour dans l'arbre des
spécifications.
5. Cliquez sur OK dans la boîte de message "Résultat de l'optimisation". La valeur x
(10) résultant du calcul est affichée dans la boîte de dialogue Optimisation.
Utilisation de contraintes
Dans le scénario ci-après, l'algorithme de recuit simulé est utilisé avec des
contraintes et sans fonction objectif pour rechercher une série de paramètres
xA, xB, yA et yB permettant à l'axe d'inertie de l'extrusion de rester dans une
zone définie par deux cercles. Voici les définitions des cercles en tant que
contraintes comme indiqué dans le scénario ci-après :
Y**2 + Z**2 > 8100mm2
Y**2 + Z**2 < 1000mm2
Une fois cette partie du scénario terminée, l'algorithme de gradient est utilisé
pour rechercher une série de paramètres xA, xB, yA et yB permettant que la
distance entre l'axe d'inertie et l'origine soit minimale. Cette deuxième partie
du scénario implique que les contraintes soient satisfaites.
1. Ouvrez le document KwoGettingStarted.CATPart. Ce dernier est une
extrusion issue d'une spline. Les relations définies dans ce document
permettent d'indiquer la position d'un axe d'inertie.
2. Ouvrez l'atelier Knowledge Optimizer et cliquez sur l'icône
de dialogue Optimisation s'affiche.
. La boîte
3. Dans l'onglet Contraintes, entrez la contrainte ci-après en utilisant le
bouton Nouveau :
Y**2 + Z**2 > 8100mm2
4. Cliquez sur OK dans l'éditeur de contraintes, puis encore une fois sur
Nouveau pour entrer la deuxième contrainte :
Y**2 + Z**2 < 10000mm2
5. Dans l'onglet Problème, entrez les paramètres libres ci-après :
xA, xB, yA, yB. Ne sélectionnez aucun paramètre optimisé.
Cochez la case Recuit simulé.
6. Cliquez sur Lancer l'optimisation. Une fois l'optimisation terminée, vous
obtenez une extrusion dont l'axe d'inertie se situe dans une zone
délimitée par les deux cercles préalablement définis. Observez l'onglet
Contraintes. Les contraintes sont toutes satisfaites. A présent, vous
pouvez exécuter un algorithme de gradient pour rechercher la valeur
minimale du paramètre Rayon.
7. Revenez à l'onglet Problème, sélectionnez Minimisation comme type
d'optimisation, puis Rayon comme paramètre à optimiser et sélectionnez
l'algorithme Gradient. Ne modifiez pas les paramètres libres.
8. Exécutez l'optimisation avec le critère de terminaison par défaut. Une
fois l'exécution de l'optimisation terminée, la valeur minimale du rayon
est proche de 90mm. Vous avez trouvé une série de valeurs xA, xB, yA,
yB permettant que l'axe d'inertie de l'extrusion se trouve presque sur le
cercle défini par la relation ci-après :
Y**2 + Z**2 = 8100mm2
Description de l'atelier
L'atelier Knowledge Optimizer contient une icône
, qui permet d'ouvrir la boîte de
dialogue Optimisation. Pour plus d'informations sur la définition des données requises pour
lancer une optimisation, reportez-vous à la section A propos de l'optimisation.
Glossaire
Fonction objectif Fonction associée à un problème d'optimisation et destinée à déterminer la valeur
d'une solution.
Gradient conjugué
Technique fondamentale souvent utilisée dans divers algorithmes itératifs, dans un grand nombre de
domaines du calcul scientifique. A l'origine, la méthode du gradient conjugué était destinée à
minimiser les fonctions quadratiques convexes, mais son utilisation a été étendue à des cas d'ordre
plus général. Un algorithme de gradient conjugué est efficace, mais pas très robuste.
Knowledgeware
Ensemble des composants logiciels consacrés à la création et à la manipulation d'informations
relatives à la connaissance. Ces informations sont des règles et autres types de relations permettant
aux concepteurs de sauvegarder leur savoir-faire d'entreprise et de le réutiliser ultérieurement pour
diriger leurs activités de conception.
Maximisation
Option du processus d'optimisation consistant à rechercher la valeur maximale d'une fonction objectif.
Minimisation
Option du processus d'optimisation consistant à rechercher la valeur minimale d'une fonction objectif.
Optimisation
Problème de calcul dont l'objet consiste à rechercher la meilleure solution possible.
Optimizer
Outil d'analyse destiné à aider les utilisateurs à résoudre un problème d'optimisation.
Paramètre libre
Paramètre qui varie en fonction de l'algorithme de l'outil Optimizer. Les autres paramètres sont soit
figés, soit calculés à partir de la valeur des paramètres libres.
Recuit simulé
Technique utilisée pour effectuer une approximation de la solution d'importants problèmes
d'optimisation combinatoire. Cette technique découle de la théorie de la mécanique statistique et
repose sur l'analogie entre le recuit de solides et la solution de problèmes d'optimisation. Un
algorithme de recuit simulé est lent, mais plus robuste qu'un algorithme de gradient conjugué.
F
G
K
M
O
P
R
Conventions
Certaines conventions utilisées dans la documentation CATIA, ENOVIA & DELMIA vous
aideront à reconnaître et à comprendre un certain nombre de spécifications et de concepts
importants. Les conventions typographiques suivantes sont utilisées :
Les titres des documents CATIA, ENOVIA & DELMIA apparaissent en italique dans le
texte.
Le texte qui apparaît en courier, comme Fichier -> Nouveau, identifie les commandes
à utiliser.
L'utilisation de la souris diffère selon le type d'opération que vous devez effectuer.
Uitlisez ce bouton, quand vous lisez
Sélectionner (un menu, une commande, une géométrie dans une zone
graphique, etc.)
Cliquer (sur une icône, un bouton dans une boîte de dialogue, un taquet, etc.)
Double-cliquer
Cliquer en maintenant la touche Maj enfoncée
Cliquer en maintenant la touche Ctrl enfoncée
Cocher (une case)
Faire glisser la souris
Faire glisser (une icône sur un objet, un objet sur un autre)
Faire glisser la souris
Déplacer
Cliquer à l'aide du bouton droit de la souris (pour sélectionner un menu
contextuel)
Les conventions graphiques sont les suivantes :
indique le temps nécessaire pour exécuter une tâche.
indique la cible d'une tâche.
indique les conditions prérequises.
indique le scénario d'une tâche.
indique des conseils.
indique un avertissement.
indique des informations.
indique la fin d'une tâche.
indique des fonctionnalités nouvelles ou améliorées dans cette version.
Les améliorations peuvent également être indiquées par une marge colorée en bleu en
face des paragraphes correspondants.
Remarques
CATIA est une marque de DASSAULT SYSTEMES S.A. en France et dans certains pays.
Les termes qui suivent sont des marques d'autres sociétés :
Java
OLE, VBScript for Windows NT, Visual Basic
IMSpost
Sun Microsystems Computer Company
Microsoft Corporation
Intelligent Manufacturing Software, Inc.
D'autres sociétés sont propriétaires des autres marques, noms de produits ou logos qui pourraient
apparaître dans ce document.
Certaines parties de ce produit contiennent des éléments protégés par des droits d'auteur appartenant
aux entités suivantes :
Copyright © Dassault Systemes
Copyright © Dassault Systemes of America
Copyright © D-Cubed Ltd., 1997-2000
Copyright © ITI 1997-2000
Copyright © Summit Software, 1992-1996
Copyright © Cenit 1997-2000
Copyright © Mental Images Gmbh & Co KG, Berlin/Germany 1986-2000
Copyright © Distrim2 Lda, 2000
Copyright © Institut National de Recherche en Informatique et en Automatique (INRIA
Copyright © Augrin Software
Copyright © Rainbow Technologies Inc.
Copyright © Compaq Computer Corporation
Copyright © Boeing Company
Copyright © IONA Technologies PLC
Copyright © Intelligent Manufacturing Software, Inc., 2000
Copyright © Smart Solutions Limited
Copyright © Xerox Engineering Systems
Copyright © Bitstream Inc.
Copyright © IBM Corp.
Copyright © Silicon Graphics Inc.
Copyright © Installshield Software Corp., 1990-2000
Copyright © Microsoft Corporation
Copyright © Spatial Technology Inc.
Copyright © 2000, Dassault Systèmes. Tous droits réservés.

Documents pareils