Macro TreeToAscii/fr

Contexte
Cette macro a été écrite dans le but principal de documenter la construction du modèle. Elle génère une représentation graphique ASCII de l'arborescence de la construction du ou des objet(s) sélectionné(s).

Utilisation
Sélectionnez simplement le ou les objets dont vous souhaitez imprimer l'arborescence et exécutez la macro. Il affichera l'arborescence de chaque objet dans une boîte de dialogue. Tous les objets sélectionnés seront considérés comme étant au même niveau de hiérarchie en haut de l'arborescence (même s'ils ne sont pas dans le modèle réel). Une fois la boîte de dialogue ouverte, vous pouvez changer de style et/ou de motif et recréer l'arborescence ASCII.



Plusieurs styles sont fournis, pour l'instant principalement pour prendre en charge les systèmes qui peuvent rencontrer des problèmes avec le codage Unicode: La création de votre propre style ne devrait pas être trop difficile en modifiant la macro et en changeant/ajoutant un style à la variable 'STYLES'. Le choix du style sélectionné est enregistré dans les paramètres FreeCAD.
 * Modern : (par défaut) utilise des caractères Unicode pour afficher les fourches et les branches
 * Baroque : un autre style Unicode avec une plus grande indentation
 * ASCII : représentation ASCII pure des fourches et branches

Le motif de ligne peut être personnalisé. Il prend en charge différentes métadonnées définies : Le modèle par défaut est "{LBL} ({SNAM})", ce qui signifie par exemple que l'objet "Box001" étiqueté "myCube" sera affiché comme "myCube (Box001)". Notez que pratiquement tous les caractères sont autorisés. Si vous souhaitez imprimer des accolades, vous devez les doubler. Par exemple, avec le même objet d'exemple, le modèle "{LBL} (SNAME) =>" affichera "myCube (Box) {Part::Box} =>". Les métadonnées disponibles sont disponibles dans l'info-bulle du champ d'édition de motif, vous n'avez donc pas besoin de vous en souvenir. Le motif de la ligne est enregistré dans les paramètres FreeCAD.
 * {LBL} : objet étiquette Label (étiquette affichée)
 * {NAM} : objet nom Name (nom interne) par ex. "Box001"
 * {SNAM} : objet nom court ShortName (sans chiffres) par exemple. 'Box001' sera affiché comme 'Box'
 * {TYP} : objet Type par exemple. 'Part::MultiFuse'
 * {BTYP} : objet BaseType par exemple. "Part::MultiFuse" sera affiché comme "Part"
 * {STYP} : objet ShortType (sans base) par ex. "Part::MultiFuse" sera affiché comme "MultiFuse"

Une fois la boîte de dialogue ouverte, plusieurs actions sont disponibles :
 * Copy to clipboard : copie tout l'arborescence dans votre presse-papiers
 * Save to file : enregistre l'arborescence entière dans un fichier arbitraire sur votre système
 * Embed in text file : stocke l'arborescence entière dans un fichier texte incorporé dans le document (disponible depuis FC 0.18.4)
 * Bien sûr, vous pouvez copier n'importe quelle partie de l'arborescence en la sélectionnant et en utilisant les commandes de copie standard.

Installation
La macro est disponible via le gestionnaire d'extensions. Le code est fourni sur cette page pour plus de commodité au cas où votre système n'ait pas git-python. Bien qu'elle devrait être à jour, la dernière version de la macro est toujours disponible sur FreeCAD-macro repository

Pour des explications plus détaillées, consultez la page Comment installer les macros.

Discussion du forum
Pour tout commentaire (bug, demande de fonctionnalité, commentaires...), merci d'utiliser ce fil de discussion: https://forum.freecadweb.org/viewtopic.php?f=22&t=43504

Code
Macro_FCTree2Ascii.FCMacro