Nyní, když jsme ukázali, jak používat skripty jazyka Python v aplikaci Dynamo, podívejme se na připojení knihoven aplikace Revit do prostředí skriptování. Pamatujte, importovali jsme standardní knihovny jazyka Python a hlavní uzly aplikace Dynamo pomocí prvních čtyř řádků v níže uvedeném bloku kódu. Chcete-li importovat uzly aplikace Revit, prvky aplikace Revit a správce dokumentů aplikace Revit, stačí přidat pouze několik dalších řádků:
To nám poskytuje přístup k rozhraní API aplikace Revit a nabízí vlastní skriptování pro libovolnou úlohu aplikace Revit. Díky kombinaci procesu vizuálního programování se skriptováním rozhraní API aplikace Revit se spolupráce a vývoj nástrojů výrazně zlepšují. Například správce BIM i konstruktér schémat mohou spolupracovat na stejném grafu. Při této spolupráci mohou zlepšit návrh a provedení modelu.
Plán projektu aplikace Dynamo spočívá v rozšíření rozsahu implementace platformy. Protože aplikace Dynamo přidává další programy do objektu docket, uživatelé budou mít přístup k programům API specifickým pro platformu z prostředí skriptování v jazyce Python. Zatímco v aplikaci Revit se jedná o případovou studii, můžeme předvídat další kapitoly v budoucnosti nabízející komplexní výukové programy zaměřené na skriptování v jiných platformách. Navíc je nyní k dispozici mnoho knihoven IronPython, které lze importovat do aplikace Dynamo.
Níže uvedené příklady ukazují způsoby implementace operací specifických pro aplikaci Revit z aplikace Dynamo pomocí jazyka Python. Podrobnější informace o vztahu jazyka Python s aplikacemi Dynamo a Revit naleznete na stránce Wiki k aplikaci Dynamo. Dalším užitečným zdrojem pro aplikace Python a Revit je projekt prostředí Python Shell aplikace Revit.
Vytvořte nový projekt aplikace Revit.
Kliknutím na odkaz níže si stáhněte vzorový soubor.
Úplný seznam vzorových souborů najdete v dodatku.
V těchto cvičeních prozkoumáme základní skripty jazyka Python v rozhraní Dynamo pro aplikaci Revit. Toto cvičení se zaměří na práci se soubory a prvky aplikace Revit a také na komunikaci mezi aplikacemi Revit a Dynamo.
Jedná se o jednoduchou metodu získávání souborů doc, uiapp a app aplikace Revit připojených k vaší relaci Dynamo. Programátoři, kteří předtím pracovali v rozhraní API aplikace Revit, si mohou všimnout položek v seznamu sledovaných položek. Pokud se vám to nezdá povědomé, tak to nevadí. Použijeme další příklady ve cvičeních níže.
Zde je způsob importu služeb aplikace Revit a získání dat dokumentu v aplikaci Dynamo.
Podívejte se na uzel Python v aplikaci Dynamo. Kód můžete také najít níže:
Kliknutím na odkaz níže si stáhněte vzorový soubor.
Úplný seznam vzorových souborů najdete v dodatku.
V tomto cvičení vytvoříme pomocí uzlu Python aplikace Dynamo jednoduchou křivku modelu v aplikaci Revit.
Začněte vytvořením nové rodiny Koncepční objem v aplikaci Revit.
Otevřete složku rodiny Koncepční objem a použijte soubor šablony Metric Mass.rft.
V aplikaci Revit pomocí klávesové zkratky un
vyvolejte nastavení jednotek projektu a změňte jednotku délky na metry.
Spusťte aplikaci Dynamo a vytvořte sadu uzlů jako na obrázku níže. Nejprve vytvoříme dva referenční body v aplikaci Revit z uzlů aplikace Dynamo.
Vytvořte blok kódu a zadejte hodnotu
"0;"
.Tuto hodnotu připojte ke vstupům X, Y a Z uzlu ReferencePoint.ByCoordinates.
Vytvořte tři posuvníky v rozsahu od -100 do 100 s velikostí kroku 1.
Připojte všechny posuvníky k uzlu ReferencePoint.ByCoordinates.
Přidejte do pracovního prostoru uzel Python, kliknutím na tlačítko „+“ v uzlu přidejte další vstup a připojte dva referenční body, jeden ke každému vstupu. Otevřete uzel Python.
Podívejte se na uzel Python v aplikaci Dynamo. Celý kód najdete níže.
System.Array: Aplikace Revit vyžaduje jako vstup systémové pole (místo seznamu jazyka Python). Jedná se pouze o jeden další řádek kódu, ale zohlednění typů argumentů usnadní programování v aplikaci Revit v jazyce Python.
V aplikaci Dynamo jsme pomocí jazyka Python vytvořili dva referenční body a čáru, která je spojuje. V dalším cvičení zkusíme něco složitějšího.
Kliknutím na odkaz níže si stáhněte vzorový soubor.
Úplný seznam vzorových souborů najdete v dodatku.
Toto cvičení vysvětluje témata připojení dat a geometrie z aplikace Revit do aplikace Dynamo a zpět. Začneme otevřením souboru Revit-StructuralFraming.rvt. Po otevření spusťte aplikaci Dynamo a otevřete soubor Revit-StructuralFraming.dyn.
Tento soubor aplikace Revit je jeden z nejzákladnějších. Dvě referenční křivky: jedna nakreslená na Podlaží 1 a druhá na Podlaží 2. Chceme tyto křivky dostat do aplikace Dynamo a zachovat živé propojení.
V tomto souboru máme sadu uzlů zapojených do pěti vstupů uzlu Python.
Uzly Select Model Element: Klikněte na tlačítko Vybrat pro každý prvek a vyberte odpovídající křivku v aplikaci Revit.
Uzel Code Block: Pomocí syntaxe
0..1..#x;
, připojte posuvník celého čísla v rozsahu od 0 do 20 ke vstupu x. Označuje počet nosníků, které se mají kreslit mezi dvěma křivkami.Uzel Structural Framing Types: Zde vybereme v rozevírací nabídce výchozí nosník W12x26.
Uzel Levels: Vyberte možnost Podlaží 1.
Tento kód v jazyce Python je trochu hustší, ale komentáře v kódu popisují, co se v procesu děje.
V aplikaci Revit je k dispozici pole nosníků, které pokrývají dvě křivky jako konstrukční prvky. Poznámka: Toto není realistický příklad... Konstrukční prvky se používají jako příklad pro nativní instance aplikace Revit vytvořené z aplikace Dynamo.
Výsledky jsou v aplikaci Dynamo zobrazeny také. Nosníky v uzlu Watch3D odkazují na geometrii dotazovanou z prvků aplikace Revit.
Všimněte si, že máme nepřetržitý proces převodu dat z prostředí aplikace Revit do prostředí aplikace Dynamo. Toto je souhrn průběhu procesu:
Vybrat prvek aplikace Revit
Převést prvek aplikace Revit na křivku aplikace Dynamo
Rozdělit křivku aplikace Dynamo na řadu bodů aplikace Dynamo
Vytvořit čáry aplikace Dynamo pomocí bodů aplikace Dynamo mezi dvěma křivkami
Vytvořit nosníky aplikace Revit pomocí odkazů na čáry aplikace Dynamo
Vytvořit výstup povrchů aplikace Dynamo pomocí dotazů na geometrii nosníků aplikace Revit
Může to znít složitě, ale díky skriptu je to stejně jednoduché jako úprava křivky v aplikaci Revit a opětovné spuštění řešiče (i když je možné, že při tom budete muset odstranit předchozí nosníky). Důvodem je skutečnost, že nosníky umísťujeme do jazyka Python, a tím porušujeme asociaci uzlů OOTB.
Pomocí aktualizace referenčních křivek v aplikaci Revit získáte nové pole nosníků.