Nacházíte se zde: Rhino3D.cz > Články > Zásuvné moduly > Explicit History Alpha 2


Explicit History Alpha 2

Publikováno: 22.11.2007 | Autor: David Rutten | Rubrika: Zásuvné moduly | Komentáře: 0 - Doporučit

Alpha 2 - ikona APřed několika dny byla vydána nová alfa verze zásuvného modulu Explicit History, v pořadí již druhá. Přibylo v ní mnoho nových funkcí a proto vám dnes přináším překlad všech materiálů z Rhino Wiki, které jsou k tomuto modulu k dispozici. V následujících dnech by se tu měly objevit také otázky a odpovědi a názorné příklady.

Hlavní dialogové okno

Zásuvný modul obsahuje jediný příkaz, který zobrazí History Definition Editor, ve kterém máte k dispozici veškeré funkce tohoto modulu:

Titulní lišta editoru: A

Titulní lišta editoru se chová jinak než u ostatních oken v Microsoft Windows. Pokud okno není minimalizované nebo maximalizované, pak dvojklik na titulní lištu způsobí sbalení nebo rozbalení dialogového okna. To je skvělý způsob přepínání mezi tímto zásuvným modulem a Rhinem, protože minimalizuje Editor, aniž by se přesunoval do spodní lišty obrazovky .

Lišta menu: B

Zde neuvidíte nic zvláštního. Buďte opatrní při používání klávesových zkratek, protože ty se týkají aktivního okna. Tím může být buď Rhino nebo modul Explicit History nebo jakékoliv jiné okno uvnitř nebo vně Rhina. Protože zde není žádný krok zpět, dávejte si pozor zejména na zkratky a klávesy Ctrl-X, Ctrl-S a Del

Správce komponent: C

Zde vidíte většinu kategorií komponent. Všechny komponenty náleží do určitých kategorií (například "Logic" pro všechny operace s primitivními datovými typy nebo "Curves" pro všechny křivkové nástroje) a všechny kategorie jsou dostupné v oblasti prohlížeče. Výšku této oblasti si můžete změnit, abyste měli na obrazovce méně nebo více tlačítek .

Samotné nástrojové palety obsahují všechny komponenty a parametry, které náleží do dané kategorie. Protože je jich potenciálně velké množství, je zobrazováno pouze N naposledy použitých položek. Pokud chcete vidět celý seznam, musíte kliknout na obtížně přístupný pásek ve spodní části panelu:

Tím rozvinete překryvné okno, které zpřístupní všechny objekty v dané kategorii. Můžete buď kliknout na objekty v seznamu nebo můžete tyto objekty přetáhnout myší přímo na pracovní plochu (této ploše budu v dalším textu říkat "plátno", protože tento překlad lépe odpovídá originálnímu pojmu "canvas" a slovo plocha by se pletlo s geometrickou plochou). Pokud na objekt v seznamu kliknete, přesune se vybraná položka v panelu na první místo. Kliknutím na tlačítka nedojte k jejich vložení na plátno! Pokud je chcete přidat na plátno, musíte je myší na toto plátno přetáhnout :

Plátno: D

Je to editor, ve kterém definujete a editujete strom historie. Na plátně najdete spoustu nástrojů uživatelského rozhraní:

A) Poziční posuvníky. Tyto posuvníky se pohybují s plátnem a naznačují, kde se právě nacházíte.

B) Popředí plátna. Aktivní oblast, na které definujete strom historie. Je ohraničena levým a horním okrajem, ale směrem doprava a dolů je nekonečná.

C) Pozadí plátna. Každý kousek prostoru 2D plátna, který není aktivní, je označen jako neaktivní. Neaktivní prostor je tmavší a jemně šrafovaný. Momentálně není mezi popředím a pozadím žádný funkční rozdíl, jsou to spíče vizuální vodítka, která vám mají pomoci s orientací na nekonečné rovině.

D) Počátek plátna. Jedná se o počátek popředí plátna.

E) Objekty historie. Všechny objekty historie, jako jsou komponenty a parametry, jsou vykreslovány na plátně. Můžete je vybírat a volně přesunovat. Každý objekt má také své překryvné menu s klíčovými funkcemi.

F) Kompas. Malá vizuální pomůcka, která vám pomůže udržet si přehled o rozmístění objekt; historie na plátně. Šipky po obvodu kružnice kompasu směřují ke všem objektům, které jsou umístěny na Plátně. Červené šipky indikují vybrané objekty. Malý trojúhelníček uvnitř kompasu směřuje k Počátku plátna. Kompas můžete po plátně přemisťovat tažením myší.

Stavový řádek: E

Stavový řádek poskytuje informace o výběrové množině (zatím není implementováno) a o hlavních událostech, které se v zásuvném modulu odehrály. Seznam všech posledních událostí můžete zobrazit kliknutím na poslední políčko vpravo ve stavovém řádku.

Objekty definice historie

Definice historie je tvořena třemi různými typy objektů:

  • Komponentami
  • Parametry
  • Propojením

Komponenty obsahují akce, to znamená, že něco vykonávají. Parametry obsahují data, to znamená že něco ukládají. Propojení definují dědičnost dat (jinými slovy tok dat) v průběhu celé definice historie. Propojení v podstatě nejsou objekty jako takové, jsou spíše vyjádřením zdrojových tagů parametrů.

Aby mohla komponenta provést nějakou akci, potřebuje obvykle nějaká data a na výstupu většinou poskytne nějaký výsledek. Proto má většina komponent sadu zahnízděných parametrů, kterým se říká vstupní a výstupní parametry. Vstupní parametry jsou umístěny na levé straně, výstupní jsou napravo:

Komponent Circle (kružnice) Vstupní parametry Jádro samotného komponentu Výstupní parametr

Když budete přejíždět myší přes jednotlivé části komponent, uvidíte různé bublinkové nápovědy, které označují určité typy (pod)objektů, které se nachází pod kurzorem myši. Tyto nápovědy jsou velice informativní, protože vás informují jak o typu, tak o datech jednotlivých parametrů:

Parametry se také mohou objevit na plátně. Vypadají jednodušeji než komponenty, ale chovají se prakticky stejně. Na následujícím obrázku vidíte všechny možné typy objektů, které můžete spatřit v definici historie:

A) Parametr, který neobsahuje žádná data. Protože z levé části objektu nevychází žádný spoj, nedědí tento komponent odnikud žádná data. Parametry, které neobsahují žádné chyby nebo varování jsou zobrazeny jako podlouhlé úzké černé bolky s horizontálním textem.

B) Parametr, který neobsahuje žádná data. Jakýkoliv objekt, který selže při získávání dat, je v definici explicitní historie považován za podezřelý, protože pouze ztrácí čas a peníze :) proto jsou všechny čerstvě přidané parametry oranžové, čímž indikují, že neobsahují žádná data a tak nemají žádný funkční vliv na výsledek řešení historie. Jakmile parametr zdědí nebo definuje data, změní se jeho barva na černou.

C) Vybraný komponent. Všechny vybrané komponenty jsou zelené.

D) Normální komponent.

E) Komponent, který obsahuje varování. Protože komponent obvykle obsahuje několik vstupních a výstupních parametrů, není prostým pohledem na tento komponent jasné, který parametr toto varování vygeneroval. Zdrojů varování může být dokonce více najednou. Musíte tedy použít kontextové menu (viz. níže), které vám pomůže problém vystopovat. Není ale vždy nutné varování opravit. Někdy mohou být zcela legitimní.

F) Komponent, který obsahuje chyby. Podobně jako u varování není na první pohled vidět, který parametr chybu vygeneroval. Musíte opět použít kontextové menu )viz. níže). Pokud komponent obsahuje varování i chyby, bude zobrazen červeně, protože chyby mají vyšší váhu než varování.

G) Propojení. Tato propojení se objevují vždy mezi výstupním a vstupním parametrem. Počet propojení u jednotlivých parametrů není omezen, ale není možné vytvořit schéma s cyklickým propojením. Takové rekurze jsou automaticky detekovány a celé řešení je "zkratováno", což má za následek chybové hlášení v prvním komponentu nebo parametru, kde byla detekována rekurze.

Použití kontextových menu

Všechny objekty na plátně mají svá vlastní kontextová menu, která zpřístupňují většinu jejich funkcí. Komponenty jsou trochu složitější, protože navíc zobrazují (v kaskádovém uspořádání) menu všech podobjektů, které obsahují. Pokud se například barva komponentu změní na oranžovou, znamená to, že on nebo nějaký parametr sdružený s tímto komponentem vygeneroval varování. Pokud chcete zjistit co je špatně, musíte použít kontextové menu daného komponentu:

Zde vidíte hlavní menu komponentu s kaskádově rozvinutým menu pro parametr "R". Menu obvykle začínají editačním textovým políčkem, kde je uveden název daného objektu. Název si můžete změnit na popisnější verzi, výchozí názvy jsou velice krátké. Druhá položka v menu (návěstí Preview) udává, zda geometrie, který byla vytvořená nebo definovaná tímto objektem, má být viditelná v pohledech Rhina. Vypnutí náhledu u komponentů, které nemají důležitý vizuální dopad, můžete zrychlit překreslování pohledů v Rhinu a také snížit čas pro vyřešení historie (zejména v případě, že by bylo nutné vytvářet polygonové sítě pro stínování).

Kontextové menu pro vstupní parametr "R" obsahuje oranžový symbol varování, který po rozvinutí zobrazí seznam (v našem případě jen jedno) varování, které byly vygenerované tímto parametrem.

 

Přehled komponent explicitní historie


Úvod

Zásuvný modul Explicit History je dodáván s velkým (a stále rostoucím) počtem komponent a parametrů. Uživatelé mohou navíc vytvářet nové parametry ve formě zásuvných modulů pro tento zásuvný modul. To, abyste znali komponenty zásuvného modulu Explicit History je stejně důležité jako znalost příkazů v Rhinu. Níže najdete stručný popis komponent a parametrů, které jsou standardně dodávány s tímto zásuvným modulem (tedy ty, jejichž autorem je společnost Robert McNeel & Associates. Popis ale nejde do hloubky, kompletní popis parametrů a komponent zatím není k dispozici).

Parametry

Parametry definují možné datové typy, které můžete použít pro přenos dat mezi komponentami. K dispozici je jich omezený počet a můžeme je přirovnat k datovým typům proměnných. Všechny parametry podporují lokální data, to znamená data, která pochází zevnitř modulu Explicit History. Některé parametry (jako Curve a Surface) také podporují odkazovaná data, to znamená, že odkazují na existující objekty v Rhinu. Jakmile odkazujete na nějakou geometrii, způsobí jakákoliv změna této geometrie okamžité přepočítání řešení historie (History Solution).

Ikona Formát dat Popis
Generic Jakýkoliv typ dat, včetně dat bez definice odpovídajícího parametru
Geometry Jakýkoliv typ geometrických dat, odkazované i lokální objekty.
Boolean Booleovské hodnoty (True / False)
Integer Celá čísla
Double Floating point (desetinná čísla)
String Text
Point Jakýkoliv 3D bod, buď jako souřadnice {xyz} nebo odkaz na 3D bod.
Vector Jakýkoliv 3D vektor
Plane Jakákoliv 3D rovina
Line Jedna úsečka, nepodporuje odkazované úsečkové křivky
Circle Jednoduchá kružnice, nepodporuje odkazované kruhové křivky
Curve Jakákoliv křivka Rhina, ať už odkazovaná nebo lokální
Surface Jakákoliv (stříhaná) plocha Rhina, ať už odkazovaná nebo lokální
B-Rep Jakákoliv (spojená) plocha Rhina, ať už odkazovaná nebo lokální
Box Jakákoliv primitiva 3D kvádr, buď odkazovaný obálkový kvádr nebo lokální
Interval Číselný interval mezi dvěmi hodnotami
2D Interval Dva číselné intervaly (pro UV prostor)

Komponenty

Parametry a komponenty jsou všechny seskupeny do kategorií. Následuje výpis všech dostupných komponentů, členěný podle kategorií:

Kategorie Logic

Booleovské komponenty jako AND, NOT a OR:

Komponenty pole, které umožňují vyhledávání a úpravy seznamů dat uvnitř parametrů. Mezi typické aplikace patří posunování (shifting), indexování a odstraňování (culling):

Intervalové komponenty, které umožňují tvorbu a analýzu 1D a 2D intervalů:

Kategorie Scalar

Matematické komponenty, které představují mnoho užitečných funkcí, jako Addition (sčítání), Multiplication (násobení), Sine (sinus) a Logarithm (logaritmus):

Matematické komponenty, které generují pole čísel, jako Range (interval) a Random (náhodné):

Matematické komponenty, které umožňují uživatelsky definované (skriptovatelné) funkce:

Kategorie Vector

Tato kategorie se zaměřuje zejména na bodovou a vektorovou matematiku, ale také na základní operace v 3D prostoru. Tato kategorie je rozsáhlá a zpřístupňuje mnoho důležitých komponent.

Komponenty bodové a vektorové matematiky:

Komponenty rovin:

Komponenty komplexních bodů, vektorů a rovin:

Kategorie Curve

Komponenty pro tvorbu křivek:

Komponenty pro analýzu křivek:

Kategorie Surface

Komponenty pro tvorbu (spojených) ploch:

Komponenty pro analýzu ploch:

Kategorie Transform

Komponenty pro transformaci jakéhokoliv typu geometrie:

 

 

Výrazy explicitní historie

Zásuvný modul Explicit History přináší vlastní syntaxi výrazů, protože dostupné skriptovací jazyky jen zřídka podporují operace s vektory a body. Syntaxe výrazů v Explicit History je podobná VBScriptu, ale obsahuje několik rozšíření.

Především, parsování výrazů je důležité při definování logických vztahů mezi parametry. Jazyk, uvedený na této stránce, je použit jak pro komponenty matematiky, které pracují se skriptovatelnými výrazy, tak pro některé přímé typy parametrů. Všechny číselné a vektorové parametry vyjadřují jednoduché, jednořadkové výrazy pro zpracování jakýchkoliv vstupních dat.

Podívejme se například na komponent Line SDL (Úsečka - Počátek, Konec, Směr), který má na vstupu bod, vektor a proměnnou typu double. Všechny tyto typy parametrů přijímají "jednořádkové" výrazy, ale my začneme s tím nejjednodušším; s parametrem Double, který určuje délku úsečkového segmentu. Pokud si prohlédnete kontextové menu parametru "L", najdete v jeho dolní části položku "Expression F(x)". Tato položka se po najetí myší rozvine a nabídne vám dvě alternativní rozhraní pro zadání výrazu:

Do textového políčka můžete rychle zadat požadovaný výraz nebo můžete otevřít Expression Editor. Pokud znáte syntaxi, můžete zadávat funkce přímo v menu, ale pro začátek bude lepší, když použijete editor, protože vás informuje o chybách v syntaxi:

Editor zobrazí všech proměnných, které můžete použít (v našem případě je to pouze "x") a všech dostupných operátorů (ikony v horní části okna).

Pokud změníte výraz, objeví se červené chybové hlášení, které vás informuje o druhu syntaktické chyb. V dolní části okna najdete tlačítko Preview pro otestování nového výrazu.

Jazyk nabízí několik předdefinovaných matematických funkcí, podobných, ale rozsáhlejších než VBScript.

Pokud se chcete dozvědět o jazyku Expression více, spusťte skrytý příkaz _TestExplicitHistoryExpressionParser, který obsahuje další informace o syntaxi, dostupných funkcích a vektorovém zápisu.

 

Datové typy

Parametry se používají pouze jako nosiče informací, ale většina parametrů dokáže uchovávat dva různé druhy dat - dočasná (volatile) a trvalá (persistent). Dočasná data jsou zděděna z jednoho nebo více zdrojových parametrů a jsou zničena (neboli znovu získána) při každém spuštění nového řešení. Trvalá data jsou data, která byla výslovně zadána uživatelem. Když je parametr připojen ke zdrojovému objektu, budou data ignorována, ale nebudou zničena.

(Výjimkou jsou výstupní parametry, které nemohou uchovávat trvalé záznamy ani definovat množinu zdrojů. Výstupní parametry jsou plně pod kontrolou komponenty, která je vlastní.)

Trvalá data jsou přístupná skrze menu a v závislosti na druhu parametru mají různého správce. například číselné parametry vám umožní nastavit jednu hodnotu v menu (rychlý a snadný způsob) nebo můžete použít Generic Value Manager pro zadání, změnu a přeskupení série čísel.

Vraťme se ale o pár kroků zpět a podívejme se, jak se chová parametr Vector. Jakmile jej přetáhnete myší z panelu Vector na plátno, uvidíte následující:

Parametr je oranžový, to znamená, že vygeneroval varování. Není to nic vážného, varování je zde prostě jen proto, aby vás informovalo, že parametr je prázdný (neobsahuje žádné trvalé záznamy a nepodařilo se shromáždit dočasná data) a proto nemá pro výsledek řešení historie žádný význam. Kontextové menu parametru nabízí 2 způsoby nastavení trvalých dat: jedna či více hodnot:

Jakmile vyberete jednu z těchto položek, okno Explicit History zmizí a budete požádáni o výběr vektoru v jednom z pohledů Rhina:

Poté co definujete všechny požadované vektory, můžete stisknout klávesu Enter a vektory se stanou součástí trvalého záznamu dat daného parametru. To znamená, že tento parametr již není prázdný a jeho barva se změní z oranžové na černou:

  

 

Dědění dat (data inheritance)

Data se ukládají v parametrech (buď v dočasné nebo trvalé formě) a jsou používána v komponentách. Když nejsou data uložena v permanentní množině záznamů v parametru, musí být zděděna (převzata) z jiného místa. Každý parametr (kromě výstupních parametrů) definuje, odkud data získává. Tento parametr "Double" můžete připojit jako celočíselný zdroj a o převod bude postaráno automaticky . Zásuvný modul defomuje mnoho převodních schémat, ale pokud není definována žádná převodní procedura, vygeneruje parametr v místě příjmu hodnoty chybu. Pokud například vyberete plochu, ale je požadován bod, vygeneruje parametr Point chybové hlášení (dostupné skrze kontextové menu daného parametru) a zčervená. Pokud parametr náleží komponentu, rozšíří se červená barva po celé hierarchii a komponent zčervená také, dokonce i když sám žádné chyby neobsahuje.

Správa propojení

Protože parametry jsou v péči svých vlastních datových struktur, můžete k těmto nastavením získat přístup prostřednictvím daného parametru. To je důležité. Propojení jsou PROTI toku dat. Propojení indikuje, kterým zdrojům parametr "naslouchá", nikoliv které parametry závisí na zdroji. Pokud chcete vytvořit nové propojení, musíte táhnout nový propojovací drát z levé strany cílového parametru na pravou stranu zdrojového parametru.

Předpokládejme, že máme komponent Circle (kružnice), který má na vstupu tři body a proloží jimi kružnici a chceme ho propojit se zdroji bodů. Pokud jsou všechny požadované objekty již přítomny na plátně, mohou vypadat zhruba takto:

Parametry Point jsou černé, to znamená, že již odkazují nejméně na jeden objekt typu 3D bod. Komponent Circle je oranžový, v tomto případě proto, že všechny jeho vstupy nejsou nijak definované. Začneme kliknutím nalevo od parametru "A" a tažením nového propojovacího drátu. Komponent přitom zezelená, protože kliknutím na parametr zároveň komponent vyberete:

Jakmile se myš (se stisknutým levým tlačítkem) ocitne nad potenciálním zdrojovým parametrem, změní se drát na plnou čáru. Propojení není trvalé, dokud nepustíte tlačítko myši:

To samé můžete provést s parametry "B" a "C". Kliknout, přetáhnout, pustit...

Nové propojení standardně zruší již existující propojení. Protože jsem předpokládal, že nejčastěji budete používat pouze jednoduchá propojení, musíte pro definici více zdrojů udělat něco navíc. Pokud při tažení propojovacího drátu podržíte Shift nebo Ctrl, změní se ukazatel myši tak, že vám dá najevo zda proběhne přidání nebo smazání propojení:

Pokud je v okamžiku uvolnění tlačítka myši aktivní kurzor s nápisem "ADD", bude daný parametr přidán do seznamu zdrojů. Pokud specifikujete parametr, který je již definován jako zdroj, nic se nestane. Z jednoho zdroje nemůžete zdědit data více než jednou. Pokud je u kurzoru nápis "REM", cílový zdroj bude ze seznamu zdrojů odstraněn. Pokud cíl není odnikud odkazován, nic se neprovede.

Zdroje můžete odpojit (ale ne znovu připojit) pomocí menu:

Přeložil Jan Slanina

Související odkazy

Související články

Nahoru ↑