Arch Schedule/fr

Description
L'outil Tableur vous permet de créer et de remplir automatiquement une feuille de calculs avec les données du modèle



Pour une solution plus générale, consultez le Reporting Workbench dans la liste des ateliers externes. Cet atelier utilise la syntaxe SQL pour extraire des informations du document.

Utilisation

 * 1) Ouvrir ou créer un document FreeCAD qui contient plusieurs objets.
 * 2) Cliquer sur le bouton.
 * 3) Ajuster les options désirées
 * 4) Cliquer.

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



Vous appuyez sur le bouton. 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 pour ajouter une nouvelle ligne et double-cliquez sur chaque cellule de cette ligne pour remplir les valeurs. Le bouton supprimera la ligne qui contient une cellule sélectionnée, et  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.

Le bouton Import vous permet de construire cette liste dans une autre application avec tableur, et de l'importer ici en tant que fichier csv.

Nous pouvons donc construire une liste de requêtes comme celle-ci:



Après cela, appuyez sur le bouton OK et un nouvel objet Classeur est ajouté au document, qui contient une feuille de calcul de résultats:



En double-cliquant sur l'objet Classeur, vous revenez au panneau des tâches et modifiez les valeurs. En double-cliquant sur la feuille de calcul elle-même, vous obtenez les résultats dans 3 colonnes: description, valeur, unité (le cas échéant):



A partir du plan de travail Spreadsheet, la feuille de calcul peut ensuite être exportée normalement vers un fichier csv.

Filters
Filtres actuellement disponibles:


 * name:something: Ne retiendra que les objets qui ont "quelque chose" dans leur nom (insensible à la casse)
 * !name:something: Ne retiendra que les objets qui n'ont pas "quelque chose" dans leur nom
 * label:something: Ne retiendra que les objets qui ont "quelque chose" dans leur étiquette (insensible à la casse)
 * !label:something: Ne conservera que les objets qui n'ont pas "quelque chose" dans leur étiquette
 * type:something: Ne retiendra que les objets où la fonction Draft.getType renvoie "something"
 * !type:something: Ne conservera que les objets où la fonction Draft.getType ne retourne pas "quelque chose"
 * role:something: Ne conservera que les objets dont la propriété Role est définie sur "something"
 * !role:something: Ne conservera que les objets qui n'ont pas de propriété Rôle ou dont la propriété Rôle n'est pas définie sur "something"