Part Module/fr

From FreeCAD Documentation
Revision as of 20:46, 8 December 2013 by Renatorivo (talk | contribs) (Created page with "Mise à jour du document. Cela prépare également la représentation visuelle du nouvel objet pièce.")

Les capacités CAO de FreeCAD sont basées sur le noyau OpenCasCade. L'établi pièce de FreeCAD permet d'accéder et utiliser les objets et les fonctions OpenCascade. OpenCascade est un noyau CAO de niveau professionnel, qui contient des fonctions avancées de manipulation de géométrie 3D et d'objets. Les objets pièces, contrairement aux objets maillages, sont beaucoup plus complexes, et permettent donc des opérations beaucoup plus avancées, telles que les opérations booléennes logiques, l'historique des modifications ou encore des comportements paramétriques.

Exemple de forme réalisée à l'aide de l'établi pièce

Les outils

Les outils de l'établi pièce sont situés dans le menu Pièce qui apparait lorsque l'on charge l'établi pièce.

Template:Part Tools/fr

Opérations booléennes

Un exemple d'addition (Union), d'intersection et de différence (Soustraction)
Un exemple d'addition (Union), d'intersection et de différence (Soustraction)

Un exemple d'addition (Union), d'intersection et de différence (Soustraction)

Explication des concepts

Dans la terminologie OpenCascade, nous faisons la distinction entre les primitives géométriques et les formes (topologiques). Une primitive géométrique peut être un point, une ligne, un cercle, un plan, etc. ou même certains types plus complexes, comme une courbe B-Spline ou une surface. Une forme (shape en anglais) peut être un sommet, une arête, un fil, une face, un solide ou un composé d'autres formes. Les primitives géométriques ne sont pas faites pour être affichées directement sur la scène 3D, mais plutôt pour être utilisées comme géométrie de construction des formes. Par exemple, une arête peut être construite à partir d'une ligne ou d'une partie de cercle.

On pourrait donc dire, pour résumer, que les primitives géométriques sont des blocs de construction "informes", et que les formes sont les véritables entités géométriques spatiales construites sur ces blocs.

Pour obtenir une liste complète de tous ces éléments, se référer à la documentation OCC et rechercher Geom_Geometry et TopoDS_Shape. Là, vous pourrez également en savoir plus sur les différences entre les objets géométriques et les formes. À notre grand regret, la documentation OCC n'est malheureusement pas disponible en ligne (vous devez télécharger une archive) et est principalement destiné aux programmeurs et non aux utilisateurs finaux. Mais espérons que vous trouverez suffisamment d'informations pour commencer ici.

Les types géométriques peuvent en fait être divisés en deux groupes principaux: les courbes et les surfaces. Sur les courbes (ligne, cercle, ...) vous pouvez directement créer une arête, sur les surfaces (plan, cylindre, ...) une face peut être construite. Par exemple, la ligne primitive géométrique est illimitée, c'est à dire qu'elle est définie par un vecteur de base et un vecteur directeur tandis que la forme associée (et représentée) doit être quelque chose de limité par un début et de fin. Et un cube - un solide - peut être créée par six plans limités.

En contrepartie, il est également possible, depuis une arête ou une face, de revenir à sa primitive géométrique.

Ainsi, en se basant sur les formes, vous pouvez construire des pièces très complexes ou, dans l'autre sens, extraire tous les sous-formes dont est faite une forme plus complexe.

Les scripts

La structure principale de données utilisée dans l'établi pièce est le type de données BRep d'OpenCascade. Presque tous les contenus et les types d'objets de l'établi pièce sont maintenant disponibles pour les scripts python. Cela inclut les primitives géométriques, telles que les lignes (Line) et les cercles (Circle ou Arc), et l'ensemble des TopoShapes, tels que les vertex, arêtes, fils, faces, solides et composés. Pour chacun de ces objets, plusieurs méthodes de création existent, et pour certains d'entre eux, en particulier les TopoShapes, des opérations avancées telles que les opérations booléennes union / soustraction / intersection sont également disponibles. Explorez le contenu de l'établi pièce, tel que décrit dans la page Les bases du langage de script de FreeCAD, pour en savoir plus.

Exemples

Pour créer un élément ligne, passer à la console Python et taper:

 import Part,PartGui 
 doc=App.newDocument()  
 l=Part.Line()
 l.StartPoint=(0.0,0.0,0.0)
 l.EndPoint=(1.0,1.0,1.0)
 doc.addObject("Part::Feature","Line").Shape=l.toShape() 
 doc.recompute()

Passons en revue l'exemple python ci-dessus étape par étape:

 import Part,PartGui
 doc=App.newDocument()

charge l'établi pièce et crée un nouveau document

 l=Part.Line()
 l.StartPoint=(0.0,0.0,0.0)
 l.EndPoint=(1.0,1.0,1.0)

La fonction Line décrit en fait un segment de ligne, d'où le point de départ et le point final.

 doc.addObject("Part::Feature","Line").Shape=l.toShape()

Cette commande ajoute un objet de type pièce au document et affecte la représentation de forme du segment de ligne à la propriété 'forme' ('Shape') de l'objet ajouté. Il est important de comprendre ici que nous avons utilisé une primitive géométrique (la Part.line) pour créer un TopoShape à partir de celle-ci (la méthode toShape()). Seules les formes peuvent être ajoutées au document. Dans FreeCAD, les primitives géométriques sont utilisées comme des "structures de base" pour construire les formes.

 doc.recompute()

Mise à jour du document. Cela prépare également la représentation visuelle du nouvel objet pièce.

Note that a Line can be created by specifying its start and endpoint directly in the constructor, for example Part.Line(point1,point2), or we can create a default line and set its properties afterwards, as we did here.

A circle can be created in a similar way:

 import Part
 doc = App.activeDocument()
 c = Part.Circle() 
 c.Radius=10.0  
 f = doc.addObject("Part::Feature", "Circle")
 f.Shape = c.toShape()
 doc.recompute()

Note again, we used the circle (geometry primitive) to construct a shape out of it. We can of course still access our construction geometry afterwards, by doing:

 s = f.Shape
 e = s.Edges[0]
 c = e.Curve

Here we take the shape of our object f, then we take its list of edges. In this case there will be only one because we made the whole shape out of a single circle, so we take only the first item of the Edges list, and we takes its curve. Every Edge has a Curve, which is the geometry primitive it is based on.

Head to the Topological data scripting page if you would like to know more.

Mesh Module
Drawing Module