Arch Schedule/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "Ensuite, vous pouvez remplir le classeur ligne par ligne. Chaque ligne est une "requête" et affichera une ligne dans la feuille de calcul. Appuyez sur le bouton '''Ajouter'''...")
(Created page with "* '''Description''': Une description pour la requête. La colonne Description sera la première colonne de la feuille de calcul résultante. Une description est obligatoire po...")
Line 27: Line 27:
Ensuite, vous pouvez remplir le classeur ligne par ligne. Chaque ligne est une "requête" et affichera une ligne dans la feuille de calcul. Appuyez sur le bouton '''Ajouter''' pour ajouter une nouvelle ligne et double-cliquez sur chaque cellule de cette ligne pour remplir les valeurs. Le bouton '''Suppr''' supprimera la ligne qui contient une cellule sélectionnée, et '''Effacer''' supprimera toutes les lignes. Les valeurs possibles à mettre dans les colonnes sont:
Ensuite, vous pouvez remplir le classeur ligne par ligne. Chaque ligne est une "requête" et affichera une ligne dans la feuille de calcul. Appuyez sur le bouton '''Ajouter''' pour ajouter une nouvelle ligne et double-cliquez sur chaque cellule de cette ligne pour remplir les valeurs. Le bouton '''Suppr''' supprimera la ligne qui contient une cellule sélectionnée, et '''Effacer''' supprimera toutes les lignes. Les valeurs possibles à mettre dans les colonnes sont:


* '''Description''': A description for this query. The Description column will be the first column of the resulting spreadsheet. The description is mandatory to have a query performed. If you leave the description cell empty, the whole line will be skipped and left blank in the spreadsheet. This allows you to add "separator" lines.
* '''Description''': Une description pour la requête. La colonne Description sera la première colonne de la feuille de calcul résultante. Une description est obligatoire pour qu'une requête soit effectuée. Si vous laissez la cellule de description vide, toute la ligne sera ignorée et laissée vide dans la feuille de calcul. Cela vous permet d'ajouter des lignes "séparateur".
* '''Value''': This is the real query that you want to perform on all the objects selected by this query. It can be two kinds of things: either the word '''count''' (or Count or COUNT, it's case-insensitive), which will simply count objects, or retrieve ans sum a property, for example '''object.Shape.Volume''' or '''object.Length''' or even '''object.Label'''. The name you use before the first dot (object) can be anything, you could also write x.Shape.Volume. The rule is: what comes after the first dot will be retrieved from each object selected by this query, if possible (object that don't have the required property will be skipped), and the result will be added together. For example, if you use object.Shape.Volume, you will get the sum of all volumes of all objects selected by this query.
* '''Valeur''': C'est la requête que vous allez effectuer sur tous les objets sélectionnés par cette requête. Il peut s'agir de deux types de choses: soit le mot '''count''' (ou Count ou COUNT, insensible à la casse), qui comptera simplement les objets, ou extraira une propriété sum, par exemple un objet '''. Shape.Volume ''' ou '''object.Length''' ou même '''object.Label'''. Le nom que vous utilisez avant le premier point (objet) peut être quelque chose, vous pouvez également écrire x.Shape.Volume. La règle est: ce qui vient après le premier point sera récupéré par chaque objet sélectionné par cette requête, si possible (les objets qui n'ont pas la propriété requise seront ignorés), et le résultat sera ajouté ensemble. Par exemple, si vous utilisez objet.Shape.Volume, vous obtiendrez la somme de tous les volumes de tous les objets sélectionnés par cette requête.
* '''Unit''': An optional unit to express the results in. It's up to you to give a unit that matches the query you are doing, for example, if you are retrieving volumes, you should use a volume unit, such as m^3. If you use a wrong unit, for ex. cm, you'll get wrong results.
* '''Unité''': Une unité optionnelle pour exprimer les résultats. C'est à vous de donner une unité qui correspond à la requête que vous faites, par exemple, si vous récupérez des volumes, vous devez utiliser une unité de volume, telle que m^3. Si vous utilisez une mauvaise unité, par ex.cm, vous obtiendrez de mauvais résultats.
* '''Objets''': Vous pouvez laisser ce champs vide, alors tous les objets du document seront considérés par cette requête, ou donner une liste séparée par des points-virgules (;) des noms d'objets (pas d'étiquettes). Si l'un des objets de cette liste est un groupe, ses enfants seront également sélectionnés. La manière la plus simple d'utiliser cette fonctionnalité est donc de regrouper vos objets de manière significative dans le document, et de donner ici simplement un nom de groupe. Vous pouvez également utiliser le bouton '''Sélection''' pour ajouter des objets actuellement sélectionnés dans le document.
* '''Objects''': You can leave this empty, then all the objects of the document will be considered by this query, or give a semicolon (;)-separated list of object names (not labels). If any of the objects in this list is a group, its children will be selected as well. So the easiest way to use this feature is to group your objects meaningfully in the document, and just give a group name here. You can also use the '''Selection''' button to add objects currently selected in the document.
* '''Filter''': Here you can add a semicolon(;)-separated list of filters. Each filter is written in the form: filter:value, where filter can be (it's case-insensitive too): Name, Label, Type, or Role (see full list below). For example: name:door;type:window will filter the objects we got from the step above, and retain only those whose name contains "door" AND the type (returned by Draft.getType) is "wall". Everything is case-insensitive. Filters that begins with ! are inverted. For example, !name:wall will retain only objects that DON'T have "wall" in their name. "Role" is a property that all Arch objects have.
* '''Filtre''': Ici vous pouvez ajouter une liste de filtres séparés par des points-virgules (;). Chaque filtre est écrit sous la forme: filtre: valeur, le filtre (aussi insensible à la casse) peut être: Name, Label, Type ou Role (voir la liste complète ci-dessous). Par exemple: name: door, type: window va filtrer les objets obtenus à l'étape précédente, et ne conserver que ceux dont le nom contient "door" et le type (renvoyé par Draft.getType) est "wall". Tout est insensible à la casse. Des filtres qui commencent par ! sont inversés. Par exemple, ! Name: wall ne conservera que les objets qui n'ont pas de "wall" dans leur nom. "Rôle" est une propriété que tous les objets Arch possèdent.


The '''Import''' button allows you to build this list in another spreadsheet application, and import that as a csv file here.
The '''Import''' button allows you to build this list in another spreadsheet application, and import that as a csv file here.

Revision as of 15:15, 4 May 2018

Arch Schedule

Emplacement du menu
Arch → Create schedule...
Ateliers
Arch
Raccourci par défaut
Aucun
Introduit dans la version
-
Voir aussi
Aucun


Description

L'outil Tableur vous permet de créer et de remplir automatiquement un tableur avec les données du modèle

Note: Cet outil a été complètement réécrit dans la version 0.17 de FreeCAD et est différent des versions précédentes.

Comment l'utiliser

  1. Ouvre ou crée un document FreeCAD qui contient plusieurs objets
  2. Cliquez sur le bouton Schedule
  3. Ajuste les options désirées
  4. Cliquez sur le bouton OK

Flux de travail

D'abord, vous devez avoir un modèle. Par exemple, voici un document avec un couple d'objets. Ici ce sont des objets Arch, mais ça n'a pas ça n'est pas obligatoire, ça peut être n'importe quoi quel objet.

Appuyez sur le bouton Arch Schedule. Vous obtenez un panneau de tâches comme celui-ci. Il est assez large, vous devrez donc élargir le panneau des tâches pour travailler confortablement.

Ensuite, vous pouvez remplir le classeur ligne par ligne. Chaque ligne est une "requête" et affichera une ligne dans la feuille de calcul. Appuyez sur le bouton Ajouter pour ajouter une nouvelle ligne et double-cliquez sur chaque cellule de cette ligne pour remplir les valeurs. Le bouton Suppr supprimera la ligne qui contient une cellule sélectionnée, et Effacer supprimera toutes les lignes. Les valeurs possibles à mettre dans les colonnes sont:

  • Description: Une description pour la requête. La colonne Description sera la première colonne de la feuille de calcul résultante. Une description est obligatoire pour qu'une requête soit effectuée. Si vous laissez la cellule de description vide, toute la ligne sera ignorée et laissée vide dans la feuille de calcul. Cela vous permet d'ajouter des lignes "séparateur".
  • Valeur: C'est la requête que vous allez effectuer sur tous les objets sélectionnés par cette requête. Il peut s'agir de deux types de choses: soit le mot count (ou Count ou COUNT, insensible à la casse), qui comptera simplement les objets, ou extraira une propriété sum, par exemple un objet . Shape.Volume ou object.Length ou même object.Label. Le nom que vous utilisez avant le premier point (objet) peut être quelque chose, vous pouvez également écrire x.Shape.Volume. La règle est: ce qui vient après le premier point sera récupéré par chaque objet sélectionné par cette requête, si possible (les objets qui n'ont pas la propriété requise seront ignorés), et le résultat sera ajouté ensemble. Par exemple, si vous utilisez objet.Shape.Volume, vous obtiendrez la somme de tous les volumes de tous les objets sélectionnés par cette requête.
  • Unité: Une unité optionnelle pour exprimer les résultats. C'est à vous de donner une unité qui correspond à la requête que vous faites, par exemple, si vous récupérez des volumes, vous devez utiliser une unité de volume, telle que m^3. Si vous utilisez une mauvaise unité, par ex.cm, vous obtiendrez de mauvais résultats.
  • Objets: Vous pouvez laisser ce champs vide, alors tous les objets du document seront considérés par cette requête, ou donner une liste séparée par des points-virgules (;) des noms d'objets (pas d'étiquettes). Si l'un des objets de cette liste est un groupe, ses enfants seront également sélectionnés. La manière la plus simple d'utiliser cette fonctionnalité est donc de regrouper vos objets de manière significative dans le document, et de donner ici simplement un nom de groupe. Vous pouvez également utiliser le bouton Sélection pour ajouter des objets actuellement sélectionnés dans le document.
  • Filtre: Ici vous pouvez ajouter une liste de filtres séparés par des points-virgules (;). Chaque filtre est écrit sous la forme: filtre: valeur, où le filtre (aussi insensible à la casse) peut être: Name, Label, Type ou Role (voir la liste complète ci-dessous). Par exemple: name: door, type: window va filtrer les objets obtenus à l'étape précédente, et ne conserver que ceux dont le nom contient "door" et le type (renvoyé par Draft.getType) est "wall". Tout est insensible à la casse. Des filtres qui commencent par ! sont inversés. Par exemple, ! Name: wall ne conservera que les objets qui n'ont pas de "wall" dans leur nom. "Rôle" est une propriété que tous les objets Arch possèdent.

The Import button allows you to build this list in another spreadsheet application, and import that as a csv file here.

So we can build a list of queries like this:

After that, press OK and a new Schedule object is added to the document, which contains a result spreadsheet:

By double-clicking the Schedule object, you get back to the task panel and change the values. By double-clicking the spreadsheet itself, you get the results in 3 columns: description, value, unit (if applicable):

The spreadsheet can then be exported to csv normally, from the Spreadsheet workbench.

Filters

Currently available filters:

  • name:something: Will retain only objects that have "something" in their name (case-insensitive)
  • !name:something: Will retain only objects that don't have "something" in their name
  • label:something: Will retain only objects that have "something" in their label (case-insensitive)
  • !label:something: Will retain only objects that don't have "something" in their label
  • type:something: Will retain only objects where the Draft.getType() function returns "something"
  • !type:something: Will retain only objects where the Draft.getType() function does not return "something"
  • role:something: Will retain only objects that have a Role property set to "something"
  • !role:something: Will retain only objects that don't have a Role property, or where the Role property is not set to "something"