Definieren einer benutzerdefinierten Paketorganisation für Dynamo 2.0+
Das gewünschte Layout für Ihr Paket hängt von den Blocktypen ab, die Sie in das Paket aufnehmen. Vom Blockmodell abgeleitete Blöcke, ZeroTouch-Blöcke und benutzerdefinierte Blöcke weisen alle einen leicht unterschiedlichen Prozess zum Definieren der Kategorisierung auf. Sie können diese Blocktypen innerhalb desselben Pakets mischen und anpassen. Dies erfordert jedoch eine Kombination der unten beschriebenen Strategien.
NodeModel
NodeModel-Bibliotheken sind vorgabemäßig basierend auf der Klassenstruktur organisiert.
namespace SampleLibraryUI.Examples// Class Attribute
[NodeName("MyNodeModel")]
public class MyNewNodeModel : NodeModel
// or
// Constructor
public ButtonCustomNodeModel()
{
this.Name = "MyNodeModel";
}
Der Block befindet sich in Add-Ons unter:
SampleLibraryUI/Examples/MyNodeModelSie können die Kategorie auch überschreiben, indem Sie das NodeCategory-Attribut für die Klasse oder im Konstruktor verwenden, wie unten gezeigt.
Der Block befindet sich nun in Add-Ons unter:
ZeroTouch
ZeroTouch-Bibliotheken sind vorgabemäßig ebenfalls basierend auf der Klassenstruktur organisiert.
Der Block befindet sich in Add-Ons unter:
Sie können den Speicherort der Klassenstruktur auch mithilfe einer XML-Datei für die Dynamo-Anpassung überschreiben.
Die XML-Datei muss entsprechend benannt und im Ordner
extrades Pakets enthalten sein.PackageName_DynamoCustomization.xml
CustomNodes
Benutzerdefinierte Blöcke werden während der Blockerstellung auf Grundlage des angegebenen Category Name organisiert (mithilfe des neuen Dialogfelds Benutzerdefinierter Block).
WARNUNG!
Die Verwendung der Punktnotation in Blocknamen oder -kategorien führt zu zusätzlichen verschachtelten Unterkategorien. . dient als Trennzeichen, um die zusätzliche Hierarchie festzulegen. Dies ist ein neues Verhalten in der Bibliothek für Dynamo 2.0.

Der Kategoriename kann später in der DYF-Datei (XML oder JSON) aktualisiert werden
Strategien für die Paketblock-Migration
Wenn ein Paketautor beschließt, zuvor vorhandene Blöcke in einer neuen Version umzubenennen, sollte er eine Möglichkeit zum Migrieren von Diagrammen bereitstellen, die Blöcke mit den alten Namen enthalten. Dies kann auf folgende Weise erreicht werden...
ZeroTouch-Blöcke verwenden eine Namespace.Migrations.XML-Datei, die sich im Ordner bin der Pakete befindet, z. B.:
MyZeroTouchLib.MyNodes.SayHello bis MyZeroTouchLib.MyNodes.SayHelloRENAMED
Von NodeModel abgeleitete Blöcke verwenden das AlsoKnownAs-Attribut für die Klasse, z. B.:
SampleLibraryUI.Examples.DropDownExample bis SampleLibraryUI.Examples.DropDownExampleRENAMED
Last updated