Dynamo
Primer for v2.0
Čeština
Čeština
  • O aplikaci
  • Úvod
    • Co je aplikace Dynamo a jak funguje?
    • Uživatelská příručka Primer, komunita a platforma aplikace Dynamo
  • Nastavení aplikace Dynamo
  • Uživatelské rozhraní
    • Pracovní prostor
    • Knihovna
  • Uzly a dráty
  • Základní uzly a koncepce
    • Rejstřík uzlů
    • Geometrie pro výpočetní návrh
      • Přehled geometrie
      • Vektor, rovina a souřadnicový systém
      • Body
      • Křivky
      • Povrchy
      • Tělesa
      • Sítě
    • Stavební bloky programů
      • Data
      • Matematika
      • Logika
      • Řetězce
      • Barva
    • Práce se seznamy
      • Co je to seznam
      • Práce se seznamy
      • Seznamy seznamů
      • N-rozměrné seznamy
    • Slovníky v aplikaci Dynamo
      • Co je to slovník
      • Uzly slovníku
      • Slovníky v blocích kódu
      • Případy použití aplikace Revit
  • Vlastní uzly a balíčky
    • Vlastní uzly
      • Úvod do práce s vlastními uzly
      • Tvorba vlastního uzlu
      • Publikování do knihovny
    • Balíčky
      • Úvod do práce s balíčky
      • Příklad balíčku – sada nástrojů pro sítě
      • Vývoj balíčku
      • Publikování balíčku
      • Importování Zero-Touch
  • Dynamo pro aplikaci Revit
    • Propojení s aplikací Revit
    • Výběr
    • Úpravy
    • Tvorba
    • Přizpůsobení
    • Dokumentování
  • Dynamo for Civil 3D
    • Připojení aplikace Civil 3D
    • Začínáme
    • Knihovna uzlů
    • Vzorové pracovní postupy
      • Silnice
        • Umístění sloupů osvětlení
      • Terén
        • Umístění služeb
      • Pomůcky
        • Přejmenování stavebních objektů
      • Železnice
        • Vůle obalových křivek
      • Zaměření
        • Správa skupin bodů
    • Pokročilá témata
      • Vazby objektů
      • Python a Civil 3D
    • Přehrávač skriptů Dynamo
    • Užitečné balíčky
    • Zdroje
  • Dynamo v aplikaci Forma (beta verze)
    • Nastavení rozšíření Dynamo Player v aplikaci Forma
    • Přidávání a sdílení grafů v rozšíření Dynamo Player
    • Spouštění grafů v rozšíření Dynamo Player
    • Rozdíly mezi výpočetní službou Dynamo a počítačovou aplikací Desktop
  • Kódování v aplikaci Dynamo
    • Bloky kódů a jazyk DesignScript
      • Co je blok kódu
      • Syntaxe DesignScript
      • Zkratka
      • Funkce
    • Geometrie pomocí jazyka DesignScript
      • Základy geometrií v jazyku DesignScript
      • Geometrická primitiva
      • Vektorová matematika
      • Křivky: Interpolované a řídicí body
      • Posunutí, otočení a další transformace
      • Plochy: Interpolace, řídicí body, spojení profilů, rotace
      • Geometrická parametrizace
      • Průnik a oříznutí
      • Booleovské operace geometrií
      • Generátory bodů v jazyce Python
    • Python
      • Uzly jazyka Python
      • Python a Revit
      • Nastavení vlastní šablony jazyka Python
    • Změny jazyka
  • Osvědčené postupy
    • Strategie grafů
    • Strategie skriptování
    • Skriptování – reference
    • Správa programu
    • Efektivní práce s velkými sadami dat v aplikaci Dynamo
  • Vzorové pracovní postupy
    • Pracovní postupy Začínáme
      • Parametrická váza
      • Body atraktoru
    • Rejstřík konceptů
  • Příručka Primer pro vývojáře
    • Sestavení aplikace Dynamo ze zdroje
      • Sestavení doplňku DynamoRevit ze zdroje
      • Správa a aktualizace závislostí v aplikaci Dynamo
    • Vývoj pro aplikaci Dynamo
      • Začínáme
      • Případová studie funkce Zero-Touch – uzel osnovy
      • Provádění skriptů jazyka Python v uzlech Zero-Touch (C#)
      • Další práce s funkcí Zero-Touch
      • Pokročilé přizpůsobení uzlů aplikace Dynamo
      • Použití typů COM (interoperability) v balíčcích aplikace Dynamo
      • Případová studie uzlu NodeModel – vlastní uživatelské rozhraní
      • Aktualizace balíčků a knihoven aplikace Dynamo pro aplikaci Dynamo 2.x
      • Aktualizace balíčků a knihoven aplikace Dynamo pro aplikaci Dynamo 3.x
      • Rozšíření
      • Definování vlastní organizace balíčků pro Dynamo 2.0+
      • Rozhraní příkazového řádku aplikace Dynamo
      • Integrace pro aplikaci Dynamo
      • Vývoj pro modul Dynamo pro aplikaci Revit
      • Publikování balíčku
      • Vytvoření balíčku z aplikace Visual Studio
      • Rozšíření jako balíčky
    • Žádosti o přijetí změn
    • Očekávání při testování
    • Příklady
  • Příloha
    • Nejčastější dotazy
    • Vizuální programování a aplikace Dynamo
    • Zdroje
    • Poznámky k verzi
    • Užitečné balíčky
    • Vzorové soubory
    • Mapa integrace hostitelů
    • Stažení souboru PDF
    • Klávesové zkratky aplikace Dynamo
Powered by GitBook
On this page
  • NodeModel
  • ZeroTouch
  • Vlastní uzly
  • Strategie migrace uzlů balíčků
Edit on GitHub
Export as PDF
  1. Příručka Primer pro vývojáře
  2. Vývoj pro aplikaci Dynamo

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.

// Class Attribute
[NodeCategory("NewSampleLibraryUI.Examples")]

// or

// Constructor
public ButtonCustomNodeModel()
{
    this.Category = "NewSampleLibraryUI.Examples";
}

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

NewSampleLibraryUI/Examples/MyNodeModel

ZeroTouch

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

namespace MyZTLibrary
public class Utilities
{
    public double doubleValue(double num)
    {
        return num * 2;
    }
}

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

MyZTLibrary/Utilities/doubleValue

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

<?xml version="1.0"?>
<doc>
    <assembly>
        <name>MeshToolkit</name>
    </assembly>
    <namespaces>
        <!--Remap Namespaces-->
        <namespace name="Autodesk.Dynamo.MeshToolkit">
            <category>MeshToolkit</category>
        </namespace>
        <namespace name="Autodesk.Dynamo.MeshToolkit.Display">
                <category>Display</category>
        </namespace>
    </namespaces>
    <classes>
        <!--Remap Class Names-->
        <class name="Autodesk.Dynamo.MeshToolkit.Display.MeshDisplay" shortname="MeshDisplay"/>
        <class name="Autodesk.Dynamo.MeshToolkit.Mesh" shortname="Mesh"/>
    </classes>
</doc>

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.

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

{
  "Uuid": "85066088-1616-40b1-96e1-c33e685c6948",
  "IsCustomNode": true,
  "Category": "MyCustomNodes.Utilities.Actions",
  "Description": "This is an example custom nodes.",
  "Name": "doubleValue",
  "ElementResolver": {
    "ResolutionMap": {}
  },...
<Workspace Version="1.3.0.0000" X="100" Y="100" zoom="1.0000000" Description="This is an example custom nodes." Category="MyCustomNodes.Utilities.Actions" Name="doubleValue" ID="85066088-1616-40b1-96e1-c33e685c6948">

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

<?xml version="1.0"?>
<migrations>
  <priorNameHint>
    <oldName>MyZeroTouchLib.MyNodes.SayHello</oldName>
    <newName>MyZeroTouchLib.MyNodes.SayHelloRENAMED</newName>
  </priorNameHint>
</migrations>

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

SampleLibraryUI.Examples.DropDownExample na SampleLibraryUI.Examples.DropDownExampleRENAMED

namespace SampleLibraryUI.Examples
{
    [NodeName("Drop Down Example")]
    [NodeDescription("An example drop down node.")]
    [IsDesignScriptCompatible]
    [AlsoKnownAs("SampleLibraryUI.Examples.DropDownExample")]
    public class DropDownExampleRENAMED : DSDropDownBase
    {
        ...
    }
{
PreviousRozšířeníNextRozhraní příkazového řádku aplikace Dynamo

Last updated 2 months ago

Vlastnosti vlastního uzlu