Manual:Modeling for product design/fr

La conception du produit (Product design) est à l'origine un terme commercial, mais dans le monde 3D, cela signifie souvent la modélisation de quelque chose avec l'idée de l'imprimer en 3D (3D-printed) ou, plus généralement, de le fabriquer avec une machine, imprimante 3D ou machine CNC (CNC machine).

Lorsque vous imprimez des objets en 3D, il est extrêmement important que vos objets soient des solides. Car ils deviendront des objets solides réels, c'est évident. Rien ne les empêche d'être creux à l'intérieur, bien sûr. Mais vous devez toujours avoir une idée claire de quels points sont à l'intérieur de la matière et quels points se trouvent à l'extérieur, car l'imprimante 3D ou la machine CNC doit savoir exactement ce qui est rempli de matière et ce qui ne l'est pas. Pour cette raison, dans FreeCAD, l’atelier PartDesign (PartDesign Workbench) est l'outil idéal pour construire de telles pièces, car il veillera toujours pour vous à ce que vos objets restent des solides et réalisables.

Pour illustrer comment fonctionne l’atelier PartDesign, créons ce morceau bien connu de Lego :



La chose pratique avec les pièces de Lego est que les dimensions sont faciles à obtenir sur internet, au moins pour les pièces standard. Il est assez facile de les modéliser et de les imprimer sur une imprimante 3D, et avec un peu de patience (l'impression 3D nécessite souvent beaucoup d'ajustements et de réglages), vous pouvez faire des pièces totalement compatibles et qui s’encastrent parfaitement dans des blocs Lego d'origine. Dans l’exemple ci-dessous, nous allons créer un morceau 1,5 fois plus grand que l'original.

Nous allons maintenant utiliser exclusivement les outils des ateliers Esquisses (Sketcher) et PartDesign. Étant donné que tous les outils de l’atelier Sketcher sont également inclus dans l’atelier PartDesign, nous pouvons rester dans PartDesign et nous n'aurons pas à basculer entre les deux.

Les objets Part Design sont entièrement basés sur des esquisses. Une esquisse est un objet 2D, composé d’éléments linéaires (lignes ou segments de droites, arcs de cercle ou ellipses) et de contraintes. Ces contraintes peuvent être appliquées soit sur des éléments linéaires, soit sur leurs points d'extrémités ou leurs points centraux, et forceront la géométrie à adopter certaines règles. Par exemple, vous pouvez placer une contrainte verticale sur un segment de droite pour le forcer à rester vertical ou une contrainte de position (verrouillage) sur un point d'extrémité pour lui interdire de se déplacer. Lorsqu'une esquisse comporte une quantité définie de contraintes qui interdit les déplacements de tous les points de l’esquisse, nous parlons d'une esquisse totalement contrainte. Quand il y a des contraintes redondantes, qui pourraient être supprimées sans que la géométrie ne soit déplacée, on dit qu’elle est sur-contrainte. Cela devrait être évité, et FreeCAD vous informera si un tel cas se produit.

Les esquisses disposent d’un mode d'édition, où leur géométrie et leurs contraintes peuvent être modifiées. Quand vous avez terminé l'édition, et quittez le mode d'édition, les esquisses se comportent comme n'importe quel autre objet FreeCAD, et peuvent être utilisées comme éléments de construction pour tous les outils de conception de pièces, mais aussi dans d'autres ateliers, tels que Part ou Arch. L’atelier Draft dispose également d'un outil qui convertit les éléments Draft en esquisses, et vice versa.


 * Commençons par modéliser une forme parallélipipédique qui sera la base de notre brique Lego. Plus tard nous allons creuser l'intérieur, et ajouter les 8 bossages sur le dessus. Commençons donc en faisant une esquisse rectangulaire que nous allons ensuite extruder :
 * Passez à l'atelier de conception de pièces PartDesign (PartDesign Workbench).
 * Cliquez sur le bouton Nouvelle esquisse ([[Image:Sketcher_NewSketch.png|16px]] New Sketch). Une boîte de dialogue apparaîtra pour demander où vous voulez construire votre esquisse, choisissez le plan XY, qui est le plan "sol". L'esquisse sera créée et sera immédiatement changée en mode édition, et la vue sera orientée pour regarder votre esquisse selon la normale au plan de travail.
 * Maintenant, nous pouvons dessiner un rectangle, en sélectionnant l'outil [[Image:Sketcher_CreateRectangle.png|16px]] Rectangle et en cliquant deux sommets en diagonale. Vous pouvez placer les deux points n'importe où, car leur emplacement correct sera défini dans l'étape suivante.
 * Vous remarquerez que quelques contraintes ont été automatiquement ajoutées à notre rectangle: les segments verticaux ont eu une contrainte verticale, les segments horizonaux une contrainte horizontale, et chaque sommet une contrainte point-sur-point qui collent les segments ensemble. Vous pouvez expérimenter le déplacement du rectangle en traînant ses lignes avec la souris, toute la géométrie continuera à obéir aux contraintes.




 * Maintenant, ajoutons trois autres contraintes:
 * Sélectionnez l'un des segments verticaux et ajoutez une contrainte de distance vecticale ([[Image:Constraint_VerticalDistance.png|16px]] Vertical Distance Constraint). Donnez-lui une dimension de 23,7 mm.
 * Sélectionnez l'un des segments horizontaux et ajoutez une contrainte de distance horizontale ([[Image:Constraint_HorizontalDistance.png|16px]] Horizontal Distance Constraint). Donnez-lui la valeur de 47.7mm.
 * Enfin, sélectionnez l'un des points d'angle, puis le point d'origine (qui est le point à l’intersection des axes rouge et vert), puis ajoutez une contrainte de coïncidence ([[Image:Constraint_PointOnPoint.png|16px]] Point on Point Constraint). Le rectangle va alors passer au point d'origine, et votre croquis devient vert, ce qui signifie qu’il est maintenant complètement contraint. Vous pouvez essayer de déplacer ses lignes ou points, rien ne bouge plus.



Note that the last point-on-point constraint was not absolutely necessary. You are never forced to work with fully constrained sketches. However, if we are going to print this block in 3D, it will be necessary to maintain our piece close to the origin point (which will be the center of the space where the printer head can move). By adding that constraint we are making sure that our piece will always stay "anchored" to that origin point.


 * Our base sketch is now ready, we can leave edit mode by pressing the Close button on top of its task panel, or simply by pressing the Escape key. If needed later on, we can reenter edit mode anytime by double-clicking the sketch in the tree view.
 * Let's extrude it by using the [[Image:PartDesign_Pad.png|16px]] Pad tool, and giving it a distance of 14.4mm. The other options can be left at their default values:



The Pad behaves very much like the Extrude tool that we used in the previous chapter. There are a couple of differences, though, the main one being that a pad cannot be moved. It is attached forever to its sketch. If you want to change the position of the pad, you must move the base sketch. In the current context, where we want to be sure nothing will move out of position, this is an additional security.


 * We will now carve the inside of the block, using the [[Image:PartDesign_Pocket.png|16px]] Pocket tool, which is the PartDesign version of Part Cut. To make a pocket, we will create a sketch on the bottom face of our block, which will be used to remove a part of the block.
 * With the bottom face selected, press the [[Image:Sketcher_NewSketch.png|16px]] New sketch button.
 * Draw a rectangle on the face.




 * We will now constrain the rectangle in relation to the bottom face. To do this, we need to "import" some edges of the face with the [[Image:Sketcher_External.png|16px]] External geometry tool. Use this tool on the two vertical lines of the bottom face:



You will notice that only edges from the base face can be added by this tool. When you create a sketch with a face selected, a relation is created between that face and the sketch, which is important for further operations. You can always remap a sketch to another face later with the Map sketch tool.


 * The external geometry is not "real", it will be hidden when we leave edit mode. But we can use it to place constraints. Place the 4 following constraints:
 * Select the top left point of the rectangle and the top point of the imported line and add a [[Image:Constraint_HorizontalDistance.png|16px]] Horizontal Distance Constraint of 1.8mm
 * Select again the top left point of the rectangle and the top point of the imported line and add a [[Image:Constraint_VerticalDistance.png|16px]] Vertical Distance Constraint of 1.8mm
 * Select the bottom right point of the rectangle and the bottom point of the right imported line and add a [[Image:Constraint_HorizontalDistance.png|16px]] Horizontal Distance Constraint of 1.8mm
 * Select again the bottom right point of the rectangle and the bottom point of the right imported line and add a [[Image:Constraint_VerticalDistance.png|16px]] Vertical Distance Constraint of 1.8mm




 * Leave edit mode and we can now perform the pocket operation: With the sketch selected, press the [[Image:PartDesign_Pocket.png|16px]] Pocket buttton. Give it a length of 12.6mm, which will leave the upper face of our pad with a thickness of 1.8mm (remember, the total height of our pad was 14.4mm).




 * We will now attack the 8 dots on the top face. To do this, since they are a repetition of a same feature, we will use the handy [[Image:PartDesign_LinearPattern.png|16px]] Linear pattern tool of the Part Design Workbench, which allows to model once and repeat the shape.
 * Start by selecting the top face of our block
 * Create a [[Image:Sketcher_NewSketch.png|16px]] New sketch.
 * Create two [[Image:Sketcher_Circle.png|16px]] circles.
 * For each circle, select it and add a [[Image:Constraint_Radius.png|16px]] Radius Constraint of 3.6mm to each of them
 * Import the left edge of the base face with the [[Image:Sketcher_External.png|16px]] External geometry tool.
 * Place two vertical constraints and two horizontal constraints of 6mm between the center point of each circle and the corner points of the imported edge, so each circle has its center at 6mm from the border of the face:




 * Notice how, once again, when you lock the position and dimension of everything in your sketch, it becomes fully constrained. This always keeps you on the safe side. You could change the first sketch now, everything we did afterwards would keep tight.
 * Leave edit mode, select this new sketch, and create a [[Image:PartDesign_Pad.png|16px]] Pad of 2.7mm:




 * Notice that, as earlier with the pocket, since we used the top face of our base block as a base for this latest sketch, any PartDesign operation we do with this sketch will correctly be built on top of the base shape: The two dots are not independent objects, they have been extruded directly from our brick. This is the great advantage of working with the Part Design Workbench, as long as you take care of always building one step on top of the previous one, you are actually building one final solid object.
 * We can now duplicate our two dots four times, so we get eight. Select the latest Pad we just created.
 * Press the [[Image:PartDesign_LinearPattern.png|16px]] Linear pattern button.
 * Give it a length of 36mm (which is the total "span" we want our copies to fit in), in the "horizontal sketch axis" direction, and make it 4 occurences:




 * Once again, see that this is not just a duplication of an object, it is a *feature* of our shape that has been duplicated, the final object is still only one solid object.
 * Now let's work on the three "tubes" that fill the void we created on the bottom face. We have several possibilities: create a sketch with three circles, pad it then pocket it three times, or create a base sketch with one circle inside the other and pad it to form the complete tube already, or even other combinations. Like always in FreeCAD, there are many ways to achieve a same result. Sometimes one way will not work the way we want, and we must try other ways. Here, we will take the safest approach, and do things one step at a time.
 * Select the face that is at the bottom of the hollow space we carved earlier inside the block.
 * Create a new sketch, add a circle with a radius of 4.8825mm, import the left border of the face, and constrain it vertically and horizontally at 10.2mm from the upper corner of the face:




 * Leave edit mode, and pad this sketch with a distance of 12.6mm
 * Create a linear pattern from this last pad, give it a length of 24mm and 3 occurences. We now have three filled tubes filling the hollow space:




 * Now let's make the final holes. Select the circular face of the first of our three "pins"
 * Create a new sketch, import the circular border of our face, create a circle with a radius constraint of 3.6mm, and add a [[Image:Constraint_PointOnPoint.png|16px]] Point on Point Constraint between the center of the imported circle and our new circle. We now have a perfectly centered circle,and once again fully constrained:




 * Leave edit mode, and create a pocket from this sketch, with a length of 12.6mm
 * Create a linear pattern from this pocket, with a length of 24mm and 3 occurences. That's the last step, our piece of lego is now complete, we can give it a nice color of Victory!



You will notice that our modeling history (what appears in the tree view) has become quite long. This is precious because every single step of what we did can be changed later on. Adapting this model for another kind of brick, for example one with 2x2 dots, instead of 2x4, would be a piece of cake, we would just need to change a couple of dimensions and the number of occurences in linear patterns. We could as easily create bigger pieces that don't exist in the original Lego game.

But we could also need to get rid of the history, for example if we are going to model a castle with this brick, and we don't want to have this whole history repeated 500 times in our file.

There are two simple ways to get rid of the history, one is using the Create simple copy tool from the Part Workbench, which will create a copy of our piece that doesn't depend anymore on the history (you can delete the whole history afterwards), the other way is exporting the piece as a STEP file and reimporting it.

Assembling

But the best of both worlds also exists, which is the Assembly2 Workbench, an addon that can be installed from the FreeCAD-addons repository. This Workbench is named "2" because there is also an official built-in Assembly Workbench in development, which is not ready yet. The Assembly2 Workbench, however, already works very well to construct assemblies, and also features a couple of object-to-object constraints which you can use to constrain the position of one object in relation to another. In the example below, however, it will be quicker and easier to position the pieces using Draft Move and  Draft Rotate than using the Assembly2 constraints.


 * Save the file we did until now
 * Install the Assembly2 Workbench and restart FreeCAD
 * Create a new empty document
 * Switch to the Assembly2 workbench
 * Press the Import a part from another FreeCAD document button
 * Select the file we saved above
 * The final piece will be imported in the current document. The Assembly2 workbench will determine automatically what is the final piece in our file that needs to be used, and the new object stays linked to the file. If we go back and modify the contents of the first file, we can press the Update parts imported into the assembly button to update the pieces here.
 * By using the Import a part from another FreeCAD document button several times, and moving and rotating the pieces (with the Draft tools or by manipulating their Placement property), we can quickly create a small assembly:



Downloads


 * The model produced during this exercise: https://github.com/yorikvanhavre/FreeCAD-manual/blob/master/files/lego.FCStd

Read more


 * The Sketcher
 * The Part Design Workbench
 * The Assembly2 Workbench