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
  • 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
  • Generování geometrie vs. mozaikování
  • Využití paměti
  • Rozhraní API aplikace Revit
Edit on GitHub
Export as PDF
  1. Osvědčené postupy

Efektivní práce s velkými sadami dat v aplikaci Dynamo

PreviousSpráva programuNextVzorové pracovní postupy

Last updated 1 month ago

Na této stránce se seznámíte s některými pravidly pro efektivní práci s velkými sadami dat v aplikaci Dynamo. Tyto tipy můžete použít k identifikaci kritických bodů v grafech a zajistit, aby se váš graf spustil během několika minut, nikoli hodin.

Obsah:

  • Generování geometrie vs. mozaikování

  • Využití paměti

  • Rozhraní API aplikace Revit

Generování geometrie vs. mozaikování

Vytvoření prvku geometrie a jeho vykreslení jsou v aplikaci Dynamo dvě zcela odlišné události. Obecně platí, že vytvoření geometrie je mnohem rychlejší a spotřebuje méně paměti než vykreslení objektu. Geometrii si můžete představit jako seznam rozměrů potřebných k vytvoření obleku, zatímco mozaikování je samotný oblek. Z rozměrů obleku se toho dá zjistit poměrně hodně: jak dlouhé jsou paže, kolik stojí atd., ale téměř vždy je třeba hotový oblek vidět a vyzkoušet si ho, abyste zjistili, zda je v pořádku nebo ne. Podobně u nemozaikované geometrie můžete určit její ohraničující kvádr, plochu, objem; protínat ji s jinou geometrií a exportovat do formátu SAT nebo Revit. Téměř vždy však musíte geometrii mozaikovat, abyste ověřili, zda je správná nebo ne.

Jestliže graf aplikace Dynamo obsahuje mnoho objektů a během provádění se zpomaluje, můžete z grafu odstranit kroky mozaikování, a postup tak urychlit.

Uzly geometrie v aplikaci Dynamo jsou vždy mozaikovány*. To vám ponechává dvě možnosti práce s nemozaikovanou geometrií: uzly Python a uzly ZeroTouch. Dokud nevrátíte objekt geometrie z uzlu Python nebo ZeroTouch, geometrie nebude mozaikována. Pokud má váš graf například několik uzlů bodů, které jsou spojeny s několika uzly čar, které jsou spojeny s několika uzly šablonování, které jsou spojeny s několika uzly zesílení, geometrie bude v každém kroku mozaikována. Místo toho můžete tuto logiku spojit do uzlu Python nebo ZeroTouch a vrátit z uzlu pouze konečný objekt.

Více informací o používání uzlů ZeroTouch naleznete v části této příručky.

Využití paměti

Pokud již geometrii nemozaikujete, může dojít k omezení paměti kvůli nadměrné akumulaci geometrie. Objekty geometrie v aplikaci Dynamo spotřebovávají při vytváření malé, nikoli však nezanedbatelné množství paměti. Pokud pracujete se stovkami tisíc nebo miliony objektů, může to způsobit zhroucení aplikace Dynamo nebo Revit. V aplikaci Dynamo verze 2.5 a novější se tento problém implicitně řeší odstraněním nepoužívaných objektů, pokud však používáte verzi starší než 2.5, pak jedním ze způsobů, jak se vyhnout vytváření velkého množství geometrie, je odstranit objekty, když s nimi skončíte. Řekněme například, že vytváříte stovky tisíc objektů NurbsCurve, z nichž každý vyžaduje desítky bodů. Jedním ze způsobů, jak je vytvořit, je použít dvourozměrný seznam v aplikaci Dynamo, který předáte do uzlu NurbsCurve.ByPoints. Toto řešení však vyžaduje vytvoření milionů bodů. Dalším způsobem je použití uzlu Python nebo ZeroTouch. V tomto uzlu můžete vytvořit desítky bodů, předat je do uzlu NurbsCurve.ByPoints a potom je odstranit voláním metody Dispose(). Více informací o používání uzlů ZeroTouch naleznete v části této příručky. Odstranění objektů geometrie po jejich vytvoření může za určitých okolností výrazně snížit množství použité paměti, a přestože to aplikace Dynamo verze 2.5 a novější zvládne bez zásahu uživatele, doporučujeme, aby uživatelé geometrii i nadále explicitně odstraňovali, pokud případ použití vyžaduje omezení paměti v deterministickém čase. Další informace o nových funkcích stability v aplikaci Dynamo 2.5 naleznete v článku popisujícím .

Rozhraní API aplikace Revit

Pokud agresivně odstraňujete objekty v uzlu ZeroTouch nebo Python a stále dochází k problémům s pamětí nebo výkonem, může být nutné aplikaci Dynamo zcela obejít a vytvářet objekty aplikace Revit přímo prostřednictvím rozhraní API. Můžete například analýzou souboru aplikace Excel získat informace o bodech a použít tyto informace k vytvoření prvků XYZ a dalších prvků aplikace Revit pomocí jejich rozhraní API. V tomto okamžiku se aplikace Revit stane konečným kritickým bodem, kterému se nelze vyhnout.

Vývoj pro aplikaci Dynamo
Vývoj pro aplikaci Dynamo
vylepšení stability geometrie v aplikaci Dynamo