Atelier Spreadsheet

From FreeCAD Documentation
Revision as of 11:34, 9 April 2019 by Gnrc (talk | contribs) (Created page with "Les données contenues dans les cellules d'une feuille de calcul peuvent être utilisées dans les expressions de paramètres de modèle de CAO. Ainsi, une feuille de calcul p...")

Introduction

L'atelier tableur vous permet de créer et d’éditer des feuilles de calcul, de remplir la feuille de calcul avec les données extraites d’un modèle, d’effectuer des calculs et de les exporter vers d’autres applications de feuille de calcul telles que LibreOffice ou Microsoft Excel.

L'atelier tableur est disponible depuis FreeCAD 0.15.

Expressions cellulaires

Une cellule de feuille de calcul peut contenir du texte arbitraire ou une expression. Techniquement, les expressions doivent commencer par un signe égal '='. Cependant, le tableur tente d’être intelligent ; si vous entrez ce qui ressemble à une expression sans le signe '=', celui-ci sera ajouté automatiquement.

Les expressions cellulaires peuvent contenir des nombres, des fonctions, des références à d'autres cellules et des références à des propriétés du modèle (voir toutefois les limitations courantes ci-dessous). Les cellules sont référencées par leur rangée (lettre CAPITALE) et leur colonne (nombre). Une cellule peut également être référencée par son alias(ci-dessous). Exemple : B4 + A6

Les références aux objets d'un modèle sont expliquées sous Références aux données CAO ci-dessous. L'utilisation des valeurs de cellule de la feuille de calcul pour définir les propriétés du modèle est expliquée dans Données de la feuille de calcul dans Expressions ci-dessous. Pour plus de détails sur la manière dont les expressions sont formées, voir Expressions.

Fonctions Supportées

Les fonctions trigonométriques standard et autres fonctions mathématiques courantes ainsi que les fonctions d'agrégation statistique sont prises en charge (voir Expressions).

Interaction entre feuilles de calcul et objets CAO

Les données contenues dans les cellules d'une feuille de calcul peuvent être utilisées dans les expressions de paramètres de modèle de CAO. Ainsi, une feuille de calcul peut être utilisée comme source pour les valeurs de paramètres utilisées dans un modèle, regroupant efficacement les valeurs à un endroit. Lorsque les valeurs sont modifiées dans la feuille de calcul, elles sont propagées dans tout le modèle.

Similarly, properties from CAD model objects may be used in expressions in spreadsheet cells. This allows use of object properties like volume or area in the spreadsheet. If the name of an object in the CAD model is changed, the change will automatically be propagated to any references in spreadsheet expressions using the name which was changed.

More than one spreadsheet may be used in a document; spreadsheets may be given a user-assigned name (rename) like any other object.

FreeCAD checks for cyclic dependencies. See Current Limitations.

Propriétés de la Cellule

Les propriétés de la cellule peuvent être éditées avec un clic-droit dans la cellule. La boîte de dialogue suivante apparaît :

Comme mentionné dans les onglets, les propriétés suivantes peuvent être changées :

  • Couleur : couleur du texte et couleur d'arrière-plan
  • Alignement : alignement horizontal et vertical du texte
  • Style : style du texte : gras, italique, souligné
  • Affichage unités : affiche l'unité de la cellule. Veuillez lire la section Unités ci-dessous.
  • Alias : défini un nom pour la cellule. Ce nom peut être utilisé dans les formules des cellules ainsi que dans les expressions FreeCAD.

Bien que vous puissiez utiliser les références de ligne et colonne dans une expression pour référencer une cellule, la meilleure pratique consiste à lui attribuer un nom d’alias et de l’utiliser. Par exemple, si les données de la cellule B1 contiennent le paramètre de longueur d'un objet, un alias "MyObject_Length" permettrait à la valeur d'être appelée "Spreadsheet.MyObject_Length" au lieu de "Spreadsheet.B1". introduced in version 0.16

Références aux données CAO

Comme indiqué ci-dessus, il est possible de référencer les données du modèle CAO dans des expressions de feuille de calcul.

Cependant, le tableur tente d’être intelligent ; si vous entrez ce qui ressemble à une expression sans le signe '=', celui-ci sera ajouté automatiquement. Les expressions calculées dans les cellules de la feuille de calcul commencent par un signe égal ('='). Cependant, le mécanisme de saisie du tableur tente d’être intelligent. Une expression peut être entrée sans le signe '=' ; si la chaîne entrée est une expression valide, un '=' est automatiquement ajouté lors de la frappe de Enter. Si la chaîne entrée n'est pas une expression valide (souvent le résultat d'une saisie avec une casse incorrecte, par exemple "MonCube.longueur" à la place de "MonCube.Longueur"), aucun '=' n'est ajouté et cela est traité comme une simple chaîne de texte.

Remarque : le comportement ci-dessus (insertion automatique de '=') a des travers désagréables :

  • si vous souhaitez conserver une colonne de noms correspondant aux noms d'alias dans une colonne de valeurs adjacente, vous devez saisir le nom dans la colonne d'étiquette avant celle donnée à la cellule dans la colonne de valeur comme nom d'alias. Sinon, lorsque vous entrez le nom d'alias dans la colonne d'étiquette, la feuille de calcul considère qu'il s'agit d'une expression et la remplace par "=<alias_name>" ; et le texte affiché correspondra à la valeur de la cellule <alias_name>.
  • Si vous faites une erreur lors de la saisie du nom dans la colonne d'étiquette et souhaitez le corriger, vous ne pouvez pas le changer simplement en nom d'alias. Au lieu de cela, vous devez d'abord remplacer le nom d'alias par un autre nom, puis corriger le nom du texte dans la colonne d'étiquette, puis remplacer le nom d'alias dans la colonne de valeur par son nom d'origine.

Une façon d'éviter ces problèmes consiste à préfixer les étiquettes de texte correspondant aux noms d'alias avec une chaîne fixe, les rendant ainsi différentes. Notez que "_" ne fonctionnera pas, car il est converti en "=". Cependant, un blanc, bien qu'invisible, fonctionnera.

Le tableau suivant montre quelques exemples en supposant que le modèle a une fonctionnalité nommée "MonCube" :

Donnée CAO Appel dans la feuille de calcul Résultat
Longueur paramétrique d'un Cube dans l'Atelier Part =MonCube.Longueur Longueur en mm
Volume du Cube =MonCube.Shape.Volume Volume en mm³ sans unité
Type de la forme du Cube =MonCube.Shape.ShapeType String: Solid
Nom du Cube =MonCube.Label String: MonCube
Coordonnée x du centre de gravité du Cube =MonCube.Shape.CenterOfMass.x Coordonnée x en mm sans unité

Données de la feuille de calcul dans les Expressions

L'utilisation des données de la feuille de calcul dans d'autres objets de FreeCAD nécessite un nom complètement défini. Parce qu'il est possible d'avoir plus d'une feuille de calcul dans un document, le nom de la feuille ainsi que celui de la cellule (coordonnées ou alias) sont obligatoires. L'image suivante illustre l'utilisation de l'alias "number" dans la feuille "MySheet" dans une expression dans l'atelier Part-Design.

En tapant un "M", apparaît une liste des noms disponibles. Les touches fléchées permettent de sélectionner "MySheet".

En tapant un "n", on voit apparaître la liste des noms disponibles dans MySheet commençant par "n". L'alias "number" peut être sélectionné avec la touche flèche vers le bas. Une fois qu'un nom valide ainsi qu'un contenu correct seront saisis, le champ résultat affichera la longueur calculée.

Further typing, such as adding a "+" sign, will result in an expression which is no longer valid which will be indicated. Continuing to complete the expression can again result in a valid expression.

Unités

Les feuilles de calculs utilisent les unités. Si un nombre a une unité, cette unité sera utilisée dans les calculs. La multiplication de deux longueurs avec l'unité mm donne une surface en mm².

If a cell contains a value which represents a dimension, it should be entered with its associated unit. While in many simple cases one can get by with a dimensionless value, it is unwise to not enter the unit. If a value representing a dimension is entered without its associated unit, there are some sequences of operations which cause FreeCAD to complain of incompatible units in an expression when it appears the expression should be valid. (This may be better understood by viewing this thread in the FreeCAD forums.)

On peut basculer l'unité de longueur des mm vers les pouces dans la boîte de dialogue obtenue par un clic-droit dans la cellule. La cellule montrera alors la longueur en pouces. La valeur utilisée pour les calculs ne change pas. Les résultats d'une formule utilisant cette valeur ne changent pas, quand l'unité affichée d'une entrée a été changée. Le résultat est toujours calculé à partir de la longueur en mm.

Un nombre sans unité ne peut pas être modifié en un nombre avec unité via la boite de propriétés des cellules. On peut saisir un texte indiquant l'unité, qui sera aussi affiché, mais la cellule ne contiendra toujours qu'un nombre sans unité.

Parfois il peut être préférable de se débarrasser de l'unité. Cela peut seulement être réalisé en multipliant par 1 avec une unité inverse.

Importation et exportation

Les feuilles de calculs peuvent être importées et exportées au format ​​csv qui peut également être lu et écrit par la plupart des tableurs tels que Microsoft Excel ou LibreOffice Calc. Lors de l'importation de fichiers dans FreeCAD, le délimiteur (le caractère utilisé pour séparer les colonnes) doit être le caractère TAB (ceci peut être défini lors de l'exportation à partir d'autres applications). L'importation d'un fichier CSV est disponible via le menu Feuille de calcul / Importer une feuille de calcul ou en cliquant sur l'icône . Cette fonction d'importation n'ouvre pas les fichiers Excel ou tout autre format de feuille de calcul.

Les feuilles de calculs au format Excel "xlsx" peuvent être importées via le menu File/Import... dans un document FreeCAD. Les feuilles de calculs Excel peuvent également être ouvertes par FreeCAD en cliquant dans le menu Fichier / Ouvrir ... ou en cliquant sur l'icône . Dans ce cas un nouveau document avec une feuille de calcul à l'intérieur est créé. Les fonctionnalités suivantes sont prises en charge :

  • toutes les fonctions qui sont également disponibles dans la feuille de calcul FreeCAD. D'autres fonctions donnent une erreur dans la cellule correspondante après l'importation.
  • Noms d'alias pour les cellules
  • Plusieurs tableaux dans la feuille Excel : Dans ce cas, plusieurs feuilles de calculs FreeCAD sont créées.

Les autres fonctionnalités ne sont pas importées dans la feuille de calcul FreeCAD. L'importation Excel est possible à partir de la introduit dans la version 0.17 de FreeCAD.

Limitations Courantes

Il n'est pas possible de fournir des données pour une géométrie, par exemple une longueur, dans une feuille de calcul et récupérer dans la même feuille le volume de la forme résultante. Ceci crée une référence circulaire. C'est une choix dans la conception. Cependant, il est possible d'utiliser deux feuilles différentes : une pour les données source de la géométrie et une autre pour reporter les données de la géométrie.

Il n'est pas possible de copier et de sélectionner plusieurs cellules. Seul le contenu d'une cellule d'un champ de saisie peut être copié et collé dans le champ de saisie d'une autre cellule.

Pour des anciennes versions de FreeCAD voir Spreadsheet legacy

Scripts Basiques

import Spreadsheet
sheet = App.ActiveDocument.addObject("Spreadsheet::Sheet")
sheet.Label = "Dimensions"