Avec Dynamo 2.0, vous pouvez spécifier un gabarit par défaut (.py extension) à utiliser lors de la première ouverture de la fenêtre Python. Cette option a longtemps été attendue, car elle accélère l'utilisation de Python dans Dynamo. La possibilité d'utiliser un gabarit vous permet d'obtenir des importations par défaut prêtes à l'emploi lorsque vous voulez développer un script Python personnalisé.
Ce gabarit se trouve à l’emplacement APPDATA de votre installation de Dynamo.
L’emplacement habituel est le suivant : ( %appdata%\Dynamo\Dynamo Core\{version}\ ).
!
Configuration du gabarit
Pour utiliser cette fonctionnalité, vous devez ajouter la ligne suivante dans le fichier DynamoSettings.xml. (Modifier dans le bloc-notes)
!
Vous pouvez simplement remplacer <PythonTemplateFilePath /> par ce qui suit :
_Remarque : remplacez CURRENTUSER par votre nom d’utilisateur_
Ensuite, vous devez créer un gabarit en intégrant la fonctionnalité que vous voulez utiliser. Dans cet exemple, vous allez incorporer les importations liées à Revit et d'autres éléments que vous utilisez généralement lorsque vous travaillez avec Revit.
Vous pouvez ouvrir un document de bloc-notes vide et coller le code suivant à l'intérieur :
import clrclr.AddReference('RevitAPI')from Autodesk.Revit.DBimport*from Autodesk.Revit.DB.Structure import*clr.AddReference('RevitAPIUI')from Autodesk.Revit.UIimport*clr.AddReference('System')from System.Collections.Generic import Listclr.AddReference('RevitNodes')import Revitclr.ImportExtensions(Revit.GeometryConversion)clr.ImportExtensions(Revit.Elements)clr.AddReference('RevitServices')import RevitServicesfrom RevitServices.Persistence import DocumentManagerfrom RevitServices.Transactions import TransactionManagerdoc = DocumentManager.Instance.CurrentDBDocumentuidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument#Preparing input from dynamo to revitelement =UnwrapElement(IN[0])#Do some action in a TransactionTransactionManager.Instance.EnsureInTransaction(doc)TransactionManager.Instance.TransactionTaskDone()OUT= element
Une fois cela fait, enregistrez ce fichier sous le nom PythonTemplate.py à l’emplacement APPDATA.
Comportement du script Python par la suite
Une fois le gabarit Python défini, Dynamo le recherche à chaque fois qu'un nœud Python est positionné. Si le gabarit est introuvable, l’affichage sera comparable à la fenêtre Python par défaut.
!
Si Dynamo trouve le gabarit Python (par exemple, notre gabarit Revit), il affiche tous les éléments par défaut que vous avez intégrés.
!
Vous trouverez ici des informations supplémentaires sur cet ajout important (par Radu Gidei). https://github.com/DynamoDS/Dynamo/pull/8122