Определение пользовательской организации пакетов для Dynamo 2.0 или более поздней версии
Требуемая компоновка пакета зависит от типов узлов, которые будут включены в пакет. Существуют различия в процессах упорядочивания производных узлов NodeModel, узлов ZeroTouch и пользовательских узлов. В один пакет могут входить разные типы узлов, но для этого потребуется комбинация стратегий, описанных ниже.
NodeModel
По умолчанию библиотеки NodeModel организованы на основе структуры классов.
Узел будет расположен в разделе «Надстройки» по пути:
Кроме того, категорию можно переопределить с помощью атрибута NodeCategory в классе или в конструкторе, как показано ниже.
Теперь узел будет располагаться в разделе «Надстройки» по пути:
ZeroTouch
Библиотеки ZeroTouch также по умолчанию организуются на основе структуры классов.
Узел будет расположен в разделе «Надстройки» по пути:
Кроме того, можно также переопределить расположение структуры классов с помощью файла XML адаптации Dynamo.
Файл XML должен иметь соответствующее имя и содержаться в папке
extra
пакетаPackageName_DynamoCustomization.xml
Пользовательские узлы
Пользовательские узлы организуются на основе имени категории Category Name
, указанного при создании с помощью нового диалогового окна «Пользовательский узел».
ПРЕДУПРЕЖДЕНИЕ
Запись через точку в именах или категориях узлов приведет к созданию дополнительных вложенных подкатегорий. В качестве разделителя для определения дополнительной иерархии будет использоваться .
. Это новое поведение в библиотеке для Dynamo 2.0.
Имя категории можно будет позже изменить в файле DYF (XML или JSON)
Стратегии переноса узлов пакета
Когда автор пакета решает переименовать ранее существующий узел в новой версии, он должен предоставить средства для переноса графиков, содержащих узлы со старыми именами. Это можно сделать следующими способами.
В узлах ZeroTouch используется файл Namespace.Migrations.XML
, расположенный в папке bin
пакета, например:
MyZeroTouchLib.MyNodes.SayHello
в MyZeroTouchLib.MyNodes.SayHelloRENAMED
Производные узлы NodeModel используют атрибут AlsoKnownAs
класса следующим образом:
SampleLibraryUI.Examples.DropDownExample
в SampleLibraryUI.Examples.DropDownExampleRENAMED
Last updated