Pokud vyvíjíte sestavy, které mají být publikovány jako balíček aplikace Dynamo, lze projekt nakonfigurovat tak, aby seskupil všechny potřebné komponenty a uložil je do adresářové struktury kompatibilní s balíčkem. To umožní rychlé testování projektu jako balíčku a simulaci uživatelského prostředí.
V aplikaci Visual Studio lze balíček sestavit dvěma způsoby:
Můžete přidat události po sestavení prostřednictvím dialogu Nastavení projektu, které používají příkaz xcopy nebo skripty jazyka Python ke kopírování potřebných souborů.
Pomocí cíle sestavení AfterBuild v souboru .csproj
můžete vytvořit úlohy kopírování souborů a adresářů.
Metoda AfterBuild je upřednostňovanou metodou pro tyto typy operací (a metodou popsanou v této příručce), protože se nespoléhá na kopírování souborů, které nemusí být v počítači, ve kterém sestavení probíhá, k dispozici.
Nastavte strukturu adresáře v úložišti tak, aby zdrojové soubory byly odděleny od souborů balíčku. Při práci s případovou studií CustomNodeModel umístěte projekt aplikace Visual Studio a všechny související soubory do nové složky src
. Všechny balíčky vygenerované projektem budou uloženy do této složky. Struktura složek by nyní měla vypadat takto:
Přesuňte soubory projektu do nové složky
src
.
Nyní, když jsou zdrojové soubory v samostatné složce, přidejte v aplikaci Visual Studio do souboru CustomNodeModel.csproj
cíl AfterBuild
. Tím se potřebné soubory zkopírují do nové složky balíčku. Otevřete soubor CustomNodeModel.csproj
v textovém editoru (použili jsme Atom) a umístěte cíl sestavení před koncový štítek </Project>
. Tento cíl AfterBuild zkopíruje všechny soubory DLL, PBD, XML a CONFIG do nové složky bin a vytvoří složky dyf a extra.
Je třeba zajistit, aby byl cíl přidán do souboru
CustomNodeModel.csproj
(nikoli do jiného souboru projektu) a aby projekt neměl žádná existující nastavení po sestavení.
Umístěte cíl AfterBuild před koncový štítek
</Project>
.
V části <ItemGroup>
je definováno množství proměnných, které představují konkrétní typy souborů. Například proměnná Dll
představuje všechny soubory ve výstupním adresáři, jejichž přípona je .dll
.
Úloha Copy
zkopíruje všechny soubory .dll
do adresáře, konkrétně do složky balíčku, do které provádíme sestavení.
Balíčky aplikace Dynamo obvykle obsahují složky dyf
a extra
pro vlastní uzly aplikace Dynamo a další komponenty, například obrázky. Chcete-li vytvořit tyto složky, je nutné použít úlohu MakeDir
. Tato úloha vytvoří příslušnou složku, pokud neexistuje. Soubory můžete do této složky přidat ručně.
Pokud projekt sestavíte, měla by se nyní ve složce projektu vedle dříve vytvořené složky src
nacházet i složka packages
. V adresáři packages
je složka obsahující vše, co je pro balíček potřeba. Do složky balíčku je také nutné zkopírovat soubor pkg.json
, aby aplikace Dynamo věděla, že má balíček načíst.
Nová složka packages vytvořená cílem AfterBuild.
Existující složka src s projektem.
Složky
dyf
aextra
vytvořené z cíle AfterBuild.Ručně zkopírujte soubor
pkg.json
.
Nyní můžete balíček publikovat pomocí nástroje Package Manager aplikace Dynamo nebo jej přímo zkopírovat do adresáře balíčku aplikace Dynamo: <user>\AppData\Roaming\Dynamo\1.3\packages
.
Rozšíření aplikace Dynamo lze rozmístit do nástroje Package Manager stejně jako běžné knihovny uzlů aplikace Dynamo. Pokud nainstalovaný balíček obsahuje rozšíření pohledu, načte se rozšíření za běhu při načítání aplikace Dynamo. Správné načtení rozšíření můžete ověřit v konzoli aplikace Dynamo.
Struktura balíčku rozšíření je stejná jako u běžného balíčku...
Za předpokladu, že jste rozšíření již vytvořili, budete mít (minimálně) sestavu rozhraní .NET a soubor manifestu. Sestava by měla obsahovat třídu, která implementuje IViewExtension
nebo IExtension
. Soubor manifestu XML informuje aplikaci Dynamo, pro kterou třídu má vytvořit instanci, aby bylo možné spustit vaše rozšíření. Aby nástroj Package Manager správně vyhledal rozšíření, měl by soubor manifestu přesně odpovídat umístění a názvu sestavy.
Umístěte soubory sestav do složky bin
a soubor manifestu do složky extra
. Do této složky lze také umístit libovolné další komponenty.
Příklad souboru manifestu XML:
Jakmile máte složku obsahující výše uvedené podadresáře, můžete balíček odeslat do nástroje Package Manager. Je třeba si uvědomit, je, že aktuálně nelze publikovat balíčky z aplikace Dynamo Sandbox. To znamená, že je nutné používat aplikaci Dynamo Revit. Po přechodu do aplikace Dynamo Revit přejděte na možnost Balíčky => Publikovat nový balíček. Uživatel bude vyzván k přihlášení ke svému účtu Autodesk, se kterým chce balíček asociovat.
V tomto okamžiku byste měli být v běžném okně pro publikování balíčku, kde zadáte všechna požadovaná pole týkající se balíčku/rozšíření. Existuje jeden velmi důležitý další krok, který vyžaduje, abyste se ujistili, že žádný ze souborů sestavy není označen jako knihovna uzlů. To provedete kliknutím pravým tlačítkem na importované soubory (složka balíčku vytvořená výše). Zobrazí se místní nabídka, která vám umožní tuto možnost zaškrtnout (nebo zaškrtnutí zrušit). U všech sestav rozšíření by mělo být zaškrtnutí zrušeno.
Před veřejným publikováním byste měli vždy publikovat místně, abyste se ujistili, že vše funguje podle očekávání. Po ověření funkčnosti jste připraveni spustit živé publikování výběrem možnosti Publikovat.
Chcete-li ověřit, zda byl balíček úspěšně odeslán, měli byste jej vyhledat podle názvů a klíčových slov zadaných v kroku publikování. Je důležité poznamenat, že rozšíření budou před spuštěním vyžadovat restartování aplikace Dynamo. Obvykle tato rozšíření vyžadují parametry zadané při spuštění aplikace Dynamo.
Balíčky představují pohodlný způsob ukládání a sdílení uzlů s komunitou aplikace Dynamo. Balíček může obsahovat vše od vlastních uzlů vytvořených v pracovním prostoru aplikace Dynamo po uzly odvozené z uzlů NodeModel. Balíčky jsou publikovány a nainstalovány pomocí nástroje Package Manager. Kromě této stránky naleznete v příručce Primer také obecné pokyny k balíčkům.
Nástroj Dynamo Package Manager je softwarový registr (podobně jako nástroj npm), který je přístupný z aplikace Dynamo nebo z webového prohlížeče. Nástroj Package Manager umožňuje instalaci, publikování, aktualizaci a prohlížení balíčků. Stejně jako nástroj npm uchovává různé verze balíčků. Pomáhá také spravovat závislosti projektu.
V prohlížeči si můžete vyhledat balíčky a zobrazit statistiku: https://dynamopackages.com/
Nástroj Package Manager v aplikaci Dynamo umožňuje instalaci, publikování a aktualizaci balíčků.
Vyhledejte balíčky online:
Packages > Search for a Package...
Zobrazte nebo upravte nainstalované balíčky:
Packages > Manage Packages...
Publikujte nový balíček:
Packages > Publish New Package...
Balíčky jsou publikovány pomocí nástroje Package Manager v aplikaci Dynamo. Doporučeným postupem je publikovat balíček místně, otestovat jej a poté jej publikovat online a sdílet s komunitou. Pomocí případové studie uzlu NodeModel si ukážeme kroky potřebné k publikování uzlu RectangularGrid jako balíčku místně a poté online.
Spusťte aplikaci Dynamo a výběrem možnosti Packages > Publish New Package...
otevřete okno Publish a Package
.
Vyberte
Add file...
a vyhledejte soubory, které chcete přidat do balíčku.Vyberte dva soubory
.dll
z případové studie uzlu NodeModel.Klikněte na tlačítko
Ok
.
Po přidání souborů do obsahu balíčku zadejte název, popis a verzi balíčku. Publikováním balíčku pomocí aplikace Dynamo se automaticky vytvoří soubor pkg.json
.
Balíček připravený k publikování.
Zadejte požadované informace: název, popis a verzi.
Publikujte kliknutím na tlačítko Publikovat místně a vyberte složku balíčku aplikace Dynamo
AppData\Roaming\Dynamo\Dynamo Core\1.3\packages
, aby byl uzel dostupný v infrastruktuře Core. Vždy publikujte místně, dokud nebude balíček připraven ke sdílení.
Po publikování balíčku budou uzly dostupné v knihovně aplikace Dynamo v kategorii CustomNodeModel
.
Právě vytvořený balíček v knihovně aplikace Dynamo
Když je balíček připraven k publikování online, otevřete nástroj Package Manager a vyberte možnost Publish
a poté Publish Online
.
Chcete-li se podívat, jak aplikace Dynamo naformátovala balíček, klikněte na tři svislé tečky vpravo od položky CustomNodeModel a vyberte možnost Zobrazit kořenový adresář.
V okně Publikovat balíček aplikace Dynamo vyberte možnost
Publish
a potéPublish Online
.Chcete-li balíček odstranit, vyberte možnost
Delete
.
Aktualizace balíčku probíhá podobně jako publikování. Otevřete nástroj Package Manager, vyberte položku Publish Version...
u balíčku, který je třeba aktualizovat, a zadejte vyšší verzi.
Výběrem možnosti
Publish Version
aktualizujte existující balíček novými soubory v kořenovém adresáři a poté vyberte, zda má být balíček publikován místně nebo online.
Webový klient Package Manager se používá výhradně k vyhledávání a prohlížení dat o balíčcích, jako jsou verze a statistiky stahování.
K webovému klientu Package Manager lze získat přístup pomocí tohoto odkazu: https://dynamopackages.com/