Smazání nesmazatelného parametru z Revitu

Změnit takový datový typ sdíleného parametru v projektu může být docela problém. Stejně tak ho přejmenovat. Kdo to zkoušel, patrně narazil. V článku si ale ukážeme, jak na to.

Smazání nesmazatelného parametru z Revitu
Photo by Gary Chan / Unsplash

Úvodem článku si dovolím drobnou edukaci ohledně toho, jak fungují sdílené parametry. Jedná se o speciální typ uživatelsky vytvořených parametrů, které můžeme mít v projektu a/nebo v rodině. Tyto parametry umožňují předávání hodnot parametrů mezi dvěma rodinami (typicky mezi nějakým elementem a jeho popiskou) nebo mezi projektem a rodinou (např. rozpiska výkresu). Dále sdílené parametry umožňují vykazování hodnot parametrů rodin pomocí výkazových tabulek a dále pak hromadnou změnu hodnoty téhož parametru při současném výběru více rodin (běžný nesdílený, byť stejně pojmenovaný parametr nám při výběru více rodin v kartě vlastností zmizí). A na závěr - sdílené parametry nám umožňují použití nějakého datového standardu. Ten předepisuje konkrétní pojmenování parametru, datový typ a další věci. Použití určitého předepsaného datového standardu je dnes mimochodem ze strany zadavatele zcela běžná věc.

Paradoxně, u sdíleného parametru není klíčové jeho pojmenování, ale jeho skrytý "identifikátor" zvaný GUID. Ten vypadá třeba takto:

cdfdb507-672d-460a-982f-e7ae762ea807

Tento zvláštní kód v Revitu standardně nikde neuvidíme - je potřeba si otevřít (např. v Poznámkovém bloku) soubor se sdílenými parametry. Tento GUID bývá předepsán i v rámci datového standardu a zajišťuje například to, že pokud dejme tomu ve dvou různých projekčních kancelářích dva reviťáci vytvoří stejný parametr, budou jejich výtvory (rodiny) vzájemně kompatibilní. Tolik úvodem.


Představme si situaci, kdy vytvoříme nový sdílený parametr a udělá se při tom překlep. Nebo nechtěně nastavíme špatný datový typ. Může nastat i situace, že datový standard obsahuje chybu. Bohužel i to se stává. Pokud sdílený parametr v textovém souboru obsahujícím sdílené parametry opravíme, původní parametr z projektu klasicky vymažeme a pokusíme se jej načíst znovu, zobrazí se následující dialog:

Sdílený parametr, původně datového typu Délka byl z projektu vymazán. Při načítání upravené verze datového typu Text vyskočí chybový dialog.

Revit totiž z nějakého důvodu zdánlivě smazaný parametr reálně pouze skrývá. V jádru však zůstal, pamatuje si své původní vlastnosti a opravenou verzi nepřijme.

Právě použití datového standardu s předepsaným GUID nám neumožňuje jednoduché smazání původního sdíleného parametru a nahrazení novým. Zcela nově vytvořený parametr by pak získal jiný GUID, jednalo by se tedy o jiný byť shodně pojmenovaný parametr.

Řešení problému s odstraněním parametru je však vcelku jednoduché. V Revitu má všechno své ID v podobě čísla. Podle tohoto ID například vyhledáváme prvky, které hlásí nějakou chybu nebo kolizi. Své ID mají ale i parametry. Pokud zjistíme ID parametru, které potřebujeme vymazat, pak parametr vyhledáme (nástrojem Vybrat prvek podle ID v kartě Správa) a následné vymazání je již hloubkové a "nemocný" sdílený parametr z projektu konečně odstraníme.

Vyhledání a výběr parametru, jehož ID známe, je jednoduchý. Dialog Vybrat podle ID.

To, že jsme parametr dle jeho ID správně "ulovili" poznáme podle toho, že "trychtýř" v pravém spodním rohu obrazovky obsahuje právě 1 element - v tomto případě hledaný parametr.

Potom již staží jen zmáčknou tklávesu delete a máme hotovo.


Klíčová pro nás bude tedy jediná věc - a to ID hledaného parametru. Máme v zásadě dvě možnosti, jak to udělat. Prvním je doplněk do Revitu pojmenovaný RevitLookup. S ním máme možnost ponořit se do nitra databáze revitího modelu. My ale v článku použijeme Dynamo a připravíme si skript, který nám vrátí ID parametru dle zadaného jména.

Dynamo skript pro vyhledání ID parametru. Kliknutím na obrázek se výstřižek se skriptem zvětší a stane se tak čitelnější.

Pokud chceme skript použít v prostředí Dynamo Playeru, nastavíme si u nodu (původně string-ového a přejmenovaného) Jméno parametru, že je vstupem a u nodu ID elementu že je výstupem.


A víte co to znamená? Že jsme zase kousek před nimi!
(Pelíšky)