Manual:Using spreadsheets/fr

FreeCAD dispose d'un autre atelier intéressant à explorer : l’atelier Feuilles de calcul (Spreadsheet Workbench). Cet atelier permet de créer des feuilles de calcul (spreadsheets) telles que celles réalisées avec Excel ou LibreOffice directement dans FreeCAD. Ces feuilles de calcul peuvent ensuite être remplies avec des données extraites de votre modèle et peuvent également effectuer une série de calculs entre les valeurs. Les feuilles de calcul peuvent être exportées sous forme de fichiers CSV, qui peuvent être importés dans n'importe quelle autre application de tableur.

Dans FreeCAD, cependant, les feuilles de calcul ont une utilité supplémentaire : leurs cellules peuvent recevoir un nom et peuvent être référencées par n'importe quel champ pris en charge par le moteur des expressions (expressions engine). Cela transforme les feuilles de calcul en puissantes structures de contrôle, où les valeurs insérées dans des cellules spécifiques peuvent générer des dimensions du modèle. Il n'y a qu'une chose à garder à l'esprit, car FreeCAD interdit les dépendances circulaires entre les objets, une même feuille de calcul ne peut pas être utilisée pour définir une propriété d'un objet et, en même temps, récupérer une valeur de propriété à partir du même objet. Cela rendrait la feuille de calcul et l'objet dépendant l’un de l'autre.

Dans l'exemple suivant, nous allons créer quelques objets, récupérer certaines de leurs propriétés dans une feuille de calcul, puis utiliser la feuille de calcul pour générer directement les propriétés d'autres objets.

Lecture des propriétés

 * Commencez par passer à l’atelier Part (Part Workbench), et créez quelques objets : une boîte ([[Image:Part_Box.png|16px]] box), un cylindre ([[Image:Part_Cylinder.png|16px]] cylinder) et une sphère ([[Image:Part_Sphere.png|16px]] sphere).
 * Modifiez leur propriété de Placement (ou utilisez l'outil Déplacer [[Image:Draft_Move.png|16px]] Draft Move ) pour les séparer un peu, afin que nous puissions mieux observer les effets de ce que nous allons faire :




 * Maintenant, on va extraire des informations sur ces objets. Passez à l'atelier Feuille de calcul (Spreadsheet Workbench).
 * Appuyez sur le bouton Nouvelle feuille de calcul ([[Image:Spreadsheet_Create.png|16px]]).
 * Double-cliquez sur l'objet Nouvelle feuille de calcul dans l'arborescence. L'éditeur de feuille de calcul s'ouvre :



L'éditeur de feuilles de calcul de FreeCAD, bien qu'il ne soit pas aussi complet et puissant que les applications de tableurs plus complètes que nous avons énumérées ci-dessus, a néanmoins la plupart des outils et des fonctions de base couramment utilisés, comme la possibilité de modifier l'aspect des cellules (Taille, couleur, alignement), joindre et diviser les cellules, utiliser des formules telles que =2+2, ou référencer d'autres cellules avec =B1.

Dans FreeCAD, à ces comportements communs, on a ajouté une possibilité très intéressante : la possibilité de faire référence non seulement à d'autres cellules, mais aussi d'autres objets du document, et de récupérer des valeurs à partir de leurs propriétés. Par exemple, récupérons quelques propriétés des 3 objets que nous avons créés ci-dessus. Les propriétés sont ce que nous pouvons voir dans la fenêtre de l'éditeur de propriétés, sous l'onglet Données (Data), lorsqu'un objet est sélectionné.


 * Commençons par entrer quelques textes dans les cellules A1, A2 et A3, alors nous nous souvenons de ce qui se passera plus tard, par exemple Cube Length (longueur de l’arête du cube), Cylinder Radius (rayon du cylindre) et Sphere Radius (rayon de la sphère). Pour entrer du texte, écrivez simplement dans le "Conteneur" disposé au-dessus de la feuille de calcul ou double-cliquez sur une cellule.
 * Maintenant, récupérons la longueur réelle de notre cube. Dans la cellule B1, tapez =Cube.Length. Vous remarquerez que la feuille de calcul possède un mécanisme de remplissage automatique, qui est en fait le même que l'éditeur d'expression que nous avons utilisé dans le chapitre précédent.
 * Faites de même pour la cellule B2 (=Cylinder.Radius) et B3 (=Sphere.Radius).




 * Bien que ces résultats soient exprimés avec leurs unités, les valeurs peuvent être manipulées comme n'importe quel nombre, essayez, par exemple, d'entrer dans la cellule C1 : =B1*2.
 * Nous pouvons maintenant modifier une de ces valeurs dans l'éditeur de propriétés, et la modification sera immédiatement reflétée dans la feuille de calcul. Par exemple, modifions la longueur de notre cube à 20mm :



La page de l'atelier Spreadsheet (Spreadsheet Workbench) décrit plus en détail toutes les opérations et fonctions possibles que vous pouvez utiliser dans les feuilles de calcul.

Ecriture de propriétés
Une autre utilisation très intéressante de l’atelier Feuilles de calcul dans FreeCAD est de faire le contraire de ce que nous avons fait jusqu'ici : au lieu de lire les valeurs des propriétés des objets 3D, nous pouvons également attribuer des valeurs à ces objets. Rappelez-vous, cependant, une des règles fondamentales de FreeCAD : les dépendances circulaires sont interdites. Nous ne pouvons donc pas utiliser la même feuille de calcul pour lire et écrire des valeurs sur un objet 3D. Cela rendrait l'objet dépendant de la feuille de calcul, qui dépendrait également de l'objet. Au lieu de cela, nous allons créer une autre feuille de calcul.


 * Nous pouvons maintenant fermer l'onglet tableur (sous la vue 3D). Ceci n'est pas obligatoire, il n'y a pas de problème pour ouvrir plusieurs feuilles de calcul.
 * Appuyez de nouveau sur le bouton Nouvelle feuille de calcul ([[Image:Spreadsheet_Create.png|16px]] New Spreadsheet).
 * Modifiez le nom de la nouvelle feuille de calcul en quelque chose de plus significatif, comme Entrée (faites-le en cliquant avec le bouton droit de la souris sur la nouvelle feuille de calcul et en choisissant Renommer).
 * Double-cliquez sur la feuille de calcul Entrée pour ouvrir l'éditeur du tableur.
 * Dans la cellule A1, mettons un texte descriptif, par exemple: "Dimensions du cube".
 * Dans la cellule B1, écrivez =5mm (en utilisant le signe = on s'assure que la valeur est interprétée comme une valeur numérique, pas un texte).
 * Maintenant, pour pouvoir utiliser cette valeur en dehors de la feuille de calcul, nous devons donner un nom ou alias à la cellule B1. Cliquez avec le bouton droit sur les cellules, cliquez sur Propriétés et sélectionnez l'onglet Alias. Donnez-lui un nom, tel que cubedims :




 * Appuyez sur OK, puis fermez l'onglet tableur.
 * Sélectionnez l'objet cube.
 * Dans l'éditeur de propriétés, cliquez sur la petite icône Expression ([[Image:Bound-expression-unset.png|16px]]) située sur le côté droit du champ Longueur. Cela ouvrira l'éditeur d'expressions (expressions editor), où vous pouvez écrire Spreadsheet001.cubedims. Répétez ceci pour Hauteur et Largeur :



Vous pourriez vous demander pourquoi nous devons utiliser "Spreadsheet001" au lieu de "Input" dans l'expression ci-dessus. C'est parce que chaque objet, dans un document FreeCAD, a un nom interne, unique dans le document, et une étiquette, qui apparait dans l'arborescence. Si vous désactivez l'option appropriée dans les paramètres de préférences, FreeCAD vous permettra de donner la même étiquette à plus d'un objet. C'est pourquoi toutes les opérations qui doivent identifier un objet sans aucun doute, utiliseront le nom interne au lieu de l'étiquette, qui pourrait désigner plus d'un objet. Le moyen le plus simple de connaître le nom interne d'un objet est en gardant ouvert le panneau de sélection (Menu Edition-> Panneaux), il indiquera toujours le nom interne d'un objet sélectionné :



En utilisant des alias dans les cellules dans des feuilles de calcul, nous pouvons utiliser une feuille de calcul pour stocker des "valeurs de base" dans un document FreeCAD. Cela peut être utilisé, par exemple, pour avoir certaines dimensions d'un modèle et pour stocker ces dimensions dans une feuille de calcul. Il devient alors très facile de produire un autre modèle avec des dimensions différentes, il s'agit simplement d'ouvrir le fichier et de modifier quelques dimensions dans la feuille de calcul.

Enfin, notez que les contraintes dans un croquis peuvent également recevoir la valeur d'une cellule de tableur :



Vous pouvez également donner des alias aux contraintes dimensionnelles (horizontales, verticales ou distances) dans une esquisse (vous pouvez ensuite utiliser ces valeurs à l'extérieur de l’esquisse) :



Télécharger


 * Le fichier produit dans cet exercice: https://github.com/yorikvanhavre/FreeCADmanual/Blob/master/files/spreadsheet.FCStd

Lire plus d'informations


 * The Spreadsheet Workbench
 * The Expressions engine