pondělí 18. května 2020

Dynamo skript - převod obrázku na 3D model Revitu

Pomocí následujícího Dynamo skriptu (.dyn) "Img2Model" můžete v BIM aplikaci Autodesk Revit vytvořit 3D model ze zadaného rastrového obrázku. Jeho jednotlivé pixely jsou převedeny na "3D pixely", jejichž velikost je určena světlostí obrázku. Funkce tohoto doplňku je podobná jako u našich podobných aplikací pro AutoCAD (ImgConvert), pro Inventor (BoreImage) a pro Fusion 360 (Image2Model).

Vedle ilustrace možností automatizovaného zpracování rastrových obrázků a cvičení v Dynamu může tento skript posloužit i pro praktické využití - např. pro fasádní prvek znázorňující obsah nějaké fotografie či logo, pro umělecké dílo, apod. Předem je potřeba zdůraznit, že použitá metoda je vhodná jen pro rastrové obrázky s nízkým rozlišením (počtem pixelů), protože jinak je zpracování skriptem příliš zdlouhavé.

Podklady

Pro práci s obrázkem budeme potřebovat jednak samotný vstupní obrázek a jednak pomocnou rodinu "3D pixelu", parametrickou rodinu obecného modelu krychličky. Jako zdrojový obrázek použijte nejlépe černobílou (odstíny šedi) fotografii s dobrým kontrastem, zmenšenou na pouhých cca 50 pixelů. Samotný skript umožňuje rozlišení zvolené fotografie snížit, ale lépe je provést "downsampling" přímo v grafickém editoru. Příklad fotografie v rozlišení 32x35 pixelů je zde (pro zobrazení uměle zvětšeno 8x):

Jako parametrickou krychličku "jednoho pixelu" můžeme použít rodinu "Krychle" z knihovny BIM bloků, ale lze použít libovolnou jinou parametrickou rodinu předem načtenou v projektu a v Dynamo skriptu upravit její název a rozměrový parametr (přednastaveno "Krychle:Krychle" a "Size").

Dynamo

Nyní už můžeme sestavit vizuální předpis pro zpracování obrázku na obdélníkové pole 3D "pixelů". Pomocí Správa > Vizuální programování > Dynamo spustíme v Revitu modul Dynamo a začneme zadávat jednotlivé kroky postupu.
Dynamo skript se skládá ze 3 základních částí - načtení zdrojové fotografie, vytvoření pomocného obdélníkového pole "3D pixelů" a nazvětšování těchto "pixelů" dle jasu odpovídajícího pixelu ve zdrojové fotografii. Vstupními parametry bude volba zdrojového rastrového souboru (všechny podporované formáty obrázků), koeficient zmenšení pro případné rozsáhlé obrázky (např. pro původní velikost 1000px použijte cca 20) a celkové měřítko výsledného modelu (1 = jednotková velikost "3D pixelu").

Výstupy

Hotový skript Img2Model.dyn si můžete stáhnout z naší Download stránky. Pro úpravy a spouštění používejte manuální režim v Dynamu, běh skriptu může trvat několik minut. Výsledkem skriptu je pak nějaký podobný model:

Tento či jakýkoliv jiný Dynamo skript (se správně nastavenými vstupními parametry) si můžete přednastavit pro rychlé spouštění v Dynamo Player. Překopírujte si jej do složky C:\ProgramData\Autodesk\RVT 2021\Dynamo\samples\cs-CZ\Revit\DynamoPlayer-4\ nebo si přidejte vaši složku skriptů do Dynamo Playeru. Můžete jej pak spouštět přímo z ribbonu Revitu: 



Máte zajímavý výstup z tohoto skriptu? Pochlubte se obrázkem ve fóru na CADforum.cz nebo v naší Facebookové skupině Autodesk poradny.

Žádné komentáře:

Okomentovat