W dodatku Dynamo 2.0 można określić domyślny szablon (.py extension), który ma być używany podczas otwierania okna języka Python po raz pierwszy. Od dawna proszono o dodanie tej funkcji, ponieważ przyspiesza ona korzystanie z języka Python w dodatku Dynamo. Dzięki możliwości użycia szablonu można przygotować domyślny import gotowy do użycia, gdy chcemy utworzyć skrypt niestandardowy w języku Python.
Położenie tego szablonu to APPDATA dla instalacji dodatku Dynamo.
Zwykle jest to ścieżka ( %appdata%\Dynamo\Dynamo Core\{version}\ ).
!
Konfigurowanie szablonu
Aby korzystać z tej funkcji, należy dodać następujący wiersz w pliku DynamoSettings.xml. (Edytuj w Notatniku)
!
Część <PythonTemplateFilePath /> można po prostu zastąpić następującą treścią:
_Uwaga: zastąp element CURRENTUSER nazwą użytkownika_
Następnie musimy utworzyć szablon z funkcjami, które mają być wbudowane. W tym przypadku osadźmy powiązane z programem Revit importy i niektóre inne typowe elementy podczas pracy z programem Revit.
Można rozpocząć od pustego dokumentu Notatnika i wkleić do niego następujący kod:
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
Po zakończeniu zapisz ten plik jako PythonTemplate.py w lokalizacji APPDATA.
Późniejsze zachowanie skryptu w języku Python
Po zdefiniowaniu szablonu w języku Python dodatek Dynamo będzie go szukać po każdym umieszczeniu węzła w języku Python. Jeśli go nie znajdzie, okno będzie wyglądać jak domyślne okno języka Python.
!
Jeśli szablon w języku Python zostanie znaleziony (np. nasz szablon dotyczący programu Revit), zostaną wyświetlone wszystkie domyślne wbudowane elementy.
!
Dodatkowe informacje dotyczące tego wspaniałego dodatku (którego autorem jest Radu Gidei) można znaleźć tutaj. https://github.com/DynamoDS/Dynamo/pull/8122