Part Module/fr

From FreeCAD Documentation
Revision as of 20:44, 8 December 2013 by Renatorivo (talk | contribs) (Created page with "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 compl...")

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.

Scripting

The main data structure used in the Part module is the BRep data type from OpenCascade. Almost all contents and object types of the Part module are now available to python scripting. This includes geometric primitives, such as Line and Circle (or Arc), and the whole range of TopoShapes, like Vertexes, Edges, Wires, Faces, Solids and Compounds. For each of those objects, several creation methods exist, and for some of them, especially the TopoShapes, advanced operations like boolean union/difference/intersection are also available. Explore the contents of the Part module, as described in the FreeCAD Scripting Basics page, to know more.

Examples

To create a line element switch to the Python console and type in:

 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()

Let's go through the above python example step by step:

 import Part,PartGui
 doc=App.newDocument()

loads the Part module and creates a new document

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

Line is actually a line segment, hence the start and endpoint.

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

This adds a Part object type to the document and assigns the shape representation of the line segment to the 'Shape' property of the added object. It is important to understand here that we used a geometric primitive (the Part.Line) to create a TopoShape out of it (the toShape() method). Only Shapes can be added to the document. In FreeCAD, geometry primitives are used as "building structures" for Shapes.

 doc.recompute()

Updates the document. This also prepares the visual representation of the new part object.

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