Vous êtes sur la page 1sur 24

CAO : modélisation géométrique

par Yvon GARDAN


Professeur des universités
Directeur de l’Institut de formation technique supérieure (IFTS)

1. Objectif ....................................................................................................... H 3 750 – 2


2. Modélisation.............................................................................................. — 2
2.1 Notion de modèle ........................................................................................ — 2
2.2 Multimodélisation........................................................................................ — 4
3. Modélisation géométrique .................................................................... — 5
3.1 Familles de modèles.................................................................................... — 5
3.2 Bases des modèles de solides.................................................................... — 5
3.3 Bases des modèles de surfaces.................................................................. — 6
4. Modèles de solides .................................................................................. — 7
4.1 Boîtes ............................................................................................................ — 7
4.2 Modèles B-Rep............................................................................................. — 8
4.3 Modèles CSG ............................................................................................... — 11
4.4 Modèles paramétriques .............................................................................. — 13
5. Modèles de surfaces ............................................................................... — 18
5.1 Modèles de base.......................................................................................... — 18
5.2 Formes non rationnelles ............................................................................. — 19
5.3 Formes rationnelles..................................................................................... — 20
6. Intégration des surfaces dans les modèles de solides.................. — 20
6.1 Approche B-Rep........................................................................................... — 20
6.2 Approche CSG ............................................................................................. — 21
7. Utilisation des modeleurs...................................................................... — 21
7.1 Procédures de création et de lecture dans un modeleur ......................... — 21
7.2 Exemple avec un modeleur commercialisé .............................................. — 22
8. Conclusion ................................................................................................. — 23
Références bibliographiques ......................................................................... — 24

a conception assistée par ordinateur (CAO) est aujourd’hui d’un usage cou-
L rant et certains sont tentés d’affirmer que cette technologie a atteint sa matu-
rité. Pourtant, il est facile de se convaincre qu’il n’en est rien et que les évolutions
en cours vont bouleverser considérablement la CAO et, par voie de consé-
quence, son utilisation. Pour montrer cette évolution, nous présentons dans ce
premier article les aspects les mieux maîtrisés dans les systèmes actuels. Ils
concernent essentiellement la partie géométrique des modèles utilisés en CAO.
Pour situer le domaine de l’article, nous commençons par les définitions indis-
pensables et un historique illustrant l’influence des choix effectués sur la techno-
logie actuelle. Pour montrer la quintessence et les implications sur les systèmes
du marché des modèles utilisés en CAO, nous en donnons les éléments essen-
tiels, aussi bien sur l’architecture générale (notions de modèle et de multimo-
dèle), que sur les principes fondamentaux (modèles géométriques solides,
surfaciques et paramétriques).
Dans un second article [H 3 752], nous montrerons que, bien qu’encore en
pleine mutation, de nouvelles méthodes apparaissent et conduisent vers des
systèmes prenant de mieux en mieux en compte les aspects fonctionnels.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique H 3 750 − 1
CAO : MODÉLISATION GÉOMÉTRIQUE ______________________________________________________________________________________________________

1. Objectif Sigles et définitions

Comme la plupart des nouvelles technologies, tout ce qui gra-


Si nous insistons tout particulièrement sur la modélisation, vite autour de la CAO comporte de nombreux sigles ou acronymes
c’est que l’objectif de la CAO est la création d’un modèle qu’il est intéressant de connaître avant d’entrer dans les détails de
(maquette virtuelle) ayant les deux propriétés suivantes : leur signification.
— il doit représenter les propriétés de l’objet (au sens large) ; Le sigle CAO, pour conception assistée par ordinateur (CAD :
— il doit être exploitable (calculs, simulations, préparation Computer Aided Design), désigne généralement les outils pour
des gammes, etc.). les premières phases de développement d’un produit, tout par-
ticulièrement les activités des bureaux d’études. Dans la suite de
cet article, nous lui donnerons une emprise plus large en consi-
Nota : il est indispensable de disposer, bien entendu, de moyens matériels (ordinateur, dérant que c’est le système de CAO qui contient les informa-
écran, etc.), sur lesquels nous ne reviendrons pas, leurs caractéristiques étant bien connues. tions indispensables aux opérations de calcul ou de fabrication.
L’architecture générale d’un système de CAO est présentée La CFAO, conception et fabrication assistées par ordinateur
figure 1. (CAD/CAM : Computer Aided Design/Computer Aided Manufac-
L’interface homme-machine revêt une importance fondamentale, turing), recouvre l’ensemble des phases de conception et de
aussi bien en entrée (Econc), qu’en sortie (Sconc). En entrée, il s’agit fabrication.
essentiellement de : Le sigle IAO, ingénierie assistée par ordinateur (CAE : Compu-
— donner des valeurs (rayon d’un cercle, distance entre deux ter Aided Engineering), est le plus souvent associé à la notion
entités, etc.) ; de calcul et de simulation. Il fait référence aux approches qui
lient les modèles de CAO aux modèles de calcul pour conduire
— entrer des positions (en deux ou en trois dimensions) ; à une conception guidée par la simulation.
— choisir une action (menus) ; Plusieurs sigles sont utilisés dans le cadre de la CAO sans
— identifier une entité (montrer un objet pour le modifier ou le qu’ils méritent une explication détaillée dans ce premier article :
déplacer, etc.). CN (NC : Numerical Command) pour commande numérique,
SGBD (DBMS : Data Base Management System) pour système
En sortie, on s’appuie en général sur la visualisation des objets
de gestion de base de données, SGDT (PDMS : Product Data
soit sous une forme habituelle (perspective, vue de face, etc.), soit,
Management System) pour système de gestion de données
comme nous le verrons plus loin (§ 4.3), en montrant l’arborescence
techniques, prototypage rapide (rapid prototyping) pour les
de conception.
méthodes permettant d’obtenir rapidement une maquette de
On peut également disposer de données issues par exemple de la l’objet ou un outillage, ingénierie simultanée (concurrent engi-
numérisation d’une forme existante (Eauto). Enfin, on cherche à neering) pour les méthodes de travail où tous les corps de
déterminer automatiquement des sorties telles que les programmes métiers peuvent intervenir en même temps, etc.
d’une machine à commande numérique ou d’un robot (Sauto).
Pour mettre en œuvre la maquette virtuelle, le système de CAO
gère des modèles et des connaissances. Les modèles sont des
représentations d’objets existants ou en cours de conception. Ils
sont divers : bibliothèques de visserie, avion, outillage, etc. Les con- 2. Modélisation
naissances représentent ce que peut connaître le système de CFAO
du mode de conception ou de l’organisation des données. Elles peu-
vent être partiellement incluses dans des modèles (historique de
conception d’une pièce) ou être plus générales (algorithmes, systè-
mes experts, etc.). 2.1 Notion de modèle

La notion de modèle est bien connue depuis l’Antiquité, soit sous


forme de maquette physique (principe encore utilisé aujourd’hui),
soit sous forme d’objets abstraits (mathématiques le plus souvent),
ces derniers pouvant être adaptés pour aboutir à un prototype infor-
Opérateur matique respectant un certain nombre de propriétés. Nous nous
intéressons essentiellement à la représentation de la morphologie
Econc des objets.
Sconc
L’étude de la représentation des objets implique d’analyser les
deux aspects fondamentaux de toute modélisation :
Système de CAO — la représentation des caractéristiques (par exemple, géométriques)
des objets. Elle peut se faire soit sous une forme explicite, soit sous une
Eauto Sauto
forme implicite ;
— la mise en œuvre d’opérations, par exemple des opérations de
composition ou de modification de solides. En effet, l’objectif de la
Modèles modélisation est de constituer une représentation des objets qui soit
Connaissances utilisable pour la simulation. La visualisation est une simulation parti-
etc. culière du modèle ; de même, le dialogue, le calcul massique ou le
calcul de structures peuvent être considérés comme des simulations,
même si, très souvent, leur mise en œuvre nécessite la constitution
d’un modèle adapté (modèle applicatif), à partir du modèle géométri-
que existant, et d’autres informations liées au type de traitement à
Figure 1 – Architecture générale appliquer (par exemple, un modèle par éléments finis).

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 3 750 − 2 © Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________ CAO : MODÉLISATION GÉOMÉTRIQUE

Historique

L’histoire de la CAO est intéressante car sa connaissance permet de De nombreuses sociétés ont également contribué au développement de la
comprendre un certain nombre d’évolutions. Les quelques éléments qui sui- CFAO. Ne cherchant pas à être exhaustif et pour ne pas être en situation
vent n’ont d’autre but que de montrer que les techniques utilisées aujourd’hui d’oublier des acteurs prestigieux, nous conseillons pour plus de détails
et les stratégies de certains fournisseurs ne sont pas sans rapport avec une l’ouvrage de Poitou [1]. Citons cependant quelques exemples significatifs.
histoire courte, mais riche et mouvementée. Il est d’ailleurs évident que,
Un certain nombre d’éléments développés chez Citroën ou Peugeot ont été
contrairement à certaines affirmations, cette évolution est loin d’avoir atteint
intégrés au début des années 1980 à CADDS de Computervision. Cet apport a
son terme ; au contraire, on ne peut qu’encourager les acteurs de ce domaine
été non négligeable dans la mesure où les fondements des modèles utilisés (en
à redoubler d’efforts.
particulier sur les aspects mathématiques et algorithmiques) sont toujours
Même si l’interface homme-machine n’est pas l’objet de cet article, on peut d’actualité.
noter l’influence déterminante des travaux de Sutherland (Sketchpad, 1963)
et de l’apparition des premiers terminaux graphiques (en particulier d’IBM, Des sociétés de taille moins importante ont participé directement ou indi-
avec le DAC au début des années 1960 et le 2250 dans la seconde moitié de la rectement au développement de la CAO : Merlin Gérin, à travers MECAN, a
même décennie). facilité le développement de GRI2D, à la base des systèmes de ESIA (CADGRI,
MICROPROTOL).
L’un des aspects les plus fondamentaux dans l’avènement de la CAO est
sans doute le fait que des approches très différentes aient vu le jour pour Quelques remarques issues de cet historique peuvent éclairer l’utilisateur
représenter les surfaces d’une part et les solides d’autre part. La prise en de la CAO aujourd’hui.
compte des surfaces gauches s’est surtout faite chez de grands utilisateurs Les travaux sur les surfaces se sont longtemps développés de manière tota-
(automobile, aéronautique), en particulier pour des contraintes de com- lement indépendante de ceux sur les solides. En réalité, ces deux approches
mande numérique. Les travaux dans le domaine de l’automobile par Coons répondaient à deux grandes catégories de problèmes et ont fait appel à des
(Ford), Bézier (Renault), De Casteljau (Citroën) et d’autres sont encore à la méthodes de résolution très différentes (mathématique pour les surfaces,
base des systèmes d’aujourd’hui. Des développements, à l’Aérospatiale ou structure de données pour les solides). Ces divergences dans les approches
chez Dassault, allaient conduire à des systèmes commercialisés par la suite solide et surface ne sont pas sans conséquence sur les difficultés rencontrées
(STRIM, CATIA, etc.). Tous ces travaux se sont développés sur des bases à les intégrer dans un modèle unique.
mathématiques globalement semblables.
Des systèmes, dont la vocation « pragmatique » (au sens où ces systèmes
Les premières tentatives pour représenter des solides sont consécutives à
étaient directement utilisables en bureaux d’études, sans remettre en cause
des problèmes qui n’étaient pas directement liés à la CAO (ce terme n’était
les méthodes de travail) était évidente, ont été développés à la fin des années
pratiquement pas employé à l’époque), mais à des contraintes spécifiques.
1970. Plus particulièrement orientés vers le 2D (ou le 2D-1/2), ces projets ont
Parmi les premiers systèmes basés sur la modélisation des solides, on peut
conduit à des systèmes tels que CADAM (Lockheed).
citer, dès le milieu des années 1970, EUCLID en France (CNRS) et EUKLID en
Suisse. La motivation de concepteurs d’EUCLID se trouvait dans la nécessité Certaines approches ont privilégié des modeleurs spécifiques à un système
de disposer d’une maquette virtuelle pour traiter des problèmes de soufflerie. (c’est le cas du modeleur de CATIA par exemple) alors que d’autres se sont
La prise en compte de ces modèles a été relativement expérimentale sans dis- orientées vers des modeleurs génériques (par exemple, ROMULUS, puis
poser d’une base mathématique importante. Parasolid et Acis).
Aux États-Unis ont été lancées un certain nombre d’études, alors même que Des méthodes, aujourd’hui très à la mode (conception paramétrique, géo-
les systèmes, dits « clés en main », qui en provenaient ont conservé très long- métrie variationnelle), étaient déjà présentées dans plusieurs travaux dès le
temps (y compris au début des années 1980) une approche « fil de fer ». début des années 1980 et sont intégrées maintenant à la plupart des systèmes
Commercialement, ont émergé quelques sociétés fournissant des systèmes commercialisés. Il faut du temps entre l’émergence des idées et leur intégra-
clés en main, comme Computervision ou Applicon. Le principal projet universi- tion réelle dans des produits commercialisés (l’évolution de la puissance et de
taire était connu sous le terme de PADL, et il reste indiscutablement l’approche la convivialité des matériels a également son importance). Les travaux actuels
la plus formalisée de la modélisation des solides par leur historique de sur la prise en compte des fonctions ou des approches différentes du dialogue
construction. Il a conduit à des systèmes industriels, parmi lesquels GMSOLID homme-machine seront sans doute implantés dans les systèmes commer-
(General Motors). D’autres développements, bien que moins avancés du point ciaux dans quelques années.
de vue de la formalisation, ont conduit à des implantations dans de nombreux
systèmes industriels. Le Japon a vu se développer, essentiellement dans le Il faut se souvenir qu’au début des années 1990 , les systèmes de CFAO
cadre universitaire, des modèles de solides, comme GEOMAP ou TIPS. Enfin, étaient implantés sur de « mini » ou de « gros » ordinateurs et des terminaux
des projets autour de la modélisation des solides, comme COMPAC ou ROMU- connectés à des vitesses de quelques milliers de bauds, à de rares exceptions
LUS, se sont affirmés très tôt en Europe. près. La puissance partagée était trop faible pour un fonctionnement correct,
dès que des opérations un peu coûteuses en calcul étaient demandées. Les
L’influence française sur l’histoire, et par voie de conséquence sur les sys- connexions en asynchrone imposaient une interactivité de bas niveau.
tèmes actuels, est non négligeable, aussi bien en modélisation des surfaces
avec les travaux de De Casteljau chez Citroën, de Bézier chez Renault (débou- À la fin des années 1990, la CFAO est largement répandue, à travers les sta-
chant sur UNISURF, puis intégré à EUCLID-IS), de Massabo à la SNIAS un peu tions de travail ou les micro-ordinateurs. Elle reste cependant essentiellement
plus tard (SDS, puis SYSTRID, puis STRIM) ou des travaux aux avions Marcel basée sur la géométrie. À partir de cette décennie, apparaissent quelques élé-
Dassault (Bernard, Neuve-Église), qui à partir de DRAPO aboutiront à CATIA, ments nouveaux : l’industrialisation des approches paramétriques et la prise
qu’en modélisation des solides, avec EUCLID. On constate des approches dif- en compte d’éléments de sémantique un peu plus élevée, tentant de repré-
férentes selon la culture des entreprises : les premières études menées chez senter une information ayant une signification pour l’utilisateur (par exemple,
Citroën (sur le capot de la 2 CV !) cherchaient essentiellement à mieux utiliser un trou est défini en tant que tel et non plus comme une différence boo-
les machines à CN. À l’opposé, Dassault a mis en place une stratégie ambi- léenne). Ces notions d’éléments caractéristiques, ou entités (features),
tieuse qui consistait à modéliser entièrement un avion : le système réalisé au demeurent cependant très proches de la géométrie. Enfin, apparaît, à la fin
début en utilisant des composants du marché (CADAM par exemple) s’est des années 1990, la nécessité de prendre en compte non seulement le
peu à peu développé pour aboutir au système CATIA et à la création d’une modèle du produit, mais également le process qui permettra de le fabriquer
filiale dédiée (Dassault Systèmes). et de le maintenir.

La représentation informatique nécessite un certain nombre de Soit une représentation informatique E, composée d’un ensemble
structures algorithmiques ou de données. Pour connaître leurs pro- de représentations syntaxiquement correctes. On définit une rela-
priétés, la meilleure solution est de disposer d’un modèle mathéma- tion s de M (espace mathématique) dans E. Le domaine de s est
tique, représentant de manière abstraite des classes d’objets et les noté D et l’image de D par s est notée I.
opérations qui leur sont applicables. À supposer que l’on sache On a :
déterminer un modèle mathématique, il reste à effectuer le passage D ⊂ M : tous les objets ne sont pas modélisables dans la représen-
du modèle mathématique au modèle informatique. tation mathématique définie ;

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique H 3 750 − 3
CAO : MODÉLISATION GÉOMÉTRIQUE ______________________________________________________________________________________________________

I ⊂ E : toutes les représentations syntaxiquement correctes dans E Les réels sont représentés en machine avec un certain nombre de
ne sont pas forcément valides. chiffres significatifs, ce qui induit une erreur qui peut devenir non
On définit les qualités du modèle informatique : négligeable en fonction des calculs effectués.
— une représentation r de I est non ambiguë si elle correspond à Exemple : si on utilise des réels codés sur trois chiffres (ce qui est
un seul objet ; bien entendu éloigné de la réalité, mais qui ne retire rien à la généralité
— une représentation r de I est unique si l’objet correspondant tout en simplifiant la présentation), on peut effectuer les opérations
n’admet pas d’autre représentation que r, c’est-à-dire s ( s –1( r ) ) = r . suivantes :
Le modèle I est unique si tous ses éléments sont uniques ;
A = 2, 05
— une représentation est valide si elle appartient à I. La solution
la plus simple pour assurer la validité est que toutes les représenta- B = A ⁄ 2 = 1, 02 (approximation sur trois chiffres)
tions syntaxiquement correctes soient valides ( I = E ) . C = 2 B = 2, 04
On devrait bien entendu retrouver A. On voit d’ailleurs bien dans cet
De nombreux modèles informatiques sont possibles. Se pose
exemple très simple l’intérêt de l’utilisation de systèmes de calcul for-
alors le problème de la cohérence entre ces modèles. On dira que
mel, permettant de travailler le plus longtemps possible en symbolique.
deux relations de représentations s et s’ sont équivalentes si chaque
image par s possède un équivalent r’ par s’, et r et r’ sont équivalents Certaines propriétés mathématiques peuvent ne plus être vérifiées.
s’ils représentent le même ensemble d’objets dans M.
Deux relations de représentation non ambiguës sont équivalentes Exemple : considérons un codage des nombres compris entre
si et seulement si elles ont le même domaine. – 38 38
10 et 10 et l’expression suivante :
Deux représentations r et r’ sont cohérentes s’il existe au moins
D = A ( B + 1 ⁄ A – B ) en supposant que le compilateur ne fait pas
un objet m de M tel que s ( m ) = r et s′ ( m ) = r′ . Si les modèles ne
sont pas uniques, m peut avoir plusieurs images dans E et E’. Si les d’optimisation, c’est-à-dire aucun calcul formel éliminant le terme B.
40
modèles sont ambigus, d’autres éléments de M peuvent avoir pour Donnons à A la valeur 10 et a B la valeur 1. Comme 1 ⁄ A est très
images r et r’.
petit, B + 1 ⁄ A donnera B et l’expression sera égale à 0 alors qu’elle
Considérons, par exemple, un modèle ambigu, qui représenterait devrait être égale à 1 !
un solide par des vues de face et de dessus. Il est fondamental
d’assurer la cohérence entre ces vues. Ces deux représentations ne Les problèmes liés à l’approximation sont de toute évidence sour-
doivent cependant pas être équivalentes, ce qui tendrait à affirmer ces d’inconvénients très importants dans les systèmes de CAO. Bien
que deux objets ayant la même vue de dessus sont identiques. que de nombreux travaux tentent de les prendre en compte, il suffit
En admettant que l’on soit capable de définir les relations propo- pour la suite de cet article de savoir qu’il n’existe pas de solution uni-
sées précédemment, il faut tenir compte, également, d’un certain verselle et que les retombées de cet inconvénient dans les modèles
nombre de qualités que l’on peut exiger d’un modèle informatique. et les opérations intégrés dans les systèmes actuels demeurent
importantes. Nous en citerons quelques exemples au fur et à mesure
■ Concision : cette notion, difficile à définir de manière précise, est de la présentation des différentes approches.
mesurée par la quantité d’informations nécessaire pour représenter On peut, pour conclure sur les liaisons entre modèle mathématique
un objet. Elle n’est cependant pas totalement indépendante des trai- et modèle informatique, considérer les cas suivants :
tements que l’on appliquera sur les modèles : une certaine redon-
dance des informations sera ainsi souvent utile pour l’efficacité, voire — il n’existe pas de modèle mathématique complet : le modèle
l’applicabilité, de certains algorithmes. On verra que l’on peut ainsi informatique répond à un certain nombre de recettes ou
conserver dans un modèle B-Rep (§ 4.2) les relations topologiques d’approximations ;
face(arête) et arête(sommet), plutôt que simplement face(sommet), — il existe un modèle mathématique inapplicable du point de vue
dans la mesure où cette dernière ne donne pas directement les de l’informatique : on revient au cas précédent ;
arêtes, pourtant souvent utilisées, par exemple, dans une visualisa- — il existe un modèle mathématique que l’on peut transporter en
tion de type filaire. De même, dans des modèles plus complets, on informatique : les avantages et les inconvénients du modèle infor-
manipule souvent des informations de type arête(face), donnant les matique sont ceux du modèle mathématique et ceux liés à l’informa-
faces adjacentes à une arête donnée (avec des informations complé- tique en général (en particulier, ceux liés à la tolérance informatique
mentaires, permettant de connaître le degré de continuité en cette illlustrée précédemment).
arête, c’est-à-dire la continuité en tangence des deux faces). Quels que soient les choix effectués, il demeure que tout modèle
ne sera qu’une approximation de la réalité et que tout utilisateur de
■ Facilité de mise en œuvre d’algorithmes : cette qualité est liée CAO doit avoir un minimum de connaissance sur les concepts et les
aux algorithmes que l’on souhaite mettre en œuvre. Il est évident modèles utilisés sous peine de connaître des désagréments.
que certains modèles facilitent la réalisation de certaines opérations
et d’autres non. Par exemple, les opérations booléennes sont assez
compliquées à implémenter sur un modèle B-Rep (§ 4.2), alors que
leur application à un modèle par boîtes (§ 4.1) est triviale. Le résultat 2.2 Multimodélisation
n’a cependant pas les mêmes propriétés dans les deux cas, et on ne
peut donc pas choisir la facilité, sans tenir compte des propriétés
des modèles obtenus. Il est illusoire de croire que les systèmes de CAO peuvent être
basés sur un modèle central qui contiendrait les informations défi-
■ Ouverture : cette qualité n’a pas d’influence réelle sur le passage nissant sans ambiguïté les objets. En effet, on s’aperçoit rapidement
du modèle mathématique au modèle informatique. Bien qu’elle soit que l’on se heurte au problème classique (bien connu dans les sys-
spécifique au modèle informatique, son importance est fondamen- tèmes de gestion de bases de données) de vues multiples adaptées
tale. Elle est complémentaire des facilités de mise en œuvre d’algo- à chaque utilisateur, être humain ou programme.
rithmes. Ainsi, par exemple, au sein de la même entreprise, le P.-D.G., le
La mise en œuvre des modèles n’est pas toujours obtenue direc- concepteur, le responsable des achats et le responsable de la fabrica-
tement par passage d’un modèle mathématique à un modèle infor- tion n’ont pas la même façon d’appréhender les objets. Dans des
matique. Même lorsqu’un modèle mathématique existe, un certain entreprises différentes (donneur d’ordre/sous-traitant, par exemple),
nombre de caractéristiques liées à l’informatique impliquent des les cultures peuvent encore amplifier les différences. Lorsque l’on
limitations importantes dans ce passage. La caractéristique essen- observe le fonctionnement d’un système de CAO (ou d’IAO), on note
tielle qu’il faut retenir est la notion de tolérance informatique. très rapidement des concepts et des méthodes variant fortement d’un

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 3 750 − 4 © Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________ CAO : MODÉLISATION GÉOMÉTRIQUE

logiciel à un autre : par exemple, le logiciel de CAO est fondé sur un 3.2 Bases des modèles de solides
modèle mathématique pour les surfaces, alors que le modèle de cal-
cul utilise une approximation par des triangles.
Ces contraintes conduisent à un ensemble de modèles (multimo- Un solide respecte les conditions suivantes :
délisation) dont les objectifs et les domaines d’application peuvent — rigidité : un solide a une forme invariante, quelles que soient sa
être fonction du domaine pris en compte, de l’utilisateur (opérateur position et son orientation (les distances et les angles algébriques
ou programme), voire même être spécialement définis pour amélio- sont conservés) ;
rer les performances. Cet aspect est encore amplifié lorsque l’on — finitude : un solide occupe une portion finie de l’espace ;
considère toutes les activités de l’entreprise. En effet, la cohérence — homogénéité : un solide a un intérieur, considéré comme
de l’ensemble et l’assurance que toutes les modifications ou toutes homogène ;
les évolutions sont correctement propagées devient un problème — un point de l’espace ne peut appartenir qu’à un solide au plus.
extrêmement complexe à résoudre.
Un modèle de solides, qu’il soit mathématique ou informatique,
doit également respecter des conditions sur les classes représentables
et les opérations applicables, en particulier :
3. Modélisation géométrique — validité : tout modèle constructible doit correspondre à un
solide ;
— puissance : tout objet doit être représentable.
3.1 Familles de modèles D’après [2], les modèles de solides sont des classes de congru-
3
Le modèle géométrique est au cœur du système de CFAO. C’est ence de sous-ensembles de E , bornés, fermés, réguliers et semi-
lui qui contient l’ensemble des informations géométriques sur les analytiques. Une classe de congruence est la collection de sous-
objets. La puissance d’un système de CFAO est en grande partie liée 3
ensembles de E qui peuvent être obtenus l’un de l’autre par des
à la qualité (ou aux qualités) de son modèle géométrique. Bien que
ce modèle soit encore insuffisant, il est indispensable de bien séquences de rotations et de translations.
appréhender les avantages et les inconvénients de chaque famille. Les solides étant caractérisés, un modèle doit respecter les condi-
tions de validité exprimées dans les caractéristiques générales des
■ Modèles bidimensionnels (2D) modèles. Toute opération sur des solides doit être une loi de compo-
Ils ont une connaissance des objets limitée à des vues planes, sans sition interne dans l’ensemble des solides mathématiques. Ainsi, par
relation, sauf outils particuliers, entre elles. Ils sont bien adaptés au exemple, les opérations booléennes « classiques » ne respectent pas
dessin industriel. Certains outils (de type trait de rappel) peuvent facili- cette condition. En effet, il est facile de montrer [3] que la propriété
ter des relations partielles entre vues. Ils peuvent être enrichis par des « régulier » (fermeture de l’intérieur différente de l’ensemble vide)
outils de construction « simples » d’objets 3D, comme l’extrusion ou la n’est pas respectée. La figure 2 montre que le résultat qui pourrait
révolution (certains parlent alors de 2D-1/2). Ils ne demeurent impor- être obtenu par l’opération booléenne intersection entre deux objets
tants aujourd’hui que parce qu’ils sont utiles pour la construction tangents par une face pourrait être non vide (portion de face). Le
d’objets 3D et parce qu’ils servent de base à une partie de la cotation. résultat n’est plus un solide (l’opération n’est pas interne).
■ Modèles tridimensionnels (3D) Il est donc nécessaire de définir des opérations booléennes dites
régularisées, définies par :
● Modèles fil de fer (wireframe)
A et B étant deux solides,
Un objet est connu par ses sommets et les arêtes qui les joignent.
Ces modèles sont maintenant abandonnés et ne méritent pas que
l’on s’y attarde. ( A ∪ *B ) = r ( A ∪ B )
Nota : il ne faut pas confondre modèle fil de fer avec vue en « filaire » ou « au trait », qui ( A ∩ *B ) = r ( A ∩ B )
est la représentation de n’importe quel type de modèle avec des traits (par opposition à des
images de synthèse). ( A –* B ) = r ( A – B )
● Modèles surfaciques
3
Les surfaces d’un objet sont connues, mais pas la matière. Ces où r désigne l’application qui, à un sous-ensemble de E , associe
modèles sont essentiellement basés sur des équations paramétriques. l’adhérence de son intérieur.
Leurs fondements restent très importants dans la mesure où ils sont
Malheureusement, le passage de ce modèle mathématique à un
toujours utilisés pour modéliser des objets possédant des surfaces
modèle informatique ne se fait qu’au prix de nombreux raccourcis.
gauches.
Nous présentons dans un premier temps le modèle qui s’approche
● Modèles de solides le plus du modèle mathématique (les boîtes), bien qu’il ne soit que
Les objets sont parfaitement connus, au moins en théorie. On relativement peu utilisé en CAO, puis les modèles les plus répandus
considère deux grandes familles de modèles : ceux qui conservent en CAO (B-Rep, CSG, paramétrique).
le résultat des opérations effectuées par l’opérateur (donc unique- Les modèles de solides peuvent être caractérisés par une repré-
ment des éléments sur la forme) et ceux qui gèrent des informations sentation soit explicite, soit implicite de la forme.
sur le mode de construction.

Le modèle fil de fer est un cas particulier de certains modèles


de solides et leur étude n’a donc aucun intérêt dans la suite. En
revanche, on pourrait penser que les modèles de surfaces sont
inclus dans les modèles de solides (au moins ceux qui conservent
les éléments sur la forme). Ce n’est pas le cas : en effet, les modè-
les de surfaces ont été définis avec des concepts fondamentale-
ment différents de ceux qui ont régi la définition des modèles de
solides. L’intégration des deux approches pose des problèmes
qui apparaissent rapidement à tout utilisateur construisant de
manière intensive des solides avec des surfaces gauches.
Figure 2 – Intersection de deux objets tangents par une face

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique H 3 750 − 5
CAO : MODÉLISATION GÉOMÉTRIQUE ______________________________________________________________________________________________________

Les représentations explicites définissent le résultat des opérations


effectuées pour représenter la forme de l’objet. Nous présentons les
modèles par les boîtes (§ 4.1) et les modèles par les frontières (§ 4.2). z

Les représentations implicites ne conservent pas la forme, mais la


manière dont elle est obtenue. Le modèle fondamental est l’arbre de
construction, et nous présenterons les autres approches comme
une extension de celle-ci.
Les principales méthodes de construction accessibles à un opéra-
teur peuvent être classées en quatre catégories :
— utilisation d’objets de base en donnant leurs paramètres et
union intersection différence
leur positionnement dans l’espace : par exemple, un cylindre en
donnant sa base, sa hauteur (son axe) et son diamètre ; a opérations booléennes
— opérations booléennes sur deux solides (figure 3a) : les trois
opérations fondamentales sont l’union (création d’un solide com-
prenant tous les points des deux solides combinés), l’intersection et
la différence. D’autres opérations comme la section sont également
naturellement des opérations booléennes ;
— extrusion généralisée (figures 3b et 3c) : il s’agit de toutes les
opérations qui permettent de construire un solide comme l’ensemble
des points intérieurs à un contour parcourant une trajectoire dans
l’espace. Les mises en œuvre les plus connues sont le prisme (un con-
tour fermé et une épaisseur par exemple), la révolution (un contour
ouvert ou fermé et une rotation autour d’un axe) ou les « tuyaux » (un
contour et une trajectoire quelconque).
— assemblage d’objets de base : par exemple, la création d’un extrusion le long d'une trajectoire
b
solide comme un ensemble de faces que l’on « coud ».
— paramétrage : il s’agit d’un ensemble de méthodes, associées
à des modèles que l’on explicite dans le paragraphe 4.4, qui permet-
tent de considérer un objet comme une forme variant en fonction Profondeur d'extrusion
d’un certain nombre de paramètres (en général, des dimensions).

3.3 Bases des modèles de surfaces


Profil extrudé
On utilise, dans tous les systèmes, des représentations de surfaces
par produit tensoriel sous forme polynomiale, rationnelle ou non.
c extrusion d'un profil
Pour les courbes (figure 4a) :
u [ u 0, u 1 ] → P ( u ) Figure 3 – Exemples de méthodes de construction d’un solide

P ( u ) est un polynôme en u. C’est une représentation vectorielle


( X ( u ), Y ( u ), Z ( u ) ) .
tion). Ces points, en petit nombre, permettent de définir de manière
Pour les surfaces (figure 4b) :
relativement naturelle une forme gauche. La définition de formes
u [ u 0, u 1 ], v [ v 0, v 1 ] → P ( u, v ) répondant à des fonctions précises reste cependant difficile à appré-
hender et nécessite une formation et une expertise certaine.
P ( u, v ) est un polynôme en u et v. C’est une représentation vecto- On imagine facilement le fonctionnement de la représentation
rielle ( X ( u, v ), Y ( u, v ), Z ( u, v ) ) . paramétrique et des méthodes naturelles de création en se basant
sur des polynômes de degré 3 dans le plan, soit :
De manière générale, une courbe (ou une surface) est représentée
par plusieurs morceaux de courbes (ou carreaux de surfaces). Il est
2 3
donc indispensable de définir les conditions de continuité entre P ( u ) = a + bu + cu + du
différents morceaux. On distingue la continuité paramétrique de la
continuité géométrique. Ainsi, deux courbes pourront être tangentes Soit en deux dimensions :
avec une continuité paramétrique (les tangentes ont même direction
et même norme) ou une continuité géométrique (les tangentes ont
2 3
même direction, mais des normes différentes). X ( u ) = a0 + b0 u + c0 u + d0 u
Si, sur une surface, on fixe l’un des paramètres (par exemple, on 2 3
Y ( u ) = a1 + b1 u + c1 u + d1 u
fixe v à 1/2) et on fait varier l’autre paramètre sur son domaine de
définition, on obtient une courbe isoparamétrique (figure 4c). Les
courbes isoparamétriques (u ou v fixés) sont donc des courbes pri- avec 0u1.
vilégiées appartenant à la surface. Il est facile d’imaginer la polygonalisation d’une telle courbe, en fai-
Les concepteurs de modèles de courbes et surfaces en CAO ont sant varier u de 0 à 1 avec un pas égal au rapport de 1 et du nombre
eu pour objectif de donner à un opérateur non informaticien et non de segments de polygonalisation choisi.
mathématicien la possibilité de construire et de modifier facilement Une telle forme a quatre inconnues vectorielles (donc huit incon-
des courbes et des surfaces. Bien qu’il puisse y avoir des évolutions nues scalaires : ai, bi, ci et di). Pour les déterminer en fonction d’une
à moyen terme, tous les modèles s’appuient sur des polynômes construction d’un opérateur, il suffit de quatre équations. Si l’opéra-
paramétriques et sur la notion de point de contrôle (ou de défini- teur donne le point de départ P0, le point d’arrivée P1 et les tangentes

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 3 750 − 6 © Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________ CAO : MODÉLISATION GÉOMÉTRIQUE

P ( u)

u0 u1

a courbe

v Figure 5 – Exemple de surface

etc. Le résultat du lissage est donc la détermination d’un polygone


de contrôle, dont l’une des caractéristiques est un nombre de points
en général moins élevé (ce qui revient à un compactage de l’infor-
u mation). Son intérêt essentiel est, bien entendu, de créer un modèle
manipulable. La difficulté est d’apprécier la qualité du lissage, bien
b surface que des aides, telles que la visualisation des courbes dérivées, per-
mettent à l’opérateur de l’évaluer ;
— création d’une courbe à partir de l’intersection de deux
carreaux ;
— création d’un carreau à partir de son réseau de points de
contrôle ;
— création d’une surface à partir d’une suite de courbes : cela
revient à appuyer la surface sur une liste ordonnée de courbes
(éventuellement préalablement obtenues par lissage) ;
v — création d’un carreau de surface par raccordement. Différents
types de raccordement pourront être disponibles : par prolonge-
ment des carreaux à raccorder, par simulation du roulement d’une
sphère sur les deux carreaux ou par rayon évolutif (obtenu par lis-
v = 1/2 sage d’arcs de cercle tangents aux deux carreaux, dans un plan
u
déterminé par une courbe orthogonale et dont le rayon est défini
u = 1/3
par une loi pouvant être donnée par l’opérateur) ;
u = 2/3
— création d’un carreau restreint à partir d’un carreau initial et
de courbes d’intersection ;
c courbes isoparamétriques
— création d’un carreau par déplacement, etc.

Figure 4 – Définition paramétrique

T0 et T1 en P0 et en P1, on obtient les quatre équations, qui sont 4. Modèles de solides


faciles à résoudre :
P0 = P ( 0 ) = a Nous considérons deux modèles explicites : les boîtes (§ 4.1)
P1 = P ( 1 ) = a + b + c + d (bien que ce modèle soit relativement peu utilisé en CAO, il com-
T0 = P ′ ( 0 ) = b porte un certain nombre de caractéristiques très intéressantes dans
T 1 = P′ ( 1 ) = b + 2c + 3d certains traitements) et les représentations par les frontières (B-Rep)
(§ 4.2) qui jouent un rôle central dans les systèmes de CAO.
Il y a plusieurs méthodes à la disposition d’un opérateur pour
Nous explicitons également les deux modèles implicites fonda-
construire une courbe ou une surface (figure 5), citons notamment :
mentaux : les arbres de construction (§ 4.3) et le paramétrage (§ 4.4).
— création d’une courbe à partir de ses points de contrôle. On
pourra ensuite, à l’aide en particulier de ces points, agir sur la forme
de la courbe. Dans les autres méthodes, lorsque l’on ne dispose pas
des points de contrôle, on cherche à les déterminer pour se placer 4.1 Boîtes
dans la définition habituelle du modèle ;
— création d’une courbe à partir d’une liste ordonnée de points. Nota : nous ne détaillons pas cette première représentation, qui n’est utilisée en CAO
Il s’agit de déterminer les points de contrôle qui assureront (dans le que pour optimiser des traitements et non comme modèle central.
modèle donné, que ce soit Bézier ou B-spline) que la courbe passera Ce type de représentation considère une partition de l’espace en
approximativement par les points initiaux. On peut ajouter d’autres petites boîtes. L’espace est découpé en boîtes (par exemple, cubiques)
contraintes, telles que la tangence en un point, le rayon de courbure, et un objet donné est représenté par l’ensemble des boîtes qui sont à

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique H 3 750 − 7
CAO : MODÉLISATION GÉOMÉTRIQUE ______________________________________________________________________________________________________

l’intérieur du solide. Pour un solide, une boîte quelconque de l’espace


a donc deux états possibles : pleine (intérieure au solide) ou vide
(extérieure au solide). Une boîte qui n’est ni entièrement à l’intérieur,
ni entièrement à l’extérieur d’un solide subit une procédure de déci-
sion, heuristique du type :
Type 2
si la boîte n’est pas entièrement extérieure à l’objet alors elle est
considérée comme pleine (type 1)
ou du type :
si le volume de la boîte occupé par le solide est égal à au moins la
moitié du volume total de la boîte alors la boîte est considérée
comme pleine, sinon elle est considérée comme vide (type 2).
La figure 6 illustre ces heuristiques en 2D. À partir du contour
défini sur la partie gauche, on voit que ces deux heuristiques don-
Type 1
nent des résultats différents.
La première heuristique est bien adaptée à un modèle qui décri-
rait le volume occupé pour examiner le passage d’un robot par
exemple, la seconde est plus proche du solide lui-même.
Cette représentation est extrêmement gourmande en mémoire.
Figure 6 – Heuristiques en 2D
Pour éviter cet inconvénient, on découpe l’espace en huit boîtes.
Chacune de ces boîtes peut être pleine, vide ou partiellement pleine.
Dans les deux premiers cas, il est inutile de découper à nouveau et
l’on ne décompose que les boîtes qui ne sont ni entièrement vides, ni
entièrement pleines. On crée donc un arbre dont chaque nœud a au
plus huit fils que l’on appelle arbre octal. La représentation par arbre
octal (octree) n’est qu’une amélioration, en terme de place occupée,
de la représentation par boîtes. Elle peut être considérée comme un
cas particulier de l’arbre de construction (§ 4.3), dans lequel les
feuilles seraient des boîtes et les nœuds, l’opérateur de collage.
Une telle représentation est unique à un niveau de précision et
une heuristique donnés, non ambiguë et la validité est facile à prou-
ver. Malheureusement, la concision n’est pas respectée et l’est
d’autant moins que les boîtes sont petites. Précision = 4 Précision = 2 Précision = 1
Nota : l’arbre octal est une méthode d’amélioration de la concision. Aire = 64 Aire = 48 Aire = 40
Périmètre = 32 Périmètre = 32 Périmètre = 32
La mise en œuvre d’opérations booléennes est immédiate (tables
de vérité sur des boîtes). D’autres calculs sont extrêmement faciles Aire réelle = 32 Périmètre réel = 16 2
à décrire (le volume, par exemple). En revanche, la surface en 3D Le calcul de l'aire converge, pas le périmètre.
(respectivement, le périmètre en 2D) n’est pas calculable directe-
ment (il faut appliquer des algorithmes plus complexes), ce qui
Figure 7 – Représentation par arbre octal
apparaît dans l’étude mathématique de cette modélisation.
Considérons l’exemple de la figure 7 en 2D : on imagine facile-
ment que la représentation par arbre octal ne permet pas de faire — aux calculs (volume, surface, section, etc.) ;
converger le calcul du périmètre, en prenant, sans précaution, le — à la cotation.
nombre de côtés sur le bord.
Il est moins bien adapté aux modifications (car il n’y a pas de
conservation de l’historique). Cet inconvénient doit cependant être
4.2 Modèles B-Rep nuancé, car certains outils interactifs permettent par exemple de
déplacer un trou, au moins tant que la topologie n’est pas modifiée.
L’adjonction d’une couche prenant en compte le paramétrage ou le
Dans un modèle B-Rep (boundary representation ou modèle par variationnel peut même rendre cet inconvénient sans objet.
les frontières), le système connaît la peau de l’objet et le côté où se Le modèle peut être à facettes planes ou « exact ». Ce dernier
trouve la matière. La peau peut être approchée par des facettes pla- terme n’a pas de définition claire : pour les uns, il signifie que les
nes, par des surfaces analytiques ou paramétriques. Un modèle B-Rep surfaces analytiques sont conservées dans le modèle, pour les
contient le résultat des opérations, c’est-à-dire l’ensemble des infor- autres que les surfaces gauches font partie du modèle. En tout état
mations définissant la forme du solide (géométrie et topologie). de cause, certains modeleurs « exacts » passent par une approxima-
Deux familles d’informations sont conservées dans un B-Rep : tion à facettes planes pour certaines opérations comme les opéra-
— l’information géométrique : elle permet de positionner les solides tions booléennes, et les calculs effectués sur les surfaces impliquent
dans l’espace. S’il s’agit uniquement de polyèdres, on peut se qu’aucun modèle ne peut être parfaitement « exact ».
contenter des coordonnées des sommets. Si les faces sont des quadri- Une telle représentation comprend donc les informations géomé-
ques ou des surfaces gauches, il faut conserver des équations ; triques et topologiques et des informations annexes, n’ayant pas une
— l’information topologique : elle relie les différents composants influence directe sur la forme de l’objet, mais sur sa représentation
de base entre eux. On parle généralement de graphe FAS (pour face, (couleur, transparence, etc.). Elle est non ambiguë et non unique.
arête, sommet). En réalité, il s’agit d’un graphe face, contour (un
contour extérieur et des contours intérieurs pour gérer la notion de Si le choix des informations géométriques conservées dépend de la
trou), arête et sommet. puissance que l’on souhaite définir (prise en compte de faces planes,
quadriques ou paramétriques), celui fait sur la topologie doit égale-
Par définition, il est bien adapté : ment éviter les redondances. En effet, étant donné que l’on dispose de
— à la visualisation avec ou sans élimination des parties cachées, trois objets de base (face incluant des contours, arête, sommet), neuf
filaire ou image de synthèse et le dialogue ; relations sont possibles. Il est évident qu’une certaine redondance

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 3 750 − 8 © Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________ CAO : MODÉLISATION GÉOMÉTRIQUE

existe : par exemple, si l’on conserve les relations « F(S) : une face (un
contour en réalité) est composée de sommets dans un ordre défini », 4 3
il est a priori inutile de conserver la relation « A(S) : une arête est défi-
nie par deux sommets », puisqu’il est possible de retrouver les arêtes
en parcourant les faces. Cependant, on constate qu’en parcourant les
faces, on se heurte à des problèmes de performance (et que l’on
trouve chaque arête deux fois). Pour des raisons de facilité de mise en
œuvre de certaines opérations, on préfère souvent conserver une cer-
taine redondance qui doit être prise en compte par le modeleur. 1 2

Figure 8 – Orientation d’une face avec ou sans contour intérieur


4.2.1 Modèles (face trouée)

Pour faciliter la compréhension, l’implémentation de deux modèles


fondamentaux est illustrée sur un objet très simple, un cube :
— un modèle qui ne conserve que la relation F(S) : ce type de Topologie 12340 32560 43670 58760 ...
modèle est abandonné comme modeleur de systèmes de CAO,
mais il est à la base de formats comme celui qui sert au transfert 7 6
d’informations de la CAO vers le prototypage rapide ; Géométrie X Y Z
— un modèle qui conserve les relations F(A) et A(S), plus conforme
0 0 0
aux orientations actuelles des modeleurs et qui nous servira de base 4
1 0 0 3
pour discuter des avantages et des inconvénients des B-Rep.
1 1 0
■ Modeleur F(S)
0 1 0
Il est défini par un tableau contenant les sommets du cube (géo-
1 0 1
métrie) et par une table contenant les sommets définissant chaque
face. Deux faces sont séparées par une valeur 0. 1 1 1 8 5
Il est donc facile de voir que la face avant est composée des som- 0 1 1
mets 1, 2, 3 et 4 et la face à droite des sommets 2, 3, 6 et 5. Les som- 0 0 1 1
mets consécutifs doivent, bien entendu, former une arête (non
2
explicite). Une information doit également permettre de retrouver
pour chaque face le côté où se trouve la matière. On pourrait affec-
ter à chaque face une normale, orientée, par convention, vers l’exté- Figure 9 – Modèle du cube en F(S)
rieur. Cette information est très utile pour la mise en œuvre de
nombreux algorithmes (opérations booléennes, élimination des
parties cachées, etc.). Plutôt que d’ajouter cette information, on
s’appuie en général sur la règle de Moebius, qui permet de définir Topologie a1 a2 a3 a4 0 a5 a6 a8 a2 0 a3 a8 a7 a9 0 ...
l’orientation d’une face par le sens de parcours de sa frontière. Si
l’on souhaite obtenir une normale orientée vers l’extérieur, il suffira
Géométrie
d’utiliser un produit vectoriel. Dans l’exemple de la figure 8, on 1 2 a1
considère une face plane (face avant du cube), dont la matière se 2 3 a2 a7
trouve à l’arrière. En choisissant le sens 1, 2, 3, 4, le produit vectoriel X Y Z 7 6
3 4 a3
du vecteur joignant le premier sommet au deuxième sommet avec 4 1 a4 0 0 0 a9 a8
le vecteur joignant le premier sommet au dernier sommet donne un a3
2 5 a5 1 0 0 4
vecteur orienté vers l’extérieur de la face. 5 6 a6 3
1 1 0 a6
On dit que la matière est laissée à droite en 3D par une personne 6 7 a7 a2
0 1 0 a10
qui se promènerait en équilibre sur les arêtes de la face en suivant le 6 3 a8
sens de parcours prédéfini. Cette convention implique qu’un contour 0 0 1
7 4 a9 a4
intérieur (trou) est défini dans le sens inverse du contour extérieur de 1 1 1
7 8 a10
la même face. 0 1 1 8 a11
8 5 a11 a 12 5
0 0 1 a5
On notera que le calcul du produit vectoriel doit se faire sur un 8 1 a12 a1
sommet de convexité, ce qui se trouve facilement en cherchant le Sommets 1
Arêtes 2
sommet de X minimum par exemple.
On montre facilement que toute arête doit être parcourue une Figure 10 – Modèle du cube en F(A)
fois dans un sens pour une face, une fois dans un autre pour la face
adjacente.
Le modèle du cube pourrait donc être celui présenté figure 9.
■ Modeleurs F(A) et A(S)
Pour le même objet, on pourra conserver sous la forme très simple
de tables, les informations définies par la figure 10 dans laquelle
chaque entrée de table correspond à un numéro d’accès.
Nota : en réalité, la gestion est plus performante que celle qui est présentée et qui n’a
valeur que d’exemple.
De plus, on conserve en général d’autres relations. L’une d’entre Les arêtes en bleu ont un degré de continuité de 0,
elles a une signification importante, en particulier dans les modèles à celles en pointillés ont un degré de continuité de 1.
facettes planes. Supposons que l’on souhaite approcher un cylindre
par des facettes planes pour l’enregistrer dans un B-Rep (figure 11). Figure 11 – Degrés de continuité

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique H 3 750 − 9
CAO : MODÉLISATION GÉOMÉTRIQUE ______________________________________________________________________________________________________

On approche le cercle haut et le cercle bas par un certain nombre


d’arêtes (dans notre exemple, un très petit nombre pour des raisons
de présentation) et on les relie par des arêtes pour ensuite créer des
faces orientées. On obtient ainsi deux types d’arêtes (qui sont toutes
des approximations) :
— celles qui séparent les faces du dessus et du dessous des faces
latérales, qui correspondent à l’approximation d’une arête circulaire
qui a une existence réelle. On dira qu’elles sont de degré de
continuité de 0, pour exprimer qu’elles séparent deux faces qui ne
sont pas tangentes dans la réalité ;
— celles qui séparent des faces de la face cylindrique, qui ne cor-
Pas de trou Trou traversant Trou borgne
respondent à aucune arête dans la définition du cylindre. On dira
F=6 F = 10 F = 11
qu’elles ont un degré de continuité de 1 pour exprimer le fait qu’elles
séparent deux facettes issues de la même surface. On pourra ainsi, S=6 S = 16 S = 16
par exemple, les éliminer facilement lorsque l’on ne souhaite afficher A = 12 A = 24 A = 24
que les arêtes du contour apparent (sauf celles du bord). C=1 C=1 C=1
H=0 H=1 H=0
K=0 K=2 K=1
F–A+S=2 F–A+S=2 F–A+S=3
4.2.2 Validité d’un modèle 2 (C – H ) + R = 2 2 (C – H ) + R = 2 2 (C – H ) + R = 3

■ FAS
Figure 12 – Vérification de la formule d’Euler
Assurer la validité d’une représentation peut être un problème
très complexe. La validité au sens topologique est actuellement bien
prise en compte. Elle peut être assurée de deux façons :
— soit par l’utilisation d’algorithmes de construction assurant la Lorsqu’un modeleur respecte en permanence la relation d’Euler, il
validité topologique ; est dit « eulérien » (manifold). S’il peut respecter cette relation pour
les solides, mais peut admettre également d’autres types d’objets
— soit en définissant des opérateurs d’accès au modèle prenant la (traits d’axes, plans de référence, etc.), il est dit « non eulérien »
responsabilité de la validité topologique. En effet, la formule d’Euler (non manifold). Cette dernière catégorie est de toute évidence la
(figure 12) définit les conditions entre les différents éléments : plus intéressante, dans la mesure où la construction de modèles
nécessite l’utilisation d’objets (plans de référence, surface, etc.) qui
F – A + S = 2(C – H) + R ne sont pas des solides. Il reste toutefois intéressant que le mode-
leur respecte la relation d’Euler lorsqu’il construit un solide. La vali-
avec S nombre de sommets, dité géométrique n’est pas du tout prise en compte par les
opérateurs d’Euler.
A nombre d’arêtes,
L’implantation informatique est faite sous la forme d’un graphe
F nombre de faces,
FAS (face, arête, sommet, en réalité face, contour, arête, sommet),
C nombre de composantes connexes, quelle que soit la structure réelle employée.
H nombre d’anses, La validité topologique et/ou géométrique peut être assurée :
R nombre de trous (anneaux) dans les faces. — soit à la construction : les algorithmes mis en œuvre lors de la
On peut alors considérer la relation d’Euler comme l’équation constitution du modèle doivent donc assurer cette validité ;
d’un hyperplan h dans un espace de dimension 6, dont les axes sont — soit a posteriori : il s’agit d’un contrôle de validité.
〈 S, A, F, C, H, R 〉 . Par définition, un opérateur d’Euler est un vecteur Le modèle « arête ailée » est l’un des plus connus et nous en faisons
non nul dans cet hyperplan. Un tel sextuplet ne caractérise pas de une présentation succincte, qui permet de compléter les modèles
manière unique un solide. simples déjà montrés.
Cinq opérateurs suffisent pour réaliser toutes les opérations :
— mvsf crée un solide initial composé d’un sommet et d’une face ■ Modèle arête ailée
(créer sommet, composante connexe, face, make vertex, shell, face) ; Le modèle winged edge (WE ou arête ailée), sans trou, est basé sur
— mev crée une arête à partir d’un sommet existant et d’un nou- trois objets :
veau sommet (make edge, vertex) ; — l’objet face contient uniquement le nom (un pointeur) d’une arête
— mef éclate un face existante avec une nouvelle arête entre deux quelconque de la face ;
sommets existants, et crée une nouvelle face (make edge, face) ; — l’objet arête contient les informations suivantes :
• noms (pointeurs) des faces directes (fdir) et indirectes (find),
— kemr éclate une face existante en deux composants en suppri-
• noms des sommets origine et extrémité ( s 1, s 2 ) ,
mant une arête (kill edge, make ring) ;
• noms des arêtes suivantes (asdir) et précédentes (apdir) dans la
— kfmrh compose deux faces de telle sorte que la frontière de l’une face directe,
devienne un trou (anneau) dans l’autre (kill face, make ring, hole). • noms des arêtes suivantes (asind) et précédentes (apind) dans la
Pour une utilisation plus facile, on implante un plus grand nombre face indirecte ;
d’opérateurs. — l’objet sommet contient le nom (pointeur) d’une arête quel-
Les principaux intérêts de la construction d’un modèle par des conque incidente au sommet et un pointeur vers la géométrie du som-
opérateurs d’Euler sont : met (x, y, z).
— toute représentation d’un objet par les frontières (valide) peut La détermination d’un certain nombre de relations est immédiate,
être construite par des opérateurs d’Euler ; dans la mesure où l’information apparaît explicitement dans la
— toute représentation construite par les opérateurs d’Euler structure : par exemple AF (dans l’objet arête), AA ou AS. D’autres
satisfait toutes les conditions de validité topologique. sont simples à déterminer, par exemple FA :

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 3 750 − 10 © Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________ CAO : MODÉLISATION GÉOMÉTRIQUE

procédure FA (f : face ; var l : liste_arêtes)


/*retourne la liste des arêtes d’une face*/
CSG sous forme d'arbre : CSG sous forme d'arbre :
début
ainit := f–>arête ; /*arête initiale dans objet face*/ P1 P1 P2
a := ainit ; CSG sous forme CSG sous forme
répéter de phrase : de phrase :
INSERER(a,l) ;
/*insertion de l’arête dans la liste pour résultat*/ P1 P1, P2
a b
si a–>fdir = f alors a := a–>asfdir
sinon a := a–>asind ;
jusqu’à a = ainit ; CSG sous forme d'arbre : CSG sous forme d'arbre :
fin ; U
U

On peut faire une analyse des combinaisons possibles des relations P1 P2 P1 P2 C1


topologiques, et la structure symétrique FA-AS-SA-AF apparaît CSG sous forme CSG sous forme
comme la meilleure (espace mémoire : huit fois le nombre d’arêtes de phrase : de phrase :
contre neuf fois pour WE). Malheureusement, cette structure implique
P1UP2 (P1UP2),C1
des objets de taille variable, ce qui réduit son intérêt (nécessité de c d
chaînages).
La structure initiale WE doit également être étendue pour tenir
CSG sous forme d'arbre : CSG sous forme d'arbre :
compte des contours intérieurs. Elle perd alors son principal avan- .
tage qui était de manipuler des objets de taille fixe.
U T U T

La représentation B-Rep, intéressante car elle permet de P1 P2 C1 T P1 P2 C1 T


modéliser de nombreux objets et parce qu’elle est assez proche CSG sous forme CSG sous forme
d’opérations de visualisation, est très éloignée des considéra- de phrase : de phrase :
tions mathématiques qui ont pu être faites auparavant. Elle reste (P1UP2),T(C1) (P1UP2) – T(C1)
cependant un élément central des systèmes de CAO car de nom- e f
breuses opérations sont possibles (calcul de volume, intersec-
tions, préparation commande numérique, etc.) et la notion de
face est naturellement à la base de la cotation. Figure 13 – Arbre de construction simple

Considérons tout d’abord un arbre dont les nœuds sont des


4.3 Modèles CSG objets primitifs. Les bases mathématiques qui régissent une telle
modélisation sont faciles à décrire :

Dans un modèle CSG (constructive solid geometry, arbre de


construction), le système conserve un historique de la construction de <arbre> := <objet primitif> / <arbre><op. booléenne><arbre> /
l’objet. Cet historique représente, dans la plupart des cas, les objets <arbre><op. de transformation><arg. de déplacement>
manipulés (cylindres, parallélépipèdes, etc.) et les opérations qui leur
ont été appliquées, essentiellement des opérations booléennes (union, La famille de solides modélisée par cet arbre peut être représen-
intersection, différence). Il manipule en général en parallèle une repré- tée par la grammaire :
sentation B-Rep pour gérer le dialogue et la visualisation.
Il est bien adapté aux modifications, à condition qu’elles soient
compatibles avec l’historique. Il est facile de déplacer un trou créé <solide> := <primitive> / <solide composé>
comme différence avec un cylindre, par exemple. <solide composé> := <solide composé> / <opérateur><solide>
<opérateur> := /∪*/∩*/–*/translation/rotation/...
Il est moins bien adapté :
<primitive> := <cube>/<cylindre>/<sphère>/<cône>/...
— à la visualisation : le modèle CSG doit être évalué ! En général,
les systèmes proposent un modèle B-Rep en parallèle avec le
modèle CSG, qui est utilisé pour les opérations de visualisation. Ce Un arbre de construction est non ambigu, mais non unique. Le
modèle est éventuellement recalculé, en fonction des modifications domaine dépend des objets primitifs et des opérateurs. Dans la
apportées au modèle CSG ; mesure où les objets primitifs sont valides et où les opérateurs sont
— aux calculs : pour les mêmes raisons ; des lois de composition internes, la représentation est toujours
valide. On peut cependant remarquer qu’une telle représentation est
— à la cotation : les faces n’existant pas explicitement dans le purement théorique. Les problèmes réels vont se poser lors d’une
modèle, cette cotation est en général faite sur le modèle B-Rep associé. évaluation. On pourrait dire, de manière un peu provocatrice, que
Cette représentation conserve, pour un objet donné (solide), les cette représentation est valide, dans la mesure où elle ne traite aucun
opérations qui ont été mises en œuvre pour le définir. Par définition problème... La responsabilité est reportée au niveau des algorithmes.
initiale limitée aux opérations booléennes, elle peut cependant Pour l’utilisateur, le modèle peut être transparent dans la mesure
inclure d’autres opérations (extrusions, etc.). où il retrouve les mêmes types de visualisation que dans le modèle
B-Rep (figure 14).
Bien entendu, l’ordre de création a une influence sur d’éventuelles
La structure est un arbre binaire, dont les nœuds sont des modifications. Si l’on considère la figure 15, on s’aperçoit que si l’on
opérations booléennes ou des transformations affines et les crée selon un ordre ou selon un autre, le déplacement du cylindre ne
feuilles sont soit des demi-espaces, soit des objets primitifs donne pas le même résultat (le cylindre est de même hauteur que le
(figure 13). parallélépipède troué).

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique H 3 750 − 11
CAO : MODÉLISATION GÉOMÉTRIQUE ______________________________________________________________________________________________________

connaître les frontières, d’appliquer les opérateurs jusqu’à l’évalua-


tion de l’ensemble de l’arbre (ou des sous-arbres). Les difficultés sont
identiques à celles rencontrées dans la représentation B-Rep (§ 4.2).
Lorsque l’objet est connu par ses frontières, on peut lui appliquer les
algorithmes de visualisation (élimination des parties cachées, etc.),
de calculs (volume), etc. ;
— soit on met en œuvre des algorithmes spécifiques à l’évalua-
tion d’une opération donnée. Par exemple, si l’on souhaite visuali-
ser l’objet, on pourra effectuer un lancer de rayons, chaque rayon
correspondant à un pixel de l’écran.
Lorsque les feuilles sont des demi-espaces, la validité devient pra-
tiquement impossible à démontrer. En effet, dans ce cas, on consi-
dère tout objet primitif comme l’intersection booléenne dans
l’espace des demi-espaces « intérieurs » définis par chaque face. A
priori très intéressant, ce type de modélisation se heurte à des diffi-
cultés insurmontables aujourd’hui. On pourra toujours implémenter
Figure 14 – Différentes vues du modèle une telle représentation, mais sans pouvoir, dans de nombreux cas,
prouver sa validité.
L’arbre de construction a deux avantages :
— il représente un historique de construction ;
— sa structure est facile à manipuler.
L’évaluation d’un arbre de construction peut se faire pour visuali-
ser l’objet ou d’une manière générale pour déterminer une « vue »
(au sens bases de données) de l’objet représenté par l’arbre de
construction.
Étudier une propriété d’un objet représenté par un arbre de
construction peut se faire de deux manières :
— on évalue l’objet dans une représentation connue (limites, par
exemple) et on effectue le calcul de la propriété sur cette représen-
tation. En général, on passe par une approximation, donc une perte
d’informations, mais on peut appliquer les algorithmes qui ont été
définis sur cette approximation, sans devoir réévaluer l’arbre. L’éva-
luation dans une représentation connue peut se faire soit unique-
ment pour la racine de l’arbre (évaluation globale de l’arbre), soit
pour chaque nœud (chaque nœud correspondant à un sous-arbre,
donc à un objet). Cette seconde solution, plus coûteuse, peut per-
mettre une plus grande souplesse dans les modifications ;
— on applique le calcul de la propriété directement sur l’arbre de
construction. C’est le cas du ray-casting, algorithme de même type que
le tracé de rayons, mais qui calcule l’image sans évaluer l’objet par ses
frontières. Cela peut être appliqué à de nombreux problèmes : par
exemple, une coupe par un plan ou le maillage automatique par opéra-
tions booléennes sur les maillages élémentaires. Il est intéressant de
noter que l’opération, facile a priori, conduit à quelques difficultés, en
se basant sur un exemple simple : l’appartenance d’un point P à un
solide représenté par un modèle CSG. On évalue récursivement la
propriété :
• si le nœud n’est pas terminal et que ses deux fils ne sont pas
évalués, on descend dans l’arbre,
• si le nœud est un objet primitif, il suffit d’évaluer l’apparte-
nance du point à l’objet, ce qui est facile dans la mesure où il
s’agit de cubes, de sphères, etc.,
• si le nœud n’est pas terminal et que ses deux fils sont évalués,
il suffit d’appliquer les tables de vérité pour l’opération booléenne
considérée (une transformation géométrique peut toujours être
appliquée sur les nœuds terminaux).
Cependant, ces notions ne suffisent pas dans le cas d’ambiguïtés.
Considérons, par exemple, la différence entre le rectangle A (en
gras) et le rectangle B (traits fins) de la figure 16. Les tables de vérité
Figure 15 – Modification explicitent l’appartenance d’un point pour les opérations booléennes
d’union, d’intersection et de différence entre deux objets A et B
(résultat dans C). O signifie que le point appartient à l’objet (A, B ou
Lorsqu’il faut évaluer une telle représentation, on utilise deux C) et N qu’il ne lui appartient pas. Par exemple, pour A∪B, si P appar-
grandes classes de méthodes : tient à A(O) et n’appartient pas à B, il appartient à C(O).
— soit on évalue l’objet dans un autre modèle, en général par les Dans le cas a, P est hors de A – B (N) ; dans le cas b, P est sur A –
frontières : il « suffit », en partant des objets primitifs, dont on peut B (O). La table de vérité donnerait N.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 3 750 − 12 © Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________ CAO : MODÉLISATION GÉOMÉTRIQUE

P ∈ Solide ?

Union Intersection Différence


A B C A B C A B C

O O O O O O O O N

O N O O N N O N O

N O O N O N N O N

N N N N N N N N N
Les cercles se coupent, pas les polygones d'approximation.

a cercles sécants

X P X P

A–B

Un cercle approché, puis ayant subi une rotation ne coïncidera


P∉A–B plus avec l'approximation d'un cercle identique.
P∈A–B
a b b cercles superposés

Figure 16 – Ambiguïté dans le calcul de la propriété : Figure 17 – Problèmes dus aux approximations
P appartient au résultat d’une opération booléenne de la « polygonalisation »

Pour traiter ces ambiguïtés, on introduit la notion de voisinage le modeleur stocke soit les faces, arêtes et sommets pour le B-Rep, soit
qu’il est inutile de détailler ici. Ces notions de voisinage sont en réa- l’arbre de construction, représenté par un arbre ou par une phrase,
lité relativement difficiles à gérer en CAO. En effet, elles rejoignent pour le CSG. Pour assurer les fonctions de dialogue et d’affichage, le
le problème fondamental des tolérances informatiques lié à l’utilisa- modeleur CSG conserve également une instance B-Rep.
tion de l’ordinateur. On parle également de modèles hybrides CSG/B-Rep. Un modèle
Les approximations qui sont faites peuvent également entacher hybride correspond à une tentative d’intégration au sein d’une même
l’ensemble des résultats d’erreurs grossières dans le cas de modèles structure des avantages du B-Rep et du CSG, en considérant en parti-
B-Rep. culier des opérateurs autres que booléens. Ils tentent de cumuler les
Sur la figure 17a les deux cercles se coupent. Pourtant, s’ils sont avantages des modèles B-Rep et CSG, en élargissant le champ
approchés par des polygones (grossiers pour l’explication), on risque d’application du CSG (en considérant d’autres opérations que les
de trouver qu’ils sont disjoints. opérations booléennes), et en mémorisant des informations sur les
faces pour, par exemple, permettre la cotation. Ces nouveaux mode-
Sur la figure 17b, on constate que si l’on pose un cercle sur un leurs peuvent prendre en compte des objets non solides (non mani-
cercle de même centre et de même rayon, le résultat peut être faux fold geometry ou géométrie non eulérienne). Les modeleurs hybrides
à cause de la polygonalisation. Dans le cas où cette opération est sont étendus au sein de la famille des modeleurs paramétriques.
faite pour boucher un trou (par exemple, par une union), le résultat
ne pourra être correct que si le cercle polygonalisé (le trou que l’on
veut boucher) n’a pas subi de rotation. Sinon, les deux polygones ne
coïncideront pas. Même s’ils coïncident, on se place dans une situa- 4.4 Modèles paramétriques
tion où les cas particuliers redoutés se produiront (tous les seg-
ments sont confondus deux à deux). Un objet peut être défini par ses paramètres, en particulier quelques
Dans la plupart des cas, lorsque l’on utilise un modeleur CSG, le dimensions. Ainsi, un cube est défini par la valeur de son côté et son
système créé entretient un modèle B-Rep pour servir de base aux opé- positionnement dans l’espace. Un certain nombre de propriétés intrin-
rations d’affichage et de dialogue. La figure 18 montre ce qui se passe sèques peuvent donc servir de base à la construction d’un élément
dans un modeleur B-Rep et dans un modeleur CSG. On constate que d’une famille, qui pourra être inséré dans un modèle plus complet.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique H 3 750 − 13
CAO : MODÉLISATION GÉOMÉTRIQUE ______________________________________________________________________________________________________

■ Création interactive
Utilisateur
● Avantage :
crée un
Utilisateur parallélépipède — apprentissage facile (pratiquement transparent par rapport à
crée un l’apprentissage du système de CAO). Cet avantage est, bien
parallélépipède B-Rep entendu, très important face aux inconvénients. On notera cepen-
O1 (6 faces) dant que cela demande à l’opérateur une véritable discipline de
B-Rep O2 (6 faces) construction, puisque, en quelque sorte, il se comporte comme un
O1 (6 faces) programmeur sans le savoir.
CSG
● Inconvénients :
CSG P1 (s,h,I,L)
a P1 (s,h,I,L) b P2 (s,h',I',L') — tout n’est pas possible ;
— les caractéristiques dépendent du modèle de paramétrage uti-
lisé (§ 4.4.1) ;
Utilisateur
— il est difficile de maîtriser toutes les décisions du modeleur en
Utilisateur
union des deux crée un
cas de construction complexe.
parallélépipèdes cylindre

B-Rep B-Rep 4.4.1 Définition et comparaison des modes


O3 (8 faces) O3 (8 faces) de paramétrage : conception paramétrique
O4 (32 faces) et géométrie variationnelle
CSG
P1 U P2 CSG
P1 U P2
Un certain nombre de systèmes mettent en œuvre des outils per-
c d
C1 mettant de modifier interactivement une conception en agissant sur
des valeurs de cote. Basés du point de vue de l’opérateur sur un
outil de conception interactif, ils se distinguent par la méthode de
Utilisateur résolution. Deux familles de méthodes sont couramment admises,
différence entre l'union et le cylindre la conception paramétrique et la géométrie variationnelle. Nous
donnons ci-après les quelques éléments qui nous paraissent indis-
B-Rep pensables à la compréhension des possibilités inhérentes aux deux
O5 (38 faces) dont 2 trouées approches.

CSG
Un objet est représenté par un n-uplets, figurant la famille à
e laquelle il appartient et la liste de paramètres le décrivant. Une telle
P1 U P2 – C1
représentation peut se comparer à l’arbre de construction, en consi-
dérant que l’on se contente de modéliser les caractéristiques de
Figure 18 – Comparaison des modèles B-Rep et CSG
l’objet. Dans la mesure où les familles sont connues et les domaines
de validité des paramètres précisés, elle est valide et non ambiguë.
Cependant, l’évaluation doit être mise en œuvre pour effectuer des
opérations telles qu’opérations booléennes (sauf à les intégrer dans
La définition d’une famille peut se faire soit par langage, soit inter- un arbre de construction dont les feuilles peuvent être des objets
activement. Le langage peut être soit spécifique, soit basé sur un lan- paramétrés quelconques), visualisation, calculs, etc.
gage de haut niveau comme C++. Nous ne détaillerons pas cette La figure 19 donne des exemples de pièces paramétrées. Le pre-
dernière possibilité, qui permet de définir des applications complètes mier exemple (figure 19a) illustre une rondelle trouée, dont les
et qui sera plus particulièrement illustrée au paragraphe 7. En réalité, paramètres sont les diamètres (rondelle et trous) et le nombre de
une mise en œuvre par langage dédié (supposé accessible à des non- trous. Les trous sont définis à partir d’une répétition circulaire dont
informaticiens) ou une utilisation par un dialogue homme-machine l’angle est défini à partir d’une équation (360° divisé par le nombre
basée sur le dessin sont dans la plupart des cas très liées, dans la de trous). Ces différents cas peuvent être intégrés dans les systèmes
mesure où langage et dialogue sont duaux (§ 4.4.2). Nous illustrons modernes directement dans un tableur, par exemple Excel sous
cette dualité par un exemple, après avoir distingué les notions de Windows. Le deuxième exemple (figure 19b) montre une roue den-
géométrie paramétrique et de géométrie variationnelle. tée et illustre une impossibilité dans la reconstruction (paramètres
Les avantages et les inconvénients des différentes méthodes sont non cohérents entre eux). Le troisième exemple (figure 19c) repré-
assez simples à appréhender. sente un tube et montre que sa construction est naturellement (par
construction) paramétrée.
■ Langages dédiés Pour évaluer ces objets, on pourra, comme dans l’arbre de
● Avantages : construction, soit déterminer une représentation par les limites et
— simples d’emploi (proches de langages de CN comme APT) ; lui appliquer tout algorithme valide, soit mettre en œuvre un algo-
— permettent de construire rapidement des pièces simples. rithme par classe d’opération.
● Inconvénients : Dans une conception paramétrique, l’opérateur construit un
— limités (bibliothèques de calcul, faible puissance du langage, modèle en utilisant un certain nombre de contraintes (tangences, dis-
etc.) ; tances, etc.). À partir de cette construction, le système définit un
— remplacés maintenant par la création interactive qui est duale modèle intégrant l’ensemble des contraintes, par exemple, sous
du langage. forme d’un graphe. Lorsque l’opérateur modifie l’une des valeurs de
cote, le système cherche à valider le graphe avec la nouvelle valeur, en
■ Langages de haut niveau répercutant les modifications les unes après les autres, par mise en
● Avantage : œuvre de procédures de résolution. Chaque valeur dépend explicite-
ment de valeurs définies auparavant. Le système de résolution suit
— très puissants (puissance intrinsèque du langage, bibliothè-
ainsi une logique qu’il est difficile de contourner. Les dépendances
ques de calcul, liaisons à d’autres programmes, etc.).
peuvent ne fonctionner que dans un sens. Par exemple, si l’opérateur
● Inconvénient : a défini que le rayon d’un cercle est égal à deux fois la longueur d’un
— réservés à des programmeurs avertis. segment :

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 3 750 − 14 © Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________ CAO : MODÉLISATION GÉOMÉTRIQUE

Figure 19 – Pièces paramétrées

— il pourra, en modifiant la longueur du segment, obtenir une


modification du rayon du cercle ; P3
— il ne pourra pas, dans un système paramétrique « pur », en
modifiant le rayon du cercle, obtenir une modification automatique
de la longueur du segment (certains systèmes le permettront). d2
Dans une conception variationnelle, l’opérateur peut utiliser des
outils similaires à la conception paramétrique, mais le système a la a
possibilité de résoudre des systèmes d’équations non linéaires. Le
système est résolu pour un ensemble de valeurs simultanément. P1 d1 P2
Dans l’exemple précédent du cercle et du segment, le système est
résolu pour la variable inconnue, que ce soit le rayon ou la longueur. P3
Bien que les systèmes variationnels optimisent le nombre d’équa-
tions à résoudre, l’un des problèmes reste celui des performances :
la résolution d’un système complexe peut être gourmande en temps d2 d3
de calcul. L’un des avantages inhérents au modèle variationnel est
que l’on peut coupler les équations géométriques à des équations
d’analyse et de calcul, et donc, par exemple, lier la géométrie à des
calculs de masse, de résistance, etc.
P1 d1 P2
Parmi les systèmes disposant du paramétrique et/ou du variation-
nel, un grand nombre n’applique ces techniques qu’au 2D pour Figure 20 – Paramétrage d’un triangle
créer des objets 3D par extrusion ou révolution. Les notions d’enti-
tés et de caractéristiques ont une place importante dans la concep-
tion paramétrique ou variationnelle, dans la mesure où les entités Lorsque l’un des paramètres est modifié, par exemple l’angle a, le
peuvent être paramétrées et utilisées dans des assemblages : système évalue le nouveau modèle en résolvant l’ensemble des cas
— un système paramétrique est plus particulièrement adapté aux influencés par a dans le cas présent : P1 n’est pas modifié, L1 et P2
familles de pièces ; non plus. Il doit évaluer L2, avec la contrainte « ligne commençant
— un système variationnel est plus particulièrement dédié aux en P1, faisant un angle a avec L1 » puis, P3 dépendant de L2 lui-
études préliminaires et à l’analyse des implications de modification même modifié, doit être évalué avec la contrainte « point sur L2, à
sur l’objet conçu (y compris en lui appliquant des calculs). distance d2 de P1 », puis L3 dépendant de P3 doit être évalué avec la
contrainte « segment joignant les points P2 et P3 ». S1 et S2 sont
Une bonne solution est de disposer du paramétrique lorsque cela également naturellement modifiés.
est suffisant et du variationnel lorsque cela est nécessaire. L’utilisa-
On constate donc que le système résout le problème par étapes
tion de ces systèmes peut impliquer un nombre accru d’interactions.
successives, en s’appuyant sur la résolution de systèmes de
Il est facile d’appréhender les différences entre paramétrique et contraintes bien définies, comme : « ligne faisant un angle donné
variationnel sur un exemple simple : la construction d’un triangle [4] avec une autre ligne et commençant en un point donné », etc.
(figure 20). Ces systèmes de contraintes correspondent à des méthodes de
L’opérateur définit un triangle à partir d’un point P, et construit les construction sous contraintes.
cotes a (angle), d1 et d2 (longueurs). Tout triangle est parfaitement Supposons que pour le même triangle, l’opérateur définisse pour
défini par deux côtés et l’angle fait par ces deux côtés, au position- la cotation, les longueurs des trois côtés : tout triangle est parfaite-
nement dans l’espace près. ment défini par la longueur de ses trois côtés (toujours au positionne-
ment dans l’espace près). Dans ce cas cependant, un système
■ Le système va construire un modèle de paramétrage contenant paramétrique ne pourra pas résoudre le système. En effet, supposons
(de manière simplifiée) les informations suivantes : qu’il ne connaisse que les constructions définies précédemment ; il
ne pourra modéliser correctement le triangle. Si l’on modifie, par
exemple, d2, le système pourra reconstruire P1, d1 et P2, puisqu’ils ne
P1 : point fixe sont pas touchés par la modification. Si l’on avait modifié d1, P2 aurait
L1 : ligne horizontale commençant en P1 été de toute façon facile à modifier, puisqu’il est défini comme
P2 : point sur L1, à une distance d1 de P1 « extrémité de L1 » et que L1 est déterminée comme une « ligne hori-
L2 : ligne commençant en P1, faisant un angle a, avec L1 zontale commençant en P1 et de longueur d1 ». En revanche, la déter-
P3 : point sur L2, à une distance d2 de P1 mination de P3 nécessite la résolution de deux containtes en même
S1 : segment joignant P1 et P2 temps : « déterminer une ligne L2 commençant en P1, de longueur
S2 : segment joignant P1 et P3 d2 » et « déterminer une ligne L3 commençant en P2 aboutissant à
S3 : segment joignant P2 et P3 l’extrémité de L2 et de longueur d3 ». Le système ne pourra résoudre

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique H 3 750 − 15
CAO : MODÉLISATION GÉOMÉTRIQUE ______________________________________________________________________________________________________

ce système que s’il a prévu ce cas particulier, ce qui, d’une part, est
peu probable, et qui, d’autre part, devrait être fait pour tous les cou-
plages possibles !
■ Considérons ce qui pourrait être fait dans un système de géomé- 30
trie variationnelle dans les mêmes situations. Le système gère un
système d’équations définissant les objets et les contraintes entre
objets. Nous en donnons une version possible (redondante) ci- 75
après, sans qu’elle fasse référence à un système implanté dans tel
ou tel logiciel.
45

Définition de L1 (P1, P2) :


ANGLE(L1) = 0 (1)
RACINE((X_P1–X_P2)2 + (Y_P1–Y_P2)2) = d1 (2) a surcontraint
Définition de L2 (P1, P3) :
ANGLE(L2) = a (3)
RACINE((X_P1–X_P3)2 + (Y_P1–Y_P3)2) = d2 (4) 50
Définition de L3 :
ANGLE(L3) = b (5)
RACINE((X_P2–X_P3)2 + (Y_P2–Y_P3)2) = d3 (6)

Considérons une modification de a, d1 et d2 ; elle sera facilement 30 30


prise en compte en résolvant successivement :
(1) ANGLE(L1) connu
(2) détermination de P2 (P1 est connu)
(3) détermination de ANGLE(L2)
(4) détermination de P3 30
(6) détermination de L3 (P2 et P3) connus
Considérons une modification sur un ensemble d1, d2, d3 ; le sys-
tème sera résolu par :
(1) ANGLE(L1) connu b sous-contraint

(2) détermination de P2 (P1 est connu)


(4) et (6) système de deux équations à deux inconnues (X_P3 et Figure 21 – Géométrie variationnelle : problèmes
Y_P3), permettant de déterminer P3, donc L3 et L2 (donc S1, S2 et S3).
On constate donc que les contraintes couplées ne posent, dans le
principe, pas de problème particulier à la géométrie variationnelle. Nous explicitons les autres notions directement sur l’exemple.
Cependant, dans le cas général, il est fait appel à des méthodes
numériques dont la convergence n’est pas obligatoirement assurée. On crée un programme BIELLETTE dont les paramètres sont les
Nous ne détaillons pas les difficultés de mise en œuvre, par exemple deux rayons, le point P1 et la distance entre les centres. On suppose
pour la prise en compte des problèmes surcontraints (trop de paramè- dans un premier temps que les différents paramètres ont été don-
tres pour définir une pièce) ou sous-contraints (trop peu de paramè- nés (ils peuvent être issus de calculs).
tres, donc plusieurs pièces possibles), illustrés figure 21. Dans le cas
du problème surcontraint (figure 21a), il est impossible de modifier Programme BIELLETTE (point P, scalaire r1,r2,d)
une des trois valeurs. Dans le cas du problème sous-contraint (figure
21b), plusieurs solutions sont possibles, sans information complé- /* crée une pièce (notion connue du modeleur) */
mentaire sur des contraintes de dimensionnement ou de parallélisme, début
par exemple en modifiant la distance 50. NOUVELLE_PIECE ;
P1 = POINT(P) ;
// crée un point dans le modèle
4.4.2 Dualité langage – interactivité
C1 = CERCLE(P1,r1) ;
// crée un cercle P1,r1
Considérons la création d’une forme très simple en deux dimen-
sions (plan XOY), constituée de deux cercles et de deux tangentes P2 = POINT(P1,DISTH,d) ;
extérieures à ces cercles. On souhaite définir cette forme de telle // crée un point sur la même horizontale que P1 à une distance d
sorte que la modification d’un rayon ou de la distance entre les cen- C2 = CERCLE(p2,r2) ;
tres conserve la forme initiale (figure 22). //crée un cercle P2,r2
Considérons la création d’une telle forme par un langage dédié S1 = SEGMENT (TGT,C1,DESSUS,TGT,C2,DESSUS) ;
simplifié. Les caractéristiques du langage sont les suivantes : // crée un segment tangent à C1 et à C2, au-dessus de C1 et de
— les objets disponibles sont le point (nom commençant par P), C2
le cercle (nom commençant par C) et le segment (nom commençant S2 = SEGMENT(TGT,C1,DESSOUS,TGT,C2,DESSOUS) ;
par S) ; // crée un segment tangent à C1 et à C2, au-dessous de C1 et de C2
— il s’agit d’un langage interprété ligne à ligne ; lorsqu’un objet
FIN-PIECE ;
est créé, il est inséré dans le modeleur qui rend un nom accessible
par le programme. Fin ;

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 3 750 − 16 © Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________ CAO : MODÉLISATION GÉOMÉTRIQUE

Encadré 1 – Interprétation du programme


Instructions Modeleur

I1 : NOUVELLE_PIECE ; Initialise une nouvelle pièce


I2 : P1 = POINT(P) ; Demande un point par dialogue et crée ce point dans le modèle
I3 : C1 = CERCLE(P1,r1) ; Demande un scalaire (r1) et crée un cercle P1,r1
I4 : P2 = POINT(P1,DISTH,d) ; Demande un scalaire d et crée un point sur la même horizontale que
I5 : C2 = CERCLE(p2,r2) ; P1 à une distance d
Crée un cercle P2,r2
I6 : S1 = SEGMENT (TGT,C1,DESSUS,TGT,C2,DESSUS) ;
Crée un segment tangent à C1 et à C2, au-dessus de C1 et de C2
I7 : S2 = SEGMENT (TGT,C1, DESSouS,TGT,C2,DESSoUS) ; Crée un segment tangent à C1 et à C2, au-dessous de C1 et de C2
FIN-PIECE ; Ferme la pièce

Encadré 2 – Suivi des actions de l’opérateur


Opérateur Modeleur de type B-Rep

Par MENU :
Création d’une nouvelle pièce Crée une instance de pièce dans le modeleur (I1)
Par MENU :
Création d’un point
À la SOURIS :
Donnée du point Crée ce point dans le modèle (I2)
Par MENU :
Création d’un cercle centre-rayon
À la SOURIS :
Désignation du point déjà créé
Au CLAVIER :
Valeur du rayon Crée un cercle (I3)
Par MENU :
Création d’un point à distance horizontale d’un autre
À la SOURIS :
Désignation du premier point Crée un point (I4)
Par MENU :
Création d’un cercle centre-rayon
À la SOURIS :
Désignation du deuxième point créé
Au CLAVIER :
Valeur du rayon Crée un cercle (I5)
Par MENU :
Création d’un segment tangent à deux cercles
À la SOURIS :
Désignation de deux points approximatifs au-dessus des deux cercles Crée un segment tangent à C1 et à C2, au-dessus de C1 et de C2 (I6)
Par MENU :
Création d’un segment tangent à deux cercles
À la SOURIS :
Désignation de deux points approximatifs au-dessous des deux cercles Crée un segment tangent à C1 et à C2, au-dessous de C1 et de C2 (I7)

On constate que :
R2
— la notion de nom est utilisée pour construire des objets
R1
s’appuyant sur d’autres objets (par exemple, C1 est construit à partir
de P1) ;
— certaines notions très faciles à définir interactivement sont
plus délicates. Il en est ainsi par exemple des tangentes aux deux
P1 cercles. Les notions dessous ou dessus peuvent être délicates à trai-
ter lorsque les deux cercles sont à la verticale l’un de l’autre
(d’autres formulations sont bien entendu possibles) ;
D
— ce programme fait appel à des calculs qui peuvent être relati-
La forme est définie par le point P1 (qui donne une position à la vement complexes (tangences, etc.).
pièce), les rayons R1 et R2 et la distance entre les centres D. Elle
est créée horizontalement et les segments doivent rester En considérant toujours le même programme, cette fois sans para-
tangents aux deux cercles. mètre, et en supposant que l’appel à une fonction demande les ren-
seignements qui lui manquent à l’opérateur, il est facile de montrer
Figure 22 – Forme simple en 2D la dualité des approches par programme et par dialogue (encadré 1).

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique H 3 750 − 17
CAO : MODÉLISATION GÉOMÉTRIQUE ______________________________________________________________________________________________________

En effet, l’analyse ligne à ligne et le suivi des actions d’un opérateur


créant interactivement la biellette montre que les deux approches Encadré 3 – Détermination d’un point
sont exactement duales. sur une courbe de Bézier
L’opérateur construisant la même pièce interactivement pourrait
effectuer par exemple des actions par menu et désigner ou donner procédure BEZIER (n : entier ; tx,ty,tz : tabréels) ;
des points à la souris. On donne dans l’encadré 2 les différentes fonction CNI(i,n : entier) : entier ;
actions de l’opérateur, leur influence sur le modèle dans le cas d’un
/* calcule ci,n sans se préoccuper des débordements possibles */
modeleur B-Rep simple et ce qui est conservé dans le cas d’un mode-
leur paramétrique (ce qui correspond à la suite d’instructions donnée début
précédemment, même si ce n’est pas la seule solution possible). res := 1 ;
Le modeleur est donc à même de créer un programme identique pour j := i+1 à n faire res := res*j ;
à celui qui aurait été préparé par un programmeur (suite d’instruc- pour j := 1 à n–i faire res := res div j ;
tions Ij). La création interactive se comporte donc d’une manière CNI := res ;
duale de la programmation manuelle et l’opérateur doit être
conscient qu’il induit la génération d’un programme qui peut être fin ;
complexe (création de boucles, d’instructions conditionnelles, etc.). fonction BINU(i,n : entier ; u : réel) : réel ;
i∗
/* calcule Ci ,n∗ u ( 1 – u )
n–i
Nota : les contraintes peuvent être spécifiées en interactif en utilisant des fenêtres */
spécifiques
début
res := CNI(i,n) ;
si i > 0 alors pour j := 1 à i faire res := res*u;
5. Modèles de surfaces si i < n alors pour j := 1 à n–i faire res := res* (1–u) ;
BINU := res ;
fin ;
5.1 Modèles de base procédure POINT_BEZIER(n : entier ; u : real ; tx,ty : tentier ;
var x,y : réel) ;
Les deux types de modèles les plus courants dans les systèmes /* calcule le point de la courbe correspondant à la valeur u */
de CFAO sont :
début
— les courbes et surfaces de Bézier ;
x := 0 ; y := 0 ;
— les courbes et surfaces de B-spline ;
pour j := 0 à n faire
Ces modèles ont des propriétés que l’on peut déduire du modèle
début
mathématique utilisé. Par exemple, on ne choisira pas au hasard
une approche B-spline ou Bézier suivant le type d’application res := BINU(j,n,u) ;
(encore que de nombreux paramètres permettent de faire varier x := x + tx[j]*res ;
l’influence du contrôle dans les deux cas). y := y + ty[j]*res ;
■ La définition d’une courbe de Bézier est très simple (figure 23) : z := z + tz[j]*res ;
fin ;
n fin ;
P(u) = ∑ Pi Bi, n ( u ) pour 0  u  1
i=0

avec Pi points de contrôle,


i n–i
B i, n = C i, n U ( 1 – u ) ,
C i, n = n ! ⁄ ( ( n – i )!i ! ) .

Considérons une opération simple (encadré 3) qui consiste à


déterminer un point en une valeur u donnée (sans se préoccuper
des overflows possibles). Pour obtenir la polygonalisation, il suffit
de faire varier u de 0 à 1 avec un pas adéquat. Il est inutile de calcu- Figure 23 – Courbe de Bézier à quatre points de contrôle
ler le premier et le dernier point, qui sont confondus avec le premier
et le dernier point de contrôle.
■ La formulation des B-splines est un peu plus compliquée
(figure 24 et encadré 4) :
n
P(u) = ∑ Pi Ni, k ( u )
i=0

avec Pi points de contrôle,


N i, k ( u ) définie récursivement par :
N i, 1 ( u ) = 1 si a i  u < a i + 1 , = 0 sinon

et N i, k ( u ) = ( u – a i ) ⋅ N i, k – 1 ( u ) ⁄ ( a i + k – 1 – a i )
+ ( a i + k – u ) ⋅ N i + 1, k – 1 ( u ) ⁄ ( a i + k – a i + 1 ) Figure 24 – Courbes B-splines en fonction du degré

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 3 750 − 18 © Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________ CAO : MODÉLISATION GÉOMÉTRIQUE

■ Tout point du carreau de surface est une combinaison linéaire


Encadré 4 – Détermination d’un point convexe du réseau de points de contrôle. Deux propriétés importan-
sur une courbe B-spline tes en découlent :
— le carreau est contenu dans l’enveloppe convexe du réseau de
fonction POINT_BSPLINE (n,k : entier ; tx,ty,tz : tabréels ; u : réel) : contrôle, ce qui permet de définir facilement des volumes englo-
point ; bants, très utiles pour accélérer de nombreux algorithmes (par
/* calcule le point de la B-spline correspondant à la valeur u du exemple, si l’on cherche si deux carreaux se coupent, on vérifie
paramètre */ d’abord que leurs volumes englobants se coupent : s’ils ne se cou-
pent pas, il est inutile de commencer des calculs coûteux) ;
fonction SUITE(i : entier) : entier ;
— toute transformation affine (transformations géométriques)
/* base non uniforme */
peut être appliquée sur les points de contrôle, ce qui limite la quan-
début
tité de calculs. Une transformation perspective doit être effectuée
si i < vk alors SUITE := 0 sinon
sur les points de la surface.
si i > vn alors SUITE := vn – vk + 2 sinon
SUITE := i – vk + 1 ;
fin ; ■ Le réseau de contrôle et le carreau sont confondus aux quatre
coins du réseau.
fonction NIK(i,k : entier ; u : real) : real ;
/* par convention 0/0 = 0 */ ■ On peut facilement montrer qu’un point de contrôle a une
début influence sur l’ensemble du carreau dans un modèle de Bézier
si k = 1 alors (contrôle « global ») et seulement sur une partie du carreau dans
début un modèle B-spline (contrôle « global »). Dans le cas d’un modèle
b := 0 ; B-spline, l’influence est d’autant moins locale que l’ordre augmente.
si (SUITE(i) <= u) et (u < SUITE(i+1)) alors b := 1 ; Des algorithmes permettent cependant de limiter la portée de ces
fin ; propriétés. On peut, par exemple, modéliser une surface par plu-
sinon sieurs carreaux de Bézier, ce qui donne un contrôle global sur cha-
début que carreau, mais un contrôle local sur la surface. Si l’on observe la
b := 0 ; figure 24, on constate facilement que plus le degré augmente, plus
a := SUITE(i+k–1) – SUITE(i) ; la courbe s’éloigne du polygone de contrôle (de degré 0 correspond
si a <> 0 alors b := (u–SUITE(i))*NIK(i,k –1,u)/a ; aux points de contrôle, le degré 1 donne le polygone de contrôle, le
a := SUITE(i+k) – SUITE(i+1) ; degré n donne des arcs de parabole tangents à chaque segment du
si a <> 0 alors b := b + (SUITE(i+k)–u)*NIK(i+1,k–1,u)/a ; polygone de contrôle, etc.) ; lorsque le degré est égal au nombre de
fin ; points de contrôle moins 1, la courbe est confondue avec celle de
NIK := b ; Bézier.
fin ;
■ Le degré d’une courbe ou d’une surface de Bézier est directement
Partie principale de la procédure lié au nombre de points de contrôle (degré = nombre de points de
contrôle –1). Le degré d’une courbe ou d’une surface B-spline peut
vk := k ; vn := n ; être choisi : on se contente en général d’un degré faible, ce qui
x := 0 ; y := 0 ; z := 0 ; accentue le caractère local du contrôle. Le fait que le degré d’un
pour j := 0 à n faire modèle de Bézier soit directement lié au nombre de points de
début contrôle implique que la connaissance du degré maximum manipulé
b := NIK(j,k,u) ; dans tel ou tel système est une caractéristique importante de ce sys-
x := x + tx[j]*b ; tème. Un système manipulant des surfaces de Bézier de degré 20
y := y + ty[j]*b ; permettra de définir des courbes à 21 points de contrôle. Cette carac-
z := z + tz[i]*b ; téristique a également son importance pour les échanges entre
POINT_BSPLINE := (x,y,z) ; systèmes : si un système A manipule des surfaces de Bézier de degré
fin ; 20 et un système B des Bézier de degré 10, on pourra facilement
échanger des modèles de B vers A, moins facilement de A vers B (il
faudra mettre en œuvre des algorithmes de diminution de degré).
la base de ai est la suivante :
si i < k alors a i = 0 ■ Comme on l’a vu, s’agissant d’un produit tensoriel (avec des
directions principales selon u et v), deux champs de courbes sont
si k  i  n alors a i = i – k + 1 privilégiés (isoparamétriques). Toute courbe qui ne serait pas selon
une isoparamétrique ne peut pas être représentée selon le même
si i > n alors a i = n – k + 2 mode (Bézier ou B-spline). Ainsi, l’intersection de deux carreaux de
La polygonalisation est cependant immédiate (récurrence), surface S1 et S2 ne donnera pas une courbe se trouvant exactement
comme pour les courbes de Bézier. sur les surfaces S1 et S2 (sauf cas particulier où l’intersection se fait
selon l’une des directions privilégiées) ; cela implique que, quel que
Les modèles peuvent être mis en œuvre sous une forme ration- soit le système et sauf cas particulier, les courbes d’intersection sont
nelle ou non. Nous explicitons les différentes propriétés sur la forme toujours approximatives, même si cette approximation est d’une
non rationnelle, avant de montrer les compléments que peuvent grande précision (figure 25).
apporter les formes rationnelles, d’utilisation plus récente, dont la
plus connue : NURBS (non uniform rational B-splines). ■ Un carreau est l’image d’un carré du plan. Cependant, il est pos-
sible de définir des carreaux restreints (trimmed patches) en restrei-
gnant l’espace origine.
5.2 Formes non rationnelles
■ Un carreau triangulaire pourra être défini comme image d’un
Un certain nombre de propriétés inhérentes au mode de repré- triangle : cette modélisation est nécessaire dans certains cas (coin
sentation (polynomial paramétrique) sont fondamentales. de valise, etc.).

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique H 3 750 − 19
CAO : MODÉLISATION GÉOMÉTRIQUE ______________________________________________________________________________________________________

— s’agissant d’un produit tensoriel (avec des directions principales


selon u et v), on retrouve les mêmes propriétés liées aux isoparamé-
triques. Deux champs de courbes sont privilégiés (isoparamétriques).
Ainsi, même avec des NURBS, les courbes d’intersection sont, en
général, des approximations ;
— un carreau est l’image d’un carré du plan. Cependant, il est
possible de définir des carreaux restreints, en restreignant l’espace
d’origine ;
— un carreau triangulaire pourra être défini comme image d’un
triangle : cette modélisation est nécessaire dans certains cas (coin
de valise, etc.) ;
— il est très facile d’approcher un carreau par des facettes planes
ou presque planes.
Quelques différences entre modèles non rationnels et rationnels
existent :
— modélisation des quadriques : les Bézier et les B-splines ne
donnent qu’une approximation des quadriques, alors que les for-
mes rationnelles permettent de représenter les quadriques exacte-
ment, y compris le tore (les B-splines non uniformes donnent
toutefois une bonne approximation).
— contrôle des formes : les coefficients de pondération permet-
Figure 25 – Courbe d’intersection de deux carreaux de surface
tent de faire varier l’influence de chaque point de contrôle. On peut
ainsi jouer de manière très fine sur l’influence de chacun des points
(de manière continue). Il est cependant très difficile de manipuler
■ Il est très facile d’approcher un carreau par des facettes planes ou cette notion de manière interactive (par un opérateur).
presque planes. En effet, il suffit de choisir un pas en u et un pas en
v, et de polygonaliser les courbes en u et v (c’est exactement l’algo-
rithme utilisé pour visualiser un carreau de surface) : on obtient
ainsi des facettes à quatre côtés, qui ne sont pas planes, mais dont
la courbure peut être faible par un choix adéquat des pas en u et v. 6. Intégration des surfaces
On peut assurer que l’on dispose de facettes planes en triangulant le
résultat.
dans les modèles
de solides
5.3 Formes rationnelles
On peut naturellement considérer l’intégration des surfaces gauches
dans les modèles de solides selon l’approche B-Rep ou l’approche CSG
On parle beaucoup depuis quelques années des NURBS comme (ou son extension à la conception paramétrique).
du mode « idéal » de modélisation des surfaces, et, pourquoi pas,
d’une solution possible à la modélisation des solides définis par des
surfaces gauches. Cette présentation de l’intérêt des NURBS n’est
souvent basée que sur des informations succinctes et partielles. 6.1 Approche B-Rep
On peut donner, en évitant les développements mathématiques,
les intérêts et les limites des représentations NURBS, en essayant
de dégager de manière pragmatique ce qui peut apparaître comme Pour simplifier, deux grandes familles de modèles sont
un phénomène de mode des intérêts réels de cette forme de modé- envisageables :
lisation. Pour simplifier la présentation, on peut considérer qu’une — les modèles utilisant des approximations ;
forme rationnelle affecte à chaque point de contrôle un coefficient — les modèles par assemblage de faces ou d’objets ;
qui joue le rôle d’un facteur, et permet de donner une plus ou moins
■ Mise en œuvre d’approximations
grande influence à chacun des points de contrôle.
L’approximation la plus évidente est d’abandonner la notion de sur-
Les représentations rationnelles sont une représentation para-
face gauche, pour l’approcher par un ensemble de facettes planes ou
métrique et partagent à ce titre avec les représentations de Bézier
presque planes, en particulier dès qu’une opération booléenne doit
et B-spline les propriétés suivantes :
être effectuée. On peut tenter de conserver des traces de la définition
— le carreau est contenu dans l’enveloppe convexe du réseau de des surfaces gauches, ce qui revient en quelque sorte à mettre en
contrôle, ce qui permet de définir facilement des volumes englobants ; place une notion d’historique. Cette méthode est largement utilisée
— toute transformation affine (transformation géométrique) peut dans les systèmes de CFAO industriels. Lorsqu’une telle méthode est
être appliquée sur les points de contrôle ; utilisée, il est intéressant de pouvoir modifier le paramètre de facetti-
sation, et demander, par exemple, un affichage ou un calcul avec un
— un point de contrôle a une influence sur l’ensemble du carreau nombre de facettes plus grand, donnant une meilleure approximation
dans un modèle de Bézier rationnel (contrôle global) et seulement de la surface. On peut toutefois mettre en place une approximation,
sur une partie du carreau dans un modèle B-spline rationnel dont le but est de maintenir une structure topologique cohérente :
(NURBS) (contrôle local). Dans le cas d’un modèle NURBS, l’influ- l’objectif est de créer une structure du type modélisation B-Rep, qui
ence est d’autant moins locale que l’ordre augmente ; approche le modèle à surfaces gauches. La stratégie devient alors de
— le degré d’une courbe ou d’une surface de Bézier rationnelle construire cette structure « grossière », puis de la lisser pour aboutir
est directement lié au nombre de points de contrôle (degré = nom- au modèle final. Le modèle grossier est utilisé comme base de la
bre de points de contrôle – 1). Le degré d’une courbe ou d’une sur- topologie et comme outil d’évaluation. Cette approche n’est cepen-
face NURBS peut être choisi : on se contente en général d’un degré dant pas généralisable à toutes les formes et implique une discipline
faible, ce qui accentue le caractère local du contrôle ; à la construction.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 3 750 − 20 © Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________ CAO : MODÉLISATION GÉOMÉTRIQUE

■ Assemblage de faces ou d’objets Dans le cas des surfaces définies par produit tensoriel, il est
Il s’agit de décrire un solide comme un assemblage cohérent de possible de déterminer une forme implicite de toute forme ration-
faces et/ou de définir des solides complexes par des assemblages nelle. On aboutit malheureusement à des degrés très élevés, qui
cohérents de solides. limitent l’intérêt de cette approche. Il s’agit d’exprimer une condi-
tion nécessaire et suffisante pour assurer qu’un système d’équa-
Les faces de type surface gauche peuvent être prises en compte tions algébriques a les mêmes racines que les racines à l’infini d’un
dans la structure B-Rep, en considérant des solides constitués par polynome, appelé le résultant. Cette approche, bien que porteuse de
des faces gauches s’assemblant. La topologie face, arête, sommet quelques solutions, n’est à ce jour pas utilisée dans la pratique dans
pourra être maintenue, en gérant les correspondances : les systèmes de CAO. Des systèmes tels que celui développé à Mon-
— face = surface gauche ; tréal (SGDL) implémentent des approches de ce type dans l’espace
— arête = courbe ; homogène.
— sommet = point.
Une face gauche est considérée de la même façon qu’une face
analytique. Elle est limitée par des courbes (avec éventuellement des
Conclusion
courbes internes). La mise en œuvre d’un tel modèle, en se conten- De nombreux efforts ont été faits pour développer d’une part
tant d’assembler des faces jointives, ne pose pas de problème insur- les modèles de solides, d’autre part les modèles de surfaces.
montable. Cependant, dès que l’on souhaite traiter des opérations Aujourd’hui, des tentatives sont faites pour ne plus se contenter
complexes (booléennes, par exemple), il est nécessaire de définir d’une approximation des surfaces gauches, par exemple, par des
formellement la notion de carreau restreint. Un solide est défini par facettes planes comme seule solution d’intégration de surfaces
une collection de faces. Ces faces sont définies paramétriquement gauches dans les modèles de solides.
comme des carreaux restreints. Il est parfois difficile de maintenir la De nombreux obstacles limitent encore cette intégration. Le
cohérence topologique et des erreurs peuvent se traduire par l’appa- fait que les modèles de surfaces soient définis par un produit
rition de « petites » faces qui ne devraient pas exister ou par des tensoriel implique qu’une arête n’appartienne pas exactement
« trous » (fissures) dans le modèle. aux deux faces qui la définissent, sauf cas particuliers. Nous
avons montré les voies qui paraissent les plus prometteuses,
sans fournir de solution idéale.
6.2 Approche CSG Cependant, il faut bien garder à l’esprit que certaines approxi-
mations, même si elles ne sont pas totalement satisfaisantes
Il pourrait paraître assez facile sur un plan théorique d’intégrer les d’un point de vue théorique, peuvent s’avérer tout à fait suffi-
surfaces gauches à un modèle CSG : en effet, il « suffirait » de consi- santes en fonction de l’application et de la précision des résul-
dérer un modèle dont les feuilles seraient des demi-espaces définis tats que l’on peut obtenir ou que l’on considère comme
par une frontière de type surface gauche. Malheureusement, un suffisante.
obstacle incontournable ne permet pas cette approche : une surface
paramétrique (que ce soit une surface de Bézier, une B-spline ou une
NURBS) ne définit pas des demi-espaces ! En effet, on ne dispose
pas d’une formulation du type f ( x, y, z ) , qui permettrait de définir
un côté « positif » et un côté « négatif ». Une telle approche peut
donc s’effectuer selon deux méthodes :
— une première méthode consiste à conserver la formulation
7. Utilisation des modeleurs
paramétrique des surfaces, mais en considérant des objets de base
qui sont, non pas des demi-espaces, mais des objets primitifs solides,
dont la topologie s’appuie sur des surfaces gauches déformables ; Les modeleurs géométriques présentés ci-avant sont bien entendu
— une seconde méthode consiste à abandonner la formulation utilisés de manière interactive et sont intégrés dans des modèles pro-
paramétrique des surfaces et à définir des demi-espaces à partir de duits. Leur mise en œuvre ou leur intégration peut également se faire
formes implicites ( f ( x, y, z ) ) . à travers une interface de programmation (API : Application Program-
ming Interface). Dans les modèles les plus récents, cette API se pré-
■ Objets de base définis par des surfaces gauches
sente sous forme de classes d’objets utilisables dans des langages
On considère un arbre CSG, dont les feuilles sont des objets primi- orientés objet comme C++. Bien entendu, cette API peut être étendue
tifs, parfaitement définis du point de vue de leur topologie. Les faces aux objets non géométriques, mais si l’on en reste à la géométrie, elle
de ces objets sont définies par des réseaux de points de contrôle et permet de créer, détruire et modifier des objets dans le modeleur en
une définition paramétrique. Le choix de la définition paramétrique utilisant un certain nombre de méthodes. Certains modeleurs
est a priori quelconque. Cependant, l’une des représentations (comme Acis ou Parasolid) se présentent ainsi comme des noyaux de
(NURBS) paraît la mieux adaptée dans la mesure où elle permet de développement en donnant accès à une interface assez complète.
représenter exactement les quadriques : ainsi, les cylindres, les
Nous en donnons ci-après deux illustrations, à partir d’un mode-
sphères, etc., seront représentés dans la formulation NURBS adé-
leur assez simple et avec une syntaxe proche de celle utilisée dans
quate.
Parasolid.
L’opérateur pourra donc appeler et placer un objet primitif (par
exemple, un cube), modifier sa forme, puisque les faces seront
représentées par des équations paramétriques, composer ces objets
par des opérations booléennes. On pourra étendre cette classe 7.1 Procédures de création et de lecture
d’objets à des objets dont on maîtrise les méthodes de construction,
comme des objets par extrusion ou des objets de type B-Rep. dans un modeleur
■ Formes implicites
Il est bien entendu possible de manipuler des objets de base sous Ces accès sont simplifiés (sans retour d’erreur). Le modeleur rend
leur forme canonique, sans les facettiser. Les surfaces peuvent être un nom (sous forme d’un entier) à chaque fois qu’il crée un objet, ce
des quadriques et les intersections peuvent être calculées sur ce qui permet à l’application de le réutiliser si besoin. La forme des pro-
modèle. Là encore, l’évaluation du modèle doit être faite pour un cédures données dans l’encadré 5 n’est pas obligatoirement la
certain nombre d’opérations et pourra se faire soit par traversée de meilleure, mais elle permet de simplifier la présentation sans discu-
l’arbre, soit par évaluation d’un modèle B-Rep. ter la cohérence et le traitement des erreurs [5].

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique H 3 750 − 21
CAO : MODÉLISATION GÉOMÉTRIQUE ______________________________________________________________________________________________________

Encadré 5 – Exemples de primitives d’accès Encadré 6 – Exemple de création d’un objet


à un modeleur
procédure CR_EXTRUSION(n,tx,ty,e)
CR_SOLIDE(var nsol entier) ; début
Crée un solide de nom nsol, retourne le nom dans le modeleur CR_SOLIDE(nsol) ;
pour i :=1 à n faire
CR_SOMMET(nsol : entier ; x,y,z : réel) ;
début
Crée un sommet de coordonnées x,y,z, numéro donné par le
/* sommets avant */
modèle : ns
CR_SOMMET(nsol,tx[i],ty[i],0,ts1[i]) ;
CR_ARETE(nsol, ns1,ns2,continuité : entier ; var na : entier) ;
/* sommets arrières */
Crée une arête reliant les sommets ns1 et ns2, continuité indi-
CR_SOMMET(nsol,tx[i],ty[i],e,ts2[i]) ;
quant le degré de continuité (0 –> arête vive, 1 –> arête séparant
deux facettes issues de la même face) fin ;
CR_FACE(nsol,n : entier ; ta : tabentiers ; var nf : entier) ; /* pour la boucle suivante */
ts1[n+1] := ts1[1] ;
Crée une face de n arêtes données dans l’ordre dans ta (et
ta[i] > 0 arête parcourue dans son sens de définition, sens /* pour la boucle suivante */
inverse sinon) ts2[n+1] := ts2[1] ;
CR_CONTOUR(nsol,nf,n : entier ; ta : tabentiers) ; pour i := 1 à n faire
Crée un contour intérieur à une face existante nf, n et ta ayant début
même signification que dans CR_FACE /* arêtes avant */
LI_SOMMET(nsol,ns : entier ; var x,y,z : réel) ; CR_ARETE(nsol,ts1[i],ts1[i+1],ta1[i]) ;
Lit le sommet ns du solide nsol et rend ses coordonnées dans x, /* arêtes arrières */
y et z CR_ARETE(nsol,ts2[i],ts2[i+1],ta2[i]) ;
LI_ARETE(nsol,na : entier ; ns1,ns2,continuité : entier) ; /* arêtes latérales */
CR_ARETE(nsol,ts1[i],ts2[i],ta3[i]) ;
Lit une arête na et rend son origine (ns1), son extrémité (ns2) et
son degré de continuité fin ;
LI_FACES(nsol : entier ; var n : entier ; var tf : tentiers) ; /* face avant */
CR_FACE(nsol,n,ta1,nf1) ;
Lit dans le solide nsol l’ensemble des noms des faces et
retourne le nombre de faces (n) et leurs noms (dans tf) /* face arrière */
LI_FACE(nsol,nf : entier ; var n : entier : var tc : tentiers) ; /* inverse l’ordre et « négative » */
INVERSER(ta2,tabis) ;
Lit dans le solide nsol une face de nom nf avec comme résultat
n contours dont les noms sont consécutivement dans le tableau CR_FACE(nsol,n,tabis,nf) ;
tc (le premier est le contour extérieur) /* pour la boucle suivante */
LI_CONTOUR_S(nsol,nc : entier ; var n : entier ; var ts : tentiers) ; ta3[i+1] := ta3[1] ;
Lit dans le solide nsol un contour de nom nc avec comme résul- pour i := 1 à n faire
tat n sommets dont les noms sont consécutivement dans le début
tableau ts ta[1] := –ta1[i] ;
LI_CONTOUR_A(nsol,nc : entier ; var n : entier ; var ta : tentiers) ; ta[2] := ta3[i] ;
Lit dans le solide nsol un contour de nom nc avec comme résul- ta[3] := ta2[i] ;
tat n arêtes dont les noms sont consécutivement dans le tableau ta[4] := –ta3[i+1] ;
ta (et ta[i] > 0 arête parcourue dans son sens de définition, sens CR_FACE(nsol,4,ta,nf) ;
inverse sinon) fin ;
fin ;
On imagine facilement la création d’objets dans le modeleur
(encadré 6). Considérons la création d’un solide par extrusion d’un
contour de n points dans tx,ty (dans XOY) supposé bien orienté 7.2 Exemple avec un modeleur
(matière « à droite » si l’on crée la face en suivant le sens de parcours commercialisé
du contour), épaisseur = e dans le sens des Z négatifs, dans le mode-
leur à facettes planes. Les tableaux tx et ty contiennent les coordon- Un modeleur du marché contiendra un certain nombre de classes
nées des n sommets d’un contour fermé de n segments (donc fermé définissant la topologie et la géométrie, par exemple en se basant
par un segment du dernier au premier point). sur un modeleur de type Parasolid :
On effectue les opérations suivantes : — les corps (bodies) : un corps est constitué d’une ou de plusieurs
— création de tous les sommets (avant dans ts1, arrière dans régions et d’un nombre quelconque de faces, arêtes et sommets ;
ts2) ; — les régions (regions) : une région est un sous-ensemble ouvert
— création des arêtes de la face avant dans ta1, arrière dans ta2 connexe de R3, dont les frontières sont des sommets, des arêtes et
(en suivant l’ordre de création des sommets, ce qui facilite la corres- des faces orientées. Une région peut être vide ou un solide et peut
pondance avant/arrière) et latérales dans ta3 (de l’avant vers être non eulérienne. Une région comporte un certain nombre de com-
l’arrière) ; posantes. S’il n’en existe aucune, la région représente tout l’espace ;
— création du contour et de la face avant (tout est dans le bon
sens), du contour de la face arrière (il faut prendre la liste d’arêtes de — les composantes (shells) : une composante est une collection
ta2 en ordre inverse, la face étant orientée dans le sens inverse de la de faces (et éventuellement d’arêtes et de sommets) ;
face avant et donner un parcours négatif à chaque arête) ; — les faces (faces), qui peuvent avoir une entité géométrique
— création des faces latérales, le sens étant évident, puisque les associée (surface). Une face est un ensemble de contours. C’est
ta1 sont parcourues dans le bon sens pour la face avant, elles doi- l’analogue en 2D de la région. La surface associée peut être par
vent être parcourues en sens inverse pour les faces latérales, etc., exemple, plane, sphérique, torique, une B-spline ou une surface
soit au pas i : –ta1 [i], ta3 [i], ta2 [i], –ta3 [i]. obtenue par offset, par raccordement ou par extrusion ;

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 3 750 − 22 © Techniques de l’Ingénieur, traité Informatique
______________________________________________________________________________________________________ CAO : MODÉLISATION GÉOMÉTRIQUE

— les contours (loops) : composés d’une suite d’arêtes orientées,


Encadré 7 – Exemples sur un modeleur de type avec les cas particuliers suivants :
Parasolid
• un seul brin dont l’arête n’a pas de sommet ;
■ Retourne les sommets d’une arête • au moins une arête et un sommet ;
PK_ERROR_code_t PK_EDGE_ask_vertices • un sommet unique (contour isolé) ;
(– received arguments – PK_EDGE_t edge, – an edge –
— les arêtes orientées ou brins (fins), qui peuvent avoir une entité
returned arguments – PK_VERTEX_t vertices [2] – vertices (pos- géométrique associée (courbe) ; un brin représente l’utilisation
sibly both PK_ENTITY_null)) d’une arête en l’orientant. Les courbes peuvent être, par exemple,
■ Attache des courbes à des arêtes. Les types d’erreurs qui des droites, des cercles, des ellipses, des B-splines ou des courbes
peuvent intervenir sont par exemple : une courbe déjà attachée, obtenues par intersection de deux surfaces ;
géométrie non correcte. — les arêtes (edges) qui peuvent avoir une entité géométrique
PK_ERROR_code_t PK_EDGE_attach_curves associée (courbe). Une arête est composée de 0, un (boucle) ou
( deux sommets (analogue à la région en dimension 1). Les courbes
– received arguments – peuvent être, par exemple, des droites, des cercles, des ellipses, des
–int n_edges, – number of edges B-splines ou des courbes obtenues par intersection de deux
surfaces ;
–const PK_EDGE_t edges [], – edges to have curves
attachedconst PK_CURVE_t curves [] – curves to be atta- — les sommets (vertices) peuvent avoir une entité géométrique
ched to edges associée (point).
) D’autres entités peuvent être attachées au modèle :
■ Détermine l’intersection entre deux surfaces — des attributs ;
PK_ERROR_code_t PK_SURF_intersect_surf — des regroupements d’entités (regroupement en un ensemble) ;
( — des champs utilisateur, permettant en particulier une liaison
– received arguments – vers des objets de l’application ;
PK_SURF_t surf_1, – surface_1 — des transformations géométriques.
PK_SURF_t surf_2, – surface_2const
PK_SURF_intersect_surf_0_t *options, – options structure Les exemples de l’encadré 7 illustrent la forme que peuvent prendre
– returned arguments – les fonctions du modeleur. Toutes les fonctions retournent un code
d’erreur.
int *const n_vectors, – number of point intersections
PK_VECTOR_t **const vectors, – posns of point intersec-
tions
int *const n_curves, – number of intersection curves
PK_CURVE_t **const curves, – intersection basis curves
PK_INTERVAL_t **const bounds, – bounds of curves
PK_intersect_curve_t **const types – types of intersec-
8. Conclusion
tions
)
■ Retourne une boîte, en général minimale, enblobant l’entité Nous avons abordé dans cet article les aspects fondamentaux des
donnée (corps, faces, arêtes, etc.) modeleurs en CAO. Les notions présentées, même si elles conduisent
PK_ERROR_code_t PK_TOPOL_find_box à des structures et des algorithmes qui peuvent être complexes, sont
( relativement bien maîtrisées. La connaissance de ces bases est
– received arguments – cependant nécessaire pour aborder les évolutions de la CAO vers des
PK_TOPOL_t topol, – entity for which a box is required aspects fonctionnels et, en tout état de cause, intéressante pour les
– returned arguments – utilisateurs dans la mesure où les modèles utilisés en CAO condui-
PK_BOX_t *const box – box containing entity sent à des avantages et des inconvénients que nous avons tenté de
décrire. Avant même d’aborder la conception par les caractéristiques
)
et la conception fonctionnelle, il est facile d’imaginer à partir d’un
■ Effectue une opération booléenne entre le corps cible et la liste exemple la diversité des approches possibles pour un opérateur.
de corps outils. Le corps cible est modifié et les corps outils sont La figure 26 montre plusieurs stratégies, avec les arbres de
effacés. L’opération peut être une union, une soustraction ou une construction correspondants sur la figure 27, par exemple en partant
intersection. L’algorithme utilisé dans Parasolid peut être considéré d’une forme brute et en effectuant des retraits de matière (figure 26b)
en trois phases : intersection des faces qui produit de nouvelles ou en basant la modélisation essentiellement sur des extrusions
arêtes, division des faces en faces « extérieures » ou « intérieures » (figure 26c), ou enfin en utilisant une stratégie mixte (extrusions et
ou « sur » par rapport aux autres solides, et enfin, sélection des retraits) (figure 26d). C’est dans le choix d’une stratégie représentant
parties à conserver selon l’opération booléenne choisie. au mieux son intention que l’utilisateur doit concentrer sa réflexion,
PK_ERROR_code_t PK_BODY_boolean dans la mesure où les modifications ultérieures sont contraintes par
( sa démarche.
– received arguments –
En fait, le système a de plus en plus tendance à modéliser les
PK_BODY_t target, – Body to receive message
actions (les « intentions » de l’opérateur). Celui-ci se comporte donc
int n_tools, – Number of tool bodiesconst bien comme un programmeur, même s’il n’en est pas forcément
PK_BODY_t tools [], – Tool bodies conscient. Pourtant, il doit considérer que le raisonnement enregis-
const PK_BODY_boolean_o_t *options, – Boolean options tré par le système (dont il voit une partie à travers la visualisation de
– returned arguments – l’arbre de construction généralisé à des opérations telles que
int *const n_bodies, – Number of resultant bodies l’extrusion) lui permettra des évolutions plus ou moins faciles de
PK_BODY_t **const bodies – Resultant bodies son modèle. L’opérateur doit donc avoir une véritable stratégie lors
) de la conception.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique H 3 750 − 23
CAO : MODÉLISATION GÉOMÉTRIQUE ______________________________________________________________________________________________________

a pièce à construire

étape 1

a première stratégie
étape 3

étape 2
étape 4

b première stratégie : retrait de matière

étape 1
étape 2
b deuxième stratégie

c deuxième stratégie : extrusion de profil

étape 2

étape 1
c troisième stratégie

d troisième stratégie : mixte

Figure 26 – Quelques approches de construction Figure 27 – Arbres de construction

Références bibliographiques
[1] POITOU (J.P.). – 30 ans de CAO en France. Édi- [3] GARDAN (Y.). – Systèmes de CFAO. Éditions [5] GARDAN (Y.). – Introduction à l’algorithmique
tions Hermès (1989). Hermès (1983). de base en graphique et en CAO. Éditions
Hermès, à paraître en 2002.
[2] REQUICHA (A.). – Mathematical models of
rigid solid objects. Tech. memo 28, Produc- [4] GARDAN (Y.). – La CFAO : introduction, tech-
tion Automation Project, université de niques et mise en œuvre. Éditions Hermès
Rochester (1977). (1991).

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 3 750 − 24 © Techniques de l’Ingénieur, traité Informatique

Vous aimerez peut-être aussi