Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Tato příručka Primer je pouze začátkem vaší cesty s aplikací Dynamo for Civil 3D. K dispozici je množství znalostí dostupných od aktivní komunity uživatelů aplikace Dynamo. Během učení vám doporučujeme prozkoumat některé z těchto zdrojů.
Silnice, železnice, terén, inženýrské sítě, zaměření, GIS...
Stavební infrastruktura je tohle všechno a ještě mnohem víc! Tato část obsahuje několik praktických a relevantních vzorových grafů, které vám pomohou posunout se k mistrovskému zvládnutí aplikace Dynamo a odhalit plný potenciál aplikace Dynamo for Civil 3D. Každý graf obsahuje podrobný popis logiky, která byla použita k jeho vytvoření, abyste jej mohli nejen používat, ale také pochopit.
Tyto příklady navíc obsahují osvědčené postupy pro vytváření silných grafů. Doporučujeme vám, abyste se při práci s příklady seznámili také s částí Osvědčené postupy, kde naleznete další nápady, jak vytvářet výkonné, flexibilní a udržovatelné grafy.
Aplikace Dynamo byla původně vytvořena s ohledem na aplikaci Revit, její všestrannost jako nástroje pro vizuální programování však přesahuje rámec aplikace Revit. Aplikace Dynamo je také integrována do aplikace Civil 3D, což uživatelům umožňuje vytvářet výkonné postupy automatizace pro projekty stavební infrastruktury. Jedná se o mimořádně užitečný nástroj pro zpracování čehokoli od běžných úkolů po nejsložitější pracovní postupy návrhu, který vám v konečném důsledku pomáhá šetřit čas, optimalizovat návrhy a přijímat lepší rozhodnutí o návrhu. Aplikace Dynamo nabízí celou sadu uzlů speciálně navržených pro aplikaci Civil 3D a také knihovny třetích stran od široké komunity uživatelů.
Tato kapitola příručky Primer se zaměří na aplikaci Dynamo for Civil 3D, počínaje základy a konče pokročilejšími tématy.
Již dříve jsme uvedli, že uzly jsou základními stavebními bloky grafu aplikace Dynamo a jsou uspořádány do logických skupin v knihovně. V aplikaci Dynamo for Civil 3D jsou v knihovně dvě kategorie (neboli police), které obsahují vyhrazené uzly pro práci s objekty aplikací AutoCAD a Civil 3D, například trasy, profily, koridory, reference bloků atd. Zbytek knihovny obsahuje uzly, které jsou obecnější povahy, a jsou konzistentní mezi všemi verzemi aplikace Dynamo (například Dynamo pro aplikaci Revit, Dynamo Sandbox atd.).
Další informace o uspořádání uzlů v základní knihovně aplikace Dynamo naleznete v části Knihovna .
Specifické uzly pro práci s objekty aplikací AutoCAD a Civil 3D
Obecné uzly
Uzly z balíčků třetích stran, které lze instalovat samostatně.
Použijete-li uzly, které se nacházejí v policích pro aplikace AutoCAD a Civil 3D, bude graf aplikace Dynamo fungovat pouze v aplikaci Dynamo for Civil 3D. Pokud bude graf pro aplikaci Dynamo for Civil 3D otevřen jinde (například v aplikaci Dynamo pro aplikaci Revit), tyto uzly budou označeny upozorněním a nebudou spuštěny.
Proč jsou pro aplikace AutoCAD a Civil 3D k dispozici dvě samostatné police?
Toto uspořádání odlišuje uzly pro nativní objekty aplikace AutoCAD (úsečky, křivky, reference bloků atd.) od uzlů pro objekty Civil 3D (trasy, koridory, povrchy atd.). Z technického hlediska jsou aplikace AutoCAD a Civil 3D dvě samostatné aplikace – AutoCAD je základní aplikace a aplikace Civil 3D je na ní postavena.
Aby bylo možné pracovat s uzly aplikací AutoCAD a Civil 3D, je důležité plně porozumět hierarchii objektů v jednotlivých policích. Pamatujete si taxonomii z biologie? Říše, kmen, třída, řád, čeleď, rod, druh? Objekty aplikací AutoCAD a Civil 3D jsou uspořádány do kategorií podobným způsobem. Vysvětleme si to na několika příkladech.
Jako příklad použijeme trasu.
Řekněme, že vaším cílem je změnit název trasy. Dalším uzlem, který byste zde měli přidal, je uzel CivilObject.SetName.
Zpočátku se to nemusí zdát příliš intuitivní. Co je CivilObject a proč knihovna nemá uzel Alignment.SetName? Odpověď souvisí s opakovatelnou použitelností a jednoduchostí. Pokud se nad tím zamyslíte, proces změny názvu objektu aplikace Civil 3D je stejný, ať už se jedná o trasu, koridor, profil nebo něco jiného. Takže místo opakujících se uzlů, které v podstatě provádějí totéž (například Alignment.SetName, Corridor.SetName, Profile.SetName atd.), by bylo vhodné tuto funkci zabalit do jediného uzlu. Přesně to dělá uzel CivilObject.SetName!
Jiný způsob, jak o tom přemýšlet, je z hlediska vztahů. Trasa a koridor jsou oba typy objektů aplikace Civil, stejně jako jablko a hruška jsou oba typy ovoce. Uzly CivilObject se používají u všech typů objektů aplikace Civil, stejně jako můžete chtít použít jednu škrabku k loupání jablek i hrušek. Ve vaší kuchyni by byl pořádný chaos, kdybyste měli pro každý typ ovoce samostatnou škrabku! V tomto smyslu je knihovna uzlů aplikace Dynamo stejná jako vaše kuchyně.
Nyní se posuneme o krok dál. Řekněme, že chcete změnit hladinu trasy. Uzel, který byste použili, je uzel Object.SetLayer.
Proč neexistuje uzel s názvem CivilObject.SetLayer? Platí zde stejné zásady opakované použitelnosti a jednoduchosti, o kterých jsme hovořili dříve. Vlastnost hladina je společná pro všechny objekty v aplikaci AutoCAD, které lze nakreslit nebo vložit, jako je úsečka, křivka, text, reference bloku atd. Objekty aplikace Civil 3D, například trasy a koridory, spadají do stejné kategorie, takže jakýkoliv uzel, který se vztahuje k objektu, lze použít také s libovolným objektem aplikace Civil.
Když jste si teď udělali základní obrázek, pojďme se rovnou pustit do vytváření prvního grafu aplikace Dynamo v aplikaci Civil 3D!
Jedná se o jednoduchý příklad, který má demonstrovat základní funkce aplikace Dynamo. Doporučujeme postupovat v novém prázdném dokumentu aplikace Civil 3D.
Nejprve otevřete prázdný dokument v aplikaci Civil 3D. V tomto dokumentu poté na pásu karet aplikace Civil 3D přejděte na kartu Správa a vyhledejte panel Vizuální programování.
Kliknutím na tlačítko Dynamo spusťte aplikaci Dynamo v samostatném okně.
Jaký je rozdíl mezi aplikací Dynamo a Přehrávačem skriptů Dynamo?
Aplikace Dynamo se používá k vytváření a spouštění grafů. Přehrávač skriptů Dynamo umožňuje snadno spouštět grafy, aniž by bylo nutné je otevírat v aplikaci Dynamo.
Až si jej budete chtít vyzkoušet, přejděte do části Přehrávač skriptů Dynamo.
Po otevření aplikace Dynamo se zobrazí úvodní obrazovka. Kliknutím na tlačítko Nový otevřete prázdný pracovní prostor.
Jsou dostupné nějaké ukázky?
Aplikace Dynamo for Civil 3D obsahuje několik předdefinovaných grafů, které vám pomohou podnítit některé další nápady, jak používat aplikaci Dynamo. Doporučujeme se na ně někdy podívat a také si přečtěte část Vzorové pracovní postupy v této příručce Primer.
Nyní byste měli vidět prázdný pracovní prostor. Vyzkoušejme si aplikaci Dynamo v akci! Zde je náš cíl:
Vypadá to jednoduše, že? Než však začneme, musíme se seznámit s několika základními pojmy.
Základní stavební bloky grafu aplikace Dynamo se nazývají uzly. Uzel je jako malý počítač – vložíte do něj data, on s nimi provede nějakou práci a vygeneruje výsledek. Aplikace Dynamo for Civil 3D obsahuje knihovnu uzlů, které můžete propojit pomocí drátů a vytvořit tak graf, který dokáže větší a lepší věci než kterýkoli uzel sám o sobě.
Počkat, co když jsem úplně nový uživatel aplikace Dynamo?
Některé z těchto informací pro vás mohou být zcela nové – to je v pořádku! Tyto části vám pomohou.
Dobrá. Pojďme nyní sestavit náš graf. Zde je seznam všech uzlů, které budeme potřebovat.
Tyto uzly můžete najít zadáním jejich názvu do vyhledávacího řádku v knihovně nebo kliknutím pravým tlačítkem myši kdekoli na kreslicí ploše a následným vyhledáním.
Jak poznám, které uzly použít a kde je najít?
Uzly v knihovně jsou seskupeny do logických kategorií podle toho, co dělají. Přečtěte si část Knihovna uzlů, ve které naleznete podrobnější informace.
Takto by měl vypadat výsledný graf.
Shrňme si, co jsme zde udělali:
Vybrali jsme, ve kterém dokumentu budeme pracovat. V tomto případě (a v mnoha dalších případech) chceme pracovat v aktivním dokumentu v aplikaci Civil 3D.
Definovali jsme cílový blok, ve kterém má být vytvořen textový objekt (v tomto případě modelový prostor).
Pomocí uzlu String jsme určili, do které hladiny má být text umístěn.
Pomocí uzlu Point.ByCoordinates jsme vytvořili bod, který definuje umístění textu.
Pomocí dvou uzlů Number Slider jsme definovali souřadnice X a Y bodu vložení textu.
Pomocí dalšího uzlu String jsme definovali obsah textového objektu.
Nakonec jsme vytvořili textový objekt.
Podívejme se na výsledky našeho nového krásného grafu!
V aplikaci Civil 3D zkontrolujte, zda je vybrána karta Model. Měl by se zobrazit nový textový objekt vytvořený aplikací Dynamo.
Pokud text nevidíte, možná budete muset spustit příkaz ZOOM -> EXTENTS, abyste se přiblížili na správné místo.
Výborně! Nyní provedeme několik aktualizací textu.
Vraťte se do grafu aplikace Dynamo a změňte několik vstupních hodnot, například textový řetězec, souřadnice bodu vložení atd. Text by se měl v aplikaci Civil 3D automaticky aktualizovat. Všimněte si také, že pokud odpojíte některý ze vstupních portů, text se odstraní. Pokud vše připojíte zpět, text se znovu vytvoří.
Proč aplikace Dynamo nevloží nový textový objekt při každém spuštění grafu?
Ve výchozím nastavení si aplikace Dynamo „pamatuje“ objekty, které vytvoří. Pokud změníte vstupní hodnoty uzlu, objekty v aplikaci Civil 3D se aktualizují místo vytváření zcela nových objektů. Další informace o tomto chování naleznete v části Vazby objektů.
Tento příklad je pouze malou ukázkou toho, co všechno lze s aplikací Dynamo for Civil 3D dělat. Čtěte dál a dozvíte se více!
Inženýrský návrh typické bytové výstavby zahrnuje práci s několika podzemními inženýrskými sítěmi, jako je splašková kanalizace, dešťová kanalizace, rozvody pitné vody nebo jiné. V tomto příkladu si ukážeme, jak lze aplikaci Dynamo použít k nakreslení servisních přípojek z rozvodné sítě k danému pozemku (tj. parcely). Je běžné, že každá parcela vyžaduje servisní přípojku, což vyžaduje značné množství zdlouhavé práce při umisťování všech služeb. Aplikace Dynamo může tento proces urychlit automatickým přesným nakreslením nezbytné geometrie a také poskytuje flexibilní vstupy, které lze upravit tak, aby vyhovovaly místním standardům.
Použití uzlu Select Object pro uživatelský vstup
Práce se souřadnicovými systémy
Použití geometrických operací, jako jsou například Geometry.DistanceTo a Geometry.NearestPointTo
Vytvoření referencí bloků
Řízení nastavení vazeb objektů
Tento graf bude funkční v aplikaci Civil 3D 2020 a vyšších verzích.
Začněte stažením níže uvedených vzorových souborů a poté otevřete soubor DWG a graf aplikace Dynamo.
Zde je uveden přehled logiky tohoto grafu.
Získání geometrie křivky pro rozvodnou síť.
Získání geometrie křivky pro uživatelem vybranou linii pozemku, v případě potřeby obrácení směru.
Generování bodů vložení pro měřiče služeb.
Získání bodů na rozvodné síti, které jsou nejblíže umístění měřičů služeb.
Vytvoření referencí bloků a čar v modelovém prostoru.
Pojďme na to!
Prvním krokem je získání geometrie rozvodné sítě do aplikace Dynamo. Místo výběru jednotlivých čar nebo křivek získáme všechny objekty v určité hladině a spojíme je dohromady jako objekt PolyCurve aplikace Dynamo.
Pokud je pro vás geometrie křivek aplikace Dynamo novinkou, přečtěte si část Křivky.
Nyní je nutné načíst geometrii vybrané linie pozemku do aplikace Dynamo, abychom s ní mohli pracovat. Správným nástrojem pro tuto úlohu je uzel Select Object, který umožňuje uživateli grafu vybrat konkrétní objekt v aplikaci Civil 3D.
Musíme se také vypořádat s potenciálním problémem, který může nastat. Linie pozemku má počáteční a koncový bod, což znamená, že má směr. Aby graf poskytoval konzistentní výsledky, je nutné, aby všechny linie pozemku měly konzistentní směr. Tuto podmínku můžeme zohlednit přímo v logice grafu, díky čemuž je graf odolnější.
Získá počáteční a koncový bod linie pozemku.
Změří vzdálenost od každého bodu k rozvodné síti a pak zjistí, která vzdálenost je větší.
Požadovaným výsledkem je, aby počáteční bod linie byl co nejblíže k rozvodné síti. Pokud tomu tak není, obrátíme směr linie pozemku. V opačném případě jednoduše vrátíme původní linii pozemku.
Je čas zjistit, kde budou umístěny měřiče služeb. Umístění je obvykle určeno požadavky místních úřadů, takže pouze zadáme vstupní hodnoty, které lze změnit tak, aby vyhovovaly různým podmínkám. Jako referenci pro vytvoření bodů použijeme souřadnicový systém podél linie pozemku. To velmi usnadní definování odsazení vzhledem k linii pozemku, bez ohledu na její orientaci.
Pokud jsou pro vás souřadnicové systémy novinkou, přečtěte si část Vektor, rovina a souřadnicový systém.
Nyní je potřeba získat body na rozvodné síti, které jsou nejblíže umístění měřičů služeb. To nám umožní nakreslit servisní přípojky v modelovém prostoru tak, aby byly vždy kolmé k rozvodné síti Ideálním řešením je uzel Geometry.NearestPointTo.
Toto je křivka PolyCurve rozvodné sítě.
Toto jsou body vložení měřičů služeb.
Posledním krokem je vytvoření objektů v modelovém prostoru. Dříve vytvořené body vložení použijeme k vytvoření referencí bloků a pak pomocí bodů na rozvodné síti nakreslíme čáry k servisním přípojkám.
Při spuštění grafu byste měli vidět nové reference bloků a čáry servisních přípojek v modelovém prostoru. Zkuste změnit některé vstupy a sledujte, jak se vše automaticky aktualizuje!
Možní jste si všimli, že po umístění objektů pro jednu linii pozemku se při výběru jiné linie pozemku objekty „přesunou“.
Toto je výchozí chování aplikace Dynamo, které je v mnoha případech velmi užitečné. Může se však stát, že budete chtít postupně umístit několik servisních přípojek a nechat aplikaci Dynamo při každém spuštění vytvořit nové objekty, místo aby upravovala ty původní. Toto chování můžete ovládat změnou nastavení vazby objektů.
Další informace naleznete v části Vazby objektů.
Změna tohoto nastavení způsobí, že aplikace Dynamo „zapomene“ na objekty, které vytvoří při každém spuštění. Zde je příklad spuštění grafu s vypnutou vazbou objektů pomocí Přehrávače skriptů Dynamo.
Pokud je pro vás Přehrávač skriptů Dynamo novinkou, přečtěte si část Přehrávač skriptů Dynamo.
Zde je několik nápadů, jak byste mohli rozšířit možnosti tohoto grafu.
Umístěte několik servisních přípojek současně místo výběru jednotlivých linií pozemku.
Upravte vstupy tak, aby místo vodoměrů byly umístěny přípojky pro čištění kanalizace .
Přidejte přepínač , který umožní umístit jednu servisní přípojku na určitou stranu linie pozemku místo na obě strany.
Aplikace Dynamo for Civil 3D přináší paradigma vizuálního programování projektantům a návrhářům pracujícím na projektech stavební infrastruktury. Aplikaci Dynamo si můžete představit jako určitý digitální multifunkční nástroj pro uživatele aplikace Civil 3D – ať už se jedná o jakoukoli úlohu, má pro ni ten správný nástroj. Její intuitivní rozhraní umožňuje vytvářet výkonné a přizpůsobitelné postupy bez nutnosti napsání jediného řádku kódu. Abyste mohli používat aplikaci Dynamo, nemusíte být programátorem, ale musíte být schopni myslet logicky jako programátor. Tato kapitola vám spolu s ostatními kapitolami příručky Primer pomůže vybudovat takové logické dovednosti, abyste mohli řešit úlohu s ohledem na výpočetní návrh.
Aplikace Dynamo byla poprvé představena v aplikaci Civil 3D 2020 a od té doby se neustále vyvíjí. Původně se instalovala samostatně prostřednictvím aktualizace softwaru, nyní je součástí všech verzí aplikace Civil 3D. V závislosti na používané verzi aplikace Civil 3D si můžete všimnout, že rozhraní aplikace Dynamo vypadá trochu jinak než v příkladech uvedených v této kapitole. Důvodem je skutečnost, že v aplikaci Civil 3D 2023 došlo k výraznému přepracování rozhraní.
Jedním z mnoha případů skvělého použití aplikace Dynamo je dynamické umísťování samostatných objektů podél modelu koridoru. Často je potřeba objekty umístit na místa, která jsou nezávislá na vložených sestavách podél koridoru, což je velmi zdlouhavý úkol, který je třeba provést ručně. A pokud se změní horizontální nebo vertikální geometrie koridoru, je nutné provést značné množství předělávek.
Načítání dat z externího souboru (v tomto případě soubor aplikace Excel)
Uspořádání dat ve slovnících
Použití souřadnicových systémů k řízení polohy, měřítka nebo natočení
Umístění referencí bloků
Vizualizace geometrie v aplikaci Dynamo
Tento graf bude funkční v aplikaci Civil 3D 2020 a vyšších verzích.
Začněte stažením níže uvedených vzorových souborů a poté otevřete soubor DWG a graf aplikace Dynamo.
Doporučujeme soubor aplikace Excel uložit ve stejném adresáři jako graf aplikace Dynamo.
Zde je uveden přehled logiky tohoto grafu.
Načtěte soubor aplikace Excel a importujte data do aplikace Dynamo.
Získejte návrhové linie ze zadané základny koridoru.
Vytvořte souřadnicové systémy podél návrhové linie koridoru v požadovaných staničeních.
Pomocí souřadnicových systémů umístěte reference bloků v modelovém prostoru.
Pojďme na to!
V tomto vzorovém grafu použijeme soubor aplikace Excel k uložení dat, která aplikace Dynamo použije k umístění referencí bloků sloupů osvětlení. Tabulka vypadá následovně.
Použití aplikace Dynamo k načtení dat z externího souboru (například souboru aplikace Excel) je skvělou strategií, zejména pokud je potřeba data sdílet s ostatními členy týmu.
Data ze souboru aplikace Excel se do aplikace Dynamo importují následujícím způsobem.
Nyní, když máme data, je nutné je rozdělit podle sloupců (Corridor, Baseline, PointCode atd.), aby je bylo možné použít ve zbývající části grafu. Běžně se to dělá pomocí uzlu List.GetItemAtIndex a zadáním čísla indexu každého sloupce, který chceme použít. Například sloupec Corridor má index 0, sloupec Baseline má index 1 atd.
Vypadá to dobře, že? Ale tento přístup v sobě skrývá možný problém. Co když se v budoucnu změní pořadí sloupců v souboru aplikace Excel? Nebo se mezi dva sloupce přidá nový sloupec? Potom graf nebude správně fungovat a bude vyžadovat aktualizaci. Budoucí fungování grafu můžeme zajistit vložením dat do slovníku, přičemž záhlaví sloupců v souboru aplikace Excel budou sloužit jako klíče a zbývající data jako hodnoty.
Graf je díky tomu odolnější, protože umožňuje flexibilně měnit pořadí sloupců v souboru aplikace Excel. Dokud záhlaví sloupců zůstanou stejná, pak lze data jednoduše načíst ze slovníku pomocí jeho klíče (tj. záhlaví sloupce), což nyní provedeme.
Nyní, když máme importovaná a připravená data aplikace Excel, začneme je používat k získávání informací o modelech koridorů z aplikace Civil 3D.
Vybere model koridoru podle jeho názvu.
Získá konkrétní základnu v rámci koridoru.
Získá návrhovou linii v rámci základny podle kódu bodu.
Nyní vytvoříme souřadnicové systémy podél návrhových linií koridoru v hodnotách staničení, které jsme zadali v souboru aplikace Excel. Tyto souřadnicové systémy budou použity k definování polohy, otočení a měřítka referencí bloků sloupů osvětlení.
Všimněte si, že je zde použit blok kódu k otočení souřadnicových systémů v závislosti na tom, na které straně základny se nacházejí. Toho lze dosáhnout pomocí posloupnosti několika uzlů, ale toto je dobrý příklad situace, kdy je jednodušší to prostě sepsat.
Blížíme se k cíli! Máme všechny informace, které potřebujeme, abychom mohli skutečně umístit reference bloků. Nejprve je nutné získat požadované definice bloků pomocí sloupce BlockName v souboru aplikace Excel.
Posledním krokem je vytvoření referencí bloků.
Po spuštění grafu by se měly v modelovém prostoru podél koridoru zobrazit nové reference bloků. A tady je ta skvělá část – pokud je režim spuštění grafu nastaven na Automaticky a upravíte soubor aplikace Excel, reference bloků se automaticky aktualizují!
Zde je příklad spuštění grafu pomocí Přehrávače skriptů Dynamo.
Vizualizace geometrie koridoru v aplikaci Dynamo může být užitečná kvůli získání kontextu. Tento konkrétní model má tělesa koridoru již extrahovaná v modelovém prostoru, takže je přeneseme do aplikace Dynamo.
Je tu však ještě něco, co musíme vzít v úvahu. Tělesa jsou relativně „těžkým“ typem geometrie, což znamená, že tato operace zpomalí graf. Proto by se hodilo, kdyby existoval jednoduchý způsob, jak zvolit, zda chceme tělesa zobrazit, nebo ne. Zřejmou odpovědí je odpojení uzlu Corridor.GetSolids, což však vytvoří upozornění pro všechny navazující uzly, což je trochu nepřehledné. To je situace, kdy vítězoslavně použijeme uzel ScopeIf.
Všimněte si šedé čáry v dolní části uzlu Object.Geometry. To znamená, že náhled uzlu je vypnutý (přístupný po kliknutí pravým tlačítkem myši na uzel), což umožňuje, aby uzel GeometryColor.ByGeometryColor „nebojoval“ s jinou geometrií o prioritu zobrazení v náhledu na pozadí.
Uzel ScopeIf v zásadě umožňuje selektivně spustit celou větev uzlů. Pokud je vstup test nastaven na hodnotu false, potom se nespustí žádné uzly připojené k uzlu ScopeIf.
Zde je výsledek v náhledu na pozadí v aplikaci Dynamo.
Zde je několik nápadů, jak byste mohli rozšířit možnosti tohoto grafu.
Přidejte do souboru aplikace Excel sloupec rotation a použijte jej k řízení otáčení souřadnicových systémů.
Přidejte do souboru aplikace Excel horizontální nebo vertikální odsazení, aby se sloupy osvětlení mohly v případě potřeby odchýlit od návrhové linie koridoru.
Místo použití souboru aplikace Excel s hodnotami staničení vygenerujte hodnoty staničení přímo v aplikaci Dynamo pomocí počátečního staničení a typické rozteče.
Vytvořte graf aplikace Dynamo, který vloží text do modelového prostoru.
Úkol splněn!
Umístěte reference bloků vodoměrů ve stanovených vzdálenostech od linie pozemku a nakreslete čáru pro každou servisní přípojku kolmo na rozvodnou síť.
Úkol splněn!
Doporučujeme, abyste se podívali se na , kde najdete nejnovější informace o vývoji aplikace Dynamo. V následující tabulce jsou shrnuty klíčové milníky v průběhu životnosti aplikace Dynamo for Civil 3D.
Verze aplikace Civil 3D | Verze aplikace Dynamo | Poznámky |
---|
Umístěte reference bloků sloupů osvětlení podél koridoru v hodnotách staničení určených v souboru aplikace Excel.
Pokud jsou pro vás slovníky novinkou, přečtěte si část .
Pokud jsou pro vás souřadnicové systémy novinkou, přečtěte si část .
Pokud jsou bloky kódu pro vás novinkou, přečtěte si část .
Další informace o režimech spouštění grafů naleznete v části .
Pokud je pro vás Přehrávač skriptů Dynamo novinkou, přečtěte si část .
Úkol splněn!
2024.1 | 2.18 |
2024 | 2.17 | Aktualizace uživatelského rozhraní Přehrávače skriptů Dynamo |
2023.2 | 2.15 |
2023 | 2.13 | Aktualizace uživatelského rozhraní aplikace Dynamo |
2022.1 | 2.12 |
|
2022 | 2.10 |
|
2021 | 2.5 |
2020.2 | 2.4 |
2020 Update 2 | 2.4 | Přidány nové uzly |
2020.1 | 2.2 |
2020 | 2.1 | První vydání |
Časem možná zjistíte, že potřebujete jít nad rámec základů a ponořit se do vnitřního fungování aplikace Dynamo. Stránky v této části vám poskytnou návod, jak používat pokročilé funkce v aplikaci Dynamo for Civil 3D, abyste mohli grafy posunout na vyšší úroveň.
Práce s body COGO a skupinami bodů v aplikaci Civil 3D je základním prvkem mnoha komplexních procesů využívajících data získaná v terénu. Aplikace Dynamo skutečně vyniká v oblasti správy dat a v tomto příkladu si ukážeme jeden z případů možného použití.
Práce se seznamy
Seskupení podobných objektů pomocí uzlu List.GroupByKey
Zobrazení vlastního výstupu v Přehrávači skriptů Dynamo
Tento graf bude funkční v aplikaci Civil 3D 2020 a vyšších verzích.
Začněte stažením níže uvedených vzorových souborů a poté otevřete soubor DWG a graf aplikace Dynamo.
Zde je uveden přehled logiky tohoto grafu.
Získejte všechny body COGO v dokumentu.
Seskupte body COGO podle popisu.
Vytvořte skupiny bodů.
Odešlete souhrn do Přehrávače skriptů Dynamo.
Pojďme na to!
V prvním kroku získáme všechny skupiny bodů v dokumentu a potom všechny body COGO v každé skupině. Tím získáme vnořený seznam neboli „seznam seznamů“, se kterým se nám bude později lépe pracovat, pokud vše sloučíme do jediného seznamu pomocí uzlu List.Flatten.
Pokud se seznamy pracujete poprvé, přečtěte si část Práce se seznamy .
Nyní, když máme všechny body COGO, je třeba je rozdělit do skupin podle jejich popisů. Přesně to dělá uzel List.GroupByKey. V podstatě seskupuje všechny položky, které sdílejí stejný klíč.
To nejtěžší je za námi! Posledním krokem je vytvoření nových skupin bodů aplikace Civil 3D ze seskupených bodů COGO.
Při spuštění grafu není v náhledu na pozadí v aplikaci Dynamo nic vidět, protože nepracujeme s žádnou geometrií. Takže jediný způsob, jak zjistit, zda byl graf správně proveden, je zkontrolovat prostor nástrojů nebo se podívat na náhledy výstupu uzlu. Pokud však graf spustíme pomocí Přehrávače skriptů Dynamo, můžeme získat další zpětnou vazbu o výsledcích grafu vypsáním přehledu vytvořených skupin bodů. Stačí kliknout pravým tlačítkem myši na uzel a nastavit jej na možnost Je výstup. V tomto případě zobrazíme výsledky pomocí přejmenovaného uzlu Watch.
Zde je příklad spuštění grafu pomocí Přehrávače skriptů Dynamo.
Pokud je pro vás Přehrávač skriptů Dynamo novinkou, přečtěte si část Přehrávač skriptů Dynamo.
Zde je několik nápadů, jak byste mohli rozšířit možnosti tohoto grafu.
Upravte seskupení bodů tak, aby bylo založeno na úplném popisu místo hrubého popisu.
Seskupte body podle dalších předdefinovaných kategorií, které vyberete (například „Pozemní snímky“, „Vztažné body“ atd.)
Automaticky vytvořte povrchy TIN pro body v určitých skupinách.
Při přidávání potrubí a stavebních objektů do potrubní sítě používá aplikace Civil 3D šablonu k automatickému přiřazení názvů. To je obvykle dostačující během počátečního umístění, ale názvy se budou v budoucnu nevyhnutelně měnit s tím, jak se bude návrh vyvíjet. Kromě toho existuje mnoho různých vzorů pojmenování, které mohou být vyžadovány, například postupné pojmenování stavebních objektů v potrubní trase počínaje nejvzdálenějším stavebním objektem, nebo podle vzoru pojmenování, který je v souladu s datovým schématem vyžadovaným místními úřady. V tomto příkladu si ukážeme, jak lze aplikaci Dynamo použít k definování libovolného typu strategie pojmenování a jejímu důslednému používání.
Práce s ohraničujícími kvádry
Filtrování dat pomocí uzlu List.FilterByBoolMask
Třídění dat pomocí uzlu List.SortByKey
Generování a úprava textových řetězců
Tento graf bude funkční v aplikaci Civil 3D 2020 a vyšších verzích.
Začněte stažením níže uvedených vzorových souborů a poté otevřete soubor DWG a graf aplikace Dynamo.
Zde je uveden přehled logiky tohoto grafu.
Vyberte stavební objekty podle hladiny.
Získejte umístění stavebních objektů.
Filtrujte stavební objekty podle odsazení a pak je uspořádejte podle staničení.
Vytvořte nové názvy.
Přejmenujte stavební objekty.
Pojďme na to!
Nejprve je třeba vybrat všechny stavení objekty, se kterými chceme pracovat. Provedeme to tak, že jednoduše vybereme všechny objekty v určité hladině, což znamená, že můžeme vybrat stavební objekty z různých potrubních sítí (za předpokladu, že sdílejí stejnou hladinu).
Tento uzel zajišťuje, že neúmyslně nevybereme žádné nežádoucí typy objektů, které by mohly sdílet stejnou hladinu jako stavební objekty.
Nyní, když máme stavební objekty, musíme zjistit jejich polohu v prostoru, abychom je mohli seřadit podle jejich umístění. K tomu využijeme ohraničující kvádr každého objektu. Ohraničující kvádr objektu je kvádr minimální velikosti, který zcela obsahuje geometrické rozměry objektu. Výpočtem středu ohraničujícího kvádru získáte poměrně dobrou aproximaci bodu vložení stavebního objektu.
Tyto body použijeme k získání staničení a odsazení stavebních objektů vzhledem k vybrané trase.
Tady to začíná být trochu složitější. V této fázi máme velký seznam všech stavebních objektů na hladině, kterou jsme určili, a vybrali jsme trasu, podle které jsme je chtěli seřadit. Problém je v tom, že v seznamu mohou být stavební objekty, které nechceme přejmenovat. Nemusí například být součástí konkrétní trasy, která nás zajímá.
Vybraná trasa
Stavební objekty, které chceme přejmenovat
Stavební objekty, které mají být ignorovány
Proto je nutné seznam stavebních objektů filtrovat, aby nebyly brány v úvahu stavební objekty, jejichž odsazení od trasy je větší než zadaná hodnota. To lze nejlépe provést pomocí uzlu List.FilterByBoolMask. Po filtrování seznamu stavebních objektů je pomocí uzlu List.SortByKey uspořádáme podle hodnot staničení.
Pokud se seznamy pracujete poprvé, přečtěte si část Práce se seznamy.
Zkontroluje, zda je odsazení stavebního objektu menší než prahová hodnota.
Nahradí nulové hodnoty hodnotou false.
Filtruje seznam stavebních objektů a staničení.
Uspořádá stavební objekty podle staničení.
Poslední část práce, kterou je třeba udělat, je vytvoření nových názvů struktur. Formát, který použijeme, je <alignment name>-STRC-<number>
. Je zde několik dalších uzlů, které v případě potřeby doplní čísla dalšími nulami (například 01 místo 1).
A v neposlední řadě přejmenujeme stavební objekty.
Zde je příklad spuštění grafu pomocí Přehrávače skriptů Dynamo.
Pokud je pro vás Přehrávač skriptů Dynamo novinkou, přečtěte si část Přehrávač skriptů Dynamo.
Pro účely vizualizace dočasných výstupů grafu místo pouze konečného výsledku může být užitečné využít 3D náhled na pozadí v aplikaci Dynamo. Jednou z jednoduchých věcí, kterou můžeme udělat, je zobrazit ohraničující kvádry pro stavební objekty. Tato konkrétní datová sada navíc obsahuje v dokumentu koridor, takže můžeme přenést geometrii návrhové linie koridoru do aplikace Dynamo a získat tak určitý kontext pro umístění stavebních objektů v prostoru. Pokud by graf byl použit v datové sadě, která nemá žádné koridory, pak tyto uzly jednoduše nebudou provádět žádné akce.
Nyní lépe rozumíme tomu, jak funguje proces filtrování stavebních objektů podle odsazení.
Zde je několik nápadů, jak byste mohli rozšířit možnosti tohoto grafu.
Přejmenujte stavební objekty podle jejich nejbližší trasy místo výběru konkrétní trasy.
Kromě stavebních objektů přejmenujte také potrubí.
Nastavte hladiny stavebních objektů podle jejich spuštění.
Vývoj kinematických obálek pro ověření průjezdnosti je důležitou součástí návrhu železnice. Aplikaci Dynamo lze použít k vytvoření těles pro obalovou křivku místo vytváření a správy složitých podsestav koridoru pro tuto úlohu.
Práce s návrhovými liniemi koridoru
Transformace geometrie mezi souřadnicovými systémy
Vytvoření těles šablonováním
Řízení chování uzlu pomocí nastavení vázání
Tento graf bude funkční v aplikaci Civil 3D 2020 a vyšších verzích.
Začněte stažením níže uvedených vzorových souborů a poté otevřete soubor DWG a graf aplikace Dynamo.
Zde je uveden přehled logiky tohoto grafu.
Získejte návrhové linie ze zadané základny koridoru.
Vytvořte souřadnicové systémy podél návrhové linie koridoru s požadovanou roztečí.
Transformujte geometrii bloku profilu do souřadnicových systémů.
Šablonujte těleso mezi profily.
Vytvořte tělesa v aplikaci Civil 3D.
Pojďme na to!
Prvním krokem je získání dat koridoru. Model koridoru vybereme podle jeho názvu, v rámci koridoru vybereme konkrétní základnu a poté získáme návrhovou linii v rámci základny podle jejího kódu bodu.
Nyní vytvoříme souřadnicové systémy podél návrhových linií koridoru mezi daným počátečním a koncovým staničením. Tyto souřadnicové systémy se použijí k zarovnání geometrie bloku profilu vozidla s koridorem.
Všimněte si malých písmen XXX v pravém dolním rohu uzlu. Tato písmena znamenají, že nastavení vázání uzlu je nastaveno na hodnotu Vektorový součin, což je nutné k vytvoření souřadnicových systémů ve stejných hodnotách staničení pro obě návrhové linie.
Nyní je třeba nějakým způsobem vytvořit pole profilů vozidel podél návrhových linií. Provedeme transformaci geometrie z definice bloku profilu vozidla pomocí uzlu Geometry.Transform. Tento koncept je složitý na vizualizaci, takže než se podíváme na uzly, zde je grafické znázornění toho, co se stane.
V podstatě tedy přebíráme geometrii aplikace Dynamo z jedné definice bloku a přesouváme/otáčíme ji, přičemž vytváříme pole podél návrhové linie. Skvělá věc! Takto vypadá posloupnost uzlů.
Tento uzel získá definici bloku z dokumentu.
Tyto uzly získají geometrii objektů aplikace Dynamo v rámci bloku.
Tyto uzly v podstatě definují souřadnicový systém, ze kterého transformujeme geometrii.
A konečně tento uzel provádí vlastní transformaci geometrie.
Všimněte, že v tomto uzlu je definováno vázání Nejdelší.
A tady vidíme výsledek v aplikaci Dynamo.
Máme pro vás skvělou zprávu. To nejtěžší je za námi. Nyní je třeba pouze vygenerovat tělesa mezi profily. Toho snadno dosáhneme pomocí uzlu Solid.ByLoft.
Zde je výsledek. Nezapomeňte, že se jedná o tělesa aplikace Dynamo – musíme je ještě vytvořit v aplikaci Civil 3D.
Posledním krokem je vytvoření vygenerovaných těles v modelovém prostoru. Také jim přiřadíme barvu, aby byly dobře viditelné.
Zde je příklad spuštění grafu pomocí Přehrávače skriptů Dynamo.
Zde je několik nápadů, jak byste mohli rozšířit možnosti tohoto grafu.
Přidejte možnost používat různé rozsahy staničení pro každou trasu zvlášť.
Rozdělte tělesa na menší segmenty, které by bylo možné jednotlivě analyzovat z hlediska kolizí.
Zkontrolujte, zda se obálka těles ** protíná s návrhovými liniemi** a vybarvěte ty, které se střetávají.
Aplikace Dynamo for Civil 3D obsahuje velmi výkonný mechanismus pro „zapamatování“ objektů vytvořených jednotlivými uzly. Tento mechanismus se nazývá vazby objektů a umožňuje grafu aplikace Dynamo vytvářet konzistentní výsledky při každém spuštění ve stejném dokumentu. I když je to v mnoha situacích velmi žádoucí, existují jiné situace, kdy budete chtít mít nad chováním aplikace Dynamo větší kontrolu. Tato část vám pomůže pochopit, jak vazby objektů fungují a jak je můžete využít.
Podívejme se na tento graf, který vytváří kružnici v modelovém prostoru v aktuální hladině.
Všimněte si, co se stane, když se poloměr změní.
Toto je vazba objektů v akci. Aplikace Dynamo se ve výchozím nastavení chová tak, že upraví poloměr kružnice, místo aby při každé změně vstupu poloměru vytvořila novou kružnici. Je tomu tak proto, že uzel Object.ByGeometry si „pamatuje“, že při každém spuštění grafu vytvořil tuto konkrétní kružnici. Aplikace Dynamo si navíc tuto informaci uloží, takže při příštím otevření dokumentu aplikace Civil 3D a spuštění grafu se bude chovat úplně stejně.
Podívejme se na příklad, ve kterém můžete chtít změnit výchozí chování vazby objektů aplikace Dynamo. Řekněme, že chcete vytvořit graf, který umístí text do středu kružnice. Vaším záměrem je však, aby graf mohl být spouštěn stále dokola a přitom se pokaždé umístil nový text do jakékoli vybrané kružnice. Níže vidíte, jak by mohl tento graf vypadat.
Toto se však ve skutečnosti stane, když je vybrána jiná kružnice.
Po provedení této změny získáme požadované chování.
Aplikace Dynamo for Civil 3D umožňuje upravit výchozí chování vazby objektů pomocí nastavení Úložiště dat vazeb v nabídce aplikace Dynamo.
Možnosti nastavení Úložiště dat vazeb jsou k dispozici v aplikaci Civil 3D 2022.1 a vyšších verzích.
Ve výchozím nastavení jsou povoleny všechny možnosti. Zde je souhrn toho, co jednotlivé možnosti dělají.
Pokud je tato povolena možnost, aplikace Dynamo „zapomene“ na objekty, které vytvořila při posledním spuštění grafu. Graf lze tedy spustit v libovolném výkresu v libovolné situaci a pokaždé vytvoří nové objekty.
Vhodné použití
Tuto možnost použijte, pokud chcete, aby aplikace Dynamo „zapomněla“ na vše, co provedla v předchozích spuštěních, a pokaždé vytvořila nové objekty.
Tato možnost znamená, že metadata vazby objektů budou při ukládání serializována do grafu (soubor .dyn). Pokud graf zavřete nebo znovu otevřete a spustíte jej ve stejném výkresu, pak by mělo vše fungovat stejně, jako když jste jej opustili. Jestliže graf spustíte v jiném výkresu, budou data vazby z grafu odstraněna a vytvoří se nové objekty. To znamená, že pokud otevřete původní výkres a spustíte graf znovu, vytvoří se kromě starých objektů i nové.
Vhodné použití
Tuto možnost použijte, pokud chcete, aby si aplikace Dynamo „zapamatovala“ objekty, které vytvořila při posledním spuštění v určitém výkresu.
Tato možnost je vhodná pro situace, kdy je možné zachovat vztah 1:1 mezi konkrétním výkresem a grafem aplikace Dynamo. Možnosti 1 a 3 jsou vhodnější pro grafy, které jsou navrženy tak, aby je bylo možné spouštět ve více výkresech.
Tato možnost je podobná možnosti 2, s tím rozdílem, že data vazby objektu jsou jsou serializována ve výkresu namísto v souboru .dyn. Pokud graf zavřete nebo znovu otevřete a spustíte jej ve stejném výkresu, pak by mělo vše fungovat stejně, jako když jste jej opustili. Jestliže graf spustíte v jiném výkresu, data vazby zůstanou zachována v původním výkresu, protože jsou uložena ve výkresu, nikoli v grafu.
Vhodné použití
Tuto možnost použijte, pokud chcete použít stejný graf ve více výkresech a aplikace Dynamo si má „pamatovat“, co provedla v každém z nich.
V první řadě je třeba poznamenat, že tato možnost nemá žádný vliv na interakci grafu s výkresem při spuštění grafu prostřednictvím hlavního rozhraní aplikace Dynamo. Tato možnost se použije pouze tehdy, když je graf spuštěn pomocí Přehrávače skriptů Dynamo.
Jestliže graf spustíte pomocí hlavního rozhraní aplikace Dynamo a pak jej zavřete a spustíte stejný graf pomocí Přehrávače skriptů Dynamo, vytvoří se nové objekty nad těmi, které byly vytvořeny dříve. Jakmile však Přehrávač skriptů Dynamo graf jednou spustí, serializuje data vazeb objektů ve výkresu. Pokud tedy graf spustíte vícekrát prostřednictvím Přehrávače skriptů Dynamo, bude objekty aktualizovat, místo aby vytvářel nové. Jestliže graf spustíte v Přehrávači skriptů Dynamo v jiném výkresu, data vazby zůstanou zachována v původním výkresu, protože jsou uložena ve výkresu, nikoli v grafu.
Vhodné použití
Tuto možnost použijte, pokud chcete spustit graf pomocí Přehrávače skriptů Dynamo ve více výkresech a nechat jej, aby si „pamatoval“, co provedl v každém z nich.
Aplikace Dynamo je sice jako nástroj pro extrémně výkonná, ale můžete jít také nad rámec uzlů a drátů a psát kód v textové podobě. To lze provést dvěma způsoby:
Psát v jazyce DesignScript pomocí bloku kódu.
Psát v jazyce Python pomocí uzlu jazyka Python.
V této části se zaměříme na to, jak lze pomocí jazyka Python v prostředí aplikace Civil 3D efektivně využívat rozhraní .NET API aplikací AutoCAD a Civil 3D.
Další obecné informace o používání jazyka Python v aplikaci Dynamo naleznete v části .
Aplikace AutoCAD i Civil 3D mají k dispozici několik rozhraní API, která umožňují vývojářům, jako jste vy, rozšířit základní produkt o vlastní funkce. V kontextu aplikace Dynamo jsou relevantní spravovaná rozhraní .NET API. Následující odkazy jsou důležité pro pochopení struktury rozhraní API a způsobu jejich fungování.
Při procházení této části se můžete setkat s pojmy, které neznáte, jako jsou databáze, transakce, metody, vlastnosti atd. Mnoho z těchto pojmů tvoří základ pro práci s rozhraním .NET API a nejsou specifické pro aplikaci Dynamo nebo jazyk Python. Podrobné rozebírání těchto pojmů přesahuje rámec této části příručky Primer, proto doporučujeme často vyhledávat další informace na výše uvedených odkazech.
Při první úpravě nového uzlu jazyka Python bude tento uzel předvyplněn kódem šablony, abyste mohli začít. Zde je rozpis šablony s vysvětlením jednotlivých bloků.
Importuje moduly
sys
aclr
, které jsou nezbytné pro správnou funkci interpretu jazyka Python. Modulclr
zejména umožňuje, aby se se jmennými prostory .NET zacházelo v podstatě jako s balíčky jazyka Python.Načte standardní sestavy (tj. knihovny DLL) pro práci se spravovanými rozhraními .NET API pro aplikace AutoCAD a Civil 3D.
Přidá odkazy na standardní jmenné prostory aplikací AutoCAD a Civil 3D. Jsou ekvivalentní direktivám
using
neboImports
v jazyce C# nebo VB.NET (v uvedeném pořadí).Vstupní porty uzlu jsou přístupné pomocí předdefinovaného seznamu s názvem
IN
. K datům v určitém portu můžete přistupovat pomocí jeho čísla indexu, napříkladdataInFirstPort = IN[0]
.Vrátí aktivní dokument a editor.
Uzamkne dokument a zahájí transakci databáze.
Zde byste měli umístit většinu logiky skriptu.
Zrušte komentář tohoto řádku, aby se po dokončení hlavní práce provedla transakce.
Pokud chcete z uzlu získat výstup libovolných dat, přiřaďte je na konci skriptu proměnné
OUT
.
Chcete si šablonu přizpůsobit?
Výchozí šablonu jazyka Python si můžete přizpůsobit úpravou souboru PythonTemplate.py
, který se nachází v umístění C:\ProgramData\Autodesk\C3D <version>\Dynamo
.
Pojďme si na příkladu ukázat některé základní koncepty psaní skriptů jazyka Python v aplikaci Dynamo for Civil 3D.
Zde jsou příklady souborů, na které se můžete odkazovat v tomto cvičení.
Zde je uveden přehled logiky tohoto grafu.
Zkontrolujte dokumentaci rozhraní API aplikace Civil 3D.
Vyberte všechna povodí v dokumentu podle názvu hladiny.
„Rozbalte“ objekty aplikace Dynamo a získejte přístup k interním prvkům rozhraní API aplikace Civil 3D.
Vytvořte body aplikace Dynamo z bodů aplikace AutoCAD.
Vytvořte pomocí bodů objekty PolyCurve.
Pojďme na to!
Nyní můžeme začít vytvářet logiku grafu. Nejprve je nutné získat seznam všech povodí v dokumentu. Pro tuto operaci jsou k dispozici uzly, takže ji nemusíme zahrnovat do skriptu jazyka Python. Použití uzlů nabízí lepší přehlednost pro někoho, kdo by mohl graf číst (místo procházení velkého množství kódu ve skriptu jazyka Python), a také udržuje skript jazyka Python zaměřený na jednu věc: vrácení hraničních bodů povodí.
Všimněte si, že výstup z uzlu All Objects on Layer je seznam objektů CivilObject. Je tomu tak proto, že aplikace Dynamo for Civil 3D aktuálně nemá žádné uzly pro práci s povodími, což je celý důvod, proč přistupovat k rozhraní API prostřednictvím jazyka Python.
Obecně je bezpečnější získat ID objektu pomocí vlastnosti InternalObjectId
a poté získat přístup k zabalenému objektu v transakci. Důvodem je, že vlastnost InternalDBObject
vrátí objekt DBObject aplikace AutoCAD, který není v zapisovatelném stavu.
Zde je úplný skript jazyka Python, který provádí přístup k vnitřním objektům povodí a získává jejich hraniční body. Zvýrazněné řádky jsou upraveny/přidány oproti výchozímu kódu šablony.
Kliknutím na podtržený text ve skriptu zobrazíte popis k jednotlivým řádkům.
Pravidlem je, že většinu logiky skriptu je vhodné zahrnout do transakce. Tím zajistíte bezpečný přístup k objektům, které váš skript čte/zapisuje. V mnoha případech může vynechání transakce způsobit závažnou chybu.
V této fázi by měl skript jazyka Python vygenerovat seznam bodů aplikace Dynamo, který si můžete prohlédnout v náhledu na pozadí. Posledním krokem je jednoduché vytvoření objektů PolyCurve z těchto bodů. To lze provést také přímo ve skriptu jazyka Python, ale záměrně jsme tento krok umístili mimo skript do uzlu kvůli lepší přehlednosti. Zde je výsledný graf.
A zde je výsledná geometrie aplikace Dynamo.
Jen stručná poznámka, než skončíme toto téma. V závislosti na používané verzi aplikace Civil 3D může být uzel jazyka Python konfigurován odlišně. V aplikacích Civil 3D 2020 a 2021 používala aplikace Dynamo k přesunu dat mezi objekty .NET a skripty jazyka Python nástroj IronPython. V aplikaci Civil 3D 2022 však aplikace Dynamo používá standardní nativní interpret jazyka Python (neboli CPython), který používá jazyk Python 3. Mezi výhody přechodu na tento interpret patří přístup k oblíbeným moderním knihovnám a novým funkcím platformy, nezbytná údržba a bezpečnostní opravy.
Tento řádek získá konkrétní třídu, kterou potřebujeme, z knihovny geometrie aplikace Dynamo. Všimněte si, že zde uvádíme import Point as DynPoint
místo import *
, protože druhá možnost by mohla způsobit kolizi názvů.
Zde přesně určíme, který vstupní port obsahuje požadovaná data, namísto výchozího zadání IN
, které odkazuje na celý seznam všech vstupů.
Vytvořte skupinu bodů pro každý jedinečný popis bodu COGO.
Úkol splněn!
Přejmenujte stavební objekty potrubní sítě v pořadí podle staničení trasy.
Úkol splněn!
Pomocí bloku profilu vozidla vygenerujte 3D tělesa s volným prostorem podél koridoru.
Pokud jsou pro vás souřadnicové systémy novinkou, přečtěte si část .
Pokud je vázání uzlu pro vás novinkou, přečtěte si část .
Pokud je pro vás Přehrávač skriptů Dynamo novinkou, přečtěte si část .
Úkol splněn!
Vypadá to, že text je při každém spuštění grafu odstraněn a znovu vytvořen. Ve skutečnosti se pozice textu upravuje podle toho, která kružnice je vybrána. Jedná se tedy o stejný text, jen na jiném místě. Chcete-li pokaždé vytvořit nový text, je nutné upravit nastavení vazby objektů aplikace Dynamo tak, aby nebyla zachována žádná data vazby (viz část níže).
Pokud je pro vás Přehrávač skriptů Dynamo novinkou, přečtěte si část .
Získejte geometrii hranic všech povodí ve výkresu.
Než začneme vytvářet graf a psát kód, je vhodné se podívat do dokumentace rozhraní API aplikace Civil 3D a získat představu o tom, co nám rozhraní API zpřístupňuje. V tomto případě existuje , která vrátí hraniční body povodí. Všimněte si, že tato vlastnost vrací objekt Point3dCollection
, který aplikace Dynamo nezná. Jinými slovy, z objektu Point3dCollection
nebude možné vytvořit objekt PolyCurve, takže nakonec bude nutné vše převést na body aplikace Dynamo. K tomu se vrátíme později.
Než budeme pokračovat, musíme se krátce zastavit u důležitého pojmu. V části jsme se zmínili, jak spolu souvisí objekty (Object) a objekty aplikace Civil 3D (CivilObject). Abychom to dále upřesnili, objekt aplikace Dynamo je obálka kolem entity aplikace AutoCAD. Podobně platí, že objekt Dynamo CivilObject je obálka kolem entity aplikace Civil 3D. Objekt můžete „rozbalit“ přístupem k jeho vlastnostem InternalDBObject
nebo InternalObjectId
.
Typ aplikace Dynamo | Zabalení |
---|
Úkol splněn!
Další informace o tomto přechodu a o upgradu starších skriptů naleznete na . Pokud chcete i nadále používat nástroj IronPython, stačí nainstalovat balíček DynamoIronPython2.7 pomocí nástroje Dynamo Package Manager.
Objekt Autodesk.AutoCAD.DynamoNodes.Object | Entita Autodesk.AutoCAD.DatabaseServices.Entity |
CivilObject Autodesk.Civil.DynamoNodes.CivilObject | Entita Autodesk.Civil.DatabaseServices.Entity |
Přehrávač skriptů Dynamo nabízí zjednodušený způsob spouštění grafů aplikace Dynamo v aplikaci Civil 3D. Jakmile je graf vytvořen, nejsou k používání Přehrávače a spouštění grafů zapotřebí žádné odborné znalosti aplikace Dynamo. To usnadňuje sdílení grafů s ostatními uživateli, kteří nemají zájem pronikat do detailů uzlů a drátů.
Další informace o Přehrávači skriptů Dynamo v aplikaci Civil 3D naleznete v dokumentaci k aplikaci na stránce nápovědy k aplikaci Civil 3D.
Balíčky aplikace Dynamo jsou sady nástrojů vyvinuté třetími stranami za účelem rozšíření základních funkcí aplikace Dynamo. Jsou přístupné všem a připravené ke stažení kliknutím na tlačítko.
Další informace o tom, jak pracovat s balíčky, naleznete v části Balíčky.
Zde je seznam některých nejoblíbenějších balíčků, které mohou posunout vaše grafy aplikace Dynamo for Civil 3D na vyšší úroveň.
Civil 3D Toolkit je balíček pro aplikaci Dynamo for Civil 3D, který nabízí významná vylepšení funkcí aplikace Dynamo prostřednictvím velkého množství dalších uzlů.
Camber je balíček pro aplikaci Dynamo for Civil 3D s otevřeným zdrojovým kódem, který obsahuje stovky uzlů pro práci s popisky, externími referencemi, datovými zkratkami, styly a pro další akce.
CivilConnection je balíček pro aplikaci Dynamo pro aplikaci Revit s otevřeným zdrojovým kódem, který umožňuje výměnu informací mezi aplikacemi Civil 3D, Dynamo a Revit.
Arkance Systems Nodes je balíček pro aplikaci Dynamo for Civil 3D, který obsahuje řadu užitečných uzlů pro práci s kótami, tabulkami, pohledy, řízením vrtání a dalšími funkcemi.