For the complete documentation index, see llms.txt. This page is also available as Markdown.

Определение пользовательской организации пакетов для Dynamo 2.0 или более поздней версии

Требуемая компоновка пакета зависит от типов узлов, которые будут включены в пакет. Существуют различия в процессах упорядочивания производных узлов NodeModel, узлов ZeroTouch и пользовательских узлов. В один пакет могут входить разные типы узлов, но для этого потребуется комбинация стратегий, описанных ниже.

NodeModel

По умолчанию библиотеки NodeModel организованы на основе структуры классов.

namespace SampleLibraryUI.Examples
// Class Attribute
[NodeName("MyNodeModel")]
public class MyNewNodeModel : NodeModel

// or

// Constructor
public ButtonCustomNodeModel()
{
    this.Name = "MyNodeModel";
}

Узел будет расположен в разделе «Надстройки» по пути:

SampleLibraryUI/Examples/MyNodeModel

Кроме того, категорию можно переопределить с помощью атрибута 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