Upload
sebastien-raymond
View
12
Download
0
Embed Size (px)
Citation preview
OPEN CASCADE © 2010
Hervé Legrand
23 Mars 2010
BRep Open CascadeOCAF
Echanges de données
2 2OPEN CASCADE © 2010
Plan
Représentation des courbes et surfaces
Représentation des solides
BRep Open Cascade
OCAF
STEP
3 3OPEN CASCADE © 2010
Généralités: courbes et surfaces
Forme paramétrée
Courbe 2D
x = f(t),
y = g(t),
Surface
x = f(u, v)
y = g(u, v)
z = h(u, v)
Nurbs (Non Uniform Rational BSpline)
Polynomes (rationnels) degré 1 à 15+
V
U
U
V
4 4OPEN CASCADE © 2010
Généralités: courbes et surfaces
Forme Implicite
Courbe 2D
F (x, y) = 0
Surface
F (x, y, z) = 0
Limité généralement aux
coniques - quadriques
AX + BY + C = 0
X2 + Y
2 + Z
2 –R
2 = 0
+
-
+
-
5 5OPEN CASCADE © 2010
Généralités: BRep
BRep Surfacique
La topologie et la geométrie
Vertex => Point
Edge => Portion de courbe
Wire => Liste d’edge
Face => Portion de surface
Shell => Liste de Faces
Solid => Shell fermé codé solide
6 6OPEN CASCADE © 2010
Généralités: BRep
V
U
F1
F2
F2
pu = f(t)
pv = g(t)
Px = Sx(pu, pv)
Py = Sy(pu, pv)
Pz = Sz(pu, pv)
p
P
S
Sx = Sx(u, v)
Sy = Sy(u, v)
Sz = Sz(u, v)
Vertex
Wire
Edge
Face
Shell
Volume
7 7OPEN CASCADE © 2010
Généralités: Constructive Solid Geometry
CSG
On définit des primitives (boite, cylindre, tore …)
Des opérateurs (différence, union, intersection)
Dans une CSG “pure” on ne calcule pas (évaluation) la représentation BRep
du résultat
8 8OPEN CASCADE © 2010
Généralités: CSG surfacique
“CSG surfacique”
On partitionne l’espace en cellules définies par des quadriques sous forme
implicite
Convention MCNP
1 -2 == intersection de la région positive par rapport à la surface 1
avec la région négative par rapport à la surface 2
9 9OPEN CASCADE © 2010
“CSG surfacique”
Une cellule doit être convexe (toute la cellule doit être à l’intérieur de
chacune de ses surfaces frontières)
1
3
2
4 4
5
1
3
2
4
1
3
2
4 1
3
2
4
1
3
2
4 -4 : (1 -2 3 4 -5)
(-4 5) : (1 -2 3 -5)
5
1 : 1 -2 -3 6
2 : 1 6 -4 5
Généralités: CSG surfacique
10 10OPEN CASCADE © 2010
La CAO
La CAO
Une définition interne analogue à une CSG volumique (avec des primitives à
base d’extrusion, revolution, balayage) plus des opérateurs locaux (congés,
dépouilles …)
Un résultat BRep qui est l’évaluation de l’arbre des opérateurs et des
primitives
11 11OPEN CASCADE © 2010
BRep Open Cascade
Séparation forte entre Géométrie et Topologie
Géométrie:
La géometrie décrit l’ensemble des points définissant le support
géométrique des entités (lignes, surfaces)
La géométrie est décrite de façon paramétrique:
Courbes: X=F(t), Y=G(t), Z=H(t)
Surfaces: X=F(u, v), Y=G(u, v), Z=H(u, v)
Topologie
La topologie décrit
des portions de la géométrie
l’assemblage de ces portions de géométrie pour définir un objet
complexe
12 12OPEN CASCADE © 2010
BRep Open CascadeGéométrie
Geom_Point
Geom_Vector
Geom_CartesianPoint
Geom_Direction
Geom_VectorWithMagnitude
Geom_Geometry
Geom_Curve Geom_BoundedCurve
Geom_Geometry
Geom_Conic
Geom_Line
Geom_OffsetCurve
Geom_BSplineCurve
Geom_BezierCurve
Geom_TrimmedCurve
Geom_Circle
Geom_Ellipse
Geom_Hyperbola
Geom_Parabola
13 13OPEN CASCADE © 2010
BRep Open CascadeGéométrie
Geom_Surface
Geom_Geometry
Geom_ElementarySurface
Geom_ConicalSurface
Geom_CylindricalSurface
Geom_Plane
Geom_SphericalSurface
Geom_ToroidalSurface
Geom_Surface Geom_BoundedSurface
Geom_Geometry Geom_BSplineSurface
Geom_BezierSurface
Geom_RectangularTrimmedSurface
Geom_SurfaceOfLinearExtrusion
Geom_SurfaceOfRevolution
Geom_SweptSurface
Geom_OffsetSurface
Geom_PlateSurface
14 14OPEN CASCADE © 2010
BRep Open CascadeTopologie
Les principes:
Représentation du non-manifold
Pas de pointeurs arrières
Connexion = Partage
Partage avec déplacement
Pas de modifications. Modifier, c’est créer ce qui est nouveau et
partager ce qui n’a pas changé
15 15OPEN CASCADE © 2010
BRep Open CascadeTopologie
Liste des entités de la topologie :
Vertex,
Edge,
Wire,
Face,
Shell : un ensemble de faces conectés par leurs edges
Solid : une portion de l’espace limité par des shells,
Compound : un groupe de shapes quelconques,
Compsolid : un ensemble de solides connectés par leurs faces.
16 16OPEN CASCADE © 2010
BRep Open CascadeTopologie
Vertex
Edge
Face
Shell
compsolid
solidWire
compound
17 17OPEN CASCADE © 2010
BRep Open CascadeTopologie
Un shape est homogène à un pointeur, il est défini par:
Un TShape (TopoDS package)
Un système de coordonées local (TopLoc package)
Une orientation (TopAbs package)
TopoDS_Shape
TopoDS_TShape
Location
TopoDS_TShape
Orientation
Un shape pointe sur un TShape qui décrit la géométrie
proprement dite
18 18OPEN CASCADE © 2010
BRep Open CascadeTopologie
TShape : Un TShape descrit la géométrie d’un objet dans son
système de coordonnées par défaut.
Un Thape n’est jamais manipulé directement, on manipule
toujours un Shape
TopoDS_ShapeTopoDS_TShape
19 19OPEN CASCADE © 2010
BRep Open CascadeTopologie
TopoDS_Vertex
TopoDS_Edge
TopoDS_Wire
TopoDS_Face
TopoDS_Shell
TopoDS_Solid
TopoDS_CompSolid
TopoDS_Compound
TopoDS_Shape
Root Class
Contains a list of shapes
20 20OPEN CASCADE © 2010
BRep Open CascadeTopologie
Particularités
Partage
21 21OPEN CASCADE © 2010
BRep Open CascadeTopologie
Particularités
Location : Partage avec déplacement
Orientation: Forward, Reverse,
Internal, External
22 22OPEN CASCADE © 2010
BRep Open CascadeTopologie
Particularités
Same parameter
C22 = 2d Curve on S2
C3 = 3d Curve C21 = 2d Curve on S1
P
23 23OPEN CASCADE © 2010
BRep Open CascadeTopologie
Particularités
Précision: notée explicitement dans les
vertex et les edges
24 24OPEN CASCADE © 2010
Open CascadeOCAF
Open CASCADE Application Framework (OCAF)
Une structure d’accueil qui fournit des services essentiels pour bâtir une
application:
Définition du modèle de données applicatif
Association des données applicatives et de la géométrie
Notion de document
Synchronisation document (données) et visualisation
Support du Undo/Redo
Sauvegarde/relecture du document
OCAF est indépendant de l’interface graphique (utilisation de QT ou MFC
par exemple)
25 25OPEN CASCADE © 2010
Open CascadeOCAF
Particularités OCAF
Reference-key driven
Les Reference-keys définissent des identifieurs persistants des données
Les données (geométrie incluse) sont implémentées comme des attributs
attachés au reference-keys
Le topological naming maintient la géométrie identifiée attachée aux
Refence_keys lors de la modification d’un objet paramétré
26 26OPEN CASCADE © 2010
Open CascadeOCAF
Exemple OCAF
27 27OPEN CASCADE © 2010
Open CascadeEchanges de données
Formats Standards
IGES
STEP (AP203, AP214)
Formats additionnels
ACIS – SAT
Parasolid – XT
DXF
CATIA V5 (via Datakit)
28 28OPEN CASCADE © 2010
Open CascadeSTEP
Support des AP 203 et 214
Conversion STEP BRep pour la géométrie
Utilisation d’une structure OCAF dédiée (XCAF) pour le support
des assemblages
des validation properties (volume, cdg, aire)
des noms
des couleurs
des layers
29 29OPEN CASCADE © 2010
Open CascadeSTEP
XDE
30 30OPEN CASCADE © 2010
Open CascadeSTEP
Shape healing
Les géométries échangées peuvent être imparfaites ou mal adaptées
Des outils d’analyse, de réparation et de conversions sont
disponibles:
analyse de la validité de la géométrie
outils de réparation (fermeture des contours, suppression des
baillements, couture …)
Outils de conversion (réduction de degré, bspline Bezier …)