Exportez les définitions de tous les modèles de diagramme associés à un réseau donné.
L’outil de script suivant récupère la liste des modèles de diagramme associés à un réseau et exporte les définitions de chaque modèle dans des fichiers .ndbd et .ndld dans un dossier donné.
Pour ajouter et configurer cet outil de script, procédez comme suit :
- Copiez le script ci-dessous dans tout IDE Python et enregistrez avec l’extension .py.
- Lancez ArcGIS Pro avec un nouveau projet ou un projet existant.
- Ajoutez une nouvelle boîte à outils ou, dans la fenêtre Catalog (Catalogue), cliquez sur Project (Projet) et utilisez la boîte à outils de projet par défaut sous Toolboxes (Boîtes à outils).
- Cliquez avec le bouton droit sur cette boîte à outils et cliquez sur New (Nouveau) > Script.
- Complétez l’onglet General (Général) comme suit :
- Name (Nom) : saisissez ExportAllDiagramTemplateDefinitions.
- Label (Intitulé) : saisissez Export All Diagram Template Definitions (Exporter toutes les définitions de modèle de diagramme),
- Script File (Fichier de script) : accédez au fichier .py créé à l’étape 1 et sélectionnez-le.
- Complétez l’onglet Parameters (Paramètres) comme suit :
- 1er paramètre
- Label (Intitulé) : saisissez Input Network (Réseau en entrée).
- Name (Nom) : conservez le nom par défaut, Input_Network.
- Data Type (Type de données) : sélectionnez Utility Network (Réseau technique) et Trace Network (Réseau de traçages).
- Type : sélectionnez Required (Obligatoire).
- Direction : sélectionnez Input (Entrée).
- 2e paramètre
- Label (Étiquette) : entrez Dossier d’exportation des fichiers de définition.
- Name (Nom) : conservez le nom par défaut, Definition_Files_Export_Folder.
- Data Type (Type de données) : sélectionnez Folder (Dossier).
- Type : sélectionnez Required (Obligatoire).
- Direction : sélectionnez Input (Entrée).
- Cliquez sur OK. La boîte de dialogue Script Tool (Outil de script) se ferme.
Pour exécuter l'outil de script, procédez comme suit :
- Développez la boîte à outils et double-cliquez sur l’outil pour l’ouvrir.
- Spécifiez le paramètre Input Network (Réseau en entrée). Autrement dit, parcourez et sélectionnez le fichier de connexion de base de données référençant le réseau à partir duquel vous souhaitez exporter toutes les définitions de modèle.
- Spécifiez le paramètre Output Folder (Dossier en sortie) : autrement dit, parcourez et sélectionnez le dossier en sortie où vous souhaitez exporter les fichiers de définition de modèle.
- Cliquez sur Run (Exécuter).
# Name: ExportAllDiagramTemplateDefinitions.py
# Description: Export definitions of all diagram templates related to a given network.
# Import system modules
import arcpy
import os
import re
# Initialize variables
msgInputsErr = "Invalid arguments."
msgScriptErr = "Error during script operation."
ndbd_ext = ".ndbd"
ndld_ext = ".ndld"
# Set overwrite option
arcpy.env.overwriteOutput = True
# Decodes parameters
try:
input_Network = arcpy.GetParameterAsText(0)
input_Folder = arcpy.GetParameterAsText(1)
if input_Network == "" or input_Folder == "" :
raise Exception()
except Exception:
arcpy.AddError(msgInputsErr)
raise
# Main code
try:
arcpy.AddMessage("Retrieving the templates list...")
output_TemplateNames = arcpy.GetDiagramTemplateNames_nd(input_Network)
templateNamesList = re.split(';', str(output_TemplateNames))
arcpy.AddMessage("Looping on each template...")
for template in templateNamesList:
message = "Exporting template: {}".format(template)
arcpy.AddMessage(message)
arcpy.ExportDiagramTemplateDefinitions_nd(input_Network, template,
os.path.join(input_Folder, template + ndbd_ext),
os.path.join(input_Folder, template + ndld_ext))
except Exception:
arcpy.AddError(msgScriptErr)
raise