Definování vlastní organizace balíčků pro Dynamo 2.0+

Dosažení požadovaného rozvržení balíčku závisí na typech uzlů, které do balíčku zahrnete. Uzly odvozené z uzlů NodeModel, uzly ZeroTouch a vlastní uzly mají mírně odlišný proces definování kategorizace. Tyto typy uzlů můžete kombinovat v rámci stejného balíčku, ale bude to vyžadovat kombinaci níže uvedených strategií.

NodeModel

Knihovny NodeModel jsou ve výchozím nastavení uspořádány na základě struktury tříd.

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

// or

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

Uzel bude umístěn v doplňcích v následující cestě:

SampleLibraryUI/Examples/MyNodeModel

Kategorii můžete také přepsat pomocí atributu NodeCategory ve třídě nebo v konstruktoru, jak je zobrazeno níže.

Uzel se nyní bude nacházet v doplňcích v cestě:

ZeroTouch

Knihovny ZeroTouch jsou také ve výchozím nastavení uspořádány podle struktury tříd.

Uzel bude umístěn v doplňcích v následující cestě:

Umístění struktury třídy lze rovněž přepsat pomocí souboru XML Dynamo Customization.

  • Soubor XML musí mít odpovídající název a musí se nacházet ve složce extra balíčku.

    • PackageName_DynamoCustomization.xml

Vlastní uzly

Vlastní uzly jsou uspořádány na základě parametru Category Name zadaného během vytváření uzlů (v novém dialogu Vlastní uzel).

UPOZORNĚNÍ Použití tečkové notace v názvech nebo kategoriích uzlů bude mít za následek vytvoření dalších vnořených podkategorií. Tečka . bude fungovat jako oddělovač určující další hierarchii. Jedná se o nové chování v knihovně v aplikaci Dynamo 2.0.

Vlastnosti vlastního uzlu

Název kategorie lze později aktualizovat v souboru .dyf (XML nebo JSON),

Strategie migrace uzlů balíčků

Pokud se autor balíčku rozhodne v nové verzi přejmenovat dříve existující uzel, měl by poskytnout prostředky pro migraci grafů, které obsahují uzly se starými názvy. Toho lze dosáhnout následujícími způsoby:

Uzly ZeroTouch používají soubor Namespace.Migrations.XML umístěný v balíčcích ve složce bin. Viz například:

MyZeroTouchLib.MyNodes.SayHello na MyZeroTouchLib.MyNodes.SayHelloRENAMED

Uzly odvozené z uzlů NodeModel používají atribut AlsoKnownAs třídy. Viz například:

SampleLibraryUI.Examples.DropDownExample na SampleLibraryUI.Examples.DropDownExampleRENAMED

Last updated